('optionId').call(this);\n }\n\n apiEndpoint() {\n return `/fof/polls/${this.pollId()}/vote`;\n }\n}\n","import Poll from './Poll';\nimport PollOption from './PollOption';\nimport PollVote from './PollVote';\n\nexport const models = {\n Poll,\n PollOption,\n PollVote,\n};\n","import app from 'flarum/forum/app';\n\nexport default class PollFormState {\n\n static createNewPoll() {\n const poll = app.store.createRecord('polls');\n poll.pushAttributes( {\n question: '',\n endDate: '',\n publicPoll: false,\n allowMultipleVotes: false,\n hideVotes: false,\n allowChangeVote: false,\n maxVotes: 0,\n });\n poll.pushData({relationships: {options: []}});\n return poll;\n }\n\n constructor(poll) {\n if (!poll) {\n poll = PollFormState.createNewPoll();\n }\n\n this.loading = false;\n this.deleting = false;\n this.poll = poll;\n this.expandedGroup = 'setup';\n }\n\n isExpanded(groupKey) {\n return this.expandedGroup === groupKey;\n }\n\n expand(groupKey) {\n this.expandedGroup = groupKey;\n m.redraw();\n }\n\n async save(data) {\n this.loading = true;\n m.redraw();\n\n try {\n this.poll = await this.poll.save(data);\n } finally {\n this.loading = false;\n m.redraw();\n }\n }\n\n async delete() {\n this.loading = true;\n m.redraw();\n\n try {\n await this.poll.delete();\n this.deleting = true;\n } finally {\n this.loading = false;\n m.redraw();\n }\n }\n}\n","import app from 'flarum/forum/app';\nimport PaginatedListState, { Page, PaginatedListParams, PaginatedListRequestParams } from 'flarum/common/states/PaginatedListState';\nimport Poll from '../models/Poll';\nimport { ApiResponsePlural } from 'flarum/common/Store';\nimport EventEmitter from 'flarum/common/utils/EventEmitter';\n\nexport interface PollListParams extends PaginatedListParams {\n sort?: string;\n}\n\nconst globalEventEmitter = new EventEmitter();\n\nexport default class PollListState extends PaginatedListState {\n protected extraPolls: Poll[] = [];\n protected eventEmitter: EventEmitter;\n\n constructor(params: P, page: number = 1) {\n super(params, page, 20);\n\n this.eventEmitter = globalEventEmitter.on('poll.deleted', this.deletePoll.bind(this));\n }\n\n get type(): string {\n return 'fof/polls';\n }\n\n requestParams(): PaginatedListRequestParams {\n const params = {\n include: ['options', 'votes'],\n filter: this.params.filter || {},\n sort: this.sortMap()[this.params.sort ?? ''],\n };\n\n if (this.params.q) {\n params.filter.q = this.params.q;\n }\n\n return params;\n }\n\n protected loadPage(page: number = 1): Promise> {\n const preloadedPolls = app.preloadedApiDocument();\n\n if (preloadedPolls) {\n this.initialLoading = false;\n\n return Promise.resolve(preloadedPolls);\n }\n\n return super.loadPage(page);\n }\n\n clear(): void {\n super.clear();\n\n this.extraPolls = [];\n }\n\n /**\n * Get a map of sort keys (which appear in the URL, and are used for\n * translation) to the API sort value that they represent.\n */\n sortMap() {\n const map: any = {};\n\n if (this.params.q) {\n map.relevance = '';\n }\n map.newest = '-createdAt';\n map.oldest = 'createdAt';\n\n return map;\n }\n\n /**\n * In the last request, has the user searched for a poll?\n */\n isSearchResults(): boolean {\n return !!this.params.q;\n }\n\n removePoll(poll: Poll): void {\n this.eventEmitter.emit('poll.deleted', poll);\n }\n\n deletePoll(poll: Poll): void {\n for (const page of this.pages) {\n const index = page.items.indexOf(poll);\n\n if (index !== -1) {\n page.items.splice(index, 1);\n break;\n }\n }\n\n const index = this.extraPolls.indexOf(poll);\n\n if (index !== -1) {\n this.extraPolls.splice(index);\n }\n\n m.redraw();\n }\n\n /**\n * Add a poll to the top of the list.\n */\n addPoll(poll: Poll): void {\n this.removePoll(poll);\n this.extraPolls.unshift(poll);\n\n m.redraw();\n }\n\n protected getAllItems(): Poll[] {\n return this.extraPolls.concat(super.getAllItems());\n }\n\n public getPages(): Page[] {\n const pages = super.getPages();\n\n if (this.extraPolls.length) {\n return [\n {\n number: -1,\n items: this.extraPolls,\n },\n ...pages,\n ];\n }\n\n return pages;\n }\n}\n","module.exports = flarum.core.compat['common/Component'];","module.exports = flarum.core.compat['common/Model'];","module.exports = flarum.core.compat['common/components/Badge'];","module.exports = flarum.core.compat['common/components/Button'];","module.exports = flarum.core.compat['common/components/Dropdown'];","module.exports = flarum.core.compat['common/components/Link'];","module.exports = flarum.core.compat['common/components/LinkButton'];","module.exports = flarum.core.compat['common/components/LoadingIndicator'];","module.exports = flarum.core.compat['common/components/Modal'];","module.exports = flarum.core.compat['common/components/Page'];","module.exports = flarum.core.compat['common/components/Placeholder'];","module.exports = flarum.core.compat['common/components/SelectDropdown'];","module.exports = flarum.core.compat['common/components/Switch'];","module.exports = flarum.core.compat['common/components/Tooltip'];","module.exports = flarum.core.compat['common/extend'];","module.exports = flarum.core.compat['common/extenders'];","module.exports = flarum.core.compat['common/helpers/avatar'];","module.exports = flarum.core.compat['common/helpers/highlight'];","module.exports = flarum.core.compat['common/helpers/icon'];","module.exports = flarum.core.compat['common/helpers/listItems'];","module.exports = flarum.core.compat['common/helpers/username'];","module.exports = flarum.core.compat['common/models/Discussion'];","module.exports = flarum.core.compat['common/models/Forum'];","module.exports = flarum.core.compat['common/models/Post'];","module.exports = flarum.core.compat['common/states/PaginatedListState'];","module.exports = flarum.core.compat['common/utils/EventEmitter'];","module.exports = flarum.core.compat['common/utils/ItemList'];","module.exports = flarum.core.compat['common/utils/Stream'];","module.exports = flarum.core.compat['common/utils/SubtreeRetainer'];","module.exports = flarum.core.compat['common/utils/abbreviateNumber'];","module.exports = flarum.core.compat['common/utils/classList'];","module.exports = flarum.core.compat['common/utils/computed'];","module.exports = flarum.core.compat['common/utils/extractText'];","module.exports = flarum.core.compat['forum/app'];","module.exports = flarum.core.compat['forum/components/CommentPost'];","module.exports = flarum.core.compat['forum/components/DiscussionComposer'];","module.exports = flarum.core.compat['forum/components/DiscussionList'];","module.exports = flarum.core.compat['forum/components/DiscussionPage'];","module.exports = flarum.core.compat['forum/components/IndexPage'];","module.exports = flarum.core.compat['forum/components/LogInModal'];","module.exports = flarum.core.compat['forum/components/ReplyComposer'];","module.exports = flarum.core.compat['forum/utils/PostControls'];","module.exports = flarum.core.compat['forum/utils/slidable'];","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\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}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\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 _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\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};"],"names":["Acl","canManagePools","canStartPoll","default","slug","app","extend","classList","DiscussionComposer","ReplyComposer","CreatePollModal","addToComposer","composer","prototype","addPoll","_this","modal","show","poll","fields","onsubmit","items","_this$composer$body","_discussion$canStartP","discussion","body","attrs","forum","canStartPolls","add","m","className","onclick","bind","translator","trans","data","Badge","DiscussionList","Discussion","params","include","push","badges","hasPoll","component","type","label","icon","IndexPage","LinkButton","addNavItem","href","route","CommentPost","PostPoll","DiscussionPage","content","post","isHidden","revealContent","polls","_iterator","_createForOfIteratorHelperLoose","_step","done","value","subtree","check","checks","map","_poll$data","_poll$options$map","_poll$options","_poll$myVotes$map","_poll$myVotes","attributes","options","call","option","_option$data","myVotes","vote","_vote$option","id","JSON","stringify","pusher","then","binding","channels","main","store","getById","pushAttributes","voteCount","changedOptions","optionId","undefined","redraw","unbind","PostControls","Button","createPoll","createRecord","save","_extends","relationships","_post$rawRelationship","rawRelationship","Component","t","prfx","ComposePollHero","_Component","_inheritsLoose","apply","arguments","_proto","view","itemClassName","exists","external","target","Page","LoadingIndicator","PollForm","PollFormState","ComposePollPage","_Page","_len","length","args","Array","_key","concat","loading","oninit","vnode","_this2","_this$poll","set","editId","param","find","item","_this2$poll","setTitle","createNewPoll","history","bodyClass","Modal","_Modal","title","hide","EditPollModal","_CreatePollModal","avatar","username","Link","Stream","ListVotersModal","optionContent","opt","votes","filter","v","answer","voteContent","user","PollTitle","PollOptions","PollSubmitButton","PollImage","IndexPolls","image","text","question","Switch","ItemList","extractText","FormError","state","optionAnswers","o","optionImageUrls","imageUrl","endDate","formatDate","publicPoll","allowMultipleVotes","hideVotes","allowChangeVote","maxVotes","datepickerMinDate","dayjs","isAfter","toArray","name","bidi","addOption","displayOptions","min","max","isBefore","time","fromNow","onchange","disabled","deleting","Object","keys","i","placeholder","attribute","removeOption","Math","alert","splice","dateToTimestamp","_onsubmit","_asyncToGenerator","_regeneratorRuntime","mark","_callee","e","_this3","alertId","wrap","_callee$","_context","prev","next","preventDefault","alerts","controls","edit","collection","setTimeout","dismiss","t0","message","finish","stop","_x","_delete2","_callee2","_callee2$","_context2","confirm","abrupt","_delete","date","def","dayjsDate","isValid","format","PollListItem","Placeholder","PollList","getParams","isLoading","isInitialLoading","isLoadingNext","hasNext","loadNext","isEmpty","pageSize","isSearchResults","getPages","pg","key","SubtreeRetainer","Dropdown","highlight","slidable","PollPage","abbreviateNumber","highlightRegExp","freshness","session","markedAllAsReadAt","getTime","active","elementAttrs","Slidable","window","contentView","slidableUnderneathView","controlsView","buttonClassName","accessibleToggleLabel","isUnread","markAsRead","mainView","voteCountItem","oncreate","slidableInstance","element","$","on","reset","onbeforeupdate","needsRebuild","current","matches","lastVotedNumber","count","PollOptionLabel","PollOptionInput","PollOption","isResult","style","opacity","PollResult","pollOptions","forEach","PollResultsNumber","PollResults","number","step","pollButtonSubmit","console","log","listItems","LogInModal","PollListState","SelectDropdown","PollsPage","initListView","sort","refresh","hero","sidebarItems","viewItems","actionItems","newPollAction","navItems","_this4","Tooltip","_this$attrs$poll","_this$attrs$poll2","loadingOptions","useSubmitUI","canChangeVote","pendingSubmit","pendingOptions","preventClose","addEventListener","onremove","removeEventListener","infoItems","canSeeVoters","showVoters","canEdit","canDelete","deletePoll","viewOption","hasVoted","canVote","hasEnded","_poll$myVotes2","_poll$myVotes3","_poll$myVotes4","totalVotes","voted","has","some","percent","round","canSeeVoteCount","isDisabled","width","Number","showCheckmark","bar","changeVote","checked","src","alt","hideOptionTooltip","evt","_this$attrs$poll$myVo","_this$attrs$poll$myVo2","optionIds","Set","isUnvoting","allowsMultiple","clear","size","submit","cb","onerror","request","method","url","from","res","pushPayload","err","sync","tooltipVisible","updateVisibility","_Error","_wrapNativeSuper","Error","components","Extend","Post","Forum","Poll","PollVote","Routes","Store","Model","hasMany","addDiscussionBadge","addComposerItems","addPollsToPost","addPostControls","initializers","computed","_Model","transformDate","isGlobal","hiddenAt","apiEndpoint","hasOne","pollId","models","pushData","expandedGroup","isExpanded","groupKey","expand","_save","sent","PaginatedListState","EventEmitter","globalEventEmitter","_PaginatedListState","page","extraPolls","eventEmitter","_assertThisInitialized","requestParams","_this$params$sort","sortMap","q","loadPage","preloadedPolls","preloadedApiDocument","initialLoading","Promise","resolve","relevance","newest","oldest","removePoll","emit","pages","index","indexOf","unshift","getAllItems","_createClass","get","_typeof","require","module","exports","__esModule","r","n","hasOwnProperty","defineProperty","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","Generator","create","Context","makeInvokeMethod","tryCatch","arg","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","values","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","__await","callInvokeWithMethodAndArg","delegate","maybeInvokeDelegate","_sent","dispatchException","TypeError","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","isNaN","displayName","isGeneratorFunction","constructor","setPrototypeOf","__proto__","awrap","async","reverse","pop","charAt","slice","rval","handle","complete","_catch","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","globalThis","Function","self","ReferenceError","asyncGeneratorStep","gen","reject","_next","_throw","info","error","fn","isNativeReflectConstruct","_construct","Reflect","construct","toPropertyKey","_defineProperties","props","descriptor","Constructor","protoProps","staticProps","assign","source","_getPrototypeOf","subClass","superClass","_isNativeFunction","toString","_isNativeReflectConstruct","Boolean","valueOf","_setPrototypeOf","toPrimitive","String","isNativeFunction","Class","_cache","Map","Wrapper"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"forum.js","mappings":"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","sources":["webpack://@fof/polls/./src/common/Acl.tsx","webpack://@fof/polls/./src/common/index.js","webpack://@fof/polls/./src/forum/addComposerItems.js","webpack://@fof/polls/./src/forum/addDiscussionBadge.js","webpack://@fof/polls/./src/forum/addNavItem.ts","webpack://@fof/polls/./src/forum/addPollsToPost.js","webpack://@fof/polls/./src/forum/addPostControls.js","webpack://@fof/polls/./src/forum/components/ComposePollHero.tsx","webpack://@fof/polls/./src/forum/components/ComposePollPage.tsx","webpack://@fof/polls/./src/forum/components/CreatePollModal.js","webpack://@fof/polls/./src/forum/components/EditPollModal.js","webpack://@fof/polls/./src/forum/components/ListVotersModal.js","webpack://@fof/polls/./src/forum/components/Poll.tsx","webpack://@fof/polls/./src/forum/components/PollForm.js","webpack://@fof/polls/./src/forum/components/Poll/PollImage.tsx","webpack://@fof/polls/./src/forum/components/Poll/PollList.js","webpack://@fof/polls/./src/forum/components/Poll/PollListItem.tsx","webpack://@fof/polls/./src/forum/components/Poll/PollOption.tsx","webpack://@fof/polls/./src/forum/components/Poll/PollOptionInput.tsx","webpack://@fof/polls/./src/forum/components/Poll/PollOptionLabel.tsx","webpack://@fof/polls/./src/forum/components/Poll/PollOptions.tsx","webpack://@fof/polls/./src/forum/components/Poll/PollPage.tsx","webpack://@fof/polls/./src/forum/components/Poll/PollResult.tsx","webpack://@fof/polls/./src/forum/components/Poll/PollResultNumber.tsx","webpack://@fof/polls/./src/forum/components/Poll/PollSubmitButton.tsx","webpack://@fof/polls/./src/forum/components/Poll/PollTitle.tsx","webpack://@fof/polls/./src/forum/components/PollsPage.tsx","webpack://@fof/polls/./src/forum/components/PostPoll.js","webpack://@fof/polls/./src/forum/components/form/FormError.js","webpack://@fof/polls/./src/forum/components/index.ts","webpack://@fof/polls/./src/forum/extend.ts","webpack://@fof/polls/./src/forum/index.ts","webpack://@fof/polls/./src/forum/models/Poll.ts","webpack://@fof/polls/./src/forum/models/PollOption.ts","webpack://@fof/polls/./src/forum/models/PollVote.ts","webpack://@fof/polls/./src/forum/models/index.ts","webpack://@fof/polls/./src/forum/states/PollFormState.js","webpack://@fof/polls/./src/forum/states/PollListState.ts","webpack://@fof/polls/external root \"flarum.core.compat['common/Component']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/Model']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/components/Badge']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/components/Button']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/components/Dropdown']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/components/Link']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/components/LinkButton']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/components/LoadingIndicator']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/components/Modal']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/components/Page']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/components/Placeholder']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/components/SelectDropdown']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/components/Switch']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/components/Tooltip']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/extend']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/extenders']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/helpers/avatar']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/helpers/highlight']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/helpers/listItems']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/helpers/username']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/models/Discussion']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/models/Forum']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/models/Post']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/states/PaginatedListState']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/utils/EventEmitter']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/utils/ItemList']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/utils/Stream']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/utils/SubtreeRetainer']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/utils/abbreviateNumber']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/utils/classList']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/utils/computed']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/utils/extractText']\"","webpack://@fof/polls/external root \"flarum.core.compat['forum/app']\"","webpack://@fof/polls/external root \"flarum.core.compat['forum/components/CommentPost']\"","webpack://@fof/polls/external root \"flarum.core.compat['forum/components/DiscussionComposer']\"","webpack://@fof/polls/external root \"flarum.core.compat['forum/components/DiscussionList']\"","webpack://@fof/polls/external root \"flarum.core.compat['forum/components/DiscussionPage']\"","webpack://@fof/polls/external root \"flarum.core.compat['forum/components/IndexPage']\"","webpack://@fof/polls/external root \"flarum.core.compat['forum/components/LogInModal']\"","webpack://@fof/polls/external root \"flarum.core.compat['forum/components/ReplyComposer']\"","webpack://@fof/polls/external root \"flarum.core.compat['forum/utils/PostControls']\"","webpack://@fof/polls/external root \"flarum.core.compat['forum/utils/slidable']\"","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/typeof.js","webpack://@fof/polls/./node_modules/@babel/runtime/regenerator/index.js","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://@fof/polls/webpack/bootstrap","webpack://@fof/polls/webpack/runtime/compat get default export","webpack://@fof/polls/webpack/runtime/define property getters","webpack://@fof/polls/webpack/runtime/hasOwnProperty shorthand","webpack://@fof/polls/webpack/runtime/make namespace object"],"sourcesContent":["export default class Acl {\n static canManagePools(): boolean {\n return true;\n }\n\n static canStartPoll(): boolean {\n return true;\n //app.forum.attribute('canStartPoll') || !app.session.user;\n }\n}\n","export const slug = 'fof-polls';\n","import app from 'flarum/forum/app';\n\nimport { extend } from 'flarum/common/extend';\nimport classList from 'flarum/common/utils/classList';\nimport DiscussionComposer from 'flarum/forum/components/DiscussionComposer';\nimport ReplyComposer from 'flarum/forum/components/ReplyComposer';\n\nimport CreatePollModal from './components/CreatePollModal';\n\nexport const addToComposer = (composer) => {\n composer.prototype.addPoll = function () {\n app.modal.show(CreatePollModal, {\n poll: this.composer.fields.poll,\n onsubmit: (poll) => (this.composer.fields.poll = poll),\n });\n };\n\n // Add button to DiscussionComposer header\n extend(composer.prototype, 'headerItems', function (items) {\n const discussion = this.composer.body?.attrs?.discussion;\n const canStartPoll = discussion?.canStartPoll() ?? app.forum.canStartPolls();\n\n if (canStartPoll) {\n items.add(\n 'polls',\n \n \n {app.translator.trans(`fof-polls.forum.composer_discussion.${this.composer.fields.poll ? 'edit' : 'add'}_poll`)}\n \n ,\n 1\n );\n }\n });\n\n extend(composer.prototype, 'data', function (data) {\n if (this.composer.fields.poll) {\n data.poll = this.composer.fields.poll;\n }\n });\n};\n\nexport default () => {\n addToComposer(DiscussionComposer);\n addToComposer(ReplyComposer);\n};\n","import app from 'flarum/forum/app';\n\nimport { extend } from 'flarum/common/extend';\nimport Badge from 'flarum/common/components/Badge';\nimport DiscussionList from 'flarum/forum/components/DiscussionList';\nimport Discussion from 'flarum/common/models/Discussion';\n\nexport default () => {\n extend(DiscussionList.prototype, 'requestParams', (params) => {\n params.include.push('poll');\n });\n\n extend(Discussion.prototype, 'badges', function (badges) {\n if (this.hasPoll()) {\n badges.add(\n 'poll',\n Badge.component({\n type: 'poll',\n label: app.translator.trans('fof-polls.forum.tooltip.badge'),\n icon: 'fas fa-signal',\n }),\n 5\n );\n }\n });\n};\n","import app from 'flarum/forum/app';\nimport { extend } from 'flarum/common/extend';\nimport IndexPage from 'flarum/forum/components/IndexPage';\nimport LinkButton from 'flarum/common/components/LinkButton';\n\nexport default function addNavItem() {\n extend(IndexPage.prototype, 'navItems', (items) => {\n items.add(\n 'fof-polls-directory',\n LinkButton.component(\n {\n href: app.route('fof_polls_directory'),\n icon: 'fas fa-poll',\n },\n app.translator.trans('fof-polls.forum.page.nav')\n ),\n 35\n );\n });\n}\n","import app from 'flarum/forum/app';\n\nimport { extend } from 'flarum/common/extend';\nimport CommentPost from 'flarum/forum/components/CommentPost';\nimport PostPoll from './components/PostPoll';\nimport DiscussionPage from 'flarum/forum/components/DiscussionPage';\n\nexport default () => {\n extend(CommentPost.prototype, 'content', function (content) {\n const post = this.attrs.post;\n\n if ((!post.isHidden() || this.revealContent) && post.polls()) {\n for (const poll of post.polls()) {\n if (poll) {\n content.push( );\n }\n }\n }\n });\n\n extend(CommentPost.prototype, 'oninit', function () {\n this.subtree.check(() => {\n const polls = this.attrs.post.polls();\n\n const checks = polls?.map?.(\n (poll) =>\n poll && [\n poll.data?.attributes,\n poll.options().map?.((option) => option?.data?.attributes),\n poll.myVotes().map?.((vote) => vote.option()?.id()),\n ]\n );\n\n return JSON.stringify(checks);\n });\n });\n\n extend(DiscussionPage.prototype, 'oncreate', function () {\n if (app.pusher) {\n app.pusher.then((binding) => {\n // We will listen for updates to all polls and options\n // Even if that model is not in the current discussion, it doesn't really matter\n binding.channels.main.bind('updatedPollOptions', (data) => {\n const poll = app.store.getById('polls', data['pollId']);\n\n if (poll) {\n poll.pushAttributes({\n voteCount: data['pollVoteCount'],\n });\n\n // Not redrawing here, as the option below should trigger the redraw already\n }\n\n const changedOptions = data['options'];\n\n for (const optionId in changedOptions) {\n const option = app.store.getById('poll_options', optionId);\n\n if (option && option.voteCount() !== undefined) {\n option.pushAttributes({\n voteCount: changedOptions[optionId],\n });\n }\n }\n\n m.redraw();\n });\n });\n }\n });\n\n extend(DiscussionPage.prototype, 'onremove', function () {\n if (app.pusher) {\n app.pusher.then((binding) => {\n binding.channels.main.unbind('updatedPollOptions');\n });\n }\n });\n};\n","import app from 'flarum/forum/app';\n\nimport { extend } from 'flarum/common/extend';\nimport PostControls from 'flarum/forum/utils/PostControls';\nimport CreatePollModal from './components/CreatePollModal';\nimport Button from 'flarum/common/components/Button';\n\nexport default () => {\n const createPoll = (post) =>\n app.modal.show(CreatePollModal, {\n onsubmit: (data) =>\n app.store\n .createRecord('polls')\n .save(\n {\n ...data,\n relationships: {\n post,\n },\n },\n {\n data: {\n include: 'options,myVotes,myVotes.option',\n },\n }\n )\n .then((poll) => {\n post.rawRelationship('polls')?.push?.({ type: 'polls', id: poll.id() });\n\n return poll;\n }),\n });\n\n extend(PostControls, 'moderationControls', function (items, post) {\n if (!post.isHidden() && post.canStartPoll()) {\n items.add(\n 'addPoll',\n \n {app.translator.trans('fof-polls.forum.moderation.add')}\n \n );\n }\n });\n};\n","import Mithril from 'mithril';\nimport app from 'flarum/forum/app';\nimport Component from 'flarum/common/Component';\nimport { slug } from '../../common';\nimport LinkButton from 'flarum/common/components/LinkButton';\n\nconst t = app.translator.trans.bind(app.translator);\nconst prfx = `${slug}.forum.compose`;\n\nexport default class ComposePollHero extends Component {\n view(): Mithril.Children {\n const { poll } = this.attrs;\n\n return (\n \n
\n
\n
{t(`${prfx}.${!!poll.id() ? 'edit' : 'add'}_title`)} \n
\n \n {t(`${prfx}.polls_manager`)}\n \n {poll.exists && (\n \n {t(`${prfx}.polls_preview`)}\n \n )}\n
\n
\n
\n
\n );\n }\n}\n","import Mithril from 'mithril';\nimport app from 'flarum/forum/app';\nimport Page from 'flarum/common/components/Page';\nimport Poll from './Poll';\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\nimport PollForm from './PollForm';\nimport Acl from '../../common/Acl';\nimport PollFormState from '../states/PollFormState';\nimport { slug } from '../../common';\nimport ComposePollHero from './ComposePollHero';\n\nconst t = app.translator.trans.bind(app.translator);\nconst prfx = `${slug}.forum.compose`;\n\nexport default class ComposePollPage extends Page {\n poll: Poll | null = null;\n\n loading: boolean = false;\n\n oninit(vnode) {\n super.oninit(vnode);\n\n // If user not allowed to manage goodie collections, redirect to home\n if (!Acl.canManagePools()) {\n m.route.set(app.route('home'));\n }\n\n // Get the `edit` parameter from the URL\n const editId = m.route.param('id');\n if (editId) {\n this.poll = app.store.getById('poll', editId);\n\n if (!this.poll) {\n this.loading = true;\n\n app.store.find('fof/polls', editId).then((item) => {\n this.poll = item;\n this.loading = false;\n app.setTitle(t(`${prfx}.${!!this.poll?.id() ? 'edit' : 'add'}_title`));\n m.redraw();\n });\n }\n } else {\n this.poll = PollFormState.createNewPoll();\n }\n\n app.history.push('compose-goodie-collection');\n this.bodyClass = 'App--compose-goodie-collection';\n app.setTitle(t(`${prfx}.${!!this.poll?.id() ? 'edit' : 'add'}_title`));\n }\n\n view(): Mithril.Children {\n if (this.loading) {\n return ;\n }\n\n return (\n \n );\n }\n}\n","import app from 'flarum/forum/app';\nimport Modal from 'flarum/common/components/Modal';\nimport PollForm from './PollForm';\n\nexport default class CreatePollModal extends Modal {\n title() {\n return app.translator.trans('fof-polls.forum.modal.add_title');\n }\n\n className() {\n return 'PollDiscussionModal Modal--medium';\n }\n\n content() {\n //@todo check if bind is needed for onsubmit\n return [\n ,\n ];\n }\n\n onsubmit(poll) {\n this.hide();\n this.attrs.onsubmit(poll);\n }\n}\n","import app from 'flarum/forum/app';\nimport CreatePollModal from './CreatePollModal';\n\nexport default class EditPollModal extends CreatePollModal {\n title() {\n return app.translator.trans('fof-polls.forum.modal.edit_title');\n }\n}\n","import app from 'flarum/forum/app';\n\nimport Modal from 'flarum/common/components/Modal';\nimport avatar from 'flarum/common/helpers/avatar';\nimport username from 'flarum/common/helpers/username';\nimport Link from 'flarum/common/components/Link';\nimport Stream from 'flarum/common/utils/Stream';\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\n\nexport default class ListVotersModal extends Modal {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.loading = Stream(true);\n\n app.store\n .find('fof/polls', this.attrs.poll.id(), {\n include: 'votes,votes.user,votes.option',\n })\n .then(() => this.loading(false))\n .finally(() => m.redraw());\n }\n\n className() {\n return 'Modal--medium VotesModal';\n }\n\n title() {\n return app.translator.trans('fof-polls.forum.votes_modal.title');\n }\n\n content() {\n return {this.loading() ? : this.attrs.poll.options().map(this.optionContent.bind(this))}
;\n }\n\n optionContent(opt) {\n const votes = (this.attrs.poll.votes() || []).filter((v) => opt.id() === v.option().id());\n\n return (\n \n
{opt.answer() + ':'} \n\n {votes.length ? (\n
{votes.map(this.voteContent.bind(this))}
\n ) : (\n
{app.translator.trans('fof-polls.forum.modal.no_voters')} \n )}\n
\n );\n }\n\n voteContent(vote) {\n const user = vote.user();\n const attrs = user && { href: app.route.user(user) };\n\n return (\n \n {avatar(user)} {username(user)}\n \n );\n }\n}\n","import * as Mithril from 'mithril';\nimport Component from 'flarum/common/Component';\n\nimport PollTitle from './Poll/PollTitle';\nimport PollOptions from './Poll/PollOptions';\nimport PollSubmitButton from './Poll/PollSubmitButton';\nimport PollImage from './Poll/PollImage';\n\nexport default class IndexPolls extends Component {\n view(): Mithril.Children {\n /* @type Poll */\n const poll = this.attrs.poll;\n\n return (\n \n );\n }\n}\n","import { slug } from '../../common';\nimport Component from 'flarum/common/Component';\nimport app from 'flarum/forum/app';\nimport Button from 'flarum/common/components/Button';\nimport Switch from 'flarum/common/components/Switch';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport Stream from 'flarum/common/utils/Stream';\nimport extractText from 'flarum/common/utils/extractText';\nimport FormError from './form/FormError';\nimport PollFormState from '../states/PollFormState';\n\n// Make translation calls shorter\nconst t = app.translator.trans.bind(app.translator);\nconst prfx = `${slug}.forum.poll_form`;\n\nexport default class PollForm extends Component {\n oninit(vnode) {\n super.oninit(vnode);\n this.state = new PollFormState(this.attrs.poll);\n\n // state handles poll initialization\n const poll = this.state.poll;\n\n //@todo way the options are destructured into options (answers) and optionImageUrls\n this.options = poll.options();\n this.optionAnswers = this.options.map((o) => Stream(o.answer()));\n this.optionImageUrls = this.options.map((o) => Stream(o.imageUrl()));\n\n this.question = Stream(poll.question());\n this.endDate = Stream(this.formatDate(poll.endDate()));\n this.publicPoll = Stream(poll.publicPoll());\n this.allowMultipleVotes = Stream(poll.allowMultipleVotes());\n this.hideVotes = Stream(poll.hideVotes());\n this.allowChangeVote = Stream(poll.allowChangeVote());\n this.maxVotes = Stream(poll.maxVotes() || 0);\n\n this.datepickerMinDate = this.formatDate(undefined);\n\n // Replace minimum of 'today' for poll end date only if the poll is not already closed\n if (this.endDate() && dayjs(poll.endDate).isAfter(dayjs())) {\n this.datepickerMinDate = this.formatDate(poll.endDate);\n }\n }\n\n view() {\n return (\n \n );\n }\n\n fields() {\n const items = new ItemList();\n\n items.add(\n 'question',\n \n {app.translator.trans('fof-polls.forum.modal.question_placeholder')} \n\n \n
,\n 100\n );\n\n items.add(\n 'answers',\n \n \n {app.translator.trans('fof-polls.forum.modal.options_label')} \n\n {Button.component({\n className: 'Button PollModal--button small',\n icon: 'fas fa-plus',\n onclick: this.addOption.bind(this),\n })}\n \n\n {this.displayOptions()}\n
,\n 80\n );\n\n items.add(\n 'date',\n \n
{app.translator.trans('fof-polls.forum.modal.date_placeholder')} \n\n
\n \n {Button.component({\n className: 'Button PollModal--button',\n icon: 'fas fa-times',\n onclick: this.endDate.bind(this, null),\n })}\n
\n\n {this.endDate() && (\n
\n \n \n {dayjs(this.endDate()).isBefore(dayjs())\n ? app.translator.trans('fof-polls.forum.poll_ended')\n : app.translator.trans('fof-polls.forum.days_remaining', { time: dayjs(this.endDate()).fromNow() })}\n
\n )}\n
,\n 40\n );\n\n items.add(\n 'public',\n \n {Switch.component(\n {\n state: this.publicPoll() || false,\n onchange: this.publicPoll,\n },\n app.translator.trans('fof-polls.forum.modal.public_poll_label')\n )}\n
,\n 20\n );\n\n items.add(\n 'hide-votes',\n \n \n {app.translator.trans('fof-polls.forum.modal.hide_votes_label')}\n \n
,\n 20\n );\n\n items.add(\n 'allow-change-vote',\n \n \n {app.translator.trans('fof-polls.forum.modal.allow_change_vote_label')}\n \n
,\n 20\n );\n\n items.add(\n 'allow-multiple-votes',\n \n {Switch.component(\n {\n state: this.allowMultipleVotes() || false,\n onchange: this.allowMultipleVotes,\n },\n app.translator.trans('fof-polls.forum.modal.allow_multiple_votes_label')\n )}\n
,\n 15\n );\n\n if (this.allowMultipleVotes()) {\n items.add(\n 'max-votes',\n \n
{app.translator.trans('fof-polls.forum.modal.max_votes_label')} \n\n
\n\n
{app.translator.trans('fof-polls.forum.modal.max_votes_help')}
\n
,\n 15\n );\n }\n\n items.add(\n 'submit',\n \n \n {t('fof-polls.forum.modal.submit')}\n \n {this.state.poll.exists && (\n \n {t(`${prfx}.delete`)}\n \n )}\n
,\n -10\n );\n\n return items;\n }\n\n displayOptions() {\n return Object.keys(this.options).map((option, i) => (\n \n
\n \n {app.forum.attribute('allowPollOptionImage') ? (\n \n ) : null}\n \n {i >= 2\n ? Button.component({\n type: 'button',\n className: 'Button Button--warning PollModal--button',\n icon: 'fas fa-minus',\n onclick: i >= 2 ? this.removeOption.bind(this, i) : '',\n })\n : ''}\n
\n ));\n }\n\n addOption() {\n const max = Math.max(app.forum.attribute('pollMaxOptions'), 2);\n\n if (this.options.length < max) {\n this.options.push(app.store.createRecord('poll_options'));\n this.optionAnswers.push(Stream(''));\n this.optionImageUrls.push(Stream(''));\n } else {\n alert(extractText(app.translator.trans('fof-polls.forum.modal.max', { max })));\n }\n }\n\n removeOption(i) {\n this.options.splice(i, 1);\n this.optionAnswers.splice(i, 1);\n this.optionImageUrls.splice(i, 1);\n }\n\n data() {\n const options = this.options.map((o, i) => {\n if (!o.data.attributes) o.data.attributes = {};\n\n o.data.attributes.answer = this.optionAnswers[i]();\n o.data.attributes.imageUrl = this.optionImageUrls[i]();\n\n return o.data;\n });\n\n if (this.question() === '') {\n throw new FormError(app.translator.trans('fof-polls.forum.modal.include_question'));\n }\n\n if (options.length < 2) {\n throw new FormError(app.translator.trans('fof-polls.forum.modal.min'));\n }\n\n return {\n question: this.question(),\n endDate: this.dateToTimestamp(this.endDate()),\n publicPoll: this.publicPoll(),\n hideVotes: this.hideVotes(),\n allowChangeVote: this.allowChangeVote(),\n allowMultipleVotes: this.allowMultipleVotes(),\n maxVotes: this.maxVotes(),\n options,\n };\n }\n\n async onsubmit(e) {\n e.preventDefault();\n\n try {\n await this.state.save(this.data());\n\n // Show success alert\n const alertId = app.alerts.show(\n {\n type: 'success',\n controls: [\n \n m.route.set(\n app.route('compose-poll', {\n edit: this.state.collection.id(),\n })\n )\n }\n >\n {t(`${prfx}.continue_editing`)}\n ,\n ],\n },\n t(`${prfx}.success`)\n );\n\n // Hide alert after 10 seconds\n setTimeout(() => app.alerts.dismiss(alertId), 10000);\n\n // Check if we need to call a custom onsubmit callback\n if (this.attrs.onsubmit) {\n this.attrs.onsubmit(this.state.poll);\n } else {\n // Otherwise redirect to pools list\n m.route.set(app.route('polls-manager'));\n }\n } catch (e) {\n if (e instanceof FormError) {\n app.alerts.show({ type: 'error' }, e.message);\n } else {\n // Show error alert\n app.alerts.show({ type: 'error' }, t(`${prfx}.error`));\n }\n } finally {\n this.state.loading = false;\n m.redraw();\n }\n }\n\n async delete() {\n if (!confirm(t(`${prfx}.delete_confirm`))) {\n return;\n }\n\n try {\n await this.state.delete();\n // Show success alert\n const alertId = app.alerts.show({ type: 'success' }, t(`${prfx}.delete_success`));\n\n // Hide alert after 10 seconds\n setTimeout(() => app.alerts.dismiss(alertId), 10000);\n\n // Redirect to polls list\n m.route.set(app.route('polls-manager'));\n } catch (e) {\n // Show error alert\n app.alerts.show({ type: 'error' }, t(`${prfx}.delete_error`));\n }\n }\n\n formatDate(date, def = false) {\n const dayjsDate = dayjs(date);\n\n if (date === false || !dayjsDate.isValid()) return def !== false ? this.formatDate(def) : null;\n\n return dayjsDate.format('YYYY-MM-DDTHH:mm');\n }\n\n dateToTimestamp(date) {\n const dayjsDate = dayjs(date);\n\n if (!date || !dayjsDate.isValid()) return false;\n\n return dayjsDate.format();\n }\n}\n","import * as Mithril from 'mithril';\nimport Component from 'flarum/common/Component';\n\nexport default class PollImage extends Component {\n view(): Mithril.Children {\n return;\n }\n}\n","import app from 'flarum/forum/app';\nimport Component from 'flarum/common/Component';\nimport PollListItem from './PollListItem';\nimport Button from 'flarum/common/components/Button';\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\nimport Placeholder from 'flarum/common/components/Placeholder';\nimport classList from 'flarum/common/utils/classList';\n\n/**\n * The `PollList` component displays a list of polls.\n */\nexport default class PollList extends Component {\n view() {\n /**\n * @type {import('../../states/PollListState').default}\n */\n const state = this.attrs.state;\n const params = state.getParams();\n const isLoading = state.isInitialLoading() || state.isLoadingNext();\n\n let loading;\n\n if (isLoading) {\n loading = ;\n } else if (state.hasNext()) {\n loading = (\n \n {app.translator.trans('fof-polls.forum.polls_list.load_more_button')}\n \n );\n }\n\n if (state.isEmpty()) {\n const text = app.translator.trans('fof-polls.forum.polls_list.empty_text');\n return (\n \n );\n }\n\n const pageSize = state.pageSize;\n\n return (\n \n
\n {state.getPages().map((pg) => {\n return pg.items.map((poll) => (\n \n \n \n ));\n })}\n \n
{loading}
\n
\n );\n }\n}\n","import * as Mithril from 'mithril';\nimport app from 'flarum/forum/app';\nimport Component, { ComponentAttrs } from 'flarum/common/Component';\nimport type Poll from '../../../common/models/Poll';\nimport type { PollListParams } from '../../states/PollListState';\nimport SubtreeRetainer from 'flarum/common/utils/SubtreeRetainer';\nimport classList from 'flarum/common/utils/classList';\nimport Dropdown from 'flarum/common/components/Dropdown';\nimport Link from 'flarum/common/components/Link';\nimport highlight from 'flarum/common/helpers/highlight';\nimport slidable from 'flarum/forum/utils/slidable';\nimport icon from 'flarum/common/helpers/icon';\nimport PollPage from './PollPage';\nimport abbreviateNumber from 'flarum/common/utils/abbreviateNumber';\n\nexport interface IPollListItemAttrs extends ComponentAttrs {\n poll: Poll;\n params: PollListParams;\n}\n\n/**\n * The `PollListItem` component shows a single poll in the\n * poll list.\n */\nexport default class PollListItem extends Component {\n /**\n * Ensures that the poll will not be redrawn\n * unless new data comes in.\n */\n subtree!: SubtreeRetainer;\n\n highlightRegExp?: RegExp;\n\n oninit(vnode: Mithril.Vnode) {\n super.oninit(vnode);\n\n this.subtree = new SubtreeRetainer(\n () => this.attrs.poll.freshness,\n () => {\n const time = app.session.user && app.session.user.markedAllAsReadAt();\n return time && time.getTime();\n },\n () => this.active()\n );\n }\n\n elementAttrs() {\n return {\n className: classList('PollListItem', {\n active: this.active(),\n 'PollListItem--hidden': this.attrs.poll.isHidden(),\n Slidable: 'ontouchstart' in window,\n }),\n };\n }\n\n view() {\n const poll = this.attrs.poll;\n\n // TODO IMPLEMENT POLLCONTROLS\n //const controls = PollControls.controls(poll, this).toArray();\n const attrs = this.elementAttrs();\n\n return (\n \n {/* {this.controlsView(controls)} */}\n {this.contentView()}\n {this.slidableUnderneathView()}\n
\n );\n }\n\n controlsView(controls: Mithril.ChildArray): Mithril.Children {\n return (\n !!controls.length && (\n \n {controls}\n \n )\n );\n }\n\n slidableUnderneathView(): Mithril.Children {\n const poll = this.attrs.poll;\n const isUnread = poll.isUnread();\n\n return (\n \n {icon('fas fa-check')}\n \n );\n }\n\n contentView(): Mithril.Children {\n const poll = this.attrs.poll;\n // const isUnread = poll.isUnread();\n // const isRead = poll.isRead();\n\n return (\n // \n
\n {/* {this.authorAvatarView()}\n {this.badgesView()} */}\n {this.mainView()}\n {this.voteCountItem()}\n
\n );\n }\n\n mainView(): Mithril.Children {\n const poll = this.attrs.poll;\n\n return (\n
\n
{highlight(poll.question(), this.highlightRegExp)} \n {/*
{listItems(this.infoItems().toArray())} */}\n \n );\n }\n\n oncreate(vnode: Mithril.VnodeDOM
) {\n super.oncreate(vnode);\n\n // If we're on a touch device, set up the discussion row to be slidable.\n // This allows the user to drag the row to either side of the screen to\n // reveal controls.\n if ('ontouchstart' in window) {\n const slidableInstance = slidable(this.element);\n\n this.$('.PollListItem-controls').on('hidden.bs.dropdown', () => slidableInstance.reset());\n }\n }\n\n onbeforeupdate(vnode: Mithril.VnodeDOM) {\n super.onbeforeupdate(vnode);\n\n return this.subtree.needsRebuild();\n }\n\n /**\n * Determine whether or not the discussion is currently being viewed.\n */\n active() {\n return app.current.matches(PollPage, { poll: this.attrs.poll });\n }\n\n /**\n * Mark the poll as read.\n */\n markAsRead() {\n const poll = this.attrs.poll;\n\n if (poll.isUnread()) {\n poll.save({ lastVotedNumber: poll.voteCount() });\n m.redraw();\n }\n }\n\n voteCountItem() {\n const poll = this.attrs.poll;\n\n return (\n \n {abbreviateNumber(poll.voteCount())} \n\n \n {app.translator.trans('fof-polls.forum.poll_list.total_votes_a11y_label', { count: poll.voteCount() })}\n \n \n );\n }\n}\n","import * as Mithril from 'mithril';\nimport Component from 'flarum/common/Component';\nimport PollOptionLabel from './PollOptionLabel';\nimport PollOptionInput from './PollOptionInput';\n\nexport default class PollOption extends Component {\n view(): Mithril.Children {\n const option = this.attrs.option;\n return (\n \n \n \n \n \n \n );\n }\n}\n","import * as Mithril from 'mithril';\nimport Component, { ComponentAttrs } from 'flarum/common/Component';\n\ninterface PollOptionInputAttrs extends ComponentAttrs {\n id: Number; // for example 1\n name: String; // for example privacy-setting\n value: String; // for example Private to Project Members\n isResult?: Boolean;\n}\n\nexport default class PollOptionInput extends Component {\n view(): Mithril.Children {\n const { isResult } = this.attrs;\n return (\n \n );\n }\n}\n","import * as Mithril from 'mithril';\nimport Component, { ComponentAttrs } from 'flarum/common/Component';\n\ninterface PollOptionLabelAttrs extends ComponentAttrs {\n text: String;\n id: Number;\n}\n\nexport default class PollOptionLabel extends Component {\n view(): Mithril.Children {\n return (\n \n {this.attrs.text}\n \n );\n }\n}\n","import Mithril from 'mithril';\nimport Component from 'flarum/common/Component';\nimport PollOption from './PollOption';\nimport PollOptionModel from '../../models/PollOption';\nimport PollResult from './PollResult';\nimport ItemList from 'flarum/common/utils/ItemList';\n\nexport default class PollOptions extends Component {\n view(): Mithril.Children {\n return {this.pollOptions().toArray()}
;\n }\n\n pollOptions(): ItemList {\n const items = new ItemList();\n this.attrs.options.forEach((option: PollOptionModel): void => {\n items.add('option' + option.id(), );\n });\n\n items.add('test5', );\n\n return items;\n }\n}\n","import * as Mithril from 'mithril';\nimport app from 'flarum/forum/app';\nimport Page from 'flarum/common/components/Page';\n\nexport default class PollPage extends Page {\n view(): Mithril.Children {\n return PollPage
;\n }\n}\n","import * as Mithril from 'mithril';\nimport Component from 'flarum/common/Component';\nimport PollOptionLabel from './PollOptionLabel';\nimport PollResultsNumber from './PollResultNumber';\nimport PollOptionInput from './PollOptionInput';\n\nexport default class PollResults extends Component {\n view(): Mithril.Children {\n return (\n \n \n \n \n\n \n \n \n );\n }\n}\n","import * as Mithril from 'mithril';\nimport Component, { ComponentAttrs } from 'flarum/common/Component';\n\ninterface PollResultsNumberAttrs extends ComponentAttrs {\n number: Number;\n}\n\nexport default class PollResultsNumber extends Component {\n view(): Mithril.Children {\n return {this.attrs.number} % ;\n }\n}\n","import * as Mithril from 'mithril';\nimport Component from 'flarum/common/Component';\nimport Button from 'flarum/common/components/Button';\n\nexport default class PollSubmitButton extends Component {\n view(): Mithril.Children {\n return (\n this.pollButtonSubmit()}>\n Submit\n \n );\n }\n\n /**\n * Event handler for submit button being clicked\n */\n\n pollButtonSubmit() {\n console.log('submitted');\n }\n}\n","import * as Mithril from 'mithril';\nimport Component, { ComponentAttrs } from 'flarum/common/Component';\n\ninterface PollTitleAttrs extends ComponentAttrs {\n text: String;\n}\n\nexport default class PollTitle extends Component {\n view(): Mithril.Children {\n return {this.attrs.text} ;\n }\n}\n","import Mithril from 'mithril';\nimport app from 'flarum/forum/app';\nimport listItems from 'flarum/common/helpers/listItems';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport Page, { IPageAttrs } from 'flarum/common/components/Page';\nimport IndexPage from 'flarum/forum/components/IndexPage';\nimport PollList from './Poll/PollList';\nimport LogInModal from 'flarum/forum/components/LogInModal';\nimport extractText from 'flarum/common/utils/extractText';\nimport PollListState from '../states/PollListState';\nimport Button from 'flarum/common/components/Button';\nimport SelectDropdown from 'flarum/common/components/SelectDropdown';\nimport Acl from '../../common/Acl';\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\nimport Poll from '../models/Poll';\nimport IndexPolls from './Poll';\n\nexport default class PollsPage extends Page {\n loading: boolean = false;\n poll: Poll | null = null;\n\n oninit(vnode: Mithril.Vnode) {\n super.oninit(vnode);\n\n const editId = m.route.param('id');\n if (editId) {\n this.poll = app.store.getById('poll', editId);\n\n if (!this.poll) {\n this.loading = true;\n\n app.store.find('fof/polls', editId).then((item) => {\n this.poll = item;\n this.loading = false;\n app.setTitle(extractText(app.translator.trans('fof-polls.forum.page.poll_detail')));\n m.redraw();\n });\n }\n } else {\n this.initListView();\n }\n }\n\n initListView() {\n this.state = new PollListState({\n sort: m.route.param('sort'),\n filter: m.route.param('filter'),\n });\n\n this.state.refresh();\n\n app.setTitle(extractText(app.translator.trans('fof-polls.forum.page.nav')));\n }\n\n oncreate(vnode: Mithril.Vnode) {\n super.oncreate(vnode);\n }\n\n view(): Mithril.Children {\n if (this.loading) {\n return ;\n }\n\n if (this.poll) {\n return (\n \n );\n }\n\n return (\n \n {IndexPage.prototype.hero()}\n
\n
\n
\n {listItems(this.sidebarItems().toArray())} \n \n
\n
\n
{listItems(this.viewItems().toArray())} \n
{listItems(this.actionItems().toArray())} \n
\n
\n
\n
\n
\n
\n );\n }\n\n sidebarItems() {\n const items = new ItemList();\n const canStartPoll = Acl.canStartPoll();\n\n items.add(\n 'newGlobalPoll',\n {\n this.newPollAction();\n }}\n disabled={!canStartPoll}\n >\n {app.translator.trans(`fof-polls.forum.poll.${canStartPoll ? 'start_poll_button' : 'cannot_start_poll_button'}`)}\n \n );\n\n items.add(\n 'nav',\n \n {this.navItems().toArray()}\n \n );\n\n return items;\n }\n\n actionItems(): ItemList {\n const items = new ItemList();\n\n items.add(\n 'refresh',\n Button.component({\n title: app.translator.trans('fof-polls.forum.page.refresh_tooltip'),\n icon: 'fas fa-sync',\n className: 'Button Button--icon',\n onclick: () => {\n this.state.refresh();\n },\n })\n );\n\n return items;\n }\n\n viewItems() {\n return IndexPage.prototype.viewItems();\n }\n navItems() {\n return IndexPage.prototype.navItems();\n }\n\n /**\n * Change to create new poll page\n */\n newPollAction(): void {\n if (!app.session.user) {\n app.modal.show(LogInModal);\n return;\n }\n\n m.route.set(app.route('fof_polls_compose'));\n }\n}\n","import app from 'flarum/forum/app';\n\nimport Component from 'flarum/common/Component';\nimport Button from 'flarum/common/components/Button';\nimport LogInModal from 'flarum/forum/components/LogInModal';\nimport ListVotersModal from './ListVotersModal';\nimport classList from 'flarum/common/utils/classList';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport Tooltip from 'flarum/common/components/Tooltip';\nimport icon from 'flarum/common/helpers/icon';\nimport EditPollModal from './EditPollModal';\n\nexport default class PostPoll extends Component {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.loadingOptions = false;\n\n this.useSubmitUI = !this.attrs.poll?.canChangeVote() && this.attrs.poll?.allowMultipleVotes();\n this.pendingSubmit = false;\n this.pendingOptions = null;\n }\n\n oncreate(vnode) {\n super.oncreate(vnode);\n\n this.preventClose = this.preventClose.bind(this);\n window.addEventListener('beforeunload', this.preventClose);\n }\n\n onremove(vnode) {\n super.onremove(vnode);\n\n window.removeEventListener('beforeunload', this.preventClose);\n }\n\n view() {\n const poll = this.attrs.poll;\n const options = poll.options() || [];\n let maxVotes = poll.allowMultipleVotes() ? poll.maxVotes() : 1;\n\n if (maxVotes === 0) maxVotes = options.length;\n\n const infoItems = this.infoItems(maxVotes);\n\n return (\n \n
\n
{poll.question()} \n\n {poll.canSeeVoters() && (\n \n \n \n )}\n\n {poll.canEdit() && (\n \n \n \n )}\n {poll.canDelete() && (\n \n \n \n )}\n \n\n
\n
{options.map(this.viewOption.bind(this))}
\n\n
\n {!infoItems.isEmpty() &&
{infoItems.toArray()}
}\n\n {this.useSubmitUI && this.pendingSubmit && (\n
\n {app.translator.trans('fof-polls.forum.poll.submit_button')}\n \n )}\n
\n
\n
\n );\n }\n\n infoItems(maxVotes) {\n const items = new ItemList();\n const poll = this.attrs.poll;\n const hasVoted = poll.myVotes()?.length > 0;\n\n if (app.session.user && !poll.canVote() && !poll.hasEnded()) {\n items.add(\n 'no-permission',\n \n \n {app.translator.trans('fof-polls.forum.no_permission')}\n \n );\n }\n\n if (poll.endDate()) {\n items.add(\n 'end-date',\n \n \n {poll.hasEnded()\n ? app.translator.trans('fof-polls.forum.poll_ended')\n : app.translator.trans('fof-polls.forum.days_remaining', { time: dayjs(poll.endDate()).fromNow() })}\n \n );\n }\n\n if (poll.canVote()) {\n items.add(\n 'max-votes',\n \n \n {app.translator.trans('fof-polls.forum.max_votes_allowed', { max: maxVotes })}\n \n );\n\n if (!poll.canChangeVote()) {\n items.add(\n 'cannot-change-vote',\n \n \n {app.translator.trans('fof-polls.forum.poll.cannot_change_vote')}\n \n );\n }\n }\n\n return items;\n }\n\n viewOption(opt) {\n const poll = this.attrs.poll;\n const hasVoted = poll.myVotes()?.length > 0;\n const totalVotes = poll.voteCount();\n\n const voted = this.pendingOptions ? this.pendingOptions.has(opt.id()) : poll.myVotes()?.some?.((vote) => vote.option() === opt);\n const votes = opt.voteCount();\n const percent = totalVotes > 0 ? Math.round((votes / totalVotes) * 100) : 0;\n\n // isNaN(null) is false, so we have to check type directly now that API always returns the field\n const canSeeVoteCount = typeof votes === 'number';\n const isDisabled = this.loadingOptions || (hasVoted && !poll.canChangeVote());\n const width = canSeeVoteCount ? percent : (Number(voted) / (poll.myVotes()?.length || 1)) * 100;\n\n const showCheckmark = !app.session.user || (!poll.hasEnded() && poll.canVote() && (!hasVoted || poll.canChangeVote()));\n\n const bar = (\n \n {showCheckmark && (\n
\n \n \n \n )}\n\n
\n {opt.answer()} \n {voted && !showCheckmark && icon('fas fa-check-circle', { className: 'PollAnswer-check' })}\n {canSeeVoteCount && {percent}% }\n
\n\n {opt.imageUrl() ?
: null}\n
\n );\n\n return (\n \n {canSeeVoteCount ? (\n \n {bar}\n \n ) : (\n bar\n )}\n
\n );\n }\n\n changeVote(option, evt) {\n if (!app.session.user) {\n app.modal.show(LogInModal);\n evt.target.checked = false;\n return;\n }\n\n const optionIds = this.pendingOptions || new Set(this.attrs.poll.myVotes().map?.((v) => v.option().id()));\n const isUnvoting = optionIds.delete(option.id());\n const allowsMultiple = this.attrs.poll.allowMultipleVotes();\n\n if (!allowsMultiple) {\n optionIds.clear();\n }\n\n if (!isUnvoting) {\n optionIds.add(option.id());\n }\n\n if (this.useSubmitUI) {\n this.pendingOptions = optionIds.size ? optionIds : null;\n this.pendingSubmit = !!this.pendingOptions;\n return;\n }\n\n return this.submit(optionIds, null, () => (evt.target.checked = isUnvoting));\n }\n\n onsubmit() {\n return this.submit(this.pendingOptions, () => {\n this.pendingOptions = null;\n this.pendingSubmit = false;\n });\n }\n\n submit(optionIds, cb, onerror) {\n this.loadingOptions = true;\n m.redraw();\n\n return app\n .request({\n method: 'PATCH',\n url: `${app.forum.attribute('apiUrl')}/fof/polls/${this.attrs.poll.id()}/votes`,\n body: {\n data: {\n optionIds: Array.from(optionIds),\n },\n },\n })\n .then((res) => {\n app.store.pushPayload(res);\n cb?.();\n })\n .catch((err) => {\n onerror?.(err);\n })\n .finally(() => {\n this.loadingOptions = false;\n\n m.redraw();\n });\n }\n\n showVoters() {\n // Load all the votes only when opening the votes list\n app.modal.show(ListVotersModal, {\n poll: this.attrs.poll,\n post: this.attrs.post,\n });\n }\n\n deletePoll() {\n if (confirm(app.translator.trans('fof-polls.forum.moderation.delete_confirm'))) {\n this.attrs.poll.delete().then(() => {\n m.redraw.sync();\n });\n }\n }\n\n /**\n * Attempting to use the `tooltipVisible` attr on the Tooltip component set to 'false' when no vote count\n * caused the tooltip to break on click. This is a workaround to hide the tooltip when no vote count is available,\n * called on 'onremove' of the Tooltip component. It doesn't always work as intended either, but it does the job.\n */\n hideOptionTooltip(vnode) {\n vnode.attrs.tooltipVisible = false;\n vnode.state.updateVisibility();\n }\n\n /**\n * Alert before navigating away using browser's 'beforeunload' event\n */\n preventClose(e) {\n if (this.pendingOptions) {\n e.preventDefault();\n return true;\n }\n }\n}\n","export default class FormError extends Error {}\n","import CreatePollModal from './CreatePollModal';\nimport PostPoll from './PostPoll';\nimport EditPollModal from './EditPollModal';\nimport ListVotersModal from './ListVotersModal';\nimport PollForm from './PollForm';\n\nexport const components = {\n CreatePollModal,\n PostPoll,\n EditPollModal,\n ListVotersModal,\n PollForm,\n};\n","import Extend from 'flarum/common/extenders';\nimport Post from 'flarum/common/models/Post';\nimport Forum from 'flarum/common/models/Forum';\nimport Discussion from 'flarum/common/models/Discussion';\nimport Poll from './models/Poll';\nimport PollOption from './models/PollOption';\nimport PollVote from './models/PollVote';\nimport PollsPage from './components/PollsPage';\nimport ComposePollPage from './components/ComposePollPage';\n\nexport default [\n new Extend.Routes() //\n // .add('fof_polls_directory', '/polls', PollsDirectory),\n .add('fof_polls_directory', '/polls', PollsPage)\n .add('fof_polls_compose', '/polls/composer', ComposePollPage),\n\n new Extend.Store() //\n .add('polls', Poll)\n .add('poll_options', PollOption)\n .add('poll_votes', PollVote),\n\n new Extend.Model(Post) //\n .hasMany('polls')\n .attribute('canStartPoll'),\n\n new Extend.Model(Forum) //\n .attribute('canStartPolls'),\n\n new Extend.Model(Discussion) //\n .attribute('hasPoll')\n .attribute('canStartPoll'),\n];\n","import app from 'flarum/forum/app';\n\nimport addDiscussionBadge from './addDiscussionBadge';\nimport addComposerItems from './addComposerItems';\nimport addPollsToPost from './addPollsToPost';\nimport addPostControls from './addPostControls';\nimport addNavItem from './addNavItem';\n\nexport * from './components';\nexport * from './models';\n\nimport PollsPage from './components/PollsPage';\n\napp.initializers.add('fof/polls', () => {\n addDiscussionBadge();\n addComposerItems();\n addPollsToPost();\n addPostControls();\n addNavItem();\n});\n\nexport { default as extend } from './extend';\n","import Model from 'flarum/common/Model';\nimport PollOption from './PollOption';\nimport PollVote from './PollVote';\nimport computed from 'flarum/common/utils/computed';\n\nexport default class Poll extends Model {\n question() {\n return Model.attribute('question').call(this);\n }\n\n hasEnded() {\n return Model.attribute('hasEnded').call(this);\n }\n\n endDate() {\n return Model.attribute('endDate', Model.transformDate).call(this);\n }\n\n publicPoll() {\n return Model.attribute('publicPoll').call(this);\n }\n\n hideVotes() {\n return Model.attribute('hideVotes').call(this);\n }\n\n allowChangeVote() {\n return Model.attribute('allowChangeVote').call(this);\n }\n\n allowMultipleVotes() {\n return Model.attribute('allowMultipleVotes').call(this);\n }\n\n maxVotes() {\n return Model.attribute('maxVotes').call(this);\n }\n\n voteCount() {\n return Model.attribute('voteCount').call(this);\n }\n\n canVote() {\n return Model.attribute('canVote').call(this);\n }\n\n canEdit() {\n return Model.attribute('canEdit').call(this);\n }\n\n canDelete() {\n return Model.attribute('canDelete').call(this);\n }\n\n canSeeVoters() {\n return Model.attribute('canSeeVoters').call(this);\n }\n\n canChangeVote() {\n return Model.attribute('canChangeVote').call(this);\n }\n\n options() {\n return Model.hasMany('options').call(this);\n }\n\n votes() {\n return Model.hasMany('votes').call(this);\n }\n\n myVotes() {\n return Model.hasMany('myVotes').call(this);\n }\n\n isGlobal() {\n return Model.attribute('isGlobal').call(this);\n }\n\n isHidden() {\n return computed('hiddenAt', (hiddenAt) => !!hiddenAt).call(this);\n }\n\n // TODO: These two don't make sense as of now\n isUnread() {\n return false;\n }\n\n apiEndpoint() {\n /** @ts-ignore */\n return `/fof/polls${this.exists ? `/${this.data.id}` : ''}`;\n }\n}\n","import Model from 'flarum/common/Model';\nimport Poll from './Poll';\nimport PollVote from './PollVote';\n\nexport default class PollOption extends Model {\n answer() {\n return Model.attribute('answer').call(this);\n }\n\n imageUrl() {\n return Model.attribute('imageUrl').call(this);\n }\n\n voteCount() {\n return Model.attribute('voteCount').call(this);\n }\n\n poll() {\n return Model.hasOne('polls').call(this);\n }\n\n votes() {\n return Model.hasMany('votes').call(this);\n }\n\n apiEndpoint() {\n /** @ts-ignore */\n return `/fof/polls/answers${this.exists ? `/${this.data.id}` : ''}`;\n }\n}\n","import Model from 'flarum/common/Model';\nimport Poll from './Poll';\nimport PollOption from './PollOption';\nimport User from 'flarum/common/models/User';\n\nexport default class PollVote extends Model {\n poll() {\n return Model.hasOne('poll').call(this);\n }\n\n option() {\n return Model.hasOne('option').call(this);\n }\n\n user() {\n return Model.hasOne('user').call(this);\n }\n\n pollId() {\n return Model.attribute('pollId').call(this);\n }\n\n optionId() {\n return Model.attribute('optionId').call(this);\n }\n\n apiEndpoint() {\n return `/fof/polls/${this.pollId()}/vote`;\n }\n}\n","import Poll from './Poll';\nimport PollOption from './PollOption';\nimport PollVote from './PollVote';\n\nexport const models = {\n Poll,\n PollOption,\n PollVote,\n};\n","import app from 'flarum/forum/app';\n\nexport default class PollFormState {\n static createNewPoll() {\n const poll = app.store.createRecord('polls');\n poll.pushAttributes({\n question: '',\n endDate: '',\n publicPoll: false,\n allowMultipleVotes: false,\n hideVotes: false,\n allowChangeVote: false,\n maxVotes: 0,\n });\n poll.pushData({ relationships: { options: [] } });\n return poll;\n }\n\n constructor(poll) {\n if (!poll) {\n poll = PollFormState.createNewPoll();\n }\n\n this.loading = false;\n this.deleting = false;\n this.poll = poll;\n this.expandedGroup = 'setup';\n }\n\n isExpanded(groupKey) {\n return this.expandedGroup === groupKey;\n }\n\n expand(groupKey) {\n this.expandedGroup = groupKey;\n m.redraw();\n }\n\n async save(data) {\n this.loading = true;\n m.redraw();\n\n try {\n this.poll = await this.poll.save(data);\n } finally {\n this.loading = false;\n m.redraw();\n }\n }\n\n async delete() {\n this.loading = true;\n m.redraw();\n\n try {\n await this.poll.delete();\n this.deleting = true;\n } finally {\n this.loading = false;\n m.redraw();\n }\n }\n}\n","import app from 'flarum/forum/app';\nimport PaginatedListState, { Page, PaginatedListParams, PaginatedListRequestParams } from 'flarum/common/states/PaginatedListState';\nimport Poll from '../models/Poll';\nimport { ApiResponsePlural } from 'flarum/common/Store';\nimport EventEmitter from 'flarum/common/utils/EventEmitter';\n\nexport interface PollListParams extends PaginatedListParams {\n sort?: string;\n}\n\nconst globalEventEmitter = new EventEmitter();\n\nexport default class PollListState extends PaginatedListState {\n protected extraPolls: Poll[] = [];\n protected eventEmitter: EventEmitter;\n\n constructor(params: P, page: number = 1) {\n super(params, page, 20);\n\n this.eventEmitter = globalEventEmitter.on('poll.deleted', this.deletePoll.bind(this));\n }\n\n get type(): string {\n return 'fof/polls';\n }\n\n requestParams(): PaginatedListRequestParams {\n const params = {\n include: ['options', 'votes'],\n filter: this.params.filter || {},\n sort: this.sortMap()[this.params.sort ?? ''],\n };\n\n if (this.params.q) {\n params.filter.q = this.params.q;\n }\n\n return params;\n }\n\n protected loadPage(page: number = 1): Promise> {\n const preloadedPolls = app.preloadedApiDocument();\n\n if (preloadedPolls) {\n this.initialLoading = false;\n\n return Promise.resolve(preloadedPolls);\n }\n\n return super.loadPage(page);\n }\n\n clear(): void {\n super.clear();\n\n this.extraPolls = [];\n }\n\n /**\n * Get a map of sort keys (which appear in the URL, and are used for\n * translation) to the API sort value that they represent.\n */\n sortMap() {\n const map: any = {};\n\n if (this.params.q) {\n map.relevance = '';\n }\n map.newest = '-createdAt';\n map.oldest = 'createdAt';\n\n return map;\n }\n\n /**\n * In the last request, has the user searched for a poll?\n */\n isSearchResults(): boolean {\n return !!this.params.q;\n }\n\n removePoll(poll: Poll): void {\n this.eventEmitter.emit('poll.deleted', poll);\n }\n\n deletePoll(poll: Poll): void {\n for (const page of this.pages) {\n const index = page.items.indexOf(poll);\n\n if (index !== -1) {\n page.items.splice(index, 1);\n break;\n }\n }\n\n const index = this.extraPolls.indexOf(poll);\n\n if (index !== -1) {\n this.extraPolls.splice(index);\n }\n\n m.redraw();\n }\n\n /**\n * Add a poll to the top of the list.\n */\n addPoll(poll: Poll): void {\n this.removePoll(poll);\n this.extraPolls.unshift(poll);\n\n m.redraw();\n }\n\n protected getAllItems(): Poll[] {\n return this.extraPolls.concat(super.getAllItems());\n }\n\n public getPages(): Page[] {\n const pages = super.getPages();\n\n if (this.extraPolls.length) {\n return [\n {\n number: -1,\n items: this.extraPolls,\n },\n ...pages,\n ];\n }\n\n return pages;\n }\n}\n","module.exports = flarum.core.compat['common/Component'];","module.exports = flarum.core.compat['common/Model'];","module.exports = flarum.core.compat['common/components/Badge'];","module.exports = flarum.core.compat['common/components/Button'];","module.exports = flarum.core.compat['common/components/Dropdown'];","module.exports = flarum.core.compat['common/components/Link'];","module.exports = flarum.core.compat['common/components/LinkButton'];","module.exports = flarum.core.compat['common/components/LoadingIndicator'];","module.exports = flarum.core.compat['common/components/Modal'];","module.exports = flarum.core.compat['common/components/Page'];","module.exports = flarum.core.compat['common/components/Placeholder'];","module.exports = flarum.core.compat['common/components/SelectDropdown'];","module.exports = flarum.core.compat['common/components/Switch'];","module.exports = flarum.core.compat['common/components/Tooltip'];","module.exports = flarum.core.compat['common/extend'];","module.exports = flarum.core.compat['common/extenders'];","module.exports = flarum.core.compat['common/helpers/avatar'];","module.exports = flarum.core.compat['common/helpers/highlight'];","module.exports = flarum.core.compat['common/helpers/icon'];","module.exports = flarum.core.compat['common/helpers/listItems'];","module.exports = flarum.core.compat['common/helpers/username'];","module.exports = flarum.core.compat['common/models/Discussion'];","module.exports = flarum.core.compat['common/models/Forum'];","module.exports = flarum.core.compat['common/models/Post'];","module.exports = flarum.core.compat['common/states/PaginatedListState'];","module.exports = flarum.core.compat['common/utils/EventEmitter'];","module.exports = flarum.core.compat['common/utils/ItemList'];","module.exports = flarum.core.compat['common/utils/Stream'];","module.exports = flarum.core.compat['common/utils/SubtreeRetainer'];","module.exports = flarum.core.compat['common/utils/abbreviateNumber'];","module.exports = flarum.core.compat['common/utils/classList'];","module.exports = flarum.core.compat['common/utils/computed'];","module.exports = flarum.core.compat['common/utils/extractText'];","module.exports = flarum.core.compat['forum/app'];","module.exports = flarum.core.compat['forum/components/CommentPost'];","module.exports = flarum.core.compat['forum/components/DiscussionComposer'];","module.exports = flarum.core.compat['forum/components/DiscussionList'];","module.exports = flarum.core.compat['forum/components/DiscussionPage'];","module.exports = flarum.core.compat['forum/components/IndexPage'];","module.exports = flarum.core.compat['forum/components/LogInModal'];","module.exports = flarum.core.compat['forum/components/ReplyComposer'];","module.exports = flarum.core.compat['forum/utils/PostControls'];","module.exports = flarum.core.compat['forum/utils/slidable'];","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\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}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\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 _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\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};"],"names":["Acl","canManagePools","canStartPoll","default","slug","app","extend","classList","DiscussionComposer","ReplyComposer","CreatePollModal","addToComposer","composer","prototype","addPoll","_this","modal","show","poll","fields","onsubmit","items","_this$composer$body","_discussion$canStartP","discussion","body","attrs","forum","canStartPolls","add","m","className","onclick","bind","translator","trans","data","Badge","DiscussionList","Discussion","params","include","push","badges","hasPoll","component","type","label","icon","IndexPage","LinkButton","addNavItem","href","route","CommentPost","PostPoll","DiscussionPage","content","post","isHidden","revealContent","polls","_iterator","_createForOfIteratorHelperLoose","_step","done","value","subtree","check","checks","map","_poll$data","_poll$options$map","_poll$options","_poll$myVotes$map","_poll$myVotes","attributes","options","call","option","_option$data","myVotes","vote","_vote$option","id","JSON","stringify","pusher","then","binding","channels","main","store","getById","pushAttributes","voteCount","changedOptions","optionId","undefined","redraw","unbind","PostControls","Button","createPoll","createRecord","save","_extends","relationships","_post$rawRelationship","rawRelationship","Component","t","prfx","ComposePollHero","_Component","_inheritsLoose","apply","arguments","_proto","view","itemClassName","exists","external","target","Page","LoadingIndicator","PollForm","PollFormState","ComposePollPage","_Page","_len","length","args","Array","_key","concat","loading","oninit","vnode","_this2","_this$poll","set","editId","param","find","item","_this2$poll","setTitle","createNewPoll","history","bodyClass","Modal","_Modal","title","hide","EditPollModal","_CreatePollModal","avatar","username","Link","Stream","ListVotersModal","optionContent","opt","votes","filter","v","answer","voteContent","user","PollTitle","PollOptions","PollSubmitButton","PollImage","IndexPolls","image","text","question","Switch","ItemList","extractText","FormError","state","optionAnswers","o","optionImageUrls","imageUrl","endDate","formatDate","publicPoll","allowMultipleVotes","hideVotes","allowChangeVote","maxVotes","datepickerMinDate","dayjs","isAfter","toArray","name","bidi","addOption","displayOptions","min","max","isBefore","time","fromNow","onchange","disabled","deleting","Object","keys","i","placeholder","attribute","removeOption","Math","alert","splice","dateToTimestamp","_onsubmit","_asyncToGenerator","_regeneratorRuntime","mark","_callee","e","_this3","alertId","wrap","_callee$","_context","prev","next","preventDefault","alerts","controls","edit","collection","setTimeout","dismiss","t0","message","finish","stop","_x","_delete2","_callee2","_callee2$","_context2","confirm","abrupt","_delete","date","def","dayjsDate","isValid","format","PollListItem","Placeholder","PollList","getParams","isLoading","isInitialLoading","isLoadingNext","hasNext","loadNext","isEmpty","pageSize","isSearchResults","getPages","pg","key","SubtreeRetainer","Dropdown","highlight","slidable","PollPage","abbreviateNumber","highlightRegExp","freshness","session","markedAllAsReadAt","getTime","active","elementAttrs","Slidable","window","contentView","slidableUnderneathView","controlsView","buttonClassName","accessibleToggleLabel","isUnread","markAsRead","mainView","voteCountItem","oncreate","slidableInstance","element","$","on","reset","onbeforeupdate","needsRebuild","current","matches","lastVotedNumber","count","PollOptionLabel","PollOptionInput","PollOption","isResult","style","opacity","PollResult","pollOptions","forEach","PollResultsNumber","PollResults","number","step","pollButtonSubmit","console","log","listItems","LogInModal","PollListState","SelectDropdown","PollsPage","initListView","sort","refresh","hero","sidebarItems","viewItems","actionItems","newPollAction","navItems","_this4","Tooltip","_this$attrs$poll","_this$attrs$poll2","loadingOptions","useSubmitUI","canChangeVote","pendingSubmit","pendingOptions","preventClose","addEventListener","onremove","removeEventListener","infoItems","canSeeVoters","showVoters","canEdit","canDelete","deletePoll","viewOption","hasVoted","canVote","hasEnded","_poll$myVotes2","_poll$myVotes3","_poll$myVotes4","totalVotes","voted","has","some","percent","round","canSeeVoteCount","isDisabled","width","Number","showCheckmark","bar","changeVote","checked","src","alt","hideOptionTooltip","evt","_this$attrs$poll$myVo","_this$attrs$poll$myVo2","optionIds","Set","isUnvoting","allowsMultiple","clear","size","submit","cb","onerror","request","method","url","from","res","pushPayload","err","sync","tooltipVisible","updateVisibility","_Error","_wrapNativeSuper","Error","components","Extend","Post","Forum","Poll","PollVote","Routes","Store","Model","hasMany","addDiscussionBadge","addComposerItems","addPollsToPost","addPostControls","initializers","computed","_Model","transformDate","isGlobal","hiddenAt","apiEndpoint","hasOne","pollId","models","pushData","expandedGroup","isExpanded","groupKey","expand","_save","sent","PaginatedListState","EventEmitter","globalEventEmitter","_PaginatedListState","page","extraPolls","eventEmitter","_assertThisInitialized","requestParams","_this$params$sort","sortMap","q","loadPage","preloadedPolls","preloadedApiDocument","initialLoading","Promise","resolve","relevance","newest","oldest","removePoll","emit","pages","index","indexOf","unshift","getAllItems","_createClass","get","_typeof","require","module","exports","__esModule","r","n","hasOwnProperty","defineProperty","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","Generator","create","Context","makeInvokeMethod","tryCatch","arg","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","values","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","__await","callInvokeWithMethodAndArg","delegate","maybeInvokeDelegate","_sent","dispatchException","TypeError","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","isNaN","displayName","isGeneratorFunction","constructor","setPrototypeOf","__proto__","awrap","async","reverse","pop","charAt","slice","rval","handle","complete","_catch","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","globalThis","Function","self","ReferenceError","asyncGeneratorStep","gen","reject","_next","_throw","info","error","fn","isNativeReflectConstruct","_construct","Reflect","construct","toPropertyKey","_defineProperties","props","descriptor","Constructor","protoProps","staticProps","assign","source","_getPrototypeOf","subClass","superClass","_isNativeFunction","toString","_isNativeReflectConstruct","Boolean","valueOf","_setPrototypeOf","toPrimitive","String","isNativeFunction","Class","_cache","Map","Wrapper"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/src/common/Acl.tsx b/js/src/common/Acl.tsx
index fbe89ece..043ad8db 100644
--- a/js/src/common/Acl.tsx
+++ b/js/src/common/Acl.tsx
@@ -1,10 +1,10 @@
export default class Acl {
- static canManagePools():boolean {
- return true;
- }
+ static canManagePools(): boolean {
+ return true;
+ }
- static canStartPoll():boolean {
- return true;
- //app.forum.attribute('canStartPoll') || !app.session.user;
- }
-}
\ No newline at end of file
+ static canStartPoll(): boolean {
+ return true;
+ //app.forum.attribute('canStartPoll') || !app.session.user;
+ }
+}
diff --git a/js/src/common/index.js b/js/src/common/index.js
index b6f1cc5a..65c93072 100644
--- a/js/src/common/index.js
+++ b/js/src/common/index.js
@@ -1 +1 @@
-export const slug = 'fof-polls';
\ No newline at end of file
+export const slug = 'fof-polls';
diff --git a/js/src/forum/components/ComposePollHero.tsx b/js/src/forum/components/ComposePollHero.tsx
index ccfc6bea..0e6b37c4 100644
--- a/js/src/forum/components/ComposePollHero.tsx
+++ b/js/src/forum/components/ComposePollHero.tsx
@@ -1,46 +1,46 @@
-import Mithril from "mithril";
-import app from "flarum/forum/app";
-import Component from "flarum/common/Component";
-import {slug} from "../../common";
-import LinkButton from "flarum/common/components/LinkButton";
+import Mithril from 'mithril';
+import app from 'flarum/forum/app';
+import Component from 'flarum/common/Component';
+import { slug } from '../../common';
+import LinkButton from 'flarum/common/components/LinkButton';
const t = app.translator.trans.bind(app.translator);
const prfx = `${slug}.forum.compose`;
export default class ComposePollHero extends Component {
- view(): Mithril.Children {
- const { poll } = this.attrs;
+ view(): Mithril.Children {
+ const { poll } = this.attrs;
- return (
-
-
-
-
- {t(`${prfx}.${!!poll.id() ? 'edit' : 'add'}_title`)}
-
-
-
- {t(`${prfx}.polls_manager`)}
-
- {poll.exists && (
-
- {t(`${prfx}.polls_preview`)}
-
- )}
-
-
-
+ return (
+
+
+
+
{t(`${prfx}.${!!poll.id() ? 'edit' : 'add'}_title`)}
+
+
+ {t(`${prfx}.polls_manager`)}
+
+ {poll.exists && (
+
+ {t(`${prfx}.polls_preview`)}
+
+ )}
- );
- }
-}
\ No newline at end of file
+
+
+
+ );
+ }
+}
diff --git a/js/src/forum/components/ComposePollPage.tsx b/js/src/forum/components/ComposePollPage.tsx
index 11134d72..da765071 100644
--- a/js/src/forum/components/ComposePollPage.tsx
+++ b/js/src/forum/components/ComposePollPage.tsx
@@ -3,65 +3,64 @@ import app from 'flarum/forum/app';
import Page from 'flarum/common/components/Page';
import Poll from './Poll';
import LoadingIndicator from 'flarum/common/components/LoadingIndicator';
-import PollForm from "./PollForm";
-import Acl from "../../common/Acl";
-import PollFormState from "../states/PollFormState";
-import {slug} from "../../common";
-import ComposePollHero from "./ComposePollHero";
+import PollForm from './PollForm';
+import Acl from '../../common/Acl';
+import PollFormState from '../states/PollFormState';
+import { slug } from '../../common';
+import ComposePollHero from './ComposePollHero';
const t = app.translator.trans.bind(app.translator);
const prfx = `${slug}.forum.compose`;
export default class ComposePollPage extends Page {
+ poll: Poll | null = null;
- poll: Poll | null = null;
+ loading: boolean = false;
- loading: boolean = false;
+ oninit(vnode) {
+ super.oninit(vnode);
- oninit(vnode) {
- super.oninit(vnode);
-
- // If user not allowed to manage goodie collections, redirect to home
- if (!Acl.canManagePools()) {
- m.route.set(app.route('home'));
- }
-
- // Get the `edit` parameter from the URL
- const editId = m.route.param('id');
- if (editId) {
- this.poll = app.store.getById('poll', editId);
+ // If user not allowed to manage goodie collections, redirect to home
+ if (!Acl.canManagePools()) {
+ m.route.set(app.route('home'));
+ }
- if (!this.poll) {
- this.loading = true;
+ // Get the `edit` parameter from the URL
+ const editId = m.route.param('id');
+ if (editId) {
+ this.poll = app.store.getById('poll', editId);
- app.store.find('fof/polls', editId).then((item) => {
- this.poll = item;
- this.loading = false;
- app.setTitle(t(`${prfx}.${!!this.poll?.id() ? 'edit' : 'add'}_title`));
- m.redraw();
- });
- }
- } else {
- this.poll = PollFormState.createNewPoll();
- }
+ if (!this.poll) {
+ this.loading = true;
- app.history.push('compose-goodie-collection');
- this.bodyClass = 'App--compose-goodie-collection';
- app.setTitle(t(`${prfx}.${!!this.poll?.id() ? 'edit' : 'add'}_title`));
+ app.store.find('fof/polls', editId).then((item) => {
+ this.poll = item;
+ this.loading = false;
+ app.setTitle(t(`${prfx}.${!!this.poll?.id() ? 'edit' : 'add'}_title`));
+ m.redraw();
+ });
+ }
+ } else {
+ this.poll = PollFormState.createNewPoll();
}
- view(): Mithril.Children {
- if (this.loading) {
- return
;
- }
+ app.history.push('compose-goodie-collection');
+ this.bodyClass = 'App--compose-goodie-collection';
+ app.setTitle(t(`${prfx}.${!!this.poll?.id() ? 'edit' : 'add'}_title`));
+ }
- return (
-
- );
+ view(): Mithril.Children {
+ if (this.loading) {
+ return
;
}
-}
\ No newline at end of file
+
+ return (
+
+ );
+ }
+}
diff --git a/js/src/forum/components/CreatePollModal.js b/js/src/forum/components/CreatePollModal.js
index bbff6ed0..d0725cac 100755
--- a/js/src/forum/components/CreatePollModal.js
+++ b/js/src/forum/components/CreatePollModal.js
@@ -3,7 +3,6 @@ import Modal from 'flarum/common/components/Modal';
import PollForm from './PollForm';
export default class CreatePollModal extends Modal {
-
title() {
return app.translator.trans('fof-polls.forum.modal.add_title');
}
diff --git a/js/src/forum/components/Poll.tsx b/js/src/forum/components/Poll.tsx
index 87ac2b65..5faeeca6 100644
--- a/js/src/forum/components/Poll.tsx
+++ b/js/src/forum/components/Poll.tsx
@@ -8,8 +8,8 @@ import PollImage from './Poll/PollImage';
export default class IndexPolls extends Component {
view(): Mithril.Children {
- /* @type Poll */
- const poll = this.attrs.poll;
+ /* @type Poll */
+ const poll = this.attrs.poll;
return (
diff --git a/js/src/forum/components/Poll/PollOption.tsx b/js/src/forum/components/Poll/PollOption.tsx
index 2aaaab4b..4e3a3257 100644
--- a/js/src/forum/components/Poll/PollOption.tsx
+++ b/js/src/forum/components/Poll/PollOption.tsx
@@ -4,15 +4,15 @@ import PollOptionLabel from './PollOptionLabel';
import PollOptionInput from './PollOptionInput';
export default class PollOption extends Component {
- view(): Mithril.Children {
- const option = this.attrs.option;
- return (
-
-
-
-
-
-
- );
- }
+ view(): Mithril.Children {
+ const option = this.attrs.option;
+ return (
+
+
+
+
+
+
+ );
+ }
}
diff --git a/js/src/forum/components/Poll/PollOptionLabel.tsx b/js/src/forum/components/Poll/PollOptionLabel.tsx
index 4c4303cb..54b97142 100644
--- a/js/src/forum/components/Poll/PollOptionLabel.tsx
+++ b/js/src/forum/components/Poll/PollOptionLabel.tsx
@@ -3,12 +3,11 @@ import Component, { ComponentAttrs } from 'flarum/common/Component';
interface PollOptionLabelAttrs extends ComponentAttrs {
text: String;
- id: Number;
+ id: Number;
}
export default class PollOptionLabel extends Component
{
view(): Mithril.Children {
-
return (
{this.attrs.text}
diff --git a/js/src/forum/components/Poll/PollOptions.tsx b/js/src/forum/components/Poll/PollOptions.tsx
index 8d2b1d29..ec9284a3 100644
--- a/js/src/forum/components/Poll/PollOptions.tsx
+++ b/js/src/forum/components/Poll/PollOptions.tsx
@@ -12,8 +12,8 @@ export default class PollOptions extends Component {
pollOptions(): ItemList {
const items = new ItemList();
- this.attrs.options.forEach((option:PollOptionModel):void => {
- items.add('option' + option.id(), );
+ this.attrs.options.forEach((option: PollOptionModel): void => {
+ items.add('option' + option.id(), );
});
items.add('test5', );
diff --git a/js/src/forum/components/PollForm.js b/js/src/forum/components/PollForm.js
index 4ca9ff5a..44f19b38 100644
--- a/js/src/forum/components/PollForm.js
+++ b/js/src/forum/components/PollForm.js
@@ -1,4 +1,4 @@
-import {slug} from '../../common';
+import { slug } from '../../common';
import Component from 'flarum/common/Component';
import app from 'flarum/forum/app';
import Button from 'flarum/common/components/Button';
@@ -7,368 +7,360 @@ import ItemList from 'flarum/common/utils/ItemList';
import Stream from 'flarum/common/utils/Stream';
import extractText from 'flarum/common/utils/extractText';
import FormError from './form/FormError';
-import PollFormState from "../states/PollFormState";
+import PollFormState from '../states/PollFormState';
// Make translation calls shorter
const t = app.translator.trans.bind(app.translator);
const prfx = `${slug}.forum.poll_form`;
export default class PollForm extends Component {
- oninit(vnode) {
- super.oninit(vnode);
- this.state = new PollFormState(this.attrs.poll);
-
- // state handles poll initialization
- const poll = this.state.poll;
-
- //@todo way the options are destructured into options (answers) and optionImageUrls
- this.options = poll.options();
- this.optionAnswers = this.options.map((o) => Stream(o.answer()));
- this.optionImageUrls = this.options.map((o) => Stream(o.imageUrl()));
-
- this.question = Stream(poll.question());
- this.endDate = Stream(this.formatDate(poll.endDate()));
- this.publicPoll = Stream(poll.publicPoll());
- this.allowMultipleVotes = Stream(poll.allowMultipleVotes());
- this.hideVotes = Stream(poll.hideVotes());
- this.allowChangeVote = Stream(poll.allowChangeVote());
- this.maxVotes = Stream(poll.maxVotes() || 0);
-
- this.datepickerMinDate = this.formatDate(undefined);
-
- // Replace minimum of 'today' for poll end date only if the poll is not already closed
- if (this.endDate() && dayjs(poll.endDate).isAfter(dayjs())) {
- this.datepickerMinDate = this.formatDate(poll.endDate);
- }
+ oninit(vnode) {
+ super.oninit(vnode);
+ this.state = new PollFormState(this.attrs.poll);
+
+ // state handles poll initialization
+ const poll = this.state.poll;
+
+ //@todo way the options are destructured into options (answers) and optionImageUrls
+ this.options = poll.options();
+ this.optionAnswers = this.options.map((o) => Stream(o.answer()));
+ this.optionImageUrls = this.options.map((o) => Stream(o.imageUrl()));
+
+ this.question = Stream(poll.question());
+ this.endDate = Stream(this.formatDate(poll.endDate()));
+ this.publicPoll = Stream(poll.publicPoll());
+ this.allowMultipleVotes = Stream(poll.allowMultipleVotes());
+ this.hideVotes = Stream(poll.hideVotes());
+ this.allowChangeVote = Stream(poll.allowChangeVote());
+ this.maxVotes = Stream(poll.maxVotes() || 0);
+
+ this.datepickerMinDate = this.formatDate(undefined);
+
+ // Replace minimum of 'today' for poll end date only if the poll is not already closed
+ if (this.endDate() && dayjs(poll.endDate).isAfter(dayjs())) {
+ this.datepickerMinDate = this.formatDate(poll.endDate);
}
-
- view() {
- return (
-
- )
+ }
+
+ view() {
+ return (
+
+ );
+ }
+
+ fields() {
+ const items = new ItemList();
+
+ items.add(
+ 'question',
+
+ {app.translator.trans('fof-polls.forum.modal.question_placeholder')}
+
+
+
,
+ 100
+ );
+
+ items.add(
+ 'answers',
+
+
+ {app.translator.trans('fof-polls.forum.modal.options_label')}
+
+ {Button.component({
+ className: 'Button PollModal--button small',
+ icon: 'fas fa-plus',
+ onclick: this.addOption.bind(this),
+ })}
+
+
+ {this.displayOptions()}
+
,
+ 80
+ );
+
+ items.add(
+ 'date',
+
+
{app.translator.trans('fof-polls.forum.modal.date_placeholder')}
+
+
+
+ {Button.component({
+ className: 'Button PollModal--button',
+ icon: 'fas fa-times',
+ onclick: this.endDate.bind(this, null),
+ })}
+
+
+ {this.endDate() && (
+
+
+
+ {dayjs(this.endDate()).isBefore(dayjs())
+ ? app.translator.trans('fof-polls.forum.poll_ended')
+ : app.translator.trans('fof-polls.forum.days_remaining', { time: dayjs(this.endDate()).fromNow() })}
+
+ )}
+
,
+ 40
+ );
+
+ items.add(
+ 'public',
+
+ {Switch.component(
+ {
+ state: this.publicPoll() || false,
+ onchange: this.publicPoll,
+ },
+ app.translator.trans('fof-polls.forum.modal.public_poll_label')
+ )}
+
,
+ 20
+ );
+
+ items.add(
+ 'hide-votes',
+
+
+ {app.translator.trans('fof-polls.forum.modal.hide_votes_label')}
+
+
,
+ 20
+ );
+
+ items.add(
+ 'allow-change-vote',
+
+
+ {app.translator.trans('fof-polls.forum.modal.allow_change_vote_label')}
+
+
,
+ 20
+ );
+
+ items.add(
+ 'allow-multiple-votes',
+
+ {Switch.component(
+ {
+ state: this.allowMultipleVotes() || false,
+ onchange: this.allowMultipleVotes,
+ },
+ app.translator.trans('fof-polls.forum.modal.allow_multiple_votes_label')
+ )}
+
,
+ 15
+ );
+
+ if (this.allowMultipleVotes()) {
+ items.add(
+ 'max-votes',
+
+
{app.translator.trans('fof-polls.forum.modal.max_votes_label')}
+
+
+
+
{app.translator.trans('fof-polls.forum.modal.max_votes_help')}
+
,
+ 15
+ );
}
- fields() {
- const items = new ItemList();
-
- items.add(
- 'question',
-
- {app.translator.trans('fof-polls.forum.modal.question_placeholder')}
-
-
-
,
- 100
- );
-
- items.add(
- 'answers',
-
-
- {app.translator.trans('fof-polls.forum.modal.options_label')}
-
- {Button.component({
- className: 'Button PollModal--button small',
- icon: 'fas fa-plus',
- onclick: this.addOption.bind(this),
- })}
-
-
- {this.displayOptions()}
-
,
- 80
- );
-
- items.add(
- 'date',
-
-
{app.translator.trans('fof-polls.forum.modal.date_placeholder')}
-
-
-
- {Button.component({
- className: 'Button PollModal--button',
- icon: 'fas fa-times',
- onclick: this.endDate.bind(this, null),
- })}
-
-
- {this.endDate() && (
-
-
-
- {dayjs(this.endDate()).isBefore(dayjs())
- ? app.translator.trans('fof-polls.forum.poll_ended')
- : app.translator.trans('fof-polls.forum.days_remaining', {time: dayjs(this.endDate()).fromNow()})}
-
- )}
-
,
- 40
- );
-
- items.add(
- 'public',
-
- {Switch.component(
- {
- state: this.publicPoll() || false,
- onchange: this.publicPoll,
- },
- app.translator.trans('fof-polls.forum.modal.public_poll_label')
- )}
-
,
- 20
- );
-
- items.add(
- 'hide-votes',
-
-
- {app.translator.trans('fof-polls.forum.modal.hide_votes_label')}
-
-
,
- 20
- );
-
- items.add(
- 'allow-change-vote',
-
-
- {app.translator.trans('fof-polls.forum.modal.allow_change_vote_label')}
-
-
,
- 20
- );
-
- items.add(
- 'allow-multiple-votes',
-
- {Switch.component(
- {
- state: this.allowMultipleVotes() || false,
- onchange: this.allowMultipleVotes,
- },
- app.translator.trans('fof-polls.forum.modal.allow_multiple_votes_label')
- )}
-
,
- 15
- );
-
- if (this.allowMultipleVotes()) {
- items.add(
- 'max-votes',
-
-
{app.translator.trans('fof-polls.forum.modal.max_votes_label')}
-
-
-
-
{app.translator.trans('fof-polls.forum.modal.max_votes_help')}
-
,
- 15
- );
- }
-
- items.add(
- 'submit',
-
-
- {t('fof-polls.forum.modal.submit')}
-
- {this.state.poll.exists && (
-
- {t(`${prfx}.delete`)}
-
- )}
-
,
- -10
- );
-
- return items;
+ items.add(
+ 'submit',
+
+
+ {t('fof-polls.forum.modal.submit')}
+
+ {this.state.poll.exists && (
+
+ {t(`${prfx}.delete`)}
+
+ )}
+
,
+ -10
+ );
+
+ return items;
+ }
+
+ displayOptions() {
+ return Object.keys(this.options).map((option, i) => (
+
+
+
+ {app.forum.attribute('allowPollOptionImage') ? (
+
+ ) : null}
+
+ {i >= 2
+ ? Button.component({
+ type: 'button',
+ className: 'Button Button--warning PollModal--button',
+ icon: 'fas fa-minus',
+ onclick: i >= 2 ? this.removeOption.bind(this, i) : '',
+ })
+ : ''}
+
+ ));
+ }
+
+ addOption() {
+ const max = Math.max(app.forum.attribute('pollMaxOptions'), 2);
+
+ if (this.options.length < max) {
+ this.options.push(app.store.createRecord('poll_options'));
+ this.optionAnswers.push(Stream(''));
+ this.optionImageUrls.push(Stream(''));
+ } else {
+ alert(extractText(app.translator.trans('fof-polls.forum.modal.max', { max })));
}
+ }
- displayOptions() {
- return Object.keys(this.options).map((option, i) => (
-
-
-
- {app.forum.attribute('allowPollOptionImage') ? (
-
- ) : null}
-
- {i >= 2
- ? Button.component({
- type: 'button',
- className: 'Button Button--warning PollModal--button',
- icon: 'fas fa-minus',
- onclick: i >= 2 ? this.removeOption.bind(this, i) : '',
- })
- : ''}
-
- ));
- }
+ removeOption(i) {
+ this.options.splice(i, 1);
+ this.optionAnswers.splice(i, 1);
+ this.optionImageUrls.splice(i, 1);
+ }
- addOption() {
- const max = Math.max(app.forum.attribute('pollMaxOptions'), 2);
+ data() {
+ const options = this.options.map((o, i) => {
+ if (!o.data.attributes) o.data.attributes = {};
- if (this.options.length < max) {
- this.options.push(app.store.createRecord('poll_options'));
- this.optionAnswers.push(Stream(''));
- this.optionImageUrls.push(Stream(''));
- } else {
- alert(extractText(app.translator.trans('fof-polls.forum.modal.max', { max })));
- }
- }
+ o.data.attributes.answer = this.optionAnswers[i]();
+ o.data.attributes.imageUrl = this.optionImageUrls[i]();
+
+ return o.data;
+ });
- removeOption(i) {
- this.options.splice(i, 1);
- this.optionAnswers.splice(i, 1);
- this.optionImageUrls.splice(i, 1);
+ if (this.question() === '') {
+ throw new FormError(app.translator.trans('fof-polls.forum.modal.include_question'));
}
- data() {
- const options = this.options.map((o, i) => {
- if (!o.data.attributes) o.data.attributes = {};
-
- o.data.attributes.answer = this.optionAnswers[i]();
- o.data.attributes.imageUrl = this.optionImageUrls[i]();
-
- return o.data;
- });
-
- if (this.question() === '') {
- throw new FormError(app.translator.trans('fof-polls.forum.modal.include_question'));
- }
-
- if (options.length < 2) {
- throw new FormError(app.translator.trans('fof-polls.forum.modal.min'));
- }
-
- return {
- question: this.question(),
- endDate: this.dateToTimestamp(this.endDate()),
- publicPoll: this.publicPoll(),
- hideVotes: this.hideVotes(),
- allowChangeVote: this.allowChangeVote(),
- allowMultipleVotes: this.allowMultipleVotes(),
- maxVotes: this.maxVotes(),
- options,
- };
+ if (options.length < 2) {
+ throw new FormError(app.translator.trans('fof-polls.forum.modal.min'));
}
- async onsubmit(e) {
- e.preventDefault();
-
- try {
- await this.state.save(this.data());
-
- // Show success alert
- const alertId = app.alerts.show(
- {
- type: 'success',
- controls: [
-
- m.route.set(
- app.route('compose-poll', {
- edit: this.state.collection.id(),
- }),
- )
- }>
- {t(`${prfx}.continue_editing`)}
- ,
- ],
- },
- t(`${prfx}.success`),
- );
-
- // Hide alert after 10 seconds
- setTimeout(() => app.alerts.dismiss(alertId), 10000);
-
- // Check if we need to call a custom onsubmit callback
- if(this.attrs.onsubmit) {
- this.attrs.onsubmit(this.state.poll);
- }
- else {
- // Otherwise redirect to pools list
- m.route.set(app.route('polls-manager'));
- }
- } catch (e) {
- if (e instanceof FormError) {
- app.alerts.show({type: 'error'}, e.message);
- } else {
- // Show error alert
- app.alerts.show({type: 'error'}, t(`${prfx}.error`));
- }
- } finally {
- this.state.loading = false;
- m.redraw();
- }
+ return {
+ question: this.question(),
+ endDate: this.dateToTimestamp(this.endDate()),
+ publicPoll: this.publicPoll(),
+ hideVotes: this.hideVotes(),
+ allowChangeVote: this.allowChangeVote(),
+ allowMultipleVotes: this.allowMultipleVotes(),
+ maxVotes: this.maxVotes(),
+ options,
+ };
+ }
+
+ async onsubmit(e) {
+ e.preventDefault();
+
+ try {
+ await this.state.save(this.data());
+
+ // Show success alert
+ const alertId = app.alerts.show(
+ {
+ type: 'success',
+ controls: [
+
+ m.route.set(
+ app.route('compose-poll', {
+ edit: this.state.collection.id(),
+ })
+ )
+ }
+ >
+ {t(`${prfx}.continue_editing`)}
+ ,
+ ],
+ },
+ t(`${prfx}.success`)
+ );
+
+ // Hide alert after 10 seconds
+ setTimeout(() => app.alerts.dismiss(alertId), 10000);
+
+ // Check if we need to call a custom onsubmit callback
+ if (this.attrs.onsubmit) {
+ this.attrs.onsubmit(this.state.poll);
+ } else {
+ // Otherwise redirect to pools list
+ m.route.set(app.route('polls-manager'));
+ }
+ } catch (e) {
+ if (e instanceof FormError) {
+ app.alerts.show({ type: 'error' }, e.message);
+ } else {
+ // Show error alert
+ app.alerts.show({ type: 'error' }, t(`${prfx}.error`));
+ }
+ } finally {
+ this.state.loading = false;
+ m.redraw();
}
+ }
- async delete() {
- if (!confirm(t(`${prfx}.delete_confirm`))) {
- return;
- }
-
- try {
- await this.state.delete();
- // Show success alert
- const alertId = app.alerts.show({type: 'success'}, t(`${prfx}.delete_success`));
-
- // Hide alert after 10 seconds
- setTimeout(() => app.alerts.dismiss(alertId), 10000);
-
- // Redirect to polls list
- m.route.set(app.route('polls-manager'));
- } catch (e) {
- // Show error alert
- app.alerts.show({type: 'error'}, t(`${prfx}.delete_error`));
- }
+ async delete() {
+ if (!confirm(t(`${prfx}.delete_confirm`))) {
+ return;
}
- formatDate(date, def = false) {
- const dayjsDate = dayjs(date);
+ try {
+ await this.state.delete();
+ // Show success alert
+ const alertId = app.alerts.show({ type: 'success' }, t(`${prfx}.delete_success`));
- if (date === false || !dayjsDate.isValid()) return def !== false ? this.formatDate(def) : null;
+ // Hide alert after 10 seconds
+ setTimeout(() => app.alerts.dismiss(alertId), 10000);
- return dayjsDate.format('YYYY-MM-DDTHH:mm');
+ // Redirect to polls list
+ m.route.set(app.route('polls-manager'));
+ } catch (e) {
+ // Show error alert
+ app.alerts.show({ type: 'error' }, t(`${prfx}.delete_error`));
}
+ }
- dateToTimestamp(date) {
- const dayjsDate = dayjs(date);
+ formatDate(date, def = false) {
+ const dayjsDate = dayjs(date);
- if (!date || !dayjsDate.isValid()) return false;
+ if (date === false || !dayjsDate.isValid()) return def !== false ? this.formatDate(def) : null;
- return dayjsDate.format();
- }
-}
\ No newline at end of file
+ return dayjsDate.format('YYYY-MM-DDTHH:mm');
+ }
+
+ dateToTimestamp(date) {
+ const dayjsDate = dayjs(date);
+
+ if (!date || !dayjsDate.isValid()) return false;
+
+ return dayjsDate.format();
+ }
+}
diff --git a/js/src/forum/components/PollsPage.tsx b/js/src/forum/components/PollsPage.tsx
index 952fb7a2..717755a3 100644
--- a/js/src/forum/components/PollsPage.tsx
+++ b/js/src/forum/components/PollsPage.tsx
@@ -2,18 +2,18 @@ import Mithril from 'mithril';
import app from 'flarum/forum/app';
import listItems from 'flarum/common/helpers/listItems';
import ItemList from 'flarum/common/utils/ItemList';
-import Page, {IPageAttrs} from 'flarum/common/components/Page';
+import Page, { IPageAttrs } from 'flarum/common/components/Page';
import IndexPage from 'flarum/forum/components/IndexPage';
import PollList from './Poll/PollList';
-import LogInModal from "flarum/forum/components/LogInModal";
+import LogInModal from 'flarum/forum/components/LogInModal';
import extractText from 'flarum/common/utils/extractText';
import PollListState from '../states/PollListState';
import Button from 'flarum/common/components/Button';
import SelectDropdown from 'flarum/common/components/SelectDropdown';
-import Acl from "../../common/Acl";
-import LoadingIndicator from "flarum/common/components/LoadingIndicator";
-import Poll from "../models/Poll";
-import IndexPolls from "./Poll";
+import Acl from '../../common/Acl';
+import LoadingIndicator from 'flarum/common/components/LoadingIndicator';
+import Poll from '../models/Poll';
+import IndexPolls from './Poll';
export default class PollsPage extends Page {
loading: boolean = false;
@@ -36,8 +36,7 @@ export default class PollsPage extends Page {
m.redraw();
});
}
- }
- else {
+ } else {
this.initListView();
}
}
@@ -62,14 +61,14 @@ export default class PollsPage extends Page {
return ;
}
- if(this.poll) {
- return (
-
- );
+ if (this.poll) {
+ return (
+
+ );
}
return (
@@ -154,7 +153,7 @@ export default class PollsPage extends Page {
/**
* Change to create new poll page
*/
- newPollAction():void {
+ newPollAction(): void {
if (!app.session.user) {
app.modal.show(LogInModal);
return;
diff --git a/js/src/forum/components/form/FormError.js b/js/src/forum/components/form/FormError.js
index b8783c6a..d0ee63b4 100644
--- a/js/src/forum/components/form/FormError.js
+++ b/js/src/forum/components/form/FormError.js
@@ -1,3 +1 @@
-export default class FormError extends Error {
-
-}
\ No newline at end of file
+export default class FormError extends Error {}
diff --git a/js/src/forum/extend.ts b/js/src/forum/extend.ts
index aacb3b6e..254f1938 100644
--- a/js/src/forum/extend.ts
+++ b/js/src/forum/extend.ts
@@ -6,13 +6,13 @@ import Poll from './models/Poll';
import PollOption from './models/PollOption';
import PollVote from './models/PollVote';
import PollsPage from './components/PollsPage';
-import ComposePollPage from "./components/ComposePollPage";
+import ComposePollPage from './components/ComposePollPage';
export default [
new Extend.Routes() //
// .add('fof_polls_directory', '/polls', PollsDirectory),
- .add('fof_polls_directory', '/polls', PollsPage)
- .add('fof_polls_compose', '/polls/composer', ComposePollPage),
+ .add('fof_polls_directory', '/polls', PollsPage)
+ .add('fof_polls_compose', '/polls/composer', ComposePollPage),
new Extend.Store() //
.add('polls', Poll)
diff --git a/js/src/forum/models/Poll.ts b/js/src/forum/models/Poll.ts
index e2368e4d..5ce7d671 100755
--- a/js/src/forum/models/Poll.ts
+++ b/js/src/forum/models/Poll.ts
@@ -1,7 +1,7 @@
import Model from 'flarum/common/Model';
import PollOption from './PollOption';
import PollVote from './PollVote';
-import computed from "flarum/common/utils/computed";
+import computed from 'flarum/common/utils/computed';
export default class Poll extends Model {
question() {
diff --git a/js/src/forum/states/PollFormState.js b/js/src/forum/states/PollFormState.js
index ad445365..1df0c2a4 100644
--- a/js/src/forum/states/PollFormState.js
+++ b/js/src/forum/states/PollFormState.js
@@ -1,64 +1,63 @@
import app from 'flarum/forum/app';
export default class PollFormState {
-
- static createNewPoll() {
- const poll = app.store.createRecord('polls');
- poll.pushAttributes( {
- question: '',
- endDate: '',
- publicPoll: false,
- allowMultipleVotes: false,
- hideVotes: false,
- allowChangeVote: false,
- maxVotes: 0,
- });
- poll.pushData({relationships: {options: []}});
- return poll;
- }
-
- constructor(poll) {
- if (!poll) {
- poll = PollFormState.createNewPoll();
- }
-
- this.loading = false;
- this.deleting = false;
- this.poll = poll;
- this.expandedGroup = 'setup';
- }
-
- isExpanded(groupKey) {
- return this.expandedGroup === groupKey;
+ static createNewPoll() {
+ const poll = app.store.createRecord('polls');
+ poll.pushAttributes({
+ question: '',
+ endDate: '',
+ publicPoll: false,
+ allowMultipleVotes: false,
+ hideVotes: false,
+ allowChangeVote: false,
+ maxVotes: 0,
+ });
+ poll.pushData({ relationships: { options: [] } });
+ return poll;
+ }
+
+ constructor(poll) {
+ if (!poll) {
+ poll = PollFormState.createNewPoll();
}
- expand(groupKey) {
- this.expandedGroup = groupKey;
- m.redraw();
+ this.loading = false;
+ this.deleting = false;
+ this.poll = poll;
+ this.expandedGroup = 'setup';
+ }
+
+ isExpanded(groupKey) {
+ return this.expandedGroup === groupKey;
+ }
+
+ expand(groupKey) {
+ this.expandedGroup = groupKey;
+ m.redraw();
+ }
+
+ async save(data) {
+ this.loading = true;
+ m.redraw();
+
+ try {
+ this.poll = await this.poll.save(data);
+ } finally {
+ this.loading = false;
+ m.redraw();
}
-
- async save(data) {
- this.loading = true;
- m.redraw();
-
- try {
- this.poll = await this.poll.save(data);
- } finally {
- this.loading = false;
- m.redraw();
- }
- }
-
- async delete() {
- this.loading = true;
- m.redraw();
-
- try {
- await this.poll.delete();
- this.deleting = true;
- } finally {
- this.loading = false;
- m.redraw();
- }
+ }
+
+ async delete() {
+ this.loading = true;
+ m.redraw();
+
+ try {
+ await this.poll.delete();
+ this.deleting = true;
+ } finally {
+ this.loading = false;
+ m.redraw();
}
+ }
}