('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: 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: string) {\n return this.expandedGroup === groupKey;\n }\n\n expand(groupKey: string) {\n this.expandedGroup = groupKey;\n m.redraw();\n }\n\n async save(data: any) {\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","import app from 'flarum/forum/app';\nimport Poll from '../models/Poll';\nimport LogInModal from 'flarum/forum/components/LogInModal';\nimport PollOption from '../models/PollOption';\nimport PollVote from '../models/PollVote';\nimport ListVotersModal from '../components/ListVotersModal';\n\nexport default class PollState {\n protected poll: Poll;\n protected pendingSubmit: boolean;\n protected pendingOptions: Set | null;\n public loadingOptions: boolean;\n public useSubmitUI: boolean;\n public showCheckMarks: boolean;\n\n constructor(poll: Poll) {\n this.poll = poll;\n this.pendingSubmit = false;\n this.pendingOptions = null;\n this.loadingOptions = false;\n this.useSubmitUI = !poll?.canChangeVote() && poll?.allowMultipleVotes();\n this.showCheckMarks = !app.session.user || (!poll.hasEnded() && poll.canVote() && (!this.hasVoted() || poll.canChangeVote()));\n }\n\n hasVoted() {\n return this.poll.myVotes().length > 0;\n }\n\n overallVoteCount() {\n const options = this.poll.options();\n return Math.max(\n 100,\n (options ? options : []).reduce((max, option) => max + option!.voteCount(), 0)\n );\n }\n\n showButton() {\n return this.useSubmitUI && this.pendingSubmit;\n }\n\n changeVote(option: PollOption, evt: Event) {\n const target = evt.target as HTMLInputElement;\n\n if (!app.session.user) {\n app.modal.show(LogInModal);\n target.checked = false;\n return;\n }\n\n const optionIds = this.pendingOptions || new Set(this.poll.myVotes().map((v: PollVote) => v.option().id()));\n const isUnvoting = optionIds.delete(option.id()!);\n const allowsMultiple = this.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, () => (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: Set, cb: Function | null, onerror: Function | null = null) {\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.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.poll,\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: Event): boolean | void => {\n if (this.pendingOptions) {\n e.preventDefault();\n return true;\n }\n };\n}\n","import type Mithril from 'mithril';\nimport app from 'flarum/forum/app';\nimport Poll from '../models/Poll';\nimport Component from 'flarum/common/Component';\nimport ComposePollPage from '../components/ComposePollPage';\nimport PollsPage from '../components/PollsPage';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport Separator from 'flarum/common/components/Separator';\nimport Button from 'flarum/common/components/Button';\nimport Link from 'flarum/common/components/Link';\n\n/**\n * The `UserControls` utility constructs a list of buttons for a user which\n * perform actions on it.\n */\nexport default {\n /**\n * Get a list of controls for a user.\n */\n controls(poll: Poll, context: Component): ItemList {\n const items = new ItemList();\n\n ['poll', 'moderation', 'destructive'].forEach((section) => {\n const controls: Mithril.Children[] = this[section + 'Controls'](poll, context).toArray();\n if (controls.length) {\n controls.forEach((item) => items.add(item.itemName, item));\n items.add(section + 'Separator', );\n }\n });\n\n return items;\n },\n\n /**\n * Get controls for direct modifcation actions on polls (e.g. vote, view voters).\n */\n pollControls(poll: Poll, context: Component): ItemList {\n const items = new ItemList();\n\n items.add(\n 'view',\n {app.translator.trans('fof-polls.forum.poll_controls.view_label')}\n );\n\n return items;\n },\n\n /**\n * Get controls for a user pertaining to moderation (e.g. suspend, edit).\n */\n moderationControls(poll: Poll, context: Component): ItemList {\n const items = new ItemList();\n\n if (poll.canEdit()) {\n items.add(\n 'edit',\n \n {app.translator.trans(`fof-polls.forum.poll_controls.edit_label`)}\n \n );\n }\n\n return items;\n },\n\n /**\n * Get controls for a user which are destructive (e.g. delete).\n * @protected\n */\n destructiveControls(poll: Poll, context: Component): ItemList {\n const items = new ItemList();\n\n if (poll.canDelete()) {\n items.add(\n 'delete',\n \n {app.translator.trans(`fof-polls.forum.poll_controls.delete_label`)}\n \n );\n }\n\n return items;\n },\n\n /**\n * Delete the user.\n */\n async deleteAction(poll: Poll): Promise {\n if (!confirm(app.translator.trans(`fof-polls.forum.poll_controls.delete_confirmation`) as string)) {\n return;\n }\n\n return poll\n .delete()\n .then(() => {\n this.showDeletionAlert(poll, 'success');\n if (app.current.matches(ComposePollPage, { id: poll.id() }) || app.current.matches(PollsPage, { id: poll.id() })) {\n app.history.back();\n } else {\n window.location.reload();\n }\n })\n .catch(() => this.showDeletionAlert(poll, 'error'));\n },\n\n /**\n * Show deletion alert of poll\n */\n showDeletionAlert(poll: Poll, type: string): void {\n const message = {\n success: `$fof-polls.forum.poll_controls.delete_success_message`,\n error: `fof-polls.forum.poll_controls.delete_error_message`,\n }[type]!;\n\n app.alerts.show({ type }, app.translator.trans(message, { poll: poll }));\n },\n\n /**\n * Edit the poll.\n */\n editAction(poll: Poll): void {\n m.route.set(app.route('fof_polls_compose', { id: poll.id() }));\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/Separator'];","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","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","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","_this$poll2","set","editId","param","find","item","_this2$poll","setTitle","createNewPoll","history","bodyClass","_onsubmit","_asyncToGenerator","_regeneratorRuntime","mark","_callee","state","isNew","alertAttrs","alertId","wrap","_callee$","_context","prev","next","controls","edit","alerts","setTimeout","dismiss","stop","_x","_x2","Modal","_Modal","title","hide","EditPollModal","_CreatePollModal","avatar","username","Link","Stream","ListVotersModal","optionContent","opt","votes","filter","v","answer","voteContent","user","Switch","ItemList","extractText","FormError","PollControls","optionAnswers","o","optionImageUrls","imageUrl","question","subtitle","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","_this3","dateToTimestamp","event","preventDefault","t0","message","console","error","_delete2","_callee2","_callee2$","_context2","deleteAction","finish","_delete","date","def","dayjsDate","isValid","format","PollTitle","PollOptions","PollSubTitle","PollState","Dropdown","PollView","infoItems","showVoters","controlsView","text","isEmpty","showButton","loadingOptions","deletePoll","editPoll","editAction","menuClassName","buttonClassName","accessibleToggleLabel","session","canVote","hasEnded","canChangeVote","hasVoted","PollViewPage","PollListItem","Placeholder","PollList","getParams","isLoading","isInitialLoading","isLoadingNext","hasNext","loadNext","pageSize","isSearchResults","getPages","pg","key","SubtreeRetainer","highlight","slidable","PollPage","abbreviateNumber","listItems","highlightRegExp","freshness","markedAllAsReadAt","getTime","active","elementAttrs","Slidable","window","contentView","slidableUnderneathView","isUnread","markAsRead","mainView","infoView","oncreate","slidableInstance","element","$","on","reset","onbeforeupdate","needsRebuild","current","matches","lastVotedNumber","activeView","count","PollOptionLabel","PollOptionInput","PollOption","isResult","style","opacity","PollResult","pollOptions","showCheckMarks","forEach","changeVote","PollResultsNumber","PollResults","overallVoteCount","number","LogInModal","PollListState","SelectDropdown","PollsPage","sort","refresh","hero","sidebarItems","viewItems","actionItems","newPollAction","navItems","Tooltip","_this$attrs$poll","_this$attrs$poll2","useSubmitUI","pendingSubmit","pendingOptions","preventClose","addEventListener","onremove","removeEventListener","canSeeVoters","canEdit","canDelete","viewOption","_poll$myVotes2","_poll$myVotes3","_poll$myVotes4","totalVotes","voted","has","some","percent","round","canSeeVoteCount","isDisabled","width","Number","showCheckmark","bar","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","confirm","sync","tooltipVisible","updateVisibility","e","_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","reduce","Separator","context","section","itemName","pollControls","moderationControls","destructiveControls","abrupt","showDeletionAlert","back","location","reload","success","_typeof","require","module","exports","__esModule","t","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","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/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/PollForm.js","webpack://@fof/polls/./src/forum/components/PollView.tsx","webpack://@fof/polls/./src/forum/components/PollViewPage.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/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.ts","webpack://@fof/polls/./src/forum/states/PollListState.ts","webpack://@fof/polls/./src/forum/states/PollState.ts","webpack://@fof/polls/./src/forum/utils/PollControls.tsx","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/Separator']\"","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","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-list',\n LinkButton.component(\n {\n href: app.route('fof.polls.list'),\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, { ComponentAttrs } from 'flarum/common/Component';\nimport LinkButton from 'flarum/common/components/LinkButton';\nimport Poll from '../models/Poll';\n\nexport interface ComposePollHeroAttrs extends ComponentAttrs {\n poll: Poll;\n}\n\nexport default class ComposePollHero extends Component {\n view(): Mithril.Children {\n const { poll } = this.attrs;\n\n return (\n \n
\n
\n
{app.translator.trans(`fof-polls.forum.compose.${!!poll.id() ? 'edit' : 'add'}_title`)} \n
\n \n {app.translator.trans('fof-polls.forum.compose.polls_manager')}\n \n {poll.exists && (\n \n {app.translator.trans('fof-polls.forum.compose.polls_preview')}\n \n )}\n
\n
\n
\n
\n );\n }\n}\n","import type Mithril from 'mithril';\nimport app from 'flarum/forum/app';\nimport Page from 'flarum/common/components/Page';\nimport Poll from '../models/Poll';\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\nimport PollForm from './PollForm';\nimport Acl from '../../common/Acl';\nimport PollFormState from '../states/PollFormState';\nimport ComposePollHero from './ComposePollHero';\nimport Button from 'flarum/common/components/Button';\n\nexport default class ComposePollPage extends Page {\n poll: Poll | null | undefined = null;\n\n loading: boolean = false;\n\n oninit(vnode: Mithril.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(app.translator.trans(`fof-polls.forum.compose.${!!this.poll?.id() ? 'edit' : 'add'}_title`) as string);\n m.redraw();\n });\n }\n } else {\n this.poll = PollFormState.createNewPoll();\n }\n\n app.history.push('compose-poll', app.translator.trans(`fof-polls.forum.compose.${!!this.poll?.id() ? 'edit' : 'add'}_title`) as string);\n this.bodyClass = 'App--compose-poll';\n app.setTitle(app.translator.trans(`fof-polls.forum.compose.${!!this.poll?.id() ? 'edit' : 'add'}_title`) as string);\n }\n\n view(): Mithril.Children {\n if (this.loading) {\n return ;\n }\n\n return (\n \n );\n }\n\n async onsubmit(data: Object, state: PollFormState) {\n const isNew = state.poll.id() === undefined;\n await state.save(data);\n\n const alertAttrs = isNew\n ? {\n type: 'success',\n controls: [\n \n m.route.set(\n app.route('compose-poll', {\n edit: state.poll.id(),\n })\n )\n }\n >\n {app.translator.trans('fof-polls.forum.compose.continue_editing')}\n ,\n ],\n }\n : {\n type: 'success',\n };\n\n // Show success alert\n const alertId = app.alerts.show(alertAttrs, app.translator.trans('fof-polls.forum.compose.success'));\n\n // Hide alert after 10 seconds\n setTimeout(() => app.alerts.dismiss(alertId), 10000);\n\n if (isNew) {\n m.route.set(app.route('fof_polls_list'));\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 return [\n ,\n ];\n }\n\n onsubmit(data) {\n this.hide();\n this.attrs.onsubmit(data);\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 async onsubmit(data, state) {\n await state.save(data);\n\n // Show success alert\n const alertId = app.alerts.show(\n {\n type: 'success',\n },\n app.translator.trans('fof-polls.forum.compose.success')\n );\n\n // Hide alert after 10 seconds\n setTimeout(() => app.alerts.dismiss(alertId), 10000);\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 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';\nimport PollControls from '../utils/PollControls';\n\nexport default class PollForm extends Component {\n /** @type {PollFormState} */\n state;\n\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.subtitle = Stream(poll.subtitle());\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 'subtitle',\n \n {app.translator.trans('fof-polls.forum.modal.subtitle_placeholder')} \n\n \n
,\n 95\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 Button--icon 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 Button--icon',\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 {app.translator.trans('fof-polls.forum.modal.submit')}\n \n {this.state.poll.exists && (\n \n {app.translator.trans('fof-polls.forum.modal.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 PollModal--button Button--icon',\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.answer = this.optionAnswers[i]();\n o.data.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 subtitle: this.subtitle(),\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(event) {\n event.preventDefault();\n\n try {\n await this.attrs.onsubmit(this.data(), this.state);\n } catch (error) {\n if (error instanceof FormError) {\n app.alerts.show({ type: 'error' }, error.message);\n } else {\n console.error(error);\n // Show error alert\n app.alerts.show({ type: 'error' }, app.translator.trans('fof-polls.forum.modal.error'));\n }\n }\n }\n\n async delete() {\n this.state.loading = true;\n try {\n await PollControls.deleteAction(this.state.poll);\n this.state.deleting = true;\n } finally {\n this.state.loading = false;\n m.redraw();\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 type Mithril from 'mithril';\nimport Component, { ComponentAttrs } from 'flarum/common/Component';\nimport app from 'flarum/forum/app';\nimport PollOptions from './Poll/PollOptions';\nimport PollImage from './Poll/PollImage';\nimport PollModel from '../models/Poll';\nimport PollState from '../states/PollState';\nimport Button from 'flarum/common/components/Button';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport PollControls from '../utils/PollControls';\nimport Dropdown from 'flarum/common/components/Dropdown';\n\ninterface PollAttrs extends ComponentAttrs {\n poll: PollModel;\n}\n\nexport default class PollView extends Component {\n oninit(vnode: Mithril.Vnode) {\n super.oninit(vnode);\n this.state = new PollState(this.attrs.poll);\n }\n\n view(): Mithril.Children {\n const poll = this.attrs.poll;\n const state = this.state;\n const controls = PollControls.controls(poll, this);\n\n controls.add(\n 'view',\n \n {app.translator.trans('fof-polls.forum.public_poll')}\n \n );\n\n return (\n \n {this.controlsView(controls.toArray())}\n {/*
*/}\n
\n {this.createMainView().toArray()}\n
\n
\n );\n }\n\n createMainView(): ItemList {\n const items = new ItemList();\n const poll = this.attrs.poll;\n items.add(\n 'title',\n {poll.question()} \n );\n items.add(\n 'subtitle',\n {poll.subtitle()}
\n );\n items.add(\n 'form',\n this.createFormView()\n );\n return items;\n }\n\n createFormView(): Mithril.Children {\n const state = this.state;\n const poll = this.attrs.poll;\n const infoItems = this.infoItems(poll.maxVotes());\n\n return ()\n }\n\n deletePoll(): void {\n PollControls.deleteAction(this.attrs.poll);\n }\n\n editPoll(): void {\n PollControls.editAction(this.attrs.poll);\n }\n\n controlsView(controls: Mithril.ChildArray): Mithril.Children {\n return (\n !!controls.length && (\n \n {controls}\n \n )\n );\n }\n\n infoItems(maxVotes: number) {\n const items = new ItemList();\n const poll = this.attrs.poll;\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","import type Mithril from \"mithril\";\nimport app from 'flarum/forum/app';\nimport Page from \"flarum/common/components/Page\";\nimport PollModel from \"../models/Poll\";\nimport extractText from \"flarum/common/utils/extractText\";\nimport LoadingIndicator from \"flarum/common/components/LoadingIndicator\";\nimport PollView from \"./PollView\";\n\nexport default class PollViewPage extends Page {\n poll: PollModel | null = null;\n loading: boolean = false;\n\n oninit(vnode: Mithril.Vnode) {\n super.oninit(vnode);\n\n const editId = m.route.param('id');\n this.poll = app.store.getById('poll', editId) as PollModel;\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 }\n\n view(): Mithril.Children {\n if (this.loading) {\n return ;\n }\n\n if (this.poll) {\n return (\n \n );\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 type Mithril from 'mithril';\nimport app from 'flarum/forum/app';\nimport Component, { ComponentAttrs } from 'flarum/common/Component';\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';\nimport Poll from '../../models/Poll';\nimport PollControls from '../../utils/PollControls';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport listItems from 'flarum/common/helpers/listItems';\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 poll!: Poll;\n\n highlightRegExp?: RegExp;\n\n oninit(vnode: Mithril.Vnode) {\n super.oninit(vnode);\n\n this.poll = this.attrs.poll;\n\n this.subtree = new SubtreeRetainer(\n () => this.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.poll.isHidden(),\n Slidable: 'ontouchstart' in window,\n }),\n };\n }\n\n view() {\n const controls = PollControls.controls(this.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 isUnread = this.poll.isUnread();\n\n return (\n \n {icon('fas fa-check')}\n \n );\n }\n\n contentView(): Mithril.Children {\n // const isUnread = this.poll.isUnread();\n // const isRead = this.poll.isRead();\n\n return (\n // \n
\n {this.mainView()}\n {this.infoView()}\n
\n );\n }\n\n mainView(): Mithril.Children {\n return (\n
\n
{highlight(this.poll.question(), this.highlightRegExp)} \n \n );\n }\n\n infoView() {\n return (\n
\n {this.poll.subtitle() &&
{this.poll.subtitle()}
}\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.poll });\n }\n\n /**\n * Mark the poll as read.\n */\n markAsRead() {\n if (this.poll.isUnread()) {\n this.poll.save({ lastVotedNumber: this.poll.voteCount() });\n m.redraw();\n }\n }\n\n infoItems(): ItemList {\n const items = new ItemList();\n const active = !this.poll.hasEnded();\n const activeView = this.poll.endDate()\n ? [\n icon('fas fa-clock'),\n ' ',\n active\n ? app.translator.trans('fof-polls.forum.days_remaining', { time: dayjs(this.poll.endDate()).fromNow() })\n : app.translator.trans('fof-polls.forum.poll_ended'),\n ]\n : [icon('fas fa-om'), ' ', app.translator.trans('fof-polls.forum.poll_never_ends')];\n\n items.add('active', {activeView} );\n\n const voteCount = this.poll.voteCount();\n if (voteCount !== undefined) {\n items.add(\n 'discussion-count',\n \n {icon('fas fa-poll fa-fw')}\n {[\n ' ',\n app.translator.trans('fof-polls.forum.polls_count', {\n count: abbreviateNumber(voteCount),\n }),\n ]}\n
,\n 70\n );\n }\n\n return items;\n }\n}\n","import type Mithril from 'mithril';\nimport Component, { ComponentAttrs } from 'flarum/common/Component';\nimport PollOptionLabel from './PollOptionLabel';\nimport PollOptionInput from './PollOptionInput';\nimport PollOptionModel from '../../models/PollOption';\n\ninterface PollOptionAttrs extends ComponentAttrs {\n option: PollOptionModel;\n onchange: (e: Event) => void;\n}\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 type 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 onchange: (e: Event) => void;\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 type 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 type Mithril from 'mithril';\nimport Component, { ComponentAttrs } from 'flarum/common/Component';\nimport PollOption from './PollOption';\nimport PollOptionModel from '../../models/PollOption';\nimport PollResult from './PollResult';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport PollState from '../../states/PollState';\n\ninterface PollOptionsAttrs extends ComponentAttrs {\n options: PollOptionModel[];\n state: PollState;\n}\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 const state = this.attrs.state;\n\n if (state.showCheckMarks) {\n this.attrs.options.forEach((option: PollOptionModel): void => {\n items.add('option' + option.id(), );\n });\n } else {\n this.attrs.options.forEach((option: PollOptionModel): void => {\n items.add('result' + option.id(), );\n });\n }\n\n return items;\n }\n}\n","import type 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 type Mithril from 'mithril';\nimport Component, { ComponentAttrs } from 'flarum/common/Component';\nimport PollOptionLabel from './PollOptionLabel';\nimport PollResultsNumber from './PollResultNumber';\nimport PollOptionInput from './PollOptionInput';\nimport PollOptionModel from '../../models/PollOption';\nimport PollState from '../../states/PollState';\nimport abbreviateNumber from 'flarum/common/utils/abbreviateNumber';\n\ninterface PollResultsAttrs extends ComponentAttrs {\n option: PollOptionModel;\n state: PollState;\n}\n\nexport default class PollResults extends Component {\n view(): Mithril.Children {\n const option = this.attrs.option;\n const state = this.attrs.state;\n let voteCount = option.voteCount();\n if (!voteCount) {\n voteCount = 0;\n } else {\n voteCount = (voteCount * 100) / state.overallVoteCount();\n }\n\n return (\n \n \n \n \n\n \n \n \n );\n }\n}\n","import type 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 type 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 PollModel from '../models/Poll';\nimport PollView from './PollView';\n\nexport default class PollsPage extends Page {\n loading: boolean = false;\n poll: PollModel | null = null;\n\n oninit(vnode: Mithril.Vnode) {\n super.oninit(vnode);\n\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
\n
{poll.question()} \n {poll.subtitle() &&
{poll.subtitle()}
}\n
\n\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
\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 PollView from './components/PollView';\nimport PollOption from './models/PollOption';\nimport PollVote from './models/PollVote';\nimport PollsPage from './components/PollsPage';\nimport ComposePollPage from './components/ComposePollPage';\nimport PollViewPage from \"./components/PollViewPage\";\n\nexport default [\n new Extend.Routes() //\n .add('fof.polls.list', '/polls', PollsPage)\n .add('fof.polls.view', '/polls/:id', PollViewPage)\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\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 subtitle() {\n return Model.attribute('subtitle').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(): PollVote[] {\n const myVotes = Model.hasMany('myVotes').call(this);\n return myVotes ? (myVotes as PollVote[]) : [];\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';\nimport Poll from '../models/Poll';\n\nexport default class PollFormState {\n poll: Poll;\n loading: boolean;\n deleting: boolean;\n expandedGroup: string;\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: 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: string) {\n return this.expandedGroup === groupKey;\n }\n\n expand(groupKey: string) {\n this.expandedGroup = groupKey;\n m.redraw();\n }\n\n async save(data: any) {\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","import app from 'flarum/forum/app';\nimport Poll from '../models/Poll';\nimport LogInModal from 'flarum/forum/components/LogInModal';\nimport PollOption from '../models/PollOption';\nimport PollVote from '../models/PollVote';\nimport ListVotersModal from '../components/ListVotersModal';\n\nexport default class PollState {\n protected poll: Poll;\n protected pendingSubmit: boolean;\n protected pendingOptions: Set | null;\n public loadingOptions: boolean;\n public useSubmitUI: boolean;\n public showCheckMarks: boolean;\n\n constructor(poll: Poll) {\n this.poll = poll;\n this.pendingSubmit = false;\n this.pendingOptions = null;\n this.loadingOptions = false;\n this.useSubmitUI = !poll?.canChangeVote() && poll?.allowMultipleVotes();\n this.showCheckMarks = !app.session.user || (!poll.hasEnded() && poll.canVote() && (!this.hasVoted() || poll.canChangeVote()));\n }\n\n hasVoted() {\n return this.poll.myVotes().length > 0;\n }\n\n overallVoteCount() {\n const options = this.poll.options();\n return Math.max(\n 100,\n (options ? options : []).reduce((max, option) => max + option!.voteCount(), 0)\n );\n }\n\n showButton() {\n return this.useSubmitUI && this.pendingSubmit;\n }\n\n changeVote(option: PollOption, evt: Event) {\n const target = evt.target as HTMLInputElement;\n\n if (!app.session.user) {\n app.modal.show(LogInModal);\n target.checked = false;\n return;\n }\n\n const optionIds = this.pendingOptions || new Set(this.poll.myVotes().map((v: PollVote) => v.option().id()));\n const isUnvoting = optionIds.delete(option.id()!);\n const allowsMultiple = this.poll.allowMultipleVotes();\n\n if (!allowsMultiple) {\n optionIds.clear();\n }\n\n if (!isUnvoting) {\n optionIds.add(option.id()!);\n }\n\n this.pendingOptions = optionIds.size ? optionIds : null;\n this.pendingSubmit = !!this.pendingOptions;\n m.redraw();\n }\n\n hasSelectedOptions():boolean {\n return this.pendingSubmit;\n }\n\n onsubmit():Promise {\n return this.submit(this.pendingOptions!, () => {\n this.pendingOptions = null;\n this.pendingSubmit = false;\n });\n }\n\n submit(optionIds: Set, cb: Function | null, onerror: Function | null = null) {\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.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 this.showCheckMarks = false;\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.poll,\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: Event): boolean | void => {\n if (this.pendingOptions) {\n e.preventDefault();\n return true;\n }\n };\n}\n","import type Mithril from 'mithril';\nimport app from 'flarum/forum/app';\nimport Poll from '../models/Poll';\nimport Component from 'flarum/common/Component';\nimport ComposePollPage from '../components/ComposePollPage';\nimport PollsPage from '../components/PollsPage';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport Separator from 'flarum/common/components/Separator';\nimport Button from 'flarum/common/components/Button';\nimport Link from 'flarum/common/components/Link';\n\n/**\n * The `UserControls` utility constructs a list of buttons for a user which\n * perform actions on it.\n */\nexport default {\n /**\n * Get a list of controls for a user.\n */\n controls(poll: Poll, context: Component): ItemList {\n const items = new ItemList();\n\n ['poll', 'moderation', 'destructive'].forEach((section) => {\n const controls: Mithril.Children[] = this[section + 'Controls'](poll, context).toArray();\n if (controls.length) {\n controls.forEach((item) => items.add(item.itemName, item));\n items.add(section + 'Separator', );\n }\n });\n\n return items;\n },\n\n /**\n * Get controls for direct modifcation actions on polls (e.g. vote, view voters).\n */\n pollControls(poll: Poll, context: Component): ItemList {\n const items = new ItemList();\n\n items.add(\n 'view',\n {app.translator.trans('fof-polls.forum.poll_controls.view_label')}\n );\n\n return items;\n },\n\n /**\n * Get controls for a user pertaining to moderation (e.g. suspend, edit).\n */\n moderationControls(poll: Poll, context: Component): ItemList {\n const items = new ItemList();\n\n if (poll.canEdit()) {\n items.add(\n 'edit',\n \n {app.translator.trans(`fof-polls.forum.poll_controls.edit_label`)}\n \n );\n }\n\n return items;\n },\n\n /**\n * Get controls for a user which are destructive (e.g. delete).\n * @protected\n */\n destructiveControls(poll: Poll, context: Component): ItemList {\n const items = new ItemList();\n\n if (poll.canDelete()) {\n items.add(\n 'delete',\n \n {app.translator.trans(`fof-polls.forum.poll_controls.delete_label`)}\n \n );\n }\n\n return items;\n },\n\n /**\n * Delete the user.\n */\n async deleteAction(poll: Poll): Promise {\n if (!confirm(app.translator.trans(`fof-polls.forum.poll_controls.delete_confirmation`) as string)) {\n return;\n }\n\n return poll\n .delete()\n .then(() => {\n this.showDeletionAlert(poll, 'success');\n if (app.current.matches(ComposePollPage, { id: poll.id() }) || app.current.matches(PollsPage, { id: poll.id() })) {\n app.history.back();\n } else {\n window.location.reload();\n }\n })\n .catch(() => this.showDeletionAlert(poll, 'error'));\n },\n\n /**\n * Show deletion alert of poll\n */\n showDeletionAlert(poll: Poll, type: string): void {\n const message = {\n success: `$fof-polls.forum.poll_controls.delete_success_message`,\n error: `fof-polls.forum.poll_controls.delete_error_message`,\n }[type]!;\n\n app.alerts.show({ type }, app.translator.trans(message, { poll: poll }));\n },\n\n /**\n * Edit the poll.\n */\n editAction(poll: Poll): void {\n m.route.set(app.route('fof_polls_compose', { id: poll.id() }));\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/Separator'];","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","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","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","_this$poll2","set","editId","param","find","item","_this2$poll","setTitle","createNewPoll","history","bodyClass","_onsubmit","_asyncToGenerator","_regeneratorRuntime","mark","_callee","state","isNew","alertAttrs","alertId","wrap","_callee$","_context","prev","next","controls","edit","alerts","setTimeout","dismiss","stop","_x","_x2","Modal","_Modal","title","hide","EditPollModal","_CreatePollModal","avatar","username","Link","Stream","ListVotersModal","optionContent","opt","votes","filter","v","answer","voteContent","user","Switch","ItemList","extractText","FormError","PollControls","optionAnswers","o","optionImageUrls","imageUrl","question","subtitle","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","_this3","dateToTimestamp","event","preventDefault","t0","message","console","error","_delete2","_callee2","_callee2$","_context2","deleteAction","finish","_delete","date","def","dayjsDate","isValid","format","PollOptions","PollState","Dropdown","PollView","showVoters","controlsView","createMainView","createFormView","infoItems","isEmpty","loadingOptions","hasSelectedOptions","deletePoll","editPoll","editAction","menuClassName","buttonClassName","accessibleToggleLabel","session","canVote","hasEnded","canChangeVote","hasVoted","PollViewPage","PollListItem","Placeholder","PollList","getParams","isLoading","isInitialLoading","isLoadingNext","hasNext","loadNext","text","pageSize","isSearchResults","getPages","pg","key","SubtreeRetainer","highlight","slidable","PollPage","abbreviateNumber","listItems","highlightRegExp","freshness","markedAllAsReadAt","getTime","active","elementAttrs","Slidable","window","contentView","slidableUnderneathView","isUnread","markAsRead","mainView","infoView","oncreate","slidableInstance","element","$","on","reset","onbeforeupdate","needsRebuild","current","matches","lastVotedNumber","activeView","count","PollOptionLabel","PollOptionInput","PollOption","isResult","style","opacity","PollResult","pollOptions","showCheckMarks","forEach","changeVote","PollResultsNumber","PollResults","overallVoteCount","number","LogInModal","PollListState","SelectDropdown","PollsPage","sort","refresh","hero","sidebarItems","viewItems","actionItems","newPollAction","navItems","Tooltip","_this$attrs$poll","_this$attrs$poll2","useSubmitUI","pendingSubmit","pendingOptions","preventClose","addEventListener","onremove","removeEventListener","canSeeVoters","canEdit","canDelete","viewOption","_poll$myVotes2","_poll$myVotes3","_poll$myVotes4","totalVotes","voted","has","some","percent","round","canSeeVoteCount","isDisabled","width","Number","showCheckmark","bar","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","confirm","sync","tooltipVisible","updateVisibility","e","_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","reduce","showButton","Separator","context","section","itemName","pollControls","moderationControls","destructiveControls","abrupt","showDeletionAlert","back","location","reload","success","_typeof","require","module","exports","__esModule","t","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","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/forum/components/Poll/PollSubTitle.tsx b/js/src/forum/components/Poll/PollSubTitle.tsx
deleted file mode 100644
index e858636e..00000000
--- a/js/src/forum/components/Poll/PollSubTitle.tsx
+++ /dev/null
@@ -1,12 +0,0 @@
-import type Mithril from 'mithril';
-import Component, { ComponentAttrs } from 'flarum/common/Component';
-
-interface PollSubTitleAttrs extends ComponentAttrs {
- text: String;
-}
-
-export default class PollSubTitle extends Component {
- view(): Mithril.Children {
- return {this.attrs.text}
;
- }
-}
diff --git a/js/src/forum/components/Poll/PollTitle.tsx b/js/src/forum/components/Poll/PollTitle.tsx
deleted file mode 100644
index 50b5881e..00000000
--- a/js/src/forum/components/Poll/PollTitle.tsx
+++ /dev/null
@@ -1,12 +0,0 @@
-import type Mithril from 'mithril';
-import Component, { ComponentAttrs } from 'flarum/common/Component';
-
-interface PollTitleAttrs extends ComponentAttrs {
- text: String;
-}
-
-export default class PollTitle extends Component {
- view(): Mithril.Children {
- return {this.attrs.text} ;
- }
-}
diff --git a/js/src/forum/components/PollView.tsx b/js/src/forum/components/PollView.tsx
index f0c367bb..620dc0bf 100644
--- a/js/src/forum/components/PollView.tsx
+++ b/js/src/forum/components/PollView.tsx
@@ -1,10 +1,8 @@
import type Mithril from 'mithril';
import Component, { ComponentAttrs } from 'flarum/common/Component';
import app from 'flarum/forum/app';
-import PollTitle from './Poll/PollTitle';
import PollOptions from './Poll/PollOptions';
import PollImage from './Poll/PollImage';
-import PollSubTitle from './Poll/PollSubTitle';
import PollModel from '../models/Poll';
import PollState from '../states/PollState';
import Button from 'flarum/common/components/Button';
@@ -24,7 +22,6 @@ export default class PollView extends Component {
view(): Mithril.Children {
const poll = this.attrs.poll;
- const infoItems = this.infoItems(poll.maxVotes());
const state = this.state;
const controls = PollControls.controls(poll, this);
@@ -42,28 +39,49 @@ export default class PollView extends Component {
*/}
-
-
-
+ {this.createMainView().toArray()}