\n
\n
\n \n {\n this.pageTitle(e.target.value);\n this.slug(slug(e.target.value));\n }}\n />\n
\n\n
\n \n {\n this.slug(e.target.value);\n }}\n />\n
\n\n
\n \n \n
\n\n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n\n
\n {Button.component(\n {\n type: 'submit',\n className: 'Button Button--primary EditPageModal-save',\n loading: this.loading,\n },\n app.translator.trans('fof-pages.admin.edit_page.submit_button')\n )}\n {this.page.exists ? (\n \n ) : (\n ''\n )}\n
\n
\n
\n );\n }\n\n onsubmit(e) {\n e.preventDefault();\n\n this.loading = true;\n\n this.page\n .save(\n {\n title: this.pageTitle(),\n slug: this.slug(),\n content: this.pageContent(),\n isHidden: this.isHidden(),\n isRestricted: this.isRestricted(),\n isHtml: this.isHtml(),\n },\n { errorHandler: this.onerror.bind(this) }\n )\n .then(this.hideAndRefresh.bind(this))\n .catch(() => {\n this.loading = false;\n m.redraw();\n });\n }\n\n hideAndRefresh() {\n this.hide();\n setRouteWithForcedRefresh(app.route('extension', { id: 'fof-pages' }));\n }\n\n delete() {\n this.loading = true;\n\n if (confirm(app.translator.trans('fof-pages.admin.edit_page.delete_page_confirmation'))) {\n this.page\n .delete()\n .then(this.hideAndRefresh.bind(this))\n .catch(() => {\n this.loading = false;\n m.redraw();\n });\n }\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Component'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/LoadingIndicator'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Placeholder'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/utils/saveSettings'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/listItems'];","import Button from 'flarum/common/components/Button';\nimport Component from 'flarum/common/Component';\nimport saveSettings from 'flarum/admin/utils/saveSettings';\nimport listItems from 'flarum/common/helpers/listItems';\nimport setRouteWithForcedRefresh from 'flarum/common/utils/setRouteWithForcedRefresh';\n\nimport EditPageModal from './EditPageModal';\n\n/**\n * ### Props\n *\n * - `page`\n */\nexport default class PagesListItem extends Component {\n view() {\n const page = this.attrs.page;\n const url = app.forum.attribute('baseUrl') + '/p/' + page.id() + '-' + page.slug();\n const badges = page.badges().toArray();\n return (\n \n \n {page.title()}\n {badges.length ? {listItems(page.badges().toArray())} : null}\n | \n \n \n {Button.component({\n className: 'Button Button--page-edit',\n icon: 'fas fa-pencil-alt',\n onclick: () => app.modal.show(EditPageModal, { page }),\n })}\n {Button.component({\n className: 'Button Button--page-edit',\n icon: 'fas fa-home',\n onclick: this.setAsHomePage.bind(this),\n disabled: app.data.settings['pages_home'] === page.id() && app.data.settings['default_route'] === '/pages/home',\n })}\n {Button.component({\n className: 'Button Button--page-view',\n icon: 'fas fa-eye fa-sm',\n onclick: () => window.open(url, '_blank'),\n })}\n {Button.component({\n className: 'Button Button--danger Button--page-delete',\n icon: 'fas fa-times',\n onclick: this.delete.bind(this),\n })}\n \n | \n
\n );\n }\n\n setAsHomePage() {\n app.alerts.dismiss(this.successAlert);\n if (confirm(app.translator.trans('fof-pages.admin.edit_page.set_as_home_page_confirmation'))) {\n const page = this.attrs.page;\n saveSettings({\n default_route: '/pages/home',\n pages_home: page.id(),\n })\n .then(() => {\n app.alerts.show({ type: 'success' }, app.translator.trans('fof-pages.admin.edit_page.set_as_home_page_done'));\n })\n .catch(() => {})\n .then(() => {\n this.loading = false;\n m.redraw();\n });\n }\n }\n\n delete() {\n if (confirm(app.translator.trans('fof-pages.admin.edit_page.delete_page_confirmation'))) {\n const page = this.attrs.page;\n page.delete().then(() => {\n setRouteWithForcedRefresh(app.route('extension', { id: 'fof-pages' }));\n });\n }\n }\n}\n","import Component from 'flarum/common/Component';\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\nimport Placeholder from 'flarum/common/components/Placeholder';\nimport Button from 'flarum/common/components/Button';\n\nimport PagesListItem from './PagesListItem';\n\n/**\n * The `PagesList` component displays a list of Pages.\n *\n */\nexport default class PagesList extends Component {\n oninit(vnode) {\n super.oninit(vnode);\n /**\n * Whether or not pages results are loading.\n *\n * @type {Boolean}\n */\n this.loading = true;\n\n /**\n * The pages in the pages list.\n *\n * @type {Page}\n */\n this.pages = [];\n\n /**\n * Current page number.\n *\n * @type {Integer}\n */\n this.page = 0;\n\n /**\n * The number of activity items to load per request.\n *\n * @type {Integer}\n */\n this.loadLimit = 20;\n\n this.refresh();\n }\n\n view() {\n if (this.loading) {\n return \n
\n
\n \n {\n this.pageTitle(e.target.value);\n this.slug(slug(e.target.value));\n }}\n />\n
\n\n
\n \n {\n this.slug(e.target.value);\n }}\n />\n
\n\n
\n \n \n
\n\n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n\n
\n {Button.component(\n {\n type: 'submit',\n className: 'Button Button--primary EditPageModal-save',\n loading: this.loading,\n },\n app.translator.trans('fof-pages.admin.edit_page.submit_button')\n )}\n {this.page.exists ? (\n \n ) : (\n ''\n )}\n
\n
\n
\n );\n }\n\n onsubmit(e) {\n e.preventDefault();\n\n this.loading = true;\n\n this.page\n .save(\n {\n title: this.pageTitle(),\n slug: this.slug(),\n content: this.pageContent(),\n isHidden: this.isHidden(),\n isRestricted: this.isRestricted(),\n isHtml: this.isHtml(),\n },\n { errorHandler: this.onerror.bind(this) }\n )\n .then(this.hideAndRefresh.bind(this))\n .catch(() => {\n this.loading = false;\n m.redraw();\n });\n }\n\n hideAndRefresh() {\n this.hide();\n setRouteWithForcedRefresh(app.route('extension', { id: 'fof-pages' }));\n }\n\n delete() {\n this.loading = true;\n\n if (confirm(app.translator.trans('fof-pages.admin.edit_page.delete_page_confirmation'))) {\n this.page\n .delete()\n .then(this.hideAndRefresh.bind(this))\n .catch(() => {\n this.loading = false;\n m.redraw();\n });\n }\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Component'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/LoadingIndicator'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Placeholder'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/utils/saveSettings'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/listItems'];","import Button from 'flarum/common/components/Button';\nimport Component from 'flarum/common/Component';\nimport saveSettings from 'flarum/admin/utils/saveSettings';\nimport listItems from 'flarum/common/helpers/listItems';\nimport setRouteWithForcedRefresh from 'flarum/common/utils/setRouteWithForcedRefresh';\n\nimport EditPageModal from './EditPageModal';\n\n/**\n * ### Props\n *\n * - `page`\n */\nexport default class PagesListItem extends Component {\n view() {\n const page = this.attrs.page;\n const url = app.forum.attribute('baseUrl') + '/p/' + page.id() + '-' + page.slug();\n const badges = page.badges().toArray();\n return (\n \n \n {page.title()}\n {badges.length ? {listItems(page.badges().toArray())} : null}\n | \n \n \n {Button.component({\n className: 'Button Button--page-edit',\n icon: 'fas fa-pencil-alt',\n onclick: () => app.modal.show(EditPageModal, { page }),\n })}\n {Button.component({\n className: 'Button Button--page-edit',\n icon: 'fas fa-home',\n onclick: this.setAsHomePage.bind(this),\n disabled: app.data.settings['pages_home'] === page.id() && app.data.settings['default_route'] === '/pages/home',\n })}\n {Button.component({\n className: 'Button Button--page-view',\n icon: 'fas fa-eye fa-sm',\n onclick: () => window.open(url, '_blank'),\n })}\n {Button.component({\n className: 'Button Button--danger Button--page-delete',\n icon: 'fas fa-times',\n onclick: this.delete.bind(this),\n })}\n \n | \n
\n );\n }\n\n setAsHomePage() {\n app.alerts.dismiss(this.successAlert);\n if (confirm(app.translator.trans('fof-pages.admin.edit_page.set_as_home_page_confirmation'))) {\n const page = this.attrs.page;\n saveSettings({\n default_route: '/pages/home',\n pages_home: page.id(),\n })\n .then(() => {\n app.alerts.show({ type: 'success' }, app.translator.trans('fof-pages.admin.edit_page.set_as_home_page_done'));\n })\n .catch(() => {})\n .then(() => {\n this.loading = false;\n m.redraw();\n });\n }\n }\n\n delete() {\n if (confirm(app.translator.trans('fof-pages.admin.edit_page.delete_page_confirmation'))) {\n const page = this.attrs.page;\n page.delete().then(() => {\n setRouteWithForcedRefresh(app.route('extension', { id: 'fof-pages' }));\n });\n }\n }\n}\n","import Component from 'flarum/common/Component';\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\nimport Placeholder from 'flarum/common/components/Placeholder';\nimport Button from 'flarum/common/components/Button';\n\nimport PagesListItem from './PagesListItem';\n\n/**\n * The `PagesList` component displays a list of Pages.\n *\n */\nexport default class PagesList extends Component {\n oninit(vnode) {\n super.oninit(vnode);\n /**\n * Whether or not pages results are loading.\n *\n * @type {Boolean}\n */\n this.loading = true;\n\n /**\n * The pages in the pages list.\n *\n * @type {Page}\n */\n this.pages = [];\n\n /**\n * Current page number.\n *\n * @type {Integer}\n */\n this.page = 0;\n\n /**\n * The number of activity items to load per request.\n *\n * @type {Integer}\n */\n this.loadLimit = 20;\n\n this.refresh();\n }\n\n view() {\n if (this.loading) {\n return