diff --git a/js/dist/admin.js b/js/dist/admin.js index 1489272..b76e97d 100644 --- a/js/dist/admin.js +++ b/js/dist/admin.js @@ -1,2 +1,2 @@ -(()=>{var t={n:e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return t.d(a,{a}),a},d:(e,a)=>{for(var n in a)t.o(a,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:a[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};(()=>{"use strict";function a(t,e){return a=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},a(t,e)}function n(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,a(t,e)}t.r(e);const s=flarum.core.compat.app;var o=t.n(s);const i=flarum.core.compat["common/Model"];var r=t.n(i);const l=flarum.core.compat["common/utils/computed"];var c=t.n(l);const p=flarum.core.compat["common/utils/string"],d=flarum.core.compat["common/utils/ItemList"];var u=t.n(d);const g=flarum.core.compat["common/components/Badge"];var h=t.n(g),f=function(t){function e(){for(var e,a=arguments.length,n=new Array(a),s=0;s{var t={n:e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return t.d(a,{a}),a},d:(e,a)=>{for(var n in a)t.o(a,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:a[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};(()=>{"use strict";function a(t,e){return a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},a(t,e)}function n(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,a(t,e)}t.r(e);const s=flarum.core.compat.app;var o=t.n(s);const i=flarum.core.compat["common/Model"];var r=t.n(i);const l=flarum.core.compat["common/utils/computed"];var c=t.n(l);const p=flarum.core.compat["common/utils/string"],d=flarum.core.compat["common/utils/ItemList"];var u=t.n(d);const g=flarum.core.compat["common/components/Badge"];var f=t.n(g),h=function(t){function e(){for(var e,a=arguments.length,n=new Array(a),s=0;s {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Model'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/computed'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/string'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/ItemList'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Badge'];","import app from 'flarum/app';\nimport Model from 'flarum/common/Model';\nimport computed from 'flarum/common/utils/computed';\nimport { getPlainContent } from 'flarum/common/utils/string';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport Badge from 'flarum/common/components/Badge';\n\nexport default class Page extends Model {\n title = Model.attribute('title');\n time = Model.attribute('time', Model.transformDate);\n editTime = Model.attribute('editTime', Model.transformDate);\n content = Model.attribute('content');\n contentHtml = Model.attribute('contentHtml');\n contentPlain = computed('contentHtml', getPlainContent);\n slug = Model.attribute('slug');\n isHidden = Model.attribute('isHidden');\n isRestricted = Model.attribute('isRestricted');\n isHtml = Model.attribute('isHtml');\n\n badges() {\n const items = new ItemList();\n\n if (this.isHidden()) {\n items.add(\n 'hidden',\n Badge.component({\n type: 'hidden',\n icon: 'fas fa-trash',\n label: app.translator.trans('fof-pages.admin.badges.hidden'),\n })\n );\n }\n\n if (this.isRestricted()) {\n items.add(\n 'restricted',\n Badge.component({\n type: 'restricted',\n icon: 'fas fa-user-shield',\n label: app.translator.trans('fof-pages.admin.badges.restricted'),\n })\n );\n }\n\n return items;\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/components/ExtensionPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Button'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Modal'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/Stream'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/withAttr'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/setRouteWithForcedRefresh'];","import Modal from 'flarum/common/components/Modal';\nimport Button from 'flarum/common/components/Button';\nimport { slug } from 'flarum/common/utils/string';\nimport Stream from 'flarum/common/utils/Stream';\nimport withAttr from 'flarum/common/utils/withAttr';\nimport setRouteWithForcedRefresh from 'flarum/common/utils/setRouteWithForcedRefresh';\n\n/**\n * The `EditPageModal` component shows a modal dialog which allows the user\n * to create or edit a page.\n */\nexport default class EditPageModal extends Modal {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.page = this.attrs.page || app.store.createRecord('pages');\n\n this.pageTitle = Stream(this.page.title() || '');\n this.slug = Stream(this.page.slug() || '');\n this.pageContent = Stream(this.page.content() || '');\n this.isHidden = Stream(this.page.isHidden());\n this.isRestricted = Stream(this.page.isRestricted());\n this.isHtml = Stream(this.page.isHtml());\n }\n\n className() {\n return 'EditPageModal Modal--large';\n }\n\n title() {\n const title = this.pageTitle();\n return title ? title : app.translator.trans('fof-pages.admin.edit_page.title');\n }\n\n content() {\n return (\n
\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 ? : 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
{LoadingIndicator.component()}
;\n }\n\n if (this.pages.length === 0) {\n const text = app.translator.trans('fof-pages.admin.pages_list.empty_text');\n return Placeholder.component({ text });\n }\n\n let next, prev;\n\n if (this.nextResults === true) {\n next = Button.component({\n className: 'Button Button--PageList-next',\n icon: 'fas fa-angle-right',\n onclick: this.loadNext.bind(this),\n });\n }\n\n if (this.prevResults === true) {\n prev = Button.component({\n className: 'Button Button--PageList-prev',\n icon: 'fas fa-angle-left',\n onclick: this.loadPrev.bind(this),\n });\n }\n\n return (\n
\n \n \n \n \n \n \n \n {this.pages.map((page) => {\n return PagesListItem.component({ page });\n })}\n \n
{app.translator.trans('fof-pages.admin.pages_list.title')}\n
\n
\n {next}\n {prev}\n
\n
\n );\n }\n\n /**\n * @public\n */\n refresh(clear = true) {\n if (clear) {\n this.loading = true;\n this.pages = [];\n }\n\n return this.loadResults().then(this.parseResults.bind(this));\n }\n\n /**\n * Load a new page of Pages results.\n *\n * @param {Integer} page number.\n * @return {Promise}\n */\n loadResults() {\n const offset = this.page * this.loadLimit;\n return app.store.find('pages', {\n page: { offset, limit: this.loadLimit },\n sort: '-time',\n });\n }\n\n /**\n * Load the next page of results.\n *\n * @public\n */\n loadNext() {\n if (this.nextResults === true) {\n this.page++;\n this.refresh();\n }\n }\n\n /**\n * Load the previous page of results.\n *\n * @public\n */\n loadPrev() {\n if (this.prevResults === true) {\n this.page--;\n this.refresh();\n }\n }\n\n /**\n * Parse results and append them to the page list.\n *\n * @param {Page[]} results\n * @return {Page[]}\n */\n parseResults(results) {\n [].push.apply(this.pages, results);\n\n this.loading = false;\n\n this.nextResults = !!results.payload.links.next;\n this.prevResults = !!results.payload.links.prev;\n\n m.redraw();\n return results;\n }\n}\n","import ExtensionPage from 'flarum/admin/components/ExtensionPage';\nimport Button from 'flarum/common/components/Button';\n\nimport EditPageModal from './EditPageModal';\nimport PagesList from './PagesList';\n\nexport default class PagesPage extends ExtensionPage {\n content() {\n return (\n
\n
\n
\n {Button.component(\n {\n className: 'Button Button--primary',\n icon: 'fas fa-plus',\n onclick: () => app.modal.show(EditPageModal),\n },\n app.translator.trans('fof-pages.admin.pages.create_button')\n )}\n
\n
\n
\n
{PagesList.component()}
\n
\n
\n );\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/extend'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/components/BasicsPage'];","import Page from '../common/models/Page';\nimport PagesPage from './components/PagesPage';\nimport addPageHomePageOption from './addPageHomePageOption';\n\napp.initializers.add('fof-pages', (app) => {\n app.store.models.pages = Page;\n\n app.extensionData\n .for('fof-pages')\n .registerPage(PagesPage)\n .registerPermission(\n {\n icon: 'fas fa-file-alt',\n label: app.translator.trans('fof-pages.admin.permissions.restricted'),\n permission: 'fof-pages.viewRestricted',\n },\n 'view'\n );\n\n addPageHomePageOption();\n});\n","import { extend } from 'flarum/common/extend';\nimport BasicsPage from 'flarum/admin/components/BasicsPage';\n\nexport default function () {\n extend(BasicsPage.prototype, 'homePageItems', (items) => {\n items.add('fof-pages', {\n path: '/pages/home',\n label: 'FriendsOfFlarum Pages',\n });\n });\n}\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","_setPrototypeOf","p","setPrototypeOf","__proto__","_inheritsLoose","subClass","superClass","create","constructor","flarum","core","compat","Page","title","Model","time","editTime","content","contentHtml","contentPlain","computed","getPlainContent","slug","isHidden","isRestricted","isHtml","badges","items","ItemList","this","add","Badge","type","icon","label","app","EditPageModal","oninit","vnode","page","attrs","store","createRecord","pageTitle","Stream","pageContent","className","translator","trans","placeholder","oninput","e","target","rows","onchange","withAttr","checked","Button","loading","exists","onclick","bind","onsubmit","preventDefault","save","errorHandler","onerror","then","hideAndRefresh","m","redraw","hide","setRouteWithForcedRefresh","route","id","confirm","Modal","PagesListItem","view","url","forum","attribute","toArray","length","listItems","modal","show","setAsHomePage","disabled","data","settings","window","open","alerts","dismiss","successAlert","saveSettings","default_route","pages_home","Component","PagesList","pages","loadLimit","refresh","LoadingIndicator","text","Placeholder","next","prev","nextResults","loadNext","prevResults","loadPrev","map","component","clear","loadResults","parseResults","offset","find","limit","sort","results","push","apply","payload","links","PagesPage","ExtensionPage","initializers","models","extensionData","registerPage","registerPermission","permission","extend","BasicsPage","path"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"admin.js","mappings":"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","sources":["webpack://@fof/pages/webpack/bootstrap","webpack://@fof/pages/webpack/runtime/compat get default export","webpack://@fof/pages/webpack/runtime/define property getters","webpack://@fof/pages/webpack/runtime/hasOwnProperty shorthand","webpack://@fof/pages/webpack/runtime/make namespace object","webpack://@fof/pages/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@fof/pages/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@fof/pages/external root \"flarum.core.compat['app']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/Model']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/utils/computed']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/utils/string']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/utils/ItemList']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/components/Badge']\"","webpack://@fof/pages/./src/common/models/Page.js","webpack://@fof/pages/external root \"flarum.core.compat['admin/components/ExtensionPage']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/components/Button']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/components/Modal']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/utils/Stream']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/utils/withAttr']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/utils/setRouteWithForcedRefresh']\"","webpack://@fof/pages/./src/admin/components/EditPageModal.js","webpack://@fof/pages/external root \"flarum.core.compat['common/Component']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/components/LoadingIndicator']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/components/Placeholder']\"","webpack://@fof/pages/external root \"flarum.core.compat['admin/utils/saveSettings']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/helpers/listItems']\"","webpack://@fof/pages/./src/admin/components/PagesListItem.js","webpack://@fof/pages/./src/admin/components/PagesList.js","webpack://@fof/pages/./src/admin/components/PagesPage.js","webpack://@fof/pages/external root \"flarum.core.compat['common/extend']\"","webpack://@fof/pages/external root \"flarum.core.compat['admin/components/BasicsPage']\"","webpack://@fof/pages/./src/admin/index.js","webpack://@fof/pages/./src/admin/addPageHomePageOption.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Model'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/computed'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/string'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/ItemList'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Badge'];","import app from 'flarum/app';\nimport Model from 'flarum/common/Model';\nimport computed from 'flarum/common/utils/computed';\nimport { getPlainContent } from 'flarum/common/utils/string';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport Badge from 'flarum/common/components/Badge';\n\nexport default class Page extends Model {\n title = Model.attribute('title');\n time = Model.attribute('time', Model.transformDate);\n editTime = Model.attribute('editTime', Model.transformDate);\n content = Model.attribute('content');\n contentHtml = Model.attribute('contentHtml');\n contentPlain = computed('contentHtml', getPlainContent);\n slug = Model.attribute('slug');\n isHidden = Model.attribute('isHidden');\n isRestricted = Model.attribute('isRestricted');\n isHtml = Model.attribute('isHtml');\n\n badges() {\n const items = new ItemList();\n\n if (this.isHidden()) {\n items.add(\n 'hidden',\n Badge.component({\n type: 'hidden',\n icon: 'fas fa-trash',\n label: app.translator.trans('fof-pages.admin.badges.hidden'),\n })\n );\n }\n\n if (this.isRestricted()) {\n items.add(\n 'restricted',\n Badge.component({\n type: 'restricted',\n icon: 'fas fa-user-shield',\n label: app.translator.trans('fof-pages.admin.badges.restricted'),\n })\n );\n }\n\n return items;\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/components/ExtensionPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Button'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Modal'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/Stream'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/withAttr'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/setRouteWithForcedRefresh'];","import Modal from 'flarum/common/components/Modal';\nimport Button from 'flarum/common/components/Button';\nimport { slug } from 'flarum/common/utils/string';\nimport Stream from 'flarum/common/utils/Stream';\nimport withAttr from 'flarum/common/utils/withAttr';\nimport setRouteWithForcedRefresh from 'flarum/common/utils/setRouteWithForcedRefresh';\n\n/**\n * The `EditPageModal` component shows a modal dialog which allows the user\n * to create or edit a page.\n */\nexport default class EditPageModal extends Modal {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.page = this.attrs.page || app.store.createRecord('pages');\n\n this.pageTitle = Stream(this.page.title() || '');\n this.slug = Stream(this.page.slug() || '');\n this.pageContent = Stream(this.page.content() || '');\n this.isHidden = Stream(this.page.isHidden());\n this.isRestricted = Stream(this.page.isRestricted());\n this.isHtml = Stream(this.page.isHtml());\n }\n\n className() {\n return 'EditPageModal Modal--large';\n }\n\n title() {\n const title = this.pageTitle();\n return title ? title : app.translator.trans('fof-pages.admin.edit_page.title');\n }\n\n content() {\n return (\n
\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 ? : 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
{LoadingIndicator.component()}
;\n }\n\n if (this.pages.length === 0) {\n const text = app.translator.trans('fof-pages.admin.pages_list.empty_text');\n return Placeholder.component({ text });\n }\n\n let next, prev;\n\n if (this.nextResults === true) {\n next = Button.component({\n className: 'Button Button--PageList-next',\n icon: 'fas fa-angle-right',\n onclick: this.loadNext.bind(this),\n });\n }\n\n if (this.prevResults === true) {\n prev = Button.component({\n className: 'Button Button--PageList-prev',\n icon: 'fas fa-angle-left',\n onclick: this.loadPrev.bind(this),\n });\n }\n\n return (\n
\n \n \n \n \n \n \n \n {this.pages.map((page) => {\n return PagesListItem.component({ page });\n })}\n \n
{app.translator.trans('fof-pages.admin.pages_list.title')}\n
\n
\n {next}\n {prev}\n
\n
\n );\n }\n\n /**\n * @public\n */\n refresh(clear = true) {\n if (clear) {\n this.loading = true;\n this.pages = [];\n }\n\n return this.loadResults().then(this.parseResults.bind(this));\n }\n\n /**\n * Load a new page of Pages results.\n *\n * @param {Integer} page number.\n * @return {Promise}\n */\n loadResults() {\n const offset = this.page * this.loadLimit;\n return app.store.find('pages', {\n page: { offset, limit: this.loadLimit },\n sort: '-time',\n });\n }\n\n /**\n * Load the next page of results.\n *\n * @public\n */\n loadNext() {\n if (this.nextResults === true) {\n this.page++;\n this.refresh();\n }\n }\n\n /**\n * Load the previous page of results.\n *\n * @public\n */\n loadPrev() {\n if (this.prevResults === true) {\n this.page--;\n this.refresh();\n }\n }\n\n /**\n * Parse results and append them to the page list.\n *\n * @param {Page[]} results\n * @return {Page[]}\n */\n parseResults(results) {\n [].push.apply(this.pages, results);\n\n this.loading = false;\n\n this.nextResults = !!results.payload.links.next;\n this.prevResults = !!results.payload.links.prev;\n\n m.redraw();\n return results;\n }\n}\n","import ExtensionPage from 'flarum/admin/components/ExtensionPage';\nimport Button from 'flarum/common/components/Button';\n\nimport EditPageModal from './EditPageModal';\nimport PagesList from './PagesList';\n\nexport default class PagesPage extends ExtensionPage {\n content() {\n return (\n
\n
\n
\n {Button.component(\n {\n className: 'Button Button--primary',\n icon: 'fas fa-plus',\n onclick: () => app.modal.show(EditPageModal),\n },\n app.translator.trans('fof-pages.admin.pages.create_button')\n )}\n
\n
\n
\n
{PagesList.component()}
\n
\n
\n );\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/extend'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/components/BasicsPage'];","import Page from '../common/models/Page';\nimport PagesPage from './components/PagesPage';\nimport addPageHomePageOption from './addPageHomePageOption';\n\napp.initializers.add('fof-pages', (app) => {\n app.store.models.pages = Page;\n\n app.extensionData\n .for('fof-pages')\n .registerPage(PagesPage)\n .registerPermission(\n {\n icon: 'fas fa-file-alt',\n label: app.translator.trans('fof-pages.admin.permissions.restricted'),\n permission: 'fof-pages.viewRestricted',\n },\n 'view'\n );\n\n addPageHomePageOption();\n});\n","import { extend } from 'flarum/common/extend';\nimport BasicsPage from 'flarum/admin/components/BasicsPage';\n\nexport default function () {\n extend(BasicsPage.prototype, 'homePageItems', (items) => {\n items.add('fof-pages', {\n path: '/pages/home',\n label: 'FriendsOfFlarum Pages',\n });\n });\n}\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","_setPrototypeOf","p","setPrototypeOf","bind","__proto__","_inheritsLoose","subClass","superClass","create","constructor","flarum","core","compat","Page","_Model","_this","_len","arguments","length","args","Array","_key","apply","concat","title","Model","time","editTime","content","contentHtml","contentPlain","computed","getPlainContent","slug","isHidden","isRestricted","isHtml","badges","items","ItemList","this","add","Badge","type","icon","label","app","trans","EditPageModal","_Modal","_proto","oninit","vnode","page","attrs","store","createRecord","pageTitle","Stream","pageContent","className","translator","m","placeholder","oninput","e","target","rows","onchange","withAttr","checked","Button","loading","exists","onclick","onsubmit","_this2","preventDefault","save","errorHandler","onerror","then","hideAndRefresh","redraw","hide","setRouteWithForcedRefresh","route","id","_this3","confirm","Modal","PagesListItem","_Component","view","url","forum","attribute","toArray","listItems","modal","show","setAsHomePage","disabled","data","settings","window","open","alerts","dismiss","successAlert","saveSettings","default_route","pages_home","Component","PagesList","pages","loadLimit","refresh","LoadingIndicator","text","Placeholder","next","prev","nextResults","loadNext","prevResults","loadPrev","map","component","clear","loadResults","parseResults","offset","find","limit","sort","results","push","payload","links","PagesPage","_ExtensionPage","ExtensionPage","initializers","models","extensionData","registerPage","registerPermission","permission","extend","BasicsPage","path"],"sourceRoot":""} \ No newline at end of file diff --git a/js/dist/forum.js b/js/dist/forum.js index 25071ea..16d2acb 100644 --- a/js/dist/forum.js +++ b/js/dist/forum.js @@ -1,2 +1,2 @@ -(()=>{var t={n:e=>{var o=e&&e.__esModule?()=>e.default:()=>e;return t.d(o,{a:o}),o},d:(e,o)=>{for(var n in o)t.o(o,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:o[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};(()=>{"use strict";function o(t,e){return o=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},o(t,e)}function n(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,o(t,e)}t.r(e);const a=flarum.core.compat["forum/components/IndexPage"];var r=t.n(a);const i=flarum.core.compat["common/helpers/icon"];var s=t.n(i);const c=flarum.core.compat["common/components/Page"];var p=t.n(c);const u=flarum.core.compat["common/components/LoadingIndicator"];var l=t.n(u);const d=flarum.core.compat["common/utils/classList"];var f=t.n(d);const h=flarum.core.compat["common/app"];var g=t.n(h);const v=flarum.core.compat["common/Component"];var y=t.n(v);const b=flarum.core.compat["common/components/Link"];var P=t.n(b);const H=flarum.core.compat["common/utils/ItemList"];var w=t.n(H);const N=flarum.core.compat["common/helpers/listItems"];var O=t.n(N),_=function(t){function e(){return t.apply(this,arguments)||this}n(e,t);var o=e.prototype;return o.view=function(){return m("header",{className:"Hero PageHero"},m("div",{className:"container"},m("ul",{className:"PageHero-items"},O()(this.items().toArray()))))},o.items=function(){var t=new(w()),e=this.attrs.page;return t.add("title",m("h1",{className:"PageHero-title"},m(P(),{href:g().route.page(e)},e.title()))),t},e}(y()),I=function(t){function e(){return t.apply(this,arguments)||this}n(e,t);var o=e.prototype;return o.oninit=function(e){t.prototype.oninit.call(this,e),this.page=null,this.loadPage(),this.bodyClass="App--page"},o.view=function(){var t=this.page;return m("div",{className:f()("Pages",t.isHtml()&&"Pages--isHtml"),"data-id":t.id(),"data-slug":t.slug()},m("div",{className:"Pages-page"},t?[this.hero(),m("div",{className:"Pages-container container"},m("div",{className:"Post-body"},this.content()))]:l().component({className:"LoadingIndicator--block"})))},o.show=function(t){this.page=t,app.history.push("page",t.title()),app.setTitle(t.title()),m.redraw()},o.hero=function(){return _.component({page:this.page})},o.content=function(){return m.trust(this.page.contentHtml())},o.id=function(){var t=m.route.param("id").split("-")[0];return isNaN(parseInt(t))?m.route.param("id"):t},o.loadPage=function(){var t=this,e=this.id(),o=app.preloadedApiDocument(),n=!Array.isArray(o)&&o||app.store.getById("pages",e);n?this.show(n):Promise.all([app.store.find("pages",e).then((function(e){t.show(e)})),m.redraw()])},e}(p()),j=function(t){function e(){return t.apply(this,arguments)||this}n(e,t);var o=e.prototype;return o.oninit=function(e){t.prototype.oninit.call(this,e),app.history.push("homePage",s()("fas fa-home")),app.drawer.hide(),app.modal.close()},o.show=function(t){this.page=t,app.setTitle(""),m.redraw()},o.hero=function(){return r().prototype.hero()},o.id=function(){return app.data["fof-pages.home"]},e}(I);const A=flarum.core.compat.app;var T=t.n(A);const L=flarum.core.compat["common/Model"];var S=t.n(L);const M=flarum.core.compat["common/utils/computed"];var C=t.n(M);const D=flarum.core.compat["common/utils/string"],R=flarum.core.compat["common/components/Badge"];var k=t.n(R),x=function(t){function e(){for(var e,o=arguments.length,n=new Array(o),a=0;a{var t={n:e=>{var o=e&&e.__esModule?()=>e.default:()=>e;return t.d(o,{a:o}),o},d:(e,o)=>{for(var n in o)t.o(o,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:o[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};(()=>{"use strict";function o(t,e){return o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},o(t,e)}function n(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,o(t,e)}t.r(e);const a=flarum.core.compat["forum/components/IndexPage"];var r=t.n(a);const i=flarum.core.compat["common/helpers/icon"];var s=t.n(i);const c=flarum.core.compat["common/components/Page"];var p=t.n(c);const u=flarum.core.compat["common/components/LoadingIndicator"];var l=t.n(u);const d=flarum.core.compat["common/utils/classList"];var f=t.n(d);const h=flarum.core.compat["common/app"];var g=t.n(h);const y=flarum.core.compat["common/Component"];var v=t.n(y);const b=flarum.core.compat["common/components/Link"];var P=t.n(b);const H=flarum.core.compat["common/utils/ItemList"];var w=t.n(H);const N=flarum.core.compat["common/helpers/listItems"];var O=t.n(N),_=function(t){function e(){return t.apply(this,arguments)||this}n(e,t);var o=e.prototype;return o.view=function(){return m("header",{className:"Hero PageHero"},m("div",{className:"container"},m("ul",{className:"PageHero-items"},O()(this.items().toArray()))))},o.items=function(){var t=new(w()),e=this.attrs.page;return t.add("title",m("h1",{className:"PageHero-title"},m(P(),{href:g().route.page(e)},e.title()))),t},e}(v()),j=function(t){function e(){return t.apply(this,arguments)||this}n(e,t);var o=e.prototype;return o.oninit=function(e){t.prototype.oninit.call(this,e),this.page=null,this.loadPage(),this.bodyClass="App--page"},o.view=function(){var t=this.page;return m("div",{className:f()("Pages",t.isHtml()&&"Pages--isHtml"),"data-id":t.id(),"data-slug":t.slug()},m("div",{className:"Pages-page"},t?[this.hero(),m("div",{className:"Pages-container container"},m("div",{className:"Post-body"},this.content()))]:l().component({className:"LoadingIndicator--block"})))},o.show=function(t){this.page=t,app.history.push("page",t.title()),app.setTitle(t.title()),m.redraw()},o.hero=function(){return _.component({page:this.page})},o.content=function(){return m.trust(this.page.contentHtml())},o.id=function(){var t=m.route.param("id").split("-")[0];return isNaN(parseInt(t))?m.route.param("id"):t},o.loadPage=function(){var t=this,e=this.id(),o=app.preloadedApiDocument(),n=!Array.isArray(o)&&o||app.store.getById("pages",e);n?this.show(n):Promise.all([app.store.find("pages",e).then((function(e){t.show(e)})),m.redraw()])},e}(p()),I=function(t){function e(){return t.apply(this,arguments)||this}n(e,t);var o=e.prototype;return o.oninit=function(e){t.prototype.oninit.call(this,e),app.history.push("homePage",s()("fas fa-home")),app.drawer.hide(),app.modal.close()},o.show=function(t){this.page=t,app.setTitle(""),m.redraw()},o.hero=function(){return r().prototype.hero()},o.id=function(){return app.data["fof-pages.home"]},e}(j);const A=flarum.core.compat.app;var T=t.n(A);const L=flarum.core.compat["common/Model"];var S=t.n(L);const M=flarum.core.compat["common/utils/computed"];var C=t.n(M);const D=flarum.core.compat["common/utils/string"],R=flarum.core.compat["common/components/Badge"];var k=t.n(R),x=function(t){function e(){for(var e,o=arguments.length,n=new Array(o),a=0;a {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/IndexPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/icon'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Page'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/LoadingIndicator'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/classList'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Component'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Link'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/ItemList'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/listItems'];","import app from 'flarum/common/app';\nimport Component from 'flarum/common/Component';\nimport Link from 'flarum/common/components/Link';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport listItems from 'flarum/common/helpers/listItems';\n\n/**\n * The `PageHero` component displays the hero on a page page.\n *\n * ### Props\n *\n * - `page`\n */\nexport default class PageHero extends Component {\n view() {\n return (\n
\n
\n
    {listItems(this.items().toArray())}
\n
\n
\n );\n }\n\n /**\n * Build an item list for the contents of the page hero.\n *\n * @return {ItemList}\n */\n items() {\n const items = new ItemList();\n const page = this.attrs.page;\n\n items.add(\n 'title',\n

\n {page.title()}\n

\n );\n\n return items;\n }\n}\n","import Page from 'flarum/common/components/Page';\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\nimport classList from 'flarum/common/utils/classList';\n\nimport PageHero from './PageHero';\n\nexport default class PagePage extends Page {\n oninit(vnode) {\n super.oninit(vnode);\n\n /**\n * The page that is being viewed.\n *\n * @type {fof/pages/models/Page}\n */\n this.page = null;\n\n this.loadPage();\n\n this.bodyClass = 'App--page';\n }\n\n view() {\n const page = this.page;\n\n return (\n
\n
\n {page\n ? [\n this.hero(),\n
\n
{this.content()}
\n
,\n ]\n : LoadingIndicator.component({ className: 'LoadingIndicator--block' })}\n
\n
\n );\n }\n\n /**\n * Initialize page.\n *\n * @param {fof/pages/models/Page} page\n * @protected\n */\n show(page) {\n this.page = page;\n\n app.history.push('page', page.title());\n app.setTitle(page.title());\n\n m.redraw();\n }\n\n /**\n * Get the hero of current page.\n */\n hero() {\n return PageHero.component({ page: this.page });\n }\n\n /**\n * Get the content of page.\n */\n content() {\n return m.trust(this.page.contentHtml());\n }\n\n /**\n * Get current page id from route.\n *\n * @return string\n */\n id() {\n const id = m.route.param('id').split('-')[0];\n if (!isNaN(parseInt(id))) {\n return id;\n } else {\n return m.route.param('id');\n }\n }\n\n /**\n * Load page from the store, or make a request\n * if we don't have it yet. Then initialize the page.\n */\n loadPage() {\n const id = this.id();\n\n const preloaded = app.preloadedApiDocument();\n const page = (!Array.isArray(preloaded) && preloaded) || app.store.getById('pages', id);\n\n if (page) {\n this.show(page);\n } else {\n Promise.all([\n app.store.find('pages', id).then((result) => {\n this.show(result);\n }),\n m.redraw(),\n ]);\n }\n }\n}\n","import IndexPage from 'flarum/forum/components/IndexPage';\nimport icon from 'flarum/common/helpers/icon';\n\nimport PagePage from './PagePage';\n\nexport default class HomePage extends PagePage {\n oninit(vnode) {\n super.oninit(vnode);\n\n app.history.push('homePage', icon('fas fa-home'));\n app.drawer.hide();\n app.modal.close();\n }\n\n show(page) {\n this.page = page;\n app.setTitle('');\n m.redraw();\n }\n\n hero() {\n return IndexPage.prototype.hero();\n }\n\n id() {\n return app.data['fof-pages.home'];\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Model'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/computed'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/string'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Badge'];","import app from 'flarum/app';\nimport Model from 'flarum/common/Model';\nimport computed from 'flarum/common/utils/computed';\nimport { getPlainContent } from 'flarum/common/utils/string';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport Badge from 'flarum/common/components/Badge';\n\nexport default class Page extends Model {\n title = Model.attribute('title');\n time = Model.attribute('time', Model.transformDate);\n editTime = Model.attribute('editTime', Model.transformDate);\n content = Model.attribute('content');\n contentHtml = Model.attribute('contentHtml');\n contentPlain = computed('contentHtml', getPlainContent);\n slug = Model.attribute('slug');\n isHidden = Model.attribute('isHidden');\n isRestricted = Model.attribute('isRestricted');\n isHtml = Model.attribute('isHtml');\n\n badges() {\n const items = new ItemList();\n\n if (this.isHidden()) {\n items.add(\n 'hidden',\n Badge.component({\n type: 'hidden',\n icon: 'fas fa-trash',\n label: app.translator.trans('fof-pages.admin.badges.hidden'),\n })\n );\n }\n\n if (this.isRestricted()) {\n items.add(\n 'restricted',\n Badge.component({\n type: 'restricted',\n icon: 'fas fa-user-shield',\n label: app.translator.trans('fof-pages.admin.badges.restricted'),\n })\n );\n }\n\n return items;\n }\n}\n","import HomePage from './components/HomePage';\nimport PagePage from './components/PagePage';\nimport Page from '../common/models/Page';\n\napp.initializers.add('fof-pages', (app) => {\n app.routes.homePage = { path: '/pages/home', component: HomePage };\n\n app.routes.page = { path: '/p/:id', component: PagePage };\n app.store.models.pages = Page;\n\n /**\n * Generate a URL to a page.\n *\n * @param {../common/models/Page} page\n * @return {String}\n */\n app.route.page = (page) => {\n return app.route('page', {\n id: page.id() + '-' + page.slug(),\n });\n };\n});\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","_setPrototypeOf","p","setPrototypeOf","__proto__","_inheritsLoose","subClass","superClass","create","constructor","flarum","core","compat","PageHero","view","className","listItems","this","items","toArray","ItemList","page","attrs","add","href","app","title","Component","PagePage","oninit","vnode","loadPage","bodyClass","classList","isHtml","id","slug","hero","content","LoadingIndicator","show","history","push","setTitle","m","redraw","component","trust","contentHtml","route","param","split","isNaN","parseInt","preloaded","preloadedApiDocument","Array","isArray","store","getById","Promise","all","find","then","result","Page","HomePage","icon","drawer","hide","modal","close","IndexPage","data","Model","time","editTime","contentPlain","computed","getPlainContent","isHidden","isRestricted","badges","Badge","type","label","initializers","routes","homePage","path","models","pages"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"forum.js","mappings":"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","sources":["webpack://@fof/pages/webpack/bootstrap","webpack://@fof/pages/webpack/runtime/compat get default export","webpack://@fof/pages/webpack/runtime/define property getters","webpack://@fof/pages/webpack/runtime/hasOwnProperty shorthand","webpack://@fof/pages/webpack/runtime/make namespace object","webpack://@fof/pages/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@fof/pages/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@fof/pages/external root \"flarum.core.compat['forum/components/IndexPage']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/components/Page']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/components/LoadingIndicator']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/utils/classList']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/app']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/Component']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/components/Link']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/utils/ItemList']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/helpers/listItems']\"","webpack://@fof/pages/./src/forum/components/PageHero.js","webpack://@fof/pages/./src/forum/components/PagePage.js","webpack://@fof/pages/./src/forum/components/HomePage.js","webpack://@fof/pages/external root \"flarum.core.compat['app']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/Model']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/utils/computed']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/utils/string']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/components/Badge']\"","webpack://@fof/pages/./src/common/models/Page.js","webpack://@fof/pages/./src/forum/index.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/IndexPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/icon'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Page'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/LoadingIndicator'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/classList'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Component'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Link'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/ItemList'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/listItems'];","import app from 'flarum/common/app';\nimport Component from 'flarum/common/Component';\nimport Link from 'flarum/common/components/Link';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport listItems from 'flarum/common/helpers/listItems';\n\n/**\n * The `PageHero` component displays the hero on a page page.\n *\n * ### Props\n *\n * - `page`\n */\nexport default class PageHero extends Component {\n view() {\n return (\n
\n
\n
    {listItems(this.items().toArray())}
\n
\n
\n );\n }\n\n /**\n * Build an item list for the contents of the page hero.\n *\n * @return {ItemList}\n */\n items() {\n const items = new ItemList();\n const page = this.attrs.page;\n\n items.add(\n 'title',\n

\n {page.title()}\n

\n );\n\n return items;\n }\n}\n","import Page from 'flarum/common/components/Page';\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\nimport classList from 'flarum/common/utils/classList';\n\nimport PageHero from './PageHero';\n\nexport default class PagePage extends Page {\n oninit(vnode) {\n super.oninit(vnode);\n\n /**\n * The page that is being viewed.\n *\n * @type {fof/pages/models/Page}\n */\n this.page = null;\n\n this.loadPage();\n\n this.bodyClass = 'App--page';\n }\n\n view() {\n const page = this.page;\n\n return (\n
\n
\n {page\n ? [\n this.hero(),\n
\n
{this.content()}
\n
,\n ]\n : LoadingIndicator.component({ className: 'LoadingIndicator--block' })}\n
\n
\n );\n }\n\n /**\n * Initialize page.\n *\n * @param {fof/pages/models/Page} page\n * @protected\n */\n show(page) {\n this.page = page;\n\n app.history.push('page', page.title());\n app.setTitle(page.title());\n\n m.redraw();\n }\n\n /**\n * Get the hero of current page.\n */\n hero() {\n return PageHero.component({ page: this.page });\n }\n\n /**\n * Get the content of page.\n */\n content() {\n return m.trust(this.page.contentHtml());\n }\n\n /**\n * Get current page id from route.\n *\n * @return string\n */\n id() {\n const id = m.route.param('id').split('-')[0];\n if (!isNaN(parseInt(id))) {\n return id;\n } else {\n return m.route.param('id');\n }\n }\n\n /**\n * Load page from the store, or make a request\n * if we don't have it yet. Then initialize the page.\n */\n loadPage() {\n const id = this.id();\n\n const preloaded = app.preloadedApiDocument();\n const page = (!Array.isArray(preloaded) && preloaded) || app.store.getById('pages', id);\n\n if (page) {\n this.show(page);\n } else {\n Promise.all([\n app.store.find('pages', id).then((result) => {\n this.show(result);\n }),\n m.redraw(),\n ]);\n }\n }\n}\n","import IndexPage from 'flarum/forum/components/IndexPage';\nimport icon from 'flarum/common/helpers/icon';\n\nimport PagePage from './PagePage';\n\nexport default class HomePage extends PagePage {\n oninit(vnode) {\n super.oninit(vnode);\n\n app.history.push('homePage', icon('fas fa-home'));\n app.drawer.hide();\n app.modal.close();\n }\n\n show(page) {\n this.page = page;\n app.setTitle('');\n m.redraw();\n }\n\n hero() {\n return IndexPage.prototype.hero();\n }\n\n id() {\n return app.data['fof-pages.home'];\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Model'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/computed'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/string'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Badge'];","import app from 'flarum/app';\nimport Model from 'flarum/common/Model';\nimport computed from 'flarum/common/utils/computed';\nimport { getPlainContent } from 'flarum/common/utils/string';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport Badge from 'flarum/common/components/Badge';\n\nexport default class Page extends Model {\n title = Model.attribute('title');\n time = Model.attribute('time', Model.transformDate);\n editTime = Model.attribute('editTime', Model.transformDate);\n content = Model.attribute('content');\n contentHtml = Model.attribute('contentHtml');\n contentPlain = computed('contentHtml', getPlainContent);\n slug = Model.attribute('slug');\n isHidden = Model.attribute('isHidden');\n isRestricted = Model.attribute('isRestricted');\n isHtml = Model.attribute('isHtml');\n\n badges() {\n const items = new ItemList();\n\n if (this.isHidden()) {\n items.add(\n 'hidden',\n Badge.component({\n type: 'hidden',\n icon: 'fas fa-trash',\n label: app.translator.trans('fof-pages.admin.badges.hidden'),\n })\n );\n }\n\n if (this.isRestricted()) {\n items.add(\n 'restricted',\n Badge.component({\n type: 'restricted',\n icon: 'fas fa-user-shield',\n label: app.translator.trans('fof-pages.admin.badges.restricted'),\n })\n );\n }\n\n return items;\n }\n}\n","import HomePage from './components/HomePage';\nimport PagePage from './components/PagePage';\nimport Page from '../common/models/Page';\n\napp.initializers.add('fof-pages', (app) => {\n app.routes.homePage = { path: '/pages/home', component: HomePage };\n\n app.routes.page = { path: '/p/:id', component: PagePage };\n app.store.models.pages = Page;\n\n /**\n * Generate a URL to a page.\n *\n * @param {../common/models/Page} page\n * @return {String}\n */\n app.route.page = (page) => {\n return app.route('page', {\n id: page.id() + '-' + page.slug(),\n });\n };\n});\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","_setPrototypeOf","p","setPrototypeOf","bind","__proto__","_inheritsLoose","subClass","superClass","create","constructor","flarum","core","compat","PageHero","_Component","apply","arguments","_proto","view","m","className","listItems","this","items","toArray","ItemList","page","attrs","add","Link","href","app","title","Component","PagePage","_Page","oninit","vnode","loadPage","bodyClass","classList","isHtml","id","slug","hero","content","LoadingIndicator","show","history","push","setTitle","redraw","component","trust","contentHtml","route","param","split","isNaN","parseInt","_this","preloaded","preloadedApiDocument","Array","isArray","store","getById","Promise","all","find","then","result","Page","HomePage","_PagePage","icon","drawer","hide","modal","close","IndexPage","data","_Model","_len","length","args","_key","concat","Model","time","editTime","contentPlain","computed","getPlainContent","isHidden","isRestricted","badges","Badge","type","label","trans","initializers","routes","homePage","path","models","pages"],"sourceRoot":""} \ No newline at end of file