www.gusucode.com > Flarum PHP论坛 中文版 v0.1 beta7源码程序 > FlarumChina-master/vendor/sijad/flarum-ext-pages/js/admin/dist/extension.js
'use strict'; System.register('sijad/pages/addPagesPane', ['flarum/extend', 'flarum/components/AdminNav', 'flarum/components/AdminLinkButton', 'sijad/pages/components/PagesPage'], function (_export, _context) { var extend, AdminNav, AdminLinkButton, PagesPage; _export('default', function () { app.routes.pages = { path: '/pages', component: PagesPage.component() }; app.extensionSettings['sijad-pages'] = function () { return m.route(app.route('pages')); }; extend(AdminNav.prototype, 'items', function (items) { items.add('pages', AdminLinkButton.component({ href: app.route('pages'), icon: 'file-text-o', children: app.translator.trans('sijad-pages.admin.nav.pages_button'), description: app.translator.trans('sijad-pages.admin.nav.pages_text') })); }); }); return { setters: [function (_flarumExtend) { extend = _flarumExtend.extend; }, function (_flarumComponentsAdminNav) { AdminNav = _flarumComponentsAdminNav.default; }, function (_flarumComponentsAdminLinkButton) { AdminLinkButton = _flarumComponentsAdminLinkButton.default; }, function (_sijadPagesComponentsPagesPage) { PagesPage = _sijadPagesComponentsPagesPage.default; }], execute: function () {} }; });; 'use strict'; System.register('sijad/pages/components/EditPageModal', ['flarum/components/Modal', 'flarum/components/Button', 'flarum/utils/string'], function (_export, _context) { var Modal, Button, slug, EditPageModal; return { setters: [function (_flarumComponentsModal) { Modal = _flarumComponentsModal.default; }, function (_flarumComponentsButton) { Button = _flarumComponentsButton.default; }, function (_flarumUtilsString) { slug = _flarumUtilsString.slug; }], execute: function () { EditPageModal = function (_Modal) { babelHelpers.inherits(EditPageModal, _Modal); function EditPageModal() { babelHelpers.classCallCheck(this, EditPageModal); return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(EditPageModal).apply(this, arguments)); } babelHelpers.createClass(EditPageModal, [{ key: 'init', value: function init() { babelHelpers.get(Object.getPrototypeOf(EditPageModal.prototype), 'init', this).call(this); this.page = this.props.page || app.store.createRecord('pages'); this.pageTitle = m.prop(this.page.title() || ''); this.slug = m.prop(this.page.slug() || ''); this.pageContent = m.prop(this.page.content() || ''); this.isHidden = m.prop(this.page.isHidden() && true); this.isHtml = m.prop(this.page.isHtml() && true); } }, { key: 'className', value: function className() { return 'EditPageModal Modal--large'; } }, { key: 'title', value: function title() { var title = this.pageTitle(); return title ? title : app.translator.trans('sijad-pages.admin.edit_page.title'); } }, { key: 'content', value: function content() { var _this2 = this; return m( 'div', { className: 'Modal-body' }, m( 'div', { className: 'Form' }, m( 'div', { className: 'Form-group' }, m( 'label', null, app.translator.trans('sijad-pages.admin.edit_page.title_label') ), m('input', { className: 'FormControl', placeholder: app.translator.trans('sijad-pages.admin.edit_page.title_placeholder'), value: this.pageTitle(), oninput: function oninput(e) { _this2.pageTitle(e.target.value); _this2.slug(slug(e.target.value)); } }) ), m( 'div', { className: 'Form-group' }, m( 'label', null, app.translator.trans('sijad-pages.admin.edit_page.slug_label') ), m('input', { className: 'FormControl', placeholder: app.translator.trans('sijad-pages.admin.edit_page.slug_placeholder'), value: this.slug(), oninput: function oninput(e) { _this2.slug(e.target.value); } }) ), m( 'div', { className: 'Form-group' }, m( 'label', null, app.translator.trans('sijad-pages.admin.edit_page.content_label') ), m('textarea', { className: 'FormControl', rows: '5', value: this.pageContent(), onchange: m.withAttr('value', this.pageContent), placeholder: app.translator.trans('sijad-pages.admin.edit_page.content_placeholder') }) ), m( 'div', { className: 'Form-group' }, m( 'div', null, m( 'label', { className: 'checkbox' }, m('input', { type: 'checkbox', value: '1', checked: this.isHidden(), onchange: m.withAttr('checked', this.isHidden) }), app.translator.trans('sijad-pages.admin.edit_page.hidden_label') ) ) ), m( 'div', { className: 'Form-group' }, m( 'div', null, m( 'label', { className: 'checkbox' }, m('input', { type: 'checkbox', value: '1', checked: this.isHtml(), onchange: m.withAttr('checked', this.isHtml) }), app.translator.trans('sijad-pages.admin.edit_page.html_label') ) ) ), m( 'div', { className: 'Form-group' }, Button.component({ type: 'submit', className: 'Button Button--primary EditPageModal-save', loading: this.loading, children: app.translator.trans('sijad-pages.admin.edit_page.submit_button') }), this.page.exists ? m( 'button', { type: 'button', className: 'Button EditPageModal-delete', onclick: this.delete.bind(this) }, app.translator.trans('sijad-pages.admin.edit_page.delete_page_button') ) : '' ) ) ); } }, { key: 'onsubmit', value: function onsubmit(e) { var _this3 = this; e.preventDefault(); this.loading = true; this.page.save({ title: this.pageTitle(), slug: this.slug(), content: this.pageContent(), isHidden: this.isHidden(), isHtml: this.isHtml() }, { errorHandler: this.onerror.bind(this) }).then(this.hide.bind(this)).catch(function () { _this3.loading = false; m.redraw(); }); } }, { key: 'onhide', value: function onhide() { m.route(app.route('pages')); } }, { key: 'delete', value: function _delete() { if (confirm(app.translator.trans('sijad-pages.admin.edit_page.delete_page_confirmation'))) { this.page.delete().then(function () { return m.redraw(); }); this.hide(); } } }]); return EditPageModal; }(Modal); _export('default', EditPageModal); } }; });; 'use strict'; System.register('sijad/pages/components/PagesList', ['flarum/Component', 'flarum/components/LoadingIndicator', 'flarum/components/Placeholder', 'flarum/components/Button', 'sijad/pages/components/PagesListItem'], function (_export, _context) { var Component, LoadingIndicator, Placeholder, Button, PagesListItem, PagesList; return { setters: [function (_flarumComponent) { Component = _flarumComponent.default; }, function (_flarumComponentsLoadingIndicator) { LoadingIndicator = _flarumComponentsLoadingIndicator.default; }, function (_flarumComponentsPlaceholder) { Placeholder = _flarumComponentsPlaceholder.default; }, function (_flarumComponentsButton) { Button = _flarumComponentsButton.default; }, function (_sijadPagesComponentsPagesListItem) { PagesListItem = _sijadPagesComponentsPagesListItem.default; }], execute: function () { PagesList = function (_Component) { babelHelpers.inherits(PagesList, _Component); function PagesList() { babelHelpers.classCallCheck(this, PagesList); return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(PagesList).apply(this, arguments)); } babelHelpers.createClass(PagesList, [{ key: 'init', value: function init() { /** * Whether or not pages results are loading. * * @type {Boolean} */ this.loading = true; /** * The pages in the pages list. * * @type {Sijad/Pages/Model/Page[]} */ this.pages = []; /** * Current page number. * * @type {Integer} */ this.page = 0; /** * The number of activity items to load per request. * * @type {Integer} */ this.loadLimit = 20; this.refresh(); } }, { key: 'view', value: function view() { if (this.loading) { return m( 'div', { className: 'PageList-loading' }, LoadingIndicator.component() ); } if (this.pages.length === 0) { var text = app.translator.trans('sijad-pages.admin.pages_list.empty_text'); return Placeholder.component({ text: text }); } var next = void 0, prev = void 0; if (this.nextResults === true) { next = Button.component({ className: 'Button Button--PageList-next', icon: 'angle-right', onclick: this.loadNext.bind(this) }); } if (this.prevResults === true) { prev = Button.component({ className: 'Button Button--PageList-prev', icon: 'angle-left', onclick: this.loadPrev.bind(this) }); } return m( 'div', { className: 'PageList' }, m( 'table', { className: 'PageList-results' }, m( 'thead', null, m( 'tr', null, m( 'th', null, app.translator.trans('sijad-pages.admin.pages_list.title') ), m('th', null) ) ), m( 'tbody', null, this.pages.map(function (page) { return PagesListItem.component({ page: page }); }) ) ), m( 'div', { className: 'PageList-pagination' }, next, prev ) ); } }, { key: 'refresh', value: function refresh() { var clear = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0]; if (clear) { this.loading = true; this.pages = []; } return this.loadResults().then(this.parseResults.bind(this)); } }, { key: 'loadResults', value: function loadResults() { var offset = this.page * this.loadLimit; return app.store.find('pages', { page: { offset: offset, limit: this.loadLimit }, sort: '-time' }); } }, { key: 'loadNext', value: function loadNext() { if (this.nextResults === true) { this.page++; this.refresh(); } } }, { key: 'loadPrev', value: function loadPrev() { if (this.prevResults === true) { this.page--; this.refresh(); } } }, { key: 'parseResults', value: function parseResults(results) { [].push.apply(this.pages, results); this.loading = false; this.nextResults = !!results.payload.links.next; this.prevResults = !!results.payload.links.prev; m.lazyRedraw(); return results; } }]); return PagesList; }(Component); _export('default', PagesList); } }; });; 'use strict'; System.register('sijad/pages/components/PagesListItem', ['flarum/Component', 'flarum/components/Button', 'sijad/pages/components/EditPageModal'], function (_export, _context) { var Component, Button, EditPageModal, PagesListItem; return { setters: [function (_flarumComponent) { Component = _flarumComponent.default; }, function (_flarumComponentsButton) { Button = _flarumComponentsButton.default; }, function (_sijadPagesComponentsEditPageModal) { EditPageModal = _sijadPagesComponentsEditPageModal.default; }], execute: function () { PagesListItem = function (_Component) { babelHelpers.inherits(PagesListItem, _Component); function PagesListItem() { babelHelpers.classCallCheck(this, PagesListItem); return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(PagesListItem).apply(this, arguments)); } babelHelpers.createClass(PagesListItem, [{ key: 'view', value: function view() { var page = this.props.page; var url = app.forum.attribute('baseUrl') + '/p/' + page.id() + '-' + page.slug(); return m( 'tr', { key: page.id() }, m( 'th', null, page.title() ), m( 'td', { className: 'Pages-actions' }, m( 'div', { className: 'ButtonGroup' }, Button.component({ className: 'Button Button--page-edit', icon: 'pencil', onclick: function onclick() { return app.modal.show(new EditPageModal({ page: page })); } }), m( 'a', { 'class': 'Button Button--page-view hasIcon', target: '_blank', href: url }, m('i', { 'class': 'icon fa fa-fw fa-eye Button-icon' }) ), Button.component({ className: 'Button Button--danger Button--page-delete', icon: 'times', onclick: this.delete.bind(this) }) ) ) ); } }, { key: 'delete', value: function _delete() { if (confirm(app.translator.trans('sijad-pages.admin.edit_page.delete_page_confirmation'))) { var page = this.props.page; m.redraw.strategy('all'); page.delete().then(function () { return m.redraw(); }); } } }]); return PagesListItem; }(Component); _export('default', PagesListItem); } }; });; 'use strict'; System.register('sijad/pages/components/PagesPage', ['flarum/components/Page', 'flarum/components/Button', 'flarum/components/LoadingIndicator', 'sijad/pages/components/EditPageModal', 'sijad/pages/components/PagesList'], function (_export, _context) { var Page, Button, LoadingIndicator, EditPageModal, PagesList, PagesPage; return { setters: [function (_flarumComponentsPage) { Page = _flarumComponentsPage.default; }, function (_flarumComponentsButton) { Button = _flarumComponentsButton.default; }, function (_flarumComponentsLoadingIndicator) { LoadingIndicator = _flarumComponentsLoadingIndicator.default; }, function (_sijadPagesComponentsEditPageModal) { EditPageModal = _sijadPagesComponentsEditPageModal.default; }, function (_sijadPagesComponentsPagesList) { PagesList = _sijadPagesComponentsPagesList.default; }], execute: function () { PagesPage = function (_Page) { babelHelpers.inherits(PagesPage, _Page); function PagesPage() { babelHelpers.classCallCheck(this, PagesPage); return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(PagesPage).apply(this, arguments)); } babelHelpers.createClass(PagesPage, [{ key: 'view', value: function view() { return m( 'div', { className: 'PagesPage' }, m( 'div', { className: 'PagesPage-header' }, m( 'div', { className: 'container' }, m( 'p', null, app.translator.trans('sijad-pages.admin.pages.about_text') ), Button.component({ className: 'Button Button--primary', icon: 'plus', children: app.translator.trans('sijad-pages.admin.pages.create_button'), onclick: function onclick() { return app.modal.show(new EditPageModal()); } }) ) ), m( 'div', { className: 'PagesPage-list' }, m( 'div', { className: 'container' }, PagesList.component() ) ) ); } }]); return PagesPage; }(Page); _export('default', PagesPage); } }; });; 'use strict'; System.register('sijad/pages/main', ['flarum/extend', 'sijad/pages/models/Page', 'sijad/pages/addPagesPane'], function (_export, _context) { var extend, Page, addPagesPane; return { setters: [function (_flarumExtend) { extend = _flarumExtend.extend; }, function (_sijadPagesModelsPage) { Page = _sijadPagesModelsPage.default; }, function (_sijadPagesAddPagesPane) { addPagesPane = _sijadPagesAddPagesPane.default; }], execute: function () { app.initializers.add('sijad-pages', function (app) { app.store.models.pages = Page; addPagesPane(); }); } }; });; 'use strict'; System.register('sijad/pages/models/Page', ['flarum/Model', 'flarum/utils/mixin', 'flarum/utils/computed', 'flarum/utils/string'], function (_export, _context) { var Model, mixin, computed, getPlainContent, Page; return { setters: [function (_flarumModel) { Model = _flarumModel.default; }, function (_flarumUtilsMixin) { mixin = _flarumUtilsMixin.default; }, function (_flarumUtilsComputed) { computed = _flarumUtilsComputed.default; }, function (_flarumUtilsString) { getPlainContent = _flarumUtilsString.getPlainContent; }], execute: function () { Page = function (_mixin) { babelHelpers.inherits(Page, _mixin); function Page() { babelHelpers.classCallCheck(this, Page); return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Page).apply(this, arguments)); } return Page; }(mixin(Model, { title: Model.attribute('title'), time: Model.attribute('time', Model.transformDate), editTime: Model.attribute('editTime', Model.transformDate), content: Model.attribute('content'), contentHtml: Model.attribute('contentHtml'), contentPlain: computed('contentHtml', getPlainContent), slug: Model.attribute('slug'), isHidden: Model.attribute('isHidden'), isHtml: Model.attribute('isHtml') })); _export('default', Page); } }; });