From db5eb55821a23479a67b0346b72880a6a11a0b70 Mon Sep 17 00:00:00 2001 From: flarum-bot Date: Mon, 23 Oct 2023 17:17:34 +0000 Subject: [PATCH] Bundled output for commit 95cff661d43c5347cc79dc1ff20873a5d4614a83 Includes transpiled JS/TS, and Typescript declaration files (typings). [skip ci] --- js/dist/admin.js.map | 2 +- js/dist/forum.js.map | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/js/dist/admin.js.map b/js/dist/admin.js.map index 23ab742..86c8569 100644 --- a/js/dist/admin.js.map +++ b/js/dist/admin.js.map @@ -1 +1 @@ -{"version":3,"file":"admin.js","mappings":"MACA,IAAIA,EAAsB,CCA1BA,EAAyBC,IACxB,IAAIC,EAASD,GAAUA,EAAOE,WAC7B,IAAOF,EAAiB,QACxB,IAAM,EAEP,OADAD,EAAoBI,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,CAAM,ECLdF,EAAwB,CAACM,EAASC,KACjC,IAAI,IAAIC,KAAOD,EACXP,EAAoBS,EAAEF,EAAYC,KAASR,EAAoBS,EAAEH,EAASE,IAC5EE,OAAOC,eAAeL,EAASE,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,IAE1E,ECNDR,EAAwB,CAACc,EAAKC,IAAUL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,GCClFf,EAAyBM,IACH,oBAAXa,QAA0BA,OAAOC,aAC1CV,OAAOC,eAAeL,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DX,OAAOC,eAAeL,EAAS,aAAc,CAAEe,OAAO,GAAO,G,+BCL9D,MAAM,EAA+BC,OAAOC,KAAKC,OAAO,a,aCAxD,MAAM,EAA+BF,OAAOC,KAAKC,OAAO,iBCcxDC,IAAAA,aAAAA,IAAqB,cAAc,WACjCA,IAAAA,cAAAA,IACO,cACJC,gBAAgB,CACfC,QAAS,qCACTC,MAAOH,IAAAA,WAAAA,MAAqB,qDAC5BI,KAAM,YAEPH,gBAAgB,CACfC,QAAS,oCACTC,MAAOH,IAAAA,WAAAA,MAAqB,oDAC5BI,KAAM,YAEPH,gBAAgB,CACfC,QAAS,8BACTC,MAAOH,IAAAA,WAAAA,MAAqB,iDAC5BI,KAAM,YAEPC,mBACC,CACEC,KAAM,cACNH,MAAOH,IAAAA,WAAAA,MAAqB,sCAC5BO,WAAY,mBAEd,SAEDF,mBACC,CACEC,KAAM,uBACNH,MAAOH,IAAAA,WAAAA,MAAqB,yCAC5BO,WAAY,uBAEd,UAGJC,EAAAA,EAAAA,QAAOR,IAAK,0BAA0B,SAAUS,EAAUF,GACrC,wBAAfA,GACFE,EAASC,KAAK,kBAEjB,GACF,G","sources":["webpack://@fof/drafts/webpack/bootstrap","webpack://@fof/drafts/webpack/runtime/compat get default export","webpack://@fof/drafts/webpack/runtime/define property getters","webpack://@fof/drafts/webpack/runtime/hasOwnProperty shorthand","webpack://@fof/drafts/webpack/runtime/make namespace object","webpack://@fof/drafts/external root \"flarum.core.compat['admin/app']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/extend']\"","webpack://@fof/drafts/./src/admin/index.ts"],"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};","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/extend'];","/*\n *\n * This file is part of fof/drafts.\n *\n * Copyright (c) 2019 FriendsOfFlarum.\n *\n * For the full copyright and license information, please view the LICENSE.md\n * file that was distributed with this source code.\n *\n */\n\nimport app from 'flarum/admin/app';\nimport { extend } from 'flarum/common/extend';\n\napp.initializers.add('fof-drafts', () => {\n app.extensionData\n .for('fof-drafts')\n .registerSetting({\n setting: 'fof-drafts.enable_scheduled_drafts',\n label: app.translator.trans('fof-drafts.admin.settings.enable_scheduled_drafts'),\n type: 'boolean',\n })\n .registerSetting({\n setting: 'fof-drafts.schedule_on_one_server',\n label: app.translator.trans('fof-drafts.admin.settings.schedule_on_one_server'),\n type: 'boolean',\n })\n .registerSetting({\n setting: 'fof-drafts.store_log_output',\n label: app.translator.trans('fof-drafts.admin.settings.schedule_log_output'),\n type: 'boolean',\n })\n .registerPermission(\n {\n icon: 'fas fa-edit',\n label: app.translator.trans('fof-drafts.admin.permissions.start'),\n permission: 'user.saveDrafts',\n },\n 'start'\n )\n .registerPermission(\n {\n icon: 'fas fa-calendar-plus',\n label: app.translator.trans('fof-drafts.admin.permissions.schedule'),\n permission: 'user.scheduleDrafts',\n },\n 'start'\n );\n\n extend(app, 'getRequiredPermissions', function (required, permission) {\n if (permission === 'user.scheduleDrafts') {\n required.push('user.saveDrafts');\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","flarum","core","compat","app","registerSetting","setting","label","type","registerPermission","icon","permission","extend","required","push"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"admin.js","mappings":"MACA,IAAIA,EAAsB,CCA1BA,EAAyBC,IACxB,IAAIC,EAASD,GAAUA,EAAOE,WAC7B,IAAOF,EAAiB,QACxB,IAAM,EAEP,OADAD,EAAoBI,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,CAAM,ECLdF,EAAwB,CAACM,EAASC,KACjC,IAAI,IAAIC,KAAOD,EACXP,EAAoBS,EAAEF,EAAYC,KAASR,EAAoBS,EAAEH,EAASE,IAC5EE,OAAOC,eAAeL,EAASE,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,IAE1E,ECNDR,EAAwB,CAACc,EAAKC,IAAUL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,GCClFf,EAAyBM,IACH,oBAAXa,QAA0BA,OAAOC,aAC1CV,OAAOC,eAAeL,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DX,OAAOC,eAAeL,EAAS,aAAc,CAAEe,OAAO,GAAO,G,+BCL9D,MAAM,EAA+BC,OAAOC,KAAKC,OAAO,a,aCAxD,MAAM,EAA+BF,OAAOC,KAAKC,OAAO,iBCcxDC,IAAAA,aAAAA,IAAqB,cAAc,WACjCA,IAAAA,cAAAA,IACO,cACJC,gBAAgB,CACfC,QAAS,qCACTC,MAAOH,IAAAA,WAAAA,MAAqB,qDAC5BI,KAAM,YAEPH,gBAAgB,CACfC,QAAS,oCACTC,MAAOH,IAAAA,WAAAA,MAAqB,oDAC5BI,KAAM,YAEPH,gBAAgB,CACfC,QAAS,8BACTC,MAAOH,IAAAA,WAAAA,MAAqB,iDAC5BI,KAAM,YAEPC,mBACC,CACEC,KAAM,cACNH,MAAOH,IAAAA,WAAAA,MAAqB,sCAC5BO,WAAY,mBAEd,SAEDF,mBACC,CACEC,KAAM,uBACNH,MAAOH,IAAAA,WAAAA,MAAqB,yCAC5BO,WAAY,uBAEd,UAGJC,EAAAA,EAAAA,QAAOR,IAAK,0BAA0B,SAAUS,EAAUF,GACrC,wBAAfA,GACFE,EAASC,KAAK,kBAElB,GACF,G","sources":["webpack://@fof/drafts/webpack/bootstrap","webpack://@fof/drafts/webpack/runtime/compat get default export","webpack://@fof/drafts/webpack/runtime/define property getters","webpack://@fof/drafts/webpack/runtime/hasOwnProperty shorthand","webpack://@fof/drafts/webpack/runtime/make namespace object","webpack://@fof/drafts/external root \"flarum.core.compat['admin/app']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/extend']\"","webpack://@fof/drafts/./src/admin/index.ts"],"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};","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/extend'];","/*\n *\n * This file is part of fof/drafts.\n *\n * Copyright (c) 2019 FriendsOfFlarum.\n *\n * For the full copyright and license information, please view the LICENSE.md\n * file that was distributed with this source code.\n *\n */\n\nimport app from 'flarum/admin/app';\nimport { extend } from 'flarum/common/extend';\n\napp.initializers.add('fof-drafts', () => {\n app.extensionData\n .for('fof-drafts')\n .registerSetting({\n setting: 'fof-drafts.enable_scheduled_drafts',\n label: app.translator.trans('fof-drafts.admin.settings.enable_scheduled_drafts'),\n type: 'boolean',\n })\n .registerSetting({\n setting: 'fof-drafts.schedule_on_one_server',\n label: app.translator.trans('fof-drafts.admin.settings.schedule_on_one_server'),\n type: 'boolean',\n })\n .registerSetting({\n setting: 'fof-drafts.store_log_output',\n label: app.translator.trans('fof-drafts.admin.settings.schedule_log_output'),\n type: 'boolean',\n })\n .registerPermission(\n {\n icon: 'fas fa-edit',\n label: app.translator.trans('fof-drafts.admin.permissions.start'),\n permission: 'user.saveDrafts',\n },\n 'start'\n )\n .registerPermission(\n {\n icon: 'fas fa-calendar-plus',\n label: app.translator.trans('fof-drafts.admin.permissions.schedule'),\n permission: 'user.scheduleDrafts',\n },\n 'start'\n );\n\n extend(app, 'getRequiredPermissions', function (required, permission) {\n if (permission === 'user.scheduleDrafts') {\n required.push('user.saveDrafts');\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","flarum","core","compat","app","registerSetting","setting","label","type","registerPermission","icon","permission","extend","required","push"],"sourceRoot":""} \ No newline at end of file diff --git a/js/dist/forum.js.map b/js/dist/forum.js.map index 15f8ba7..97b5339 100644 --- a/js/dist/forum.js.map +++ b/js/dist/forum.js.map @@ -1 +1 @@ -{"version":3,"file":"forum.js","mappings":"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","sources":["webpack://@fof/drafts/./node_modules/dayjs/dayjs.min.js","webpack://@fof/drafts/external assign \"flarum.extensions['fof-byobu']\"","webpack://@fof/drafts/webpack/bootstrap","webpack://@fof/drafts/webpack/runtime/compat get default export","webpack://@fof/drafts/webpack/runtime/define property getters","webpack://@fof/drafts/webpack/runtime/hasOwnProperty shorthand","webpack://@fof/drafts/webpack/runtime/make namespace object","webpack://@fof/drafts/external root \"flarum.core.compat['common/extend']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/models/User']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/Model']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/utils/Stream']\"","webpack://@fof/drafts/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@fof/drafts/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@fof/drafts/external root \"flarum.core.compat['forum/app']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/utils/ItemList']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/utils/mixin']\"","webpack://@fof/drafts/./src/forum/utils/fillRelationship.js","webpack://@fof/drafts/./src/forum/models/Draft.js","webpack://@fof/drafts/external root \"flarum.core.compat['common/components/Page']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/Component']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/components/LoadingIndicator']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/components/Button']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/helpers/avatar']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/helpers/humanTime']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/utils/string']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/components/Tooltip']\"","webpack://@fof/drafts/./src/forum/components/DraftsListItem.tsx","webpack://@fof/drafts/./src/forum/components/DraftsList.js","webpack://@fof/drafts/./src/forum/components/DraftsPage.js","webpack://@fof/drafts/external root \"flarum.core.compat['common/components/HeaderSecondary']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/components/NotificationsDropdown']\"","webpack://@fof/drafts/./src/forum/components/DraftsDropdown.js","webpack://@fof/drafts/external root \"flarum.core.compat['common/components/FieldSet']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/components/SettingsPage']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/components/Switch']\"","webpack://@fof/drafts/external root \"flarum.core.compat['forum/components/Composer']\"","webpack://@fof/drafts/external root \"flarum.core.compat['forum/components/DiscussionComposer']\"","webpack://@fof/drafts/external root \"flarum.core.compat['forum/components/ReplyComposer']\"","webpack://@fof/drafts/external root \"flarum.core.compat['forum/states/ComposerState']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/components/Alert']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/components/Modal']\"","webpack://@fof/drafts/./src/forum/components/ScheduleDraftModal.js","webpack://@fof/drafts/./src/forum/states/DraftsListState.js","webpack://@fof/drafts/./src/forum/components/index.js","webpack://@fof/drafts/./src/forum/models/index.js","webpack://@fof/drafts/./src/forum/states/index.js","webpack://@fof/drafts/./src/forum/utils/index.js","webpack://@fof/drafts/./src/forum/index.js","webpack://@fof/drafts/./src/forum/addDraftsDropdown.js","webpack://@fof/drafts/./src/forum/addPreferences.js"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",f=\"month\",h=\"quarter\",c=\"year\",d=\"date\",$=\"Invalid Date\",l=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[^0-9]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\")},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},g={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date() {\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};","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/extend'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/models/User'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Model'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/Stream'];","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/app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/ItemList'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/mixin'];","export default (data, map) => (Array.isArray(data) ? data.map(map).sort() : map(data));\n","/*\n *\n * This file is part of fof/drafts.\n *\n * Copyright (c) 2019 FriendsOfFlarum.\n *\n * For the full copyright and license information, please view the LICENSE.md\n * file that was distributed with this source code.\n *\n */\n\nimport app from 'flarum/forum/app';\nimport Model from 'flarum/common/Model';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport mixin from 'flarum/common/utils/mixin';\nimport fillRelationship from '../utils/fillRelationship';\n\nexport default class Draft extends mixin(Model, {\n user: Model.hasOne('user'),\n content: Model.attribute('content'),\n title: Model.attribute('title'),\n scheduledValidationError: Model.attribute('scheduledValidationError'),\n relationships: Model.attribute('relationships'),\n extra: Model.attribute('extra'),\n scheduledFor: Model.attribute('scheduledFor', Model.transformDate),\n updatedAt: Model.attribute('updatedAt', Model.transformDate),\n\n loadedRelationships: null,\n\n type() {\n const relationships = this.loadRelationships();\n if (relationships.discussion) {\n return 'reply';\n } else if (\n flarum.extensions['fof-byobu'] &&\n flarum.extensions['fof-byobu'].discussions && // If private discussion composer is not exported, we can't support PM drafts.\n ('recipientGroups' in relationships || 'recipientUsers' in relationships)\n ) {\n return 'privateDiscussion';\n } else {\n return 'discussion';\n }\n },\n\n icon() {\n switch (this.type()) {\n case 'discussion':\n return 'fas fa-edit';\n case 'reply':\n return 'fas fa-reply';\n case 'privateDiscussion':\n const customIcon = app.forum.data.attributes['byobu.icon-badge'];\n return customIcon ? customIcon : 'fas fa-eye-slash';\n }\n },\n\n loadRelationships(force) {\n if (\n !force &&\n this.loadedRelationships &&\n (Object.keys(this.loadedRelationships).length > 0 ||\n (Object.keys(this.loadedRelationships).length === 0 && Object.keys(this.relationships).length === 0))\n ) {\n return this.loadedRelationships;\n }\n\n this.loadedRelationships = {};\n\n const relationships = this.relationships();\n\n if (relationships) {\n Object.keys(relationships).forEach((relationshipName) => {\n const relationship = relationships[relationshipName];\n\n if (!relationship || !relationship.data) return;\n\n this.loadedRelationships[relationshipName] = fillRelationship(relationship.data, (model) => app.store.getById(model.type, model.id));\n });\n }\n\n if ('recipientUsers' in this.loadedRelationships || 'recipientGroups' in this.loadedRelationships) {\n const recipients = new ItemList();\n\n (this.loadedRelationships['recipientUsers'] || []).forEach((user) => {\n if (user) recipients.add('users:' + user.id(), user);\n });\n (this.loadedRelationships['recipientGroups'] || []).forEach((group) => {\n if (group) recipients.add('groups:' + group.id(), group);\n });\n\n this.loadedRelationships['recipients'] = recipients;\n }\n\n return this.loadedRelationships;\n },\n\n compileData() {\n const data = {\n originalContent: this.content(),\n title: this.title(),\n user: app.session.user,\n confirmExit: app.translator.trans('fof-drafts.forum.composer.exit_alert'),\n draft: this,\n fields: Object.assign({}, this.loadRelationships(), this.extra()),\n };\n\n Object.assign(data, data.fields);\n\n return data;\n },\n}) {}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Page'];","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/Button'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/avatar'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/icon'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/humanTime'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/string'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Tooltip'];","import app from 'flarum/forum/app';\nimport Component from 'flarum/common/Component';\nimport avatar from 'flarum/common/helpers/avatar';\nimport icon from 'flarum/common/helpers/icon';\nimport humanTime from 'flarum/common/helpers/humanTime';\nimport { truncate } from 'flarum/common/utils/string';\nimport Button from 'flarum/common/components/Button';\nimport Tooltip from 'flarum/common/components/Tooltip';\nimport dayjs from 'dayjs';\n\nimport type Mithril from 'mithril';\nimport Draft from '../models/Draft';\nimport DraftsListState from '../states/DraftsListState';\n\nexport interface IAttrs {\n draft: Draft;\n state: DraftsListState;\n}\n\nexport default class DraftsListItem extends Component {\n private canSchedule: boolean = app.forum.attribute('canScheduleDrafts') && app.forum.attribute('drafts.enableScheduledDrafts');\n\n oncreate(vnode: Mithril.Vnode) {\n super.oncreate(vnode);\n }\n\n view() {\n const { draft, state } = this.attrs;\n\n let scheduledDraftIcon = 'far fa-calendar-plus';\n if (draft.scheduledValidationError()) scheduledDraftIcon = 'far fa-calendar-times';\n else if (draft.scheduledFor()) scheduledDraftIcon = 'far fa-calendar-check';\n\n return (\n
  • \n \n {/* Avatar */}\n {avatar(draft.user())}\n\n {/* Draft icon */}\n {icon(draft.icon(), { className: 'Notification-icon' })}\n\n {/* Draft title + last edited time */}\n \n \n {draft.scheduledFor() && (\n \n {icon('far fa-clock', { className: 'draft--scheduledIcon' })}\n \n )}\n {draft.type() === 'reply' ? draft.loadRelationships().discussion.title() : draft.title()}\n \n \n {humanTime(draft.updatedAt())}\n \n\n
    \n {/* Delete draft icon */}\n \n {\n state.deleteDraft(draft);\n e.stopPropagation();\n }}\n />\n \n\n {this.canSchedule ? (\n \n {\n state.scheduleDraft(draft);\n e.stopPropagation();\n }}\n />\n \n ) : null}\n
    \n\n
    {truncate(draft.content(), 200)}
    \n {draft.scheduledValidationError() ?

    {draft.scheduledValidationError()}

    : ''}\n
    \n
  • \n );\n }\n}\n","/*\n *\n * This file is part of fof/drafts.\n *\n * Copyright (c) 2019 FriendsOfFlarum.\n *\n * For the full copyright and license information, please view the LICENSE.md\n * file that was distributed with this source code.\n *\n */\n\nimport app from 'flarum/forum/app';\nimport Component from 'flarum/common/Component';\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\nimport Button from 'flarum/common/components/Button';\nimport DraftsListItem from './DraftsListItem';\nimport Tooltip from 'flarum/common/components/Tooltip';\n\nexport default class DraftsList extends Component {\n oncreate(vnode) {\n super.oncreate(vnode);\n\n $('.draft--delete').on('click tap', function (event) {\n event.stopPropagation();\n });\n }\n\n deleteAll() {\n if (!confirm(app.translator.trans('fof-drafts.forum.dropdown.delete_all_alert'))) return;\n\n app\n .request({\n method: 'DELETE',\n url: app.forum.attribute('apiUrl') + '/drafts/all',\n })\n .then(() => {\n app.store.data.drafts = [];\n m.redraw();\n });\n }\n\n view() {\n const drafts = app.store.all('drafts');\n const state = this.attrs.state;\n\n return (\n
    \n
    \n

    {app.translator.trans('fof-drafts.forum.dropdown.title')}

    \n
    \n \n \n \n
    \n
    \n
    \n
      \n {drafts.length\n ? drafts\n .sort((a, b) => b.updatedAt() - a.updatedAt())\n .map((draft) => {\n return ;\n })\n : null}\n\n {state.loading ? (\n \n ) : (\n !drafts.length &&
      {app.translator.trans('fof-drafts.forum.dropdown.empty_text')}
      \n )}\n
    \n
    \n
    \n );\n }\n}\n","/*\n *\n * This file is part of fof/drafts.\n *\n * Copyright (c) 2019 FriendsOfFlarum.\n *\n * For the full copyright and license information, please view the LICENSE.md\n * file that was distributed with this source code.\n *\n */\n\nimport app from 'flarum/forum/app';\nimport Page from 'flarum/common/components/Page';\n\nimport DraftsList from './DraftsList';\n\nexport default class DraftsPage extends Page {\n oninit(vnode) {\n super.oninit(vnode);\n\n app.history.push('drafts');\n\n app.drafts.load();\n\n this.bodyClass = 'App--drafts';\n }\n\n view() {\n return (\n
    \n \n
    \n );\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/HeaderSecondary'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/NotificationsDropdown'];","/*\n *\n * This file is part of fof/drafts.\n *\n * Copyright (c) 2019 FriendsOfFlarum.\n *\n * For the full copyright and license information, please view the LICENSE.md\n * file that was distributed with this source code.\n *\n */\n\nimport app from 'flarum/forum/app';\nimport NotificationsDropdown from 'flarum/common/components/NotificationsDropdown';\n\nimport DraftsList from './DraftsList';\n\nexport default class DraftsDropdown extends NotificationsDropdown {\n static initAttrs(attrs) {\n attrs.label = attrs.label || app.translator.trans('fof-drafts.forum.dropdown.tooltip');\n attrs.icon = attrs.icon || 'fas fa-edit';\n\n super.initAttrs(attrs);\n }\n\n getMenu() {\n return (\n
    \n {this.showing ? DraftsList.component({ state: this.attrs.state }) : ''}\n
    \n );\n }\n\n goToRoute() {\n m.route.set(app.route('drafts'));\n }\n\n getUnreadCount() {\n if (app.cache.draftsLoaded) {\n return app.store.all('drafts').length;\n }\n\n return app.store.all('drafts').length + app.session.user.draftCount();\n }\n\n getNewCount() {\n return this.getUnreadCount();\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/FieldSet'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/SettingsPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Switch'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/Composer'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/DiscussionComposer'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/ReplyComposer'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/states/ComposerState'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Alert'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Modal'];","import app from 'flarum/forum/app';\nimport Alert from 'flarum/common/components/Alert';\nimport Button from 'flarum/common/components/Button';\nimport Modal from 'flarum/common/components/Modal';\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\n\nconst CurrentDate = dayjs().format('YYYY-MM-DD');\nconst CurrentTime = dayjs().format('HH:mm');\n\nexport default class ScheduleDraftModal extends Modal {\n loading = false;\n\n date;\n time;\n\n previewFormatString;\n\n oninit(vnode) {\n super.oninit(vnode);\n\n this.date = this.isScheduled() ? dayjs(this.attrs.draft.scheduledFor()).format('YYYY-MM-DD') : CurrentDate;\n this.time = this.isScheduled() ? dayjs(this.attrs.draft.scheduledFor()).format('HH:mm') : CurrentTime;\n\n this.previewFormatString = app.translator.trans('fof-drafts.forum.schedule_draft_modal.schedule_time_preview_formatter')[0];\n }\n\n className() {\n return 'ScheduleDraftModal';\n }\n\n title() {\n return app.translator.trans('fof-drafts.forum.schedule_draft_modal.title');\n }\n\n content() {\n if (this.loading) {\n return ;\n }\n\n return [\n this.attrs.draft.scheduledFor() ? (\n
    \n \n {app.translator.trans('fof-drafts.forum.schedule_draft_modal.scheduled_text', {\n datetime: this.formattedDateTime(),\n })}\n \n
    \n ) : (\n ''\n ),\n this.attrs.draft.scheduledValidationError() ? (\n
    \n \n {app.translator.trans('fof-drafts.forum.schedule_draft_modal.scheduled_error', {\n error: this.attrs.draft.scheduledValidationError(),\n })}\n \n
    \n ) : (\n ''\n ),\n\n ,\n\n
    \n
    \n

    {app.translator.trans('fof-drafts.forum.schedule_draft_modal.text')}

    \n
    \n (this.date = e.target.value)}\n />\n (this.time = e.target.value)} />\n
    \n\n {/* Date time preview */}\n
    \n {app.translator.trans('fof-drafts.forum.schedule_draft_modal.schedule_time_preview', {\n datetime: this.formattedDateTime(),\n })}\n
    \n\n
    \n {/* Unschedule button */}\n {this.isScheduled() && (\n \n {app.translator.trans('fof-drafts.forum.schedule_draft_modal.unschedule_button')}\n \n )}\n\n {/* Schedule/reschedule button */}\n \n {this.isScheduled()\n ? app.translator.trans('fof-drafts.forum.schedule_draft_modal.reschedule_button')\n : app.translator.trans('fof-drafts.forum.schedule_draft_modal.schedule_button')}\n \n
    \n
    \n
    ,\n ];\n }\n\n /**\n * Returns a Date object for currently entered values in the modal.\n */\n scheduledFor() {\n const date = new Date(`${this.date} ${this.time}`);\n\n return date || null;\n }\n\n /**\n * Whether the modal's details have been modified.\n */\n changed() {\n const getTimeOrNull = (date) => (date ? date.getTime() || null : null);\n\n return getTimeOrNull(this.scheduledFor()) !== getTimeOrNull(this.attrs.draft.scheduledFor());\n }\n\n isScheduled() {\n return !!this.attrs.draft.scheduledFor();\n }\n\n formattedDateTime() {\n const date = dayjs(this.scheduledFor());\n\n // if (!date) {\n // return app.translator.trans('fof-drafts.forum.schedule_draft_modal.schedule_time_preview_invalid');\n // }\n\n const formatted = date.format(this.previewFormatString);\n\n return formatted;\n }\n\n unschedule(e) {\n e.preventDefault();\n\n this.loading = true;\n\n // Save draft with no scheduled post time\n if (confirm(app.translator.trans('fof-drafts.forum.schedule_draft_modal.unschedule_warning'))) {\n this.attrs.draft\n .save({ scheduledFor: null, clearValidationError: true, scheduledValidationError: '' })\n .then(() => {\n this.success = true;\n this.hide.call(this);\n })\n .catch(() => {})\n .then(this.loaded.bind(this));\n }\n }\n\n onsubmit(e) {\n e.preventDefault();\n\n this.loading = true;\n\n this.attrs.draft\n .save({ scheduledFor: this.scheduledFor(), clearValidationError: true, scheduledValidationError: '' })\n .then(() => (this.success = true))\n .catch(() => {})\n .then(this.loaded.bind(this));\n }\n}\n","import app from 'flarum/forum/app';\nimport DiscussionComposer from 'flarum/forum/components/DiscussionComposer';\nimport ReplyComposer from 'flarum/forum/components/ReplyComposer';\nimport ScheduleDraftModal from '../components/ScheduleDraftModal';\n\nexport default class DraftsListState {\n constructor() {\n /**\n * Whether or not the flags are loading.\n *\n * @type {Boolean}\n */\n this.loading = false;\n\n this.cache = [];\n }\n\n deleteDraft(draft) {\n if (!window.confirm(app.translator.trans('fof-drafts.forum.dropdown.alert'))) return;\n\n this.loading = true;\n\n draft.delete().then(() => {\n if (app.composer.body && app.composer.draft && app.composer.draft.id() === draft.id() && !app.composer.changed()) {\n app.composer.hide();\n }\n\n this.loading = false;\n m.redraw();\n });\n }\n\n scheduleDraft(draft) {\n if (!app.forum.attribute('canScheduleDrafts') || !app.forum.attribute('drafts.enableScheduledDrafts')) return;\n\n app.modal.show(ScheduleDraftModal, { draft });\n }\n\n showComposer(draft) {\n if (this.loading) return;\n\n return new Promise((resolve) => {\n let componentClass;\n\n switch (draft.type()) {\n case 'privateDiscussion':\n componentClass = require('@fof-byobu').discussions['PrivateDiscussionComposer'];\n break;\n case 'reply':\n componentClass = ReplyComposer;\n break;\n default:\n componentClass = DiscussionComposer;\n }\n\n const data = draft.compileData();\n app.composer.load(componentClass, data);\n\n app.composer.show();\n\n Object.assign(app.composer.fields, data.fields);\n\n return resolve(app.composer);\n });\n }\n\n load() {\n if (app.cache.draftsLoaded) {\n return;\n }\n\n this.loading = true;\n m.redraw();\n\n app.store\n .find('drafts')\n .then(\n () => (app.cache.draftsLoaded = true),\n () => {}\n )\n .then(() => {\n this.loading = false;\n m.redraw();\n });\n }\n}\n","/*\n *\n * This file is part of fof/drafts.\n *\n * Copyright (c) 2019 FriendsOfFlarum.\n *\n * For the full copyright and license information, please view the LICENSE.md\n * file that was distributed with this source code.\n *\n */\n\nimport DraftsDropdown from './DraftsDropdown';\nimport DraftsList from './DraftsList';\nimport DraftsListItem from './DraftsListItem';\nimport DraftsPage from './DraftsPage';\nimport ScheduleDraftModal from './ScheduleDraftModal';\n\nexport const components = {\n DraftsDropdown: DraftsDropdown,\n DraftsList: DraftsList,\n DraftsListItem: DraftsListItem,\n DraftsPage: DraftsPage,\n ScheduleDraftModal: ScheduleDraftModal,\n};\n","/*\n *\n * This file is part of fof/drafts.\n *\n * Copyright (c) 2019 FriendsOfFlarum.\n *\n * For the full copyright and license information, please view the LICENSE.md\n * file that was distributed with this source code.\n *\n */\n\nimport Draft from './Draft';\n\nexport const models = {\n Draft: Draft,\n};\n","/*\n *\n * This file is part of fof/drafts.\n *\n * Copyright (c) 2021 FriendsOfFlarum.\n *\n * For the full copyright and license information, please view the LICENSE.md\n * file that was distributed with this source code.\n *\n */\n\nimport DraftsListState from './DraftsListState';\n\nexport const states = {\n DraftsListState: DraftsListState,\n};\n","/*\n *\n * This file is part of fof/drafts.\n *\n * Copyright (c) 2019 FriendsOfFlarum.\n *\n * For the full copyright and license information, please view the LICENSE.md\n * file that was distributed with this source code.\n *\n */\nimport fillRelationship from './fillRelationship';\n\nexport const utils = {\n fillRelationship: fillRelationship,\n};\n","/*\n *\n * This file is part of fof/drafts.\n *\n * Copyright (c) 2019 FriendsOfFlarum.\n *\n * For the full copyright and license information, please view the LICENSE.md\n * file that was distributed with this source code.\n *\n */\n\nimport { extend, override } from 'flarum/common/extend';\nimport User from 'flarum/common/models/User';\nimport Model from 'flarum/common/Model';\nimport Stream from 'flarum/common/utils/Stream';\nimport Draft from './models/Draft';\nimport DraftsPage from './components/DraftsPage';\nimport addDraftsDropdown from './addDraftsDropdown';\nimport addPreferences from './addPreferences';\nimport Composer from 'flarum/forum/components/Composer';\nimport DiscussionComposer from 'flarum/forum/components/DiscussionComposer';\nimport ReplyComposer from 'flarum/forum/components/ReplyComposer';\nimport Button from 'flarum/common/components/Button';\nimport ComposerState from 'flarum/forum/states/ComposerState';\nimport fillRelationship from './utils/fillRelationship';\nimport DraftsListState from './states/DraftsListState';\nimport app from 'flarum/forum/app';\n\nexport * from './components';\nexport * from './models';\nexport * from './states';\nexport * from './utils';\n\napp.initializers.add('fof-drafts', () => {\n app.store.models.drafts = Draft;\n User.prototype.drafts = Model.hasMany('drafts');\n User.prototype.draftCount = Model.attribute('draftCount');\n\n app.routes.drafts = { path: '/drafts', component: DraftsPage };\n\n app.drafts = new DraftsListState(app);\n\n ComposerState.prototype['changed'] = function () {\n if (!this.body || !this.data) return false;\n\n const data = this.data();\n const draft = this.draft;\n\n const fields = Object.keys(data).filter((element) => element !== 'relationships');\n\n if (!fields) {\n return false;\n }\n\n // If there's no content, we don't want to save this draft\n // regardless of whether other attributes have changed.\n if (!this.fields.content()) {\n return false;\n }\n\n const getData = (field) => (field === 'content' ? this.fields.content() : data[field]) || '';\n\n for (const field of fields) {\n if ((!draft && getData(field)) || (draft && getData(field) != draft.data.attributes[field])) {\n return true;\n }\n }\n\n if (!data.relationships && !draft.relationships()) {\n return false;\n }\n\n const relationships = Object.keys(data.relationships);\n\n const equalRelationships = (data, draft, relationship) => {\n if (\n (!data.relationships[relationship] || !data.relationships[relationship].length) &&\n (!(relationship in draft.relationships()) || !draft.relationships()[relationship].data?.length)\n ) {\n return true;\n } else if (\n !(relationship in draft.relationships()) ||\n data.relationships[relationship].length !== draft.relationships()[relationship].data?.length\n ) {\n return false;\n }\n\n const getId = (element) => (typeof element.id == 'function' ? element.id() : element.id);\n\n const dataIds = fillRelationship(data.relationships[relationship], getId);\n const draftIds = fillRelationship(draft.relationships()[relationship].data, getId);\n\n return !dataIds.some((id, i) => id !== draftIds[i]);\n };\n\n for (const relationship of relationships) {\n if (!draft) {\n if (data.relationships[relationship]) {\n return true;\n }\n } else {\n if (!equalRelationships(data, draft, relationship)) {\n return true;\n }\n }\n }\n\n return false;\n };\n\n ComposerState.prototype['saveDraft'] = function () {\n this.saving = true;\n m.redraw();\n\n const afterSave = () => {\n this.saving = false;\n this.justSaved = true;\n setTimeout(() => {\n this.justSaved = false;\n m.redraw();\n }, 300);\n m.redraw();\n };\n\n const draft = this.draft;\n\n if (draft && draft.id() && !draft.exists) {\n // Draft was deleted before autosave, no need to save.\n return;\n }\n\n if (draft) {\n delete draft.data.attributes.relationships;\n\n draft.save(Object.assign(draft.data.attributes, this.data())).then(() => afterSave());\n } else {\n app.store\n .createRecord('drafts')\n .save(this.data())\n .then((draft) => {\n draft.loadRelationships(true);\n this.draft = draft;\n afterSave();\n });\n }\n };\n\n extend(Composer.prototype, 'controlItems', function (items) {\n if (\n !(this.state.bodyMatches(DiscussionComposer) || this.state.bodyMatches(ReplyComposer)) ||\n !app.forum.attribute('canSaveDrafts') ||\n this.state.position === 'minimized'\n )\n return;\n\n const classNames = ['Button', 'Button--icon', 'Button--link'];\n\n if (this.state.saving) {\n classNames.push('saving');\n }\n\n if (this.state.justSaved) {\n classNames.push('justSaved');\n }\n\n items.add(\n 'save-draft',\n Button.component({\n icon: this.state.justSaved ? 'fas fa-check' : this.state.saving ? 'fas fa-spinner fa-spin' : 'fas fa-save',\n className: classNames.join(' '),\n itemClassName: 'App-backControl',\n title: app.translator.trans('fof-drafts.forum.composer.title'),\n disabled: this.state.saving || this.state.justSaved || this.loading,\n onclick: this.state.saveDraft.bind(this.state),\n }),\n 20\n );\n });\n\n extend(ComposerState.prototype, 'load', function () {\n if (!app.forum.attribute('canSaveDrafts')) return;\n\n if (app.session.user.preferences().draftAutosaveEnable && (this.bodyMatches(DiscussionComposer) || this.bodyMatches(ReplyComposer))) {\n this.autosaveInterval = setInterval(() => {\n if (this.changed() && !this.saving && !this.loading) {\n this.saveDraft();\n }\n }, 1000 * app.session.user.preferences().draftAutosaveInterval);\n }\n });\n\n extend(ComposerState.prototype, 'clear', function () {\n this.draft = null;\n if (this.autosaveInterval) clearInterval(this.autosaveInterval);\n });\n\n override(ComposerState.prototype, 'preventExit', function (original) {\n if (this.body && this.body.componentClass && this.draft) {\n this.body.attrs.confirmExit = app.translator.trans('fof-drafts.forum.composer.exit_alert');\n }\n\n let prevented = false;\n if (this.changed()) {\n prevented = original();\n }\n\n if (prevented) return prevented;\n\n if (!this.body || !this.body.componentClass) return;\n\n const draft = this.draft;\n if (draft && !draft.title() && !draft.content() && confirm(app.translator.trans('fof-drafts.forum.composer.discard_empty_draft_alert'))) {\n draft.delete();\n }\n\n return prevented;\n });\n\n function initComposerBody() {\n Object.keys(this.attrs).forEach((key) => {\n if (!['originalContent', 'title', 'user'].includes(key)) {\n this[key] = this.attrs[key];\n } else if (key === 'title') {\n this.title = Stream(this.attrs.title);\n }\n });\n\n if (this.data) {\n this.composer.data = this.data.bind(this);\n }\n\n if (this.attrs.draft) {\n this.composer.draft = this.attrs.draft;\n }\n }\n\n extend(DiscussionComposer.prototype, 'oninit', initComposerBody);\n extend(ReplyComposer.prototype, 'oninit', initComposerBody);\n\n function deleteDraftsOnSubmit() {\n if (this.composer.draft) {\n this.composer.draft.delete();\n }\n }\n\n extend(DiscussionComposer.prototype, 'onsubmit', deleteDraftsOnSubmit);\n extend(ReplyComposer.prototype, 'onsubmit', deleteDraftsOnSubmit);\n\n if (app.initializers.has('fof-byobu')) {\n const PrivateDiscussionComposer = flarum.extensions['fof-byobu'].discussions.PrivateDiscussionComposer;\n extend(PrivateDiscussionComposer.prototype, 'onsubmit', deleteDraftsOnSubmit);\n }\n\n addDraftsDropdown();\n addPreferences();\n});\n","/*\n *\n * This file is part of fof/drafts.\n *\n * Copyright (c) 2019 FriendsOfFlarum.\n *\n * For the full copyright and license information, please view the LICENSE.md\n * file that was distributed with this source code.\n *\n */\n\nimport { extend } from 'flarum/common/extend';\nimport app from 'flarum/forum/app';\nimport HeaderSecondary from 'flarum/common/components/HeaderSecondary';\nimport DraftsDropdown from './components/DraftsDropdown';\n\nexport default function () {\n extend(HeaderSecondary.prototype, 'items', function (items) {\n if (!app.session.user || !app.forum.attribute('canSaveDrafts')) return;\n\n items.add('Drafts', , 20);\n });\n}\n","import app from 'flarum/forum/app';\nimport { extend, override } from 'flarum/common/extend';\nimport Button from 'flarum/common/components/Button';\nimport FieldSet from 'flarum/common/components/FieldSet';\nimport SettingsPage from 'flarum/common/components/SettingsPage';\nimport Switch from 'flarum/common/components/Switch';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport Stream from 'flarum/common/utils/Stream';\n\nexport default function () {\n extend(SettingsPage.prototype, 'oninit', function () {\n this.draftAutosaveInterval = Stream(this.user.preferences().draftAutosaveInterval);\n });\n\n extend(SettingsPage.prototype, 'settingsItems', function (items) {\n if (app.forum.data.attributes.canSaveDrafts) {\n items.add(\n 'drafts',\n FieldSet.component(\n {\n label: app.translator.trans('fof-drafts.forum.user.settings.drafts_heading'),\n className: 'Settings-drafts',\n },\n this.draftsItems().toArray()\n )\n );\n }\n });\n\n SettingsPage.prototype['draftsItems'] = function () {\n const items = new ItemList();\n\n items.add(\n 'draft-autosave-enable',\n Switch.component(\n {\n state: this.user.preferences().draftAutosaveEnable,\n onchange: (value) => {\n this.draftAutosaveEnableLoading = true;\n\n this.user.savePreferences({ draftAutosaveEnable: value }).then(() => {\n this.draftAutosaveEnableLoading = false;\n m.redraw();\n });\n },\n loading: this.draftAutosaveEnableLoading,\n },\n app.translator.trans('fof-drafts.forum.user.settings.draft_autosave_enable')\n )\n );\n\n items.add(\n 'draft-autosave-interval',\n this.user.preferences().draftAutosaveEnable ? (\n \n ) : (\n

    \n )\n );\n\n return items;\n };\n}\n"],"names":["module","exports","e","n","r","i","s","u","a","o","f","h","c","d","$","l","y","M","name","weekdays","split","months","m","t","String","length","Array","join","g","z","utcOffset","Math","abs","floor","date","year","month","clone","add","ceil","p","w","D","ms","Q","toLowerCase","replace","v","_","S","args","arguments","O","locale","$L","utc","$u","x","$x","$offset","this","parse","prototype","$d","Date","NaN","test","match","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","toString","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","valueOf","getTime","toDate","apply","slice","$locale","weekStart","$set","min","daysInMonth","get","Number","round","subtract","format","substr","meridiem","YY","YYYY","MM","MMM","monthsShort","MMMM","DD","dd","weekdaysMin","ddd","weekdaysShort","dddd","H","HH","hh","A","mm","ss","SSS","Z","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","b","forEach","extend","$i","isDayjs","en","Ls","flarum","extensions","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","call","getter","__esModule","definition","key","Object","defineProperty","enumerable","obj","prop","hasOwnProperty","Symbol","toStringTag","value","core","compat","_setPrototypeOf","setPrototypeOf","__proto__","_inheritsLoose","subClass","superClass","create","constructor","data","map","isArray","sort","Draft","mixin","Model","user","content","title","scheduledValidationError","relationships","extra","scheduledFor","updatedAt","loadedRelationships","type","loadRelationships","discussion","discussions","icon","app","force","keys","relationshipName","relationship","fillRelationship","model","id","recipients","ItemList","group","compileData","originalContent","confirmExit","draft","fields","assign","DraftsListItem","canSchedule","oncreate","vnode","view","attrs","state","scheduledDraftIcon","onclick","showComposer","bind","className","avatar","class","showOnFocus","text","datetime","dayjs","humanTime","deleteDraft","stopPropagation","scheduleDraft","truncate","Component","DraftsList","on","event","deleteAll","confirm","method","url","then","redraw","drafts","loading","display","DraftsPage","oninit","bodyClass","Page","DraftsDropdown","initAttrs","label","getMenu","menuClassName","menuClick","showing","component","goToRoute","route","getUnreadCount","getNewCount","NotificationsDropdown","CurrentDate","CurrentTime","ScheduleDraftModal","time","previewFormatString","isScheduled","dismissible","formattedDateTime","error","style","onchange","target","unschedule","disabled","changed","getTimeOrNull","preventDefault","save","clearValidationError","success","hide","loaded","onsubmit","Modal","DraftsListState","cache","window","Promise","resolve","componentClass","require","ReplyComposer","DiscussionComposer","load","components","models","states","utils","initComposerBody","includes","Stream","composer","deleteDraftsOnSubmit","User","path","ComposerState","body","filter","element","getData","field","attributes","equalRelationships","getId","dataIds","draftIds","some","saving","afterSave","justSaved","setTimeout","exists","Composer","items","bodyMatches","position","classNames","push","Button","itemClassName","saveDraft","draftAutosaveEnable","autosaveInterval","setInterval","draftAutosaveInterval","clearInterval","override","original","prevented","PrivateDiscussionComposer","HeaderSecondary","SettingsPage","preferences","FieldSet","draftsItems","toArray","Switch","draftAutosaveEnableLoading","savePreferences","bidi","str","draftAutosaveIntervalInvalid"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"forum.js","mappings":"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","sources":["webpack://@fof/drafts/./node_modules/dayjs/dayjs.min.js","webpack://@fof/drafts/external assign \"flarum.extensions['fof-byobu']\"","webpack://@fof/drafts/webpack/bootstrap","webpack://@fof/drafts/webpack/runtime/compat get default export","webpack://@fof/drafts/webpack/runtime/define property getters","webpack://@fof/drafts/webpack/runtime/hasOwnProperty shorthand","webpack://@fof/drafts/webpack/runtime/make namespace object","webpack://@fof/drafts/external root \"flarum.core.compat['common/extend']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/models/User']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/Model']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/utils/Stream']\"","webpack://@fof/drafts/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@fof/drafts/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@fof/drafts/external root \"flarum.core.compat['forum/app']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/utils/ItemList']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/utils/mixin']\"","webpack://@fof/drafts/./src/forum/utils/fillRelationship.js","webpack://@fof/drafts/./src/forum/models/Draft.js","webpack://@fof/drafts/external root \"flarum.core.compat['common/components/Page']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/Component']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/components/LoadingIndicator']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/components/Button']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/helpers/avatar']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/helpers/humanTime']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/utils/string']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/components/Tooltip']\"","webpack://@fof/drafts/./src/forum/components/DraftsListItem.tsx","webpack://@fof/drafts/./src/forum/components/DraftsList.js","webpack://@fof/drafts/./src/forum/components/DraftsPage.js","webpack://@fof/drafts/external root \"flarum.core.compat['common/components/HeaderSecondary']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/components/NotificationsDropdown']\"","webpack://@fof/drafts/./src/forum/components/DraftsDropdown.js","webpack://@fof/drafts/external root \"flarum.core.compat['common/components/FieldSet']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/components/SettingsPage']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/components/Switch']\"","webpack://@fof/drafts/external root \"flarum.core.compat['forum/components/Composer']\"","webpack://@fof/drafts/external root \"flarum.core.compat['forum/components/DiscussionComposer']\"","webpack://@fof/drafts/external root \"flarum.core.compat['forum/components/ReplyComposer']\"","webpack://@fof/drafts/external root \"flarum.core.compat['forum/states/ComposerState']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/components/Alert']\"","webpack://@fof/drafts/external root \"flarum.core.compat['common/components/Modal']\"","webpack://@fof/drafts/./src/forum/components/ScheduleDraftModal.js","webpack://@fof/drafts/./src/forum/states/DraftsListState.js","webpack://@fof/drafts/./src/forum/components/index.js","webpack://@fof/drafts/./src/forum/models/index.js","webpack://@fof/drafts/./src/forum/states/index.js","webpack://@fof/drafts/./src/forum/utils/index.js","webpack://@fof/drafts/./src/forum/index.js","webpack://@fof/drafts/./src/forum/addDraftsDropdown.js","webpack://@fof/drafts/./src/forum/addPreferences.js"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",f=\"month\",h=\"quarter\",c=\"year\",d=\"date\",$=\"Invalid Date\",l=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[^0-9]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\")},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},g={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date() {\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};","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/extend'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/models/User'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Model'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/Stream'];","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/app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/ItemList'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/mixin'];","export default (data, map) => (Array.isArray(data) ? data.map(map).sort() : map(data));\n","/*\n *\n * This file is part of fof/drafts.\n *\n * Copyright (c) 2019 FriendsOfFlarum.\n *\n * For the full copyright and license information, please view the LICENSE.md\n * file that was distributed with this source code.\n *\n */\n\nimport app from 'flarum/forum/app';\nimport Model from 'flarum/common/Model';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport mixin from 'flarum/common/utils/mixin';\nimport fillRelationship from '../utils/fillRelationship';\n\nexport default class Draft extends mixin(Model, {\n user: Model.hasOne('user'),\n content: Model.attribute('content'),\n title: Model.attribute('title'),\n scheduledValidationError: Model.attribute('scheduledValidationError'),\n relationships: Model.attribute('relationships'),\n extra: Model.attribute('extra'),\n scheduledFor: Model.attribute('scheduledFor', Model.transformDate),\n updatedAt: Model.attribute('updatedAt', Model.transformDate),\n\n loadedRelationships: null,\n\n type() {\n const relationships = this.loadRelationships();\n if (relationships.discussion) {\n return 'reply';\n } else if (\n flarum.extensions['fof-byobu'] &&\n flarum.extensions['fof-byobu'].discussions && // If private discussion composer is not exported, we can't support PM drafts.\n ('recipientGroups' in relationships || 'recipientUsers' in relationships)\n ) {\n return 'privateDiscussion';\n } else {\n return 'discussion';\n }\n },\n\n icon() {\n switch (this.type()) {\n case 'discussion':\n return 'fas fa-edit';\n case 'reply':\n return 'fas fa-reply';\n case 'privateDiscussion':\n const customIcon = app.forum.data.attributes['byobu.icon-badge'];\n return customIcon ? customIcon : 'fas fa-eye-slash';\n }\n },\n\n loadRelationships(force) {\n if (\n !force &&\n this.loadedRelationships &&\n (Object.keys(this.loadedRelationships).length > 0 ||\n (Object.keys(this.loadedRelationships).length === 0 && Object.keys(this.relationships).length === 0))\n ) {\n return this.loadedRelationships;\n }\n\n this.loadedRelationships = {};\n\n const relationships = this.relationships();\n\n if (relationships) {\n Object.keys(relationships).forEach((relationshipName) => {\n const relationship = relationships[relationshipName];\n\n if (!relationship || !relationship.data) return;\n\n this.loadedRelationships[relationshipName] = fillRelationship(relationship.data, (model) => app.store.getById(model.type, model.id));\n });\n }\n\n if ('recipientUsers' in this.loadedRelationships || 'recipientGroups' in this.loadedRelationships) {\n const recipients = new ItemList();\n\n (this.loadedRelationships['recipientUsers'] || []).forEach((user) => {\n if (user) recipients.add('users:' + user.id(), user);\n });\n (this.loadedRelationships['recipientGroups'] || []).forEach((group) => {\n if (group) recipients.add('groups:' + group.id(), group);\n });\n\n this.loadedRelationships['recipients'] = recipients;\n }\n\n return this.loadedRelationships;\n },\n\n compileData() {\n const data = {\n originalContent: this.content(),\n title: this.title(),\n user: app.session.user,\n confirmExit: app.translator.trans('fof-drafts.forum.composer.exit_alert'),\n draft: this,\n fields: Object.assign({}, this.loadRelationships(), this.extra()),\n };\n\n Object.assign(data, data.fields);\n\n return data;\n },\n}) {}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Page'];","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/Button'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/avatar'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/icon'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/humanTime'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/string'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Tooltip'];","import app from 'flarum/forum/app';\nimport Component from 'flarum/common/Component';\nimport avatar from 'flarum/common/helpers/avatar';\nimport icon from 'flarum/common/helpers/icon';\nimport humanTime from 'flarum/common/helpers/humanTime';\nimport { truncate } from 'flarum/common/utils/string';\nimport Button from 'flarum/common/components/Button';\nimport Tooltip from 'flarum/common/components/Tooltip';\nimport dayjs from 'dayjs';\n\nimport type Mithril from 'mithril';\nimport Draft from '../models/Draft';\nimport DraftsListState from '../states/DraftsListState';\n\nexport interface IAttrs {\n draft: Draft;\n state: DraftsListState;\n}\n\nexport default class DraftsListItem extends Component {\n private canSchedule: boolean = app.forum.attribute('canScheduleDrafts') && app.forum.attribute('drafts.enableScheduledDrafts');\n\n oncreate(vnode: Mithril.Vnode) {\n super.oncreate(vnode);\n }\n\n view() {\n const { draft, state } = this.attrs;\n\n let scheduledDraftIcon = 'far fa-calendar-plus';\n if (draft.scheduledValidationError()) scheduledDraftIcon = 'far fa-calendar-times';\n else if (draft.scheduledFor()) scheduledDraftIcon = 'far fa-calendar-check';\n\n return (\n
  • \n \n {/* Avatar */}\n {avatar(draft.user())}\n\n {/* Draft icon */}\n {icon(draft.icon(), { className: 'Notification-icon' })}\n\n {/* Draft title + last edited time */}\n \n \n {draft.scheduledFor() && (\n \n {icon('far fa-clock', { className: 'draft--scheduledIcon' })}\n \n )}\n {draft.type() === 'reply' ? draft.loadRelationships().discussion.title() : draft.title()}\n \n \n {humanTime(draft.updatedAt())}\n \n\n
    \n {/* Delete draft icon */}\n \n {\n state.deleteDraft(draft);\n e.stopPropagation();\n }}\n />\n \n\n {this.canSchedule ? (\n \n {\n state.scheduleDraft(draft);\n e.stopPropagation();\n }}\n />\n \n ) : null}\n
    \n\n
    {truncate(draft.content(), 200)}
    \n {draft.scheduledValidationError() ?

    {draft.scheduledValidationError()}

    : ''}\n
    \n
  • \n );\n }\n}\n","/*\n *\n * This file is part of fof/drafts.\n *\n * Copyright (c) 2019 FriendsOfFlarum.\n *\n * For the full copyright and license information, please view the LICENSE.md\n * file that was distributed with this source code.\n *\n */\n\nimport app from 'flarum/forum/app';\nimport Component from 'flarum/common/Component';\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\nimport Button from 'flarum/common/components/Button';\nimport DraftsListItem from './DraftsListItem';\nimport Tooltip from 'flarum/common/components/Tooltip';\n\nexport default class DraftsList extends Component {\n oncreate(vnode) {\n super.oncreate(vnode);\n\n $('.draft--delete').on('click tap', function (event) {\n event.stopPropagation();\n });\n }\n\n deleteAll() {\n if (!confirm(app.translator.trans('fof-drafts.forum.dropdown.delete_all_alert'))) return;\n\n app\n .request({\n method: 'DELETE',\n url: app.forum.attribute('apiUrl') + '/drafts/all',\n })\n .then(() => {\n app.store.data.drafts = [];\n m.redraw();\n });\n }\n\n view() {\n const drafts = app.store.all('drafts');\n const state = this.attrs.state;\n\n return (\n
    \n
    \n

    {app.translator.trans('fof-drafts.forum.dropdown.title')}

    \n
    \n \n \n \n
    \n
    \n
    \n
      \n {drafts.length\n ? drafts\n .sort((a, b) => b.updatedAt() - a.updatedAt())\n .map((draft) => {\n return ;\n })\n : null}\n\n {state.loading ? (\n \n ) : (\n !drafts.length &&
      {app.translator.trans('fof-drafts.forum.dropdown.empty_text')}
      \n )}\n
    \n
    \n
    \n );\n }\n}\n","/*\n *\n * This file is part of fof/drafts.\n *\n * Copyright (c) 2019 FriendsOfFlarum.\n *\n * For the full copyright and license information, please view the LICENSE.md\n * file that was distributed with this source code.\n *\n */\n\nimport app from 'flarum/forum/app';\nimport Page from 'flarum/common/components/Page';\n\nimport DraftsList from './DraftsList';\n\nexport default class DraftsPage extends Page {\n oninit(vnode) {\n super.oninit(vnode);\n\n app.history.push('drafts');\n\n app.drafts.load();\n\n this.bodyClass = 'App--drafts';\n }\n\n view() {\n return (\n
    \n \n
    \n );\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/HeaderSecondary'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/NotificationsDropdown'];","/*\n *\n * This file is part of fof/drafts.\n *\n * Copyright (c) 2019 FriendsOfFlarum.\n *\n * For the full copyright and license information, please view the LICENSE.md\n * file that was distributed with this source code.\n *\n */\n\nimport app from 'flarum/forum/app';\nimport NotificationsDropdown from 'flarum/common/components/NotificationsDropdown';\n\nimport DraftsList from './DraftsList';\n\nexport default class DraftsDropdown extends NotificationsDropdown {\n static initAttrs(attrs) {\n attrs.label = attrs.label || app.translator.trans('fof-drafts.forum.dropdown.tooltip');\n attrs.icon = attrs.icon || 'fas fa-edit';\n\n super.initAttrs(attrs);\n }\n\n getMenu() {\n return (\n
    \n {this.showing ? DraftsList.component({ state: this.attrs.state }) : ''}\n
    \n );\n }\n\n goToRoute() {\n m.route.set(app.route('drafts'));\n }\n\n getUnreadCount() {\n if (app.cache.draftsLoaded) {\n return app.store.all('drafts').length;\n }\n\n return app.store.all('drafts').length + app.session.user.draftCount();\n }\n\n getNewCount() {\n return this.getUnreadCount();\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/FieldSet'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/SettingsPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Switch'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/Composer'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/DiscussionComposer'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/ReplyComposer'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/states/ComposerState'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Alert'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Modal'];","import app from 'flarum/forum/app';\nimport Alert from 'flarum/common/components/Alert';\nimport Button from 'flarum/common/components/Button';\nimport Modal from 'flarum/common/components/Modal';\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\n\nconst CurrentDate = dayjs().format('YYYY-MM-DD');\nconst CurrentTime = dayjs().format('HH:mm');\n\nexport default class ScheduleDraftModal extends Modal {\n loading = false;\n\n date;\n time;\n\n previewFormatString;\n\n oninit(vnode) {\n super.oninit(vnode);\n\n this.date = this.isScheduled() ? dayjs(this.attrs.draft.scheduledFor()).format('YYYY-MM-DD') : CurrentDate;\n this.time = this.isScheduled() ? dayjs(this.attrs.draft.scheduledFor()).format('HH:mm') : CurrentTime;\n\n this.previewFormatString = app.translator.trans('fof-drafts.forum.schedule_draft_modal.schedule_time_preview_formatter')[0];\n }\n\n className() {\n return 'ScheduleDraftModal';\n }\n\n title() {\n return app.translator.trans('fof-drafts.forum.schedule_draft_modal.title');\n }\n\n content() {\n if (this.loading) {\n return ;\n }\n\n return [\n this.attrs.draft.scheduledFor() ? (\n
    \n \n {app.translator.trans('fof-drafts.forum.schedule_draft_modal.scheduled_text', {\n datetime: this.formattedDateTime(),\n })}\n \n
    \n ) : (\n ''\n ),\n this.attrs.draft.scheduledValidationError() ? (\n
    \n \n {app.translator.trans('fof-drafts.forum.schedule_draft_modal.scheduled_error', {\n error: this.attrs.draft.scheduledValidationError(),\n })}\n \n
    \n ) : (\n ''\n ),\n\n ,\n\n
    \n
    \n

    {app.translator.trans('fof-drafts.forum.schedule_draft_modal.text')}

    \n
    \n (this.date = e.target.value)}\n />\n (this.time = e.target.value)} />\n
    \n\n {/* Date time preview */}\n
    \n {app.translator.trans('fof-drafts.forum.schedule_draft_modal.schedule_time_preview', {\n datetime: this.formattedDateTime(),\n })}\n
    \n\n
    \n {/* Unschedule button */}\n {this.isScheduled() && (\n \n {app.translator.trans('fof-drafts.forum.schedule_draft_modal.unschedule_button')}\n \n )}\n\n {/* Schedule/reschedule button */}\n \n {this.isScheduled()\n ? app.translator.trans('fof-drafts.forum.schedule_draft_modal.reschedule_button')\n : app.translator.trans('fof-drafts.forum.schedule_draft_modal.schedule_button')}\n \n
    \n
    \n
    ,\n ];\n }\n\n /**\n * Returns a Date object for currently entered values in the modal.\n */\n scheduledFor() {\n const date = new Date(`${this.date} ${this.time}`);\n\n return date || null;\n }\n\n /**\n * Whether the modal's details have been modified.\n */\n changed() {\n const getTimeOrNull = (date) => (date ? date.getTime() || null : null);\n\n return getTimeOrNull(this.scheduledFor()) !== getTimeOrNull(this.attrs.draft.scheduledFor());\n }\n\n isScheduled() {\n return !!this.attrs.draft.scheduledFor();\n }\n\n formattedDateTime() {\n const date = dayjs(this.scheduledFor());\n\n // if (!date) {\n // return app.translator.trans('fof-drafts.forum.schedule_draft_modal.schedule_time_preview_invalid');\n // }\n\n const formatted = date.format(this.previewFormatString);\n\n return formatted;\n }\n\n unschedule(e) {\n e.preventDefault();\n\n this.loading = true;\n\n // Save draft with no scheduled post time\n if (confirm(app.translator.trans('fof-drafts.forum.schedule_draft_modal.unschedule_warning'))) {\n this.attrs.draft\n .save({ scheduledFor: null, clearValidationError: true, scheduledValidationError: '' })\n .then(() => {\n this.success = true;\n this.hide.call(this);\n })\n .catch(() => {})\n .then(this.loaded.bind(this));\n }\n }\n\n onsubmit(e) {\n e.preventDefault();\n\n this.loading = true;\n\n this.attrs.draft\n .save({ scheduledFor: this.scheduledFor(), clearValidationError: true, scheduledValidationError: '' })\n .then(() => (this.success = true))\n .catch(() => {})\n .then(this.loaded.bind(this));\n }\n}\n","import app from 'flarum/forum/app';\nimport DiscussionComposer from 'flarum/forum/components/DiscussionComposer';\nimport ReplyComposer from 'flarum/forum/components/ReplyComposer';\nimport ScheduleDraftModal from '../components/ScheduleDraftModal';\n\nexport default class DraftsListState {\n constructor() {\n /**\n * Whether or not the flags are loading.\n *\n * @type {Boolean}\n */\n this.loading = false;\n\n this.cache = [];\n }\n\n deleteDraft(draft) {\n if (!window.confirm(app.translator.trans('fof-drafts.forum.dropdown.alert'))) return;\n\n this.loading = true;\n\n draft.delete().then(() => {\n if (app.composer.body && app.composer.draft && app.composer.draft.id() === draft.id() && !app.composer.changed()) {\n app.composer.hide();\n }\n\n this.loading = false;\n m.redraw();\n });\n }\n\n scheduleDraft(draft) {\n if (!app.forum.attribute('canScheduleDrafts') || !app.forum.attribute('drafts.enableScheduledDrafts')) return;\n\n app.modal.show(ScheduleDraftModal, { draft });\n }\n\n showComposer(draft) {\n if (this.loading) return;\n\n return new Promise((resolve) => {\n let componentClass;\n\n switch (draft.type()) {\n case 'privateDiscussion':\n componentClass = require('@fof-byobu').discussions['PrivateDiscussionComposer'];\n break;\n case 'reply':\n componentClass = ReplyComposer;\n break;\n default:\n componentClass = DiscussionComposer;\n }\n\n const data = draft.compileData();\n app.composer.load(componentClass, data);\n\n app.composer.show();\n\n Object.assign(app.composer.fields, data.fields);\n\n return resolve(app.composer);\n });\n }\n\n load() {\n if (app.cache.draftsLoaded) {\n return;\n }\n\n this.loading = true;\n m.redraw();\n\n app.store\n .find('drafts')\n .then(\n () => (app.cache.draftsLoaded = true),\n () => {}\n )\n .then(() => {\n this.loading = false;\n m.redraw();\n });\n }\n}\n","/*\n *\n * This file is part of fof/drafts.\n *\n * Copyright (c) 2019 FriendsOfFlarum.\n *\n * For the full copyright and license information, please view the LICENSE.md\n * file that was distributed with this source code.\n *\n */\n\nimport DraftsDropdown from './DraftsDropdown';\nimport DraftsList from './DraftsList';\nimport DraftsListItem from './DraftsListItem';\nimport DraftsPage from './DraftsPage';\nimport ScheduleDraftModal from './ScheduleDraftModal';\n\nexport const components = {\n DraftsDropdown: DraftsDropdown,\n DraftsList: DraftsList,\n DraftsListItem: DraftsListItem,\n DraftsPage: DraftsPage,\n ScheduleDraftModal: ScheduleDraftModal,\n};\n","/*\n *\n * This file is part of fof/drafts.\n *\n * Copyright (c) 2019 FriendsOfFlarum.\n *\n * For the full copyright and license information, please view the LICENSE.md\n * file that was distributed with this source code.\n *\n */\n\nimport Draft from './Draft';\n\nexport const models = {\n Draft: Draft,\n};\n","/*\n *\n * This file is part of fof/drafts.\n *\n * Copyright (c) 2021 FriendsOfFlarum.\n *\n * For the full copyright and license information, please view the LICENSE.md\n * file that was distributed with this source code.\n *\n */\n\nimport DraftsListState from './DraftsListState';\n\nexport const states = {\n DraftsListState: DraftsListState,\n};\n","/*\n *\n * This file is part of fof/drafts.\n *\n * Copyright (c) 2019 FriendsOfFlarum.\n *\n * For the full copyright and license information, please view the LICENSE.md\n * file that was distributed with this source code.\n *\n */\nimport fillRelationship from './fillRelationship';\n\nexport const utils = {\n fillRelationship: fillRelationship,\n};\n","/*\n *\n * This file is part of fof/drafts.\n *\n * Copyright (c) 2019 FriendsOfFlarum.\n *\n * For the full copyright and license information, please view the LICENSE.md\n * file that was distributed with this source code.\n *\n */\n\nimport { extend, override } from 'flarum/common/extend';\nimport User from 'flarum/common/models/User';\nimport Model from 'flarum/common/Model';\nimport Stream from 'flarum/common/utils/Stream';\nimport Draft from './models/Draft';\nimport DraftsPage from './components/DraftsPage';\nimport addDraftsDropdown from './addDraftsDropdown';\nimport addPreferences from './addPreferences';\nimport Composer from 'flarum/forum/components/Composer';\nimport DiscussionComposer from 'flarum/forum/components/DiscussionComposer';\nimport ReplyComposer from 'flarum/forum/components/ReplyComposer';\nimport Button from 'flarum/common/components/Button';\nimport ComposerState from 'flarum/forum/states/ComposerState';\nimport fillRelationship from './utils/fillRelationship';\nimport DraftsListState from './states/DraftsListState';\nimport app from 'flarum/forum/app';\n\nexport * from './components';\nexport * from './models';\nexport * from './states';\nexport * from './utils';\n\napp.initializers.add('fof-drafts', () => {\n app.store.models.drafts = Draft;\n User.prototype.drafts = Model.hasMany('drafts');\n User.prototype.draftCount = Model.attribute('draftCount');\n\n app.routes.drafts = { path: '/drafts', component: DraftsPage };\n\n app.drafts = new DraftsListState(app);\n\n ComposerState.prototype['changed'] = function () {\n if (!this.body || !this.data) return false;\n\n const data = this.data();\n const draft = this.draft;\n\n const fields = Object.keys(data).filter((element) => element !== 'relationships');\n\n if (!fields) {\n return false;\n }\n\n // If there's no content, we don't want to save this draft\n // regardless of whether other attributes have changed.\n if (!this.fields.content()) {\n return false;\n }\n\n const getData = (field) => (field === 'content' ? this.fields.content() : data[field]) || '';\n\n for (const field of fields) {\n if ((!draft && getData(field)) || (draft && getData(field) != draft.data.attributes[field])) {\n return true;\n }\n }\n\n if (!data.relationships && !draft.relationships()) {\n return false;\n }\n\n const relationships = Object.keys(data.relationships);\n\n const equalRelationships = (data, draft, relationship) => {\n if (\n (!data.relationships[relationship] || !data.relationships[relationship].length) &&\n (!(relationship in draft.relationships()) || !draft.relationships()[relationship].data?.length)\n ) {\n return true;\n } else if (\n !(relationship in draft.relationships()) ||\n data.relationships[relationship].length !== draft.relationships()[relationship].data?.length\n ) {\n return false;\n }\n\n const getId = (element) => (typeof element.id == 'function' ? element.id() : element.id);\n\n const dataIds = fillRelationship(data.relationships[relationship], getId);\n const draftIds = fillRelationship(draft.relationships()[relationship].data, getId);\n\n return !dataIds.some((id, i) => id !== draftIds[i]);\n };\n\n for (const relationship of relationships) {\n if (!draft) {\n if (data.relationships[relationship]) {\n return true;\n }\n } else {\n if (!equalRelationships(data, draft, relationship)) {\n return true;\n }\n }\n }\n\n return false;\n };\n\n ComposerState.prototype['saveDraft'] = function () {\n this.saving = true;\n m.redraw();\n\n const afterSave = () => {\n this.saving = false;\n this.justSaved = true;\n setTimeout(() => {\n this.justSaved = false;\n m.redraw();\n }, 300);\n m.redraw();\n };\n\n const draft = this.draft;\n\n if (draft && draft.id() && !draft.exists) {\n // Draft was deleted before autosave, no need to save.\n return;\n }\n\n if (draft) {\n delete draft.data.attributes.relationships;\n\n draft.save(Object.assign(draft.data.attributes, this.data())).then(() => afterSave());\n } else {\n app.store\n .createRecord('drafts')\n .save(this.data())\n .then((draft) => {\n draft.loadRelationships(true);\n this.draft = draft;\n afterSave();\n });\n }\n };\n\n extend(Composer.prototype, 'controlItems', function (items) {\n if (\n !(this.state.bodyMatches(DiscussionComposer) || this.state.bodyMatches(ReplyComposer)) ||\n !app.forum.attribute('canSaveDrafts') ||\n this.state.position === 'minimized'\n )\n return;\n\n const classNames = ['Button', 'Button--icon', 'Button--link'];\n\n if (this.state.saving) {\n classNames.push('saving');\n }\n\n if (this.state.justSaved) {\n classNames.push('justSaved');\n }\n\n items.add(\n 'save-draft',\n Button.component({\n icon: this.state.justSaved ? 'fas fa-check' : this.state.saving ? 'fas fa-spinner fa-spin' : 'fas fa-save',\n className: classNames.join(' '),\n itemClassName: 'App-backControl',\n title: app.translator.trans('fof-drafts.forum.composer.title'),\n disabled: this.state.saving || this.state.justSaved || this.loading,\n onclick: this.state.saveDraft.bind(this.state),\n }),\n 20\n );\n });\n\n extend(ComposerState.prototype, 'load', function () {\n if (!app.forum.attribute('canSaveDrafts')) return;\n\n if (app.session.user.preferences().draftAutosaveEnable && (this.bodyMatches(DiscussionComposer) || this.bodyMatches(ReplyComposer))) {\n this.autosaveInterval = setInterval(() => {\n if (this.changed() && !this.saving && !this.loading) {\n this.saveDraft();\n }\n }, 1000 * app.session.user.preferences().draftAutosaveInterval);\n }\n });\n\n extend(ComposerState.prototype, 'clear', function () {\n this.draft = null;\n if (this.autosaveInterval) clearInterval(this.autosaveInterval);\n });\n\n override(ComposerState.prototype, 'preventExit', function (original) {\n if (this.body && this.body.componentClass && this.draft) {\n this.body.attrs.confirmExit = app.translator.trans('fof-drafts.forum.composer.exit_alert');\n }\n\n let prevented = false;\n if (this.changed()) {\n prevented = original();\n }\n\n if (prevented) return prevented;\n\n if (!this.body || !this.body.componentClass) return;\n\n const draft = this.draft;\n if (draft && !draft.title() && !draft.content() && confirm(app.translator.trans('fof-drafts.forum.composer.discard_empty_draft_alert'))) {\n draft.delete();\n }\n\n return prevented;\n });\n\n function initComposerBody() {\n Object.keys(this.attrs).forEach((key) => {\n if (!['originalContent', 'title', 'user'].includes(key)) {\n this[key] = this.attrs[key];\n } else if (key === 'title') {\n this.title = Stream(this.attrs.title);\n }\n });\n\n if (this.data) {\n this.composer.data = this.data.bind(this);\n }\n\n if (this.attrs.draft) {\n this.composer.draft = this.attrs.draft;\n }\n }\n\n extend(DiscussionComposer.prototype, 'oninit', initComposerBody);\n extend(ReplyComposer.prototype, 'oninit', initComposerBody);\n\n function deleteDraftsOnSubmit() {\n if (this.composer.draft) {\n this.composer.draft.delete();\n }\n }\n\n extend(DiscussionComposer.prototype, 'onsubmit', deleteDraftsOnSubmit);\n extend(ReplyComposer.prototype, 'onsubmit', deleteDraftsOnSubmit);\n\n if (app.initializers.has('fof-byobu')) {\n const PrivateDiscussionComposer = flarum.extensions['fof-byobu'].discussions.PrivateDiscussionComposer;\n extend(PrivateDiscussionComposer.prototype, 'onsubmit', deleteDraftsOnSubmit);\n }\n\n addDraftsDropdown();\n addPreferences();\n});\n","/*\n *\n * This file is part of fof/drafts.\n *\n * Copyright (c) 2019 FriendsOfFlarum.\n *\n * For the full copyright and license information, please view the LICENSE.md\n * file that was distributed with this source code.\n *\n */\n\nimport { extend } from 'flarum/common/extend';\nimport app from 'flarum/forum/app';\nimport HeaderSecondary from 'flarum/common/components/HeaderSecondary';\nimport DraftsDropdown from './components/DraftsDropdown';\n\nexport default function () {\n extend(HeaderSecondary.prototype, 'items', function (items) {\n if (!app.session.user || !app.forum.attribute('canSaveDrafts')) return;\n\n items.add('Drafts', , 20);\n });\n}\n","import app from 'flarum/forum/app';\nimport { extend, override } from 'flarum/common/extend';\nimport Button from 'flarum/common/components/Button';\nimport FieldSet from 'flarum/common/components/FieldSet';\nimport SettingsPage from 'flarum/common/components/SettingsPage';\nimport Switch from 'flarum/common/components/Switch';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport Stream from 'flarum/common/utils/Stream';\n\nexport default function () {\n extend(SettingsPage.prototype, 'oninit', function () {\n this.draftAutosaveInterval = Stream(this.user.preferences().draftAutosaveInterval);\n });\n\n extend(SettingsPage.prototype, 'settingsItems', function (items) {\n if (app.forum.data.attributes.canSaveDrafts) {\n items.add(\n 'drafts',\n FieldSet.component(\n {\n label: app.translator.trans('fof-drafts.forum.user.settings.drafts_heading'),\n className: 'Settings-drafts',\n },\n this.draftsItems().toArray()\n )\n );\n }\n });\n\n SettingsPage.prototype['draftsItems'] = function () {\n const items = new ItemList();\n\n items.add(\n 'draft-autosave-enable',\n Switch.component(\n {\n state: this.user.preferences().draftAutosaveEnable,\n onchange: (value) => {\n this.draftAutosaveEnableLoading = true;\n\n this.user.savePreferences({ draftAutosaveEnable: value }).then(() => {\n this.draftAutosaveEnableLoading = false;\n m.redraw();\n });\n },\n loading: this.draftAutosaveEnableLoading,\n },\n app.translator.trans('fof-drafts.forum.user.settings.draft_autosave_enable')\n )\n );\n\n items.add(\n 'draft-autosave-interval',\n this.user.preferences().draftAutosaveEnable ? (\n \n ) : (\n

    \n )\n );\n\n return items;\n };\n}\n"],"names":["module","exports","e","n","r","i","s","u","a","o","f","h","c","d","$","l","y","M","name","weekdays","split","months","m","t","String","length","Array","join","g","z","utcOffset","Math","abs","floor","date","year","month","clone","add","ceil","p","w","D","ms","Q","toLowerCase","replace","v","_","S","args","arguments","O","locale","$L","utc","$u","x","$x","$offset","this","parse","prototype","$d","Date","NaN","test","match","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","toString","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","valueOf","getTime","toDate","apply","slice","$locale","weekStart","$set","min","daysInMonth","get","Number","round","subtract","format","substr","meridiem","YY","YYYY","MM","MMM","monthsShort","MMMM","DD","dd","weekdaysMin","ddd","weekdaysShort","dddd","H","HH","hh","A","mm","ss","SSS","Z","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","b","forEach","extend","$i","isDayjs","en","Ls","flarum","extensions","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","call","getter","__esModule","definition","key","Object","defineProperty","enumerable","obj","prop","hasOwnProperty","Symbol","toStringTag","value","core","compat","_setPrototypeOf","setPrototypeOf","__proto__","_inheritsLoose","subClass","superClass","create","constructor","data","map","isArray","sort","Draft","_mixin","mixin","Model","user","content","title","scheduledValidationError","relationships","extra","scheduledFor","updatedAt","loadedRelationships","type","loadRelationships","discussion","discussions","icon","app","force","_this","keys","relationshipName","relationship","fillRelationship","model","id","recipients","ItemList","group","compileData","originalContent","confirmExit","draft","fields","assign","DraftsListItem","_Component","_len","_key","concat","canSchedule","_proto","oncreate","vnode","view","_this$attrs","attrs","state","scheduledDraftIcon","onclick","showComposer","bind","className","avatar","class","Tooltip","showOnFocus","text","datetime","dayjs","humanTime","Button","deleteDraft","stopPropagation","scheduleDraft","truncate","Component","DraftsList","on","event","deleteAll","confirm","method","url","then","redraw","drafts","loading","LoadingIndicator","display","DraftsPage","_Page","oninit","bodyClass","Page","DraftsDropdown","_NotificationsDropdow","initAttrs","label","getMenu","menuClassName","menuClick","showing","component","goToRoute","route","getUnreadCount","getNewCount","NotificationsDropdown","CurrentDate","CurrentTime","ScheduleDraftModal","_Modal","time","previewFormatString","isScheduled","_this2","Alert","dismissible","formattedDateTime","error","style","onchange","target","unschedule","disabled","changed","getTimeOrNull","_this3","preventDefault","save","clearValidationError","success","hide","loaded","onsubmit","_this4","Modal","DraftsListState","cache","window","Promise","resolve","componentClass","require","ReplyComposer","DiscussionComposer","load","components","models","states","utils","initComposerBody","includes","Stream","composer","deleteDraftsOnSubmit","User","path","ComposerState","body","filter","element","_step","getData","field","_iterator","_createForOfIteratorHelperLoose","done","attributes","equalRelationships","_draft$relationships$","_draft$relationships$2","getId","dataIds","draftIds","some","_i","_relationships","saving","afterSave","justSaved","setTimeout","exists","Composer","items","bodyMatches","position","classNames","push","itemClassName","saveDraft","draftAutosaveEnable","autosaveInterval","setInterval","draftAutosaveInterval","clearInterval","override","original","prevented","PrivateDiscussionComposer","HeaderSecondary","SettingsPage","preferences","FieldSet","draftsItems","toArray","Switch","draftAutosaveEnableLoading","savePreferences","bidi","str","draftAutosaveIntervalInvalid"],"sourceRoot":""} \ No newline at end of file