diff --git a/js/dist/forum.js b/js/dist/forum.js index 2fa20883..befd413f 100644 --- a/js/dist/forum.js +++ b/js/dist/forum.js @@ -1,3 +1,4654 @@ -/*! For license information please see forum.js.LICENSE.txt */ -(()=>{var t={24:(t,o,e)=>{var n=e(735).default;function r(){"use strict";t.exports=r=function(){return e},t.exports.__esModule=!0,t.exports.default=t.exports;var o,e={},a=Object.prototype,s=a.hasOwnProperty,i=Object.defineProperty||function(t,o,e){t[o]=e.value},l="function"==typeof Symbol?Symbol:{},u=l.iterator||"@@iterator",c=l.asyncIterator||"@@asyncIterator",p=l.toStringTag||"@@toStringTag";function m(t,o,e){return Object.defineProperty(t,o,{value:e,enumerable:!0,configurable:!0,writable:!0}),t[o]}try{m({},"")}catch(o){m=function(t,o,e){return t[o]=e}}function f(t,o,e,n){var r=o&&o.prototype instanceof w?o:w,a=Object.create(r.prototype),s=new E(n||[]);return i(a,"_invoke",{value:A(t,e,s)}),a}function d(t,o,e){try{return{type:"normal",arg:t.call(o,e)}}catch(t){return{type:"throw",arg:t}}}e.wrap=f;var h="suspendedStart",v="suspendedYield",y="executing",b="completed",g={};function w(){}function P(){}function x(){}var N={};m(N,u,(function(){return this}));var _=Object.getPrototypeOf,V=_&&_(_(L([])));V&&V!==a&&s.call(V,u)&&(N=V);var O=x.prototype=w.prototype=Object.create(N);function C(t){["next","throw","return"].forEach((function(o){m(t,o,(function(t){return this._invoke(o,t)}))}))}function S(t,o){function e(r,a,i,l){var u=d(t[r],t,a);if("throw"!==u.type){var c=u.arg,p=c.value;return p&&"object"==n(p)&&s.call(p,"__await")?o.resolve(p.__await).then((function(t){e("next",t,i,l)}),(function(t){e("throw",t,i,l)})):o.resolve(p).then((function(t){c.value=t,i(c)}),(function(t){return e("throw",t,i,l)}))}l(u.arg)}var r;i(this,"_invoke",{value:function(t,n){function a(){return new o((function(o,r){e(t,n,o,r)}))}return r=r?r.then(a,a):a()}})}function A(t,e,n){var r=h;return function(a,s){if(r===y)throw new Error("Generator is already running");if(r===b){if("throw"===a)throw s;return{value:o,done:!0}}for(n.method=a,n.arg=s;;){var i=n.delegate;if(i){var l=I(i,n);if(l){if(l===g)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===h)throw r=b,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=y;var u=d(t,e,n);if("normal"===u.type){if(r=n.done?b:v,u.arg===g)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r=b,n.method="throw",n.arg=u.arg)}}}function I(t,e){var n=e.method,r=t.iterator[n];if(r===o)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=o,I(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),g;var a=d(r,t.iterator,e.arg);if("throw"===a.type)return e.method="throw",e.arg=a.arg,e.delegate=null,g;var s=a.arg;return s?s.done?(e[t.resultName]=s.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=o),e.delegate=null,g):s:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,g)}function k(t){var o={tryLoc:t[0]};1 in t&&(o.catchLoc=t[1]),2 in t&&(o.finallyLoc=t[2],o.afterLoc=t[3]),this.tryEntries.push(o)}function M(t){var o=t.completion||{};o.type="normal",delete o.arg,t.completion=o}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(k,this),this.reset(!0)}function L(t){if(t||""===t){var e=t[u];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,a=function e(){for(;++r=0;--r){var a=this.tryEntries[r],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var l=s.call(a,"catchLoc"),u=s.call(a,"finallyLoc");if(l&&u){if(this.prev=0;--e){var n=this.tryEntries[e];if(n.tryLoc<=this.prev&&s.call(n,"finallyLoc")&&this.prev=0;--o){var e=this.tryEntries[o];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),M(e),g}},catch:function(t){for(var o=this.tryEntries.length-1;o>=0;--o){var e=this.tryEntries[o];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var r=n.arg;M(e)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:L(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=o),g}},e}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports},735:t=>{function o(e){return t.exports=o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,o(e)}t.exports=o,t.exports.__esModule=!0,t.exports.default=t.exports},183:(t,o,e)=>{var n=e(24)();t.exports=n;try{regeneratorRuntime=n}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(n)}}},o={};function e(n){var r=o[n];if(void 0!==r)return r.exports;var a=o[n]={exports:{}};return t[n](a,a.exports,e),a.exports}e.n=t=>{var o=t&&t.__esModule?()=>t.default:()=>t;return e.d(o,{a:o}),o},e.d=(t,o)=>{for(var n in o)e.o(o,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:o[n]})},e.o=(t,o)=>Object.prototype.hasOwnProperty.call(t,o),e.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};(()=>{"use strict";e.r(n),e.d(n,{components:()=>mo,extend:()=>Ao,models:()=>Po,states:()=>xo});const t=flarum.core.compat["forum/app"];var o=e.n(t);const r=flarum.core.compat["common/extend"],a=flarum.core.compat["common/components/Badge"];var s=e.n(a);const i=flarum.core.compat["forum/components/DiscussionList"];var l=e.n(i);const u=flarum.core.compat["common/models/Discussion"];var c=e.n(u);const p=flarum.core.compat["common/utils/classList"];var f=e.n(p);const d=flarum.core.compat["forum/components/DiscussionComposer"];var h=e.n(d);const v=flarum.core.compat["forum/components/ReplyComposer"];var y=e.n(v);function b(t,o){return b=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,o){return t.__proto__=o,t},b(t,o)}function g(t,o){t.prototype=Object.create(o.prototype),t.prototype.constructor=t,b(t,o)}const w=flarum.core.compat["common/components/Modal"];var P=e.n(w);function x(t,o,e,n,r,a,s){try{var i=t[a](s),l=i.value}catch(t){return void e(t)}i.done?o(l):Promise.resolve(l).then(n,r)}function N(t){return function(){var o=this,e=arguments;return new Promise((function(n,r){var a=t.apply(o,e);function s(t){x(a,n,r,s,i,"next",t)}function i(t){x(a,n,r,s,i,"throw",t)}s(void 0)}))}}var _=e(183),V=e.n(_);const O=flarum.core.compat["common/Component"];var C=e.n(O);const S=flarum.core.compat["common/components/Button"];var A=e.n(S);const I=flarum.core.compat["common/components/Switch"];var k=e.n(I);const M=flarum.core.compat["common/utils/ItemList"];var E=e.n(M);const L=flarum.core.compat["common/utils/Stream"];var D=e.n(L);const B=flarum.core.compat["common/utils/extractText"];var j=e.n(B);function T(t){return T=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},T(t)}function R(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(R=function(){return!!t})()}function U(t){var o="function"==typeof Map?new Map:void 0;return U=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(o){return"function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==o){if(o.has(t))return o.get(t);o.set(t,e)}function e(){return function(t,o,e){if(R())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,o);var r=new(t.bind.apply(t,n));return e&&b(r,e.prototype),r}(t,arguments,T(this).constructor)}return e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),b(e,t)},U(t)}var F=function(t){function o(){return t.apply(this,arguments)||this}return g(o,t),o}(U(Error)),q=function(){function t(o){this.poll=void 0,this.loading=void 0,this.deleting=void 0,this.expandedGroup=void 0,o||(o=t.createNewPoll()),this.loading=!1,this.deleting=!1,this.poll=o,this.expandedGroup="setup"}t.createNewPoll=function(){var t=o().store.createRecord("polls");return t.pushAttributes({question:"",endDate:"",publicPoll:!1,allowMultipleVotes:!1,hideVotes:!1,allowChangeVote:!1,maxVotes:0}),t.pushData({relationships:{options:[]}}),t};var e=t.prototype;return e.isExpanded=function(t){return this.expandedGroup===t},e.expand=function(t){this.expandedGroup=t,m.redraw()},e.save=function(){var t=N(V().mark((function t(o){return V().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return this.loading=!0,m.redraw(),t.prev=2,t.next=5,this.poll.save(o);case 5:this.poll=t.sent;case 6:return t.prev=6,this.loading=!1,m.redraw(),t.finish(6);case 10:case"end":return t.stop()}}),t,this,[[2,,6,10]])})));return function(o){return t.apply(this,arguments)}}(),e.delete=function(){var t=N(V().mark((function t(){return V().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return this.loading=!0,m.redraw(),t.prev=2,t.next=5,this.poll.delete();case 5:this.deleting=!0;case 6:return t.prev=6,this.loading=!1,m.redraw(),t.finish(6);case 10:case"end":return t.stop()}}),t,this,[[2,,6,10]])})));return function(){return t.apply(this,arguments)}}(),t}();const H=flarum.core.compat["common/components/Page"];var G=e.n(H);const Y=flarum.core.compat["common/components/LoadingIndicator"];var z=e.n(Y);const $=flarum.core.compat["common/components/LinkButton"];var J=e.n($),K=function(t){function e(){for(var o,e=arguments.length,n=new Array(e),r=0;rt.length)&&(o=t.length);for(var e=0,n=new Array(o);e=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(this.pages);!(o=e()).done;){var n=o.value,r=n.items.indexOf(t);if(-1!==r){n.items.splice(r,1);break}}var a=this.extraPolls.indexOf(t);-1!==a&&this.extraPolls.splice(a),m.redraw()},a.addPoll=function(t){this.removePoll(t),this.extraPolls.unshift(t),m.redraw()},a.getAllItems=function(){return this.extraPolls.concat(t.prototype.getAllItems.call(this))},a.getPages=function(){var o=t.prototype.getPages.call(this);return this.extraPolls.length?[{number:-1,items:this.extraPolls}].concat(o):o},n=e,(r=[{key:"type",get:function(){return"fof/polls"}}])&&Ot(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),e}(St()),Et=function(t){function o(){return t.apply(this,arguments)||this}return g(o,t),o.prototype.view=function(){return m("span",{id:"vote_"+this.attrs.id+"_label",className:"PollOption-label"},this.attrs.text)},o}(C()),Lt=function(t){function o(){return t.apply(this,arguments)||this}return g(o,t),o.prototype.view=function(){var t=this.attrs.isResult;return m("input",{type:"radio",name:this.attrs.name,value:this.attrs.value,style:{opacity:t?0:1},className:"PollOption-input","aria-labelledby":this.attrs.name+"-"+this.attrs.id+"-label","aria-describedby":this.attrs.name+"-"+this.attrs.id+"-description",onchange:this.attrs.onchange})},o}(C()),Dt=function(t){function o(){return t.apply(this,arguments)||this}return g(o,t),o.prototype.view=function(){var t=this.attrs.option;return m("label",{className:"PollOption"},m(Lt,{id:t.id(),isResult:!1,name:"vote",value:"Vote for this option",onchange:this.attrs.onchange}),m("span",{className:"PollOption-information"},m(Et,{id:t.id(),text:t.answer()})))},o}(C()),Bt=function(t){function o(){return t.apply(this,arguments)||this}return g(o,t),o.prototype.view=function(){return m("span",{className:"PollResult-number"},this.attrs.number," %")},o}(C()),jt=function(t){function o(){return t.apply(this,arguments)||this}return g(o,t),o.prototype.view=function(){var t=this.attrs.option,o=this.attrs.state,e=t.voteCount();return e=e?100*e/o.overallVoteCount():0,m("label",{className:"PollResult"},m(Lt,{id:t.id(),isResult:!1,name:"vote",value:"Vote for this option"}),m("span",{className:"PollResult-information"},m("div",{className:"PollResult-row"},m(Et,{text:t.answer()}),m(Bt,{number:yt()(e)})),m("progress",{type:"range",min:"0",max:o.overallVoteCount(),value:e,className:"PollResult-bar"})))},o}(C()),Tt=function(t){function o(){return t.apply(this,arguments)||this}g(o,t);var e=o.prototype;return e.view=function(){return m("div",{className:"Poll-options list-layout"},this.pollOptions().toArray())},e.pollOptions=function(){var t=new(E()),o=this.attrs.state;return o.showCheckMarks?this.attrs.options.forEach((function(e){t.add("option"+e.id(),m(Dt,{option:e,onchange:o.changeVote.bind(o,e)}))})):this.attrs.options.forEach((function(e){t.add("result"+e.id(),m(jt,{option:e,state:o}))})),t},o}(C());const Rt=flarum.core.compat["common/helpers/avatar"];var Ut=e.n(Rt);const Ft=flarum.core.compat["common/helpers/username"];var qt=e.n(Ft),Ht=function(t){function e(){return t.apply(this,arguments)||this}g(e,t);var n=e.prototype;return n.oninit=function(e){var n=this;t.prototype.oninit.call(this,e),this.loading=D()(!0),o().store.find("fof/polls",this.attrs.poll.id(),{include:"votes,votes.user,votes.option"}).then((function(){return n.loading(!1)})).finally((function(){return m.redraw()}))},n.className=function(){return"Modal--medium VotesModal"},n.title=function(){return o().translator.trans("fof-polls.forum.votes_modal.title")},n.content=function(){return m("div",{className:"Modal-body"},this.loading()?m(z(),null):this.attrs.poll.options().map(this.optionContent.bind(this)))},n.optionContent=function(t){var e=(this.attrs.poll.votes()||[]).filter((function(o){return t.id()===o.option().id()}));return m("div",{className:"VotesModal-option"},m("h2",null,t.answer()+":"),e.length?m("div",{className:"VotesModal-list"},e.map(this.voteContent.bind(this))):m("h4",null,o().translator.trans("fof-polls.forum.modal.no_voters")))},n.voteContent=function(t){var e=t.user(),n=e&&{href:o().route.user(e)};return m(lt(),n,Ut()(e)," ",qt()(e))},e}(P()),Gt=function(){function t(t){var e=this;this.poll=void 0,this.pendingSubmit=void 0,this.pendingOptions=void 0,this.loadingOptions=void 0,this.useSubmitUI=void 0,this.showCheckMarks=void 0,this.showVoters=function(){o().modal.show(Ht,{poll:e.poll})},this.preventClose=function(t){if(e.pendingOptions)return t.preventDefault(),!0},this.poll=t,this.pendingSubmit=!1,this.pendingOptions=null,this.loadingOptions=!1,this.useSubmitUI=!(null!=t&&t.canChangeVote())&&(null==t?void 0:t.allowMultipleVotes()),this.showCheckMarks=!o().session.user||!t.hasEnded()&&t.canVote()&&(!this.hasVoted()||t.canChangeVote())}var e=t.prototype;return e.hasVoted=function(){return this.poll.myVotes().length>0},e.overallVoteCount=function(){var t=this.poll.options();return Math.max(100,(t||[]).reduce((function(t,o){return t+o.voteCount()}),0))},e.showButton=function(){return this.useSubmitUI&&this.pendingSubmit},e.changeVote=function(t,e){var n=e.target;if(!o().session.user)return o().modal.show(Nt()),void(n.checked=!1);var r=this.pendingOptions||new Set(this.poll.myVotes().map((function(t){return t.option().id()}))),a=r.delete(t.id());this.poll.allowMultipleVotes()||r.clear(),a||r.add(t.id()),this.pendingOptions=r.size?r:null,this.pendingSubmit=!!this.pendingOptions,m.redraw()},e.hasSelectedOptions=function(){return this.pendingSubmit},e.onsubmit=function(){var t=this;return this.submit(this.pendingOptions,(function(){t.pendingOptions=null,t.pendingSubmit=!1}))},e.submit=function(t,e,n){var r=this;return void 0===n&&(n=null),this.loadingOptions=!0,m.redraw(),o().request({method:"PATCH",url:o().forum.attribute("apiUrl")+"/fof/polls/"+this.poll.id()+"/votes",body:{data:{optionIds:Array.from(t)}}}).then((function(t){o().store.pushPayload(t),null==e||e()})).catch((function(t){null==n||n(t)})).finally((function(){r.loadingOptions=!1,r.showCheckMarks=!1,m.redraw()}))},e.hideOptionTooltip=function(t){t.attrs.tooltipVisible=!1,t.state.updateVisibility()},t}(),Yt=function(t){function e(){return t.apply(this,arguments)||this}g(e,t);var n=e.prototype;return n.oninit=function(o){t.prototype.oninit.call(this,o),this.state=new Gt(this.attrs.poll)},n.view=function(){var t=this.attrs.poll,e=this.state,n=Kt.controls(t,this);return n.add("view",m(A(),{onclick:e.showVoters,icon:"fas fa-poll"},o().translator.trans("fof-polls.forum.public_poll"))),m("div",{className:"Poll","data-id":t.id()},this.controlsView(n.toArray()),m("div",{className:"Poll-wrapper"},this.createMainView().toArray()))},n.createMainView=function(){var t=new(E()),o=this.attrs.poll;return t.add("title",m("h2",{className:"Poll-title"},o.question())),t.add("subtitle",m("p",{className:"Poll-subtitle"},o.subtitle())),t.add("form",m("form",null,this.createFormItems().toArray())),t},n.createFormItems=function(){var t=this.state,e=new(E()),n=this.attrs.poll,r=this.infoItems(n.maxVotes());return e.add("elements",m("fieldset",null,m("legend",{className:"sr-only"},"app.translator.trans('fof-polls.forum.answers')"),m(Tt,{options:n.options(),state:t}))),e.add("sticky",m("div",{className:"Poll-sticky"},!r.isEmpty()&&m("div",{className:"helpText PollInfoText"},r.toArray()),m(A(),{className:"Button Button--primary Poll-submit",loading:t.loadingOptions,onclick:t.onsubmit.bind(t),disabled:!t.hasSelectedOptions()},o().translator.trans("fof-polls.forum.poll.submit_button")))),e},n.deletePoll=function(){Kt.deleteAction(this.attrs.poll)},n.editPoll=function(){Kt.editAction(this.attrs.poll)},n.controlsView=function(t){return!!t.length&&m(st(),{icon:"fas fa-ellipsis-v",className:"PollListItem-controls",menuClassName:"Dropdown-menu--right",buttonClassName:"Button Button--icon Button--flat",accessibleToggleLabel:o().translator.trans("fof-polls.forum.poll_controls.toggle_dropdown_accessible_label")},t)},n.infoItems=function(t){var e=new(E()),n=this.attrs.poll;return!o().session.user||n.canVote()||n.hasEnded()||e.add("no-permission",m("span",null,m("i",{className:"icon fas fa-times-circle fa-fw"}),o().translator.trans("fof-polls.forum.no_permission"))),n.endDate()&&e.add("end-date",m("span",null,m("i",{class:"icon fas fa-clock fa-fw"}),n.hasEnded()?o().translator.trans("fof-polls.forum.poll_ended"):o().translator.trans("fof-polls.forum.days_remaining",{time:dayjs(n.endDate()).fromNow()}))),n.canVote()&&(e.add("max-votes",m("span",null,m("i",{className:"icon fas fa-poll fa-fw"}),o().translator.trans("fof-polls.forum.max_votes_allowed",{max:t}))),n.canChangeVote()||e.add("cannot-change-vote",m("span",null,m("i",{className:"icon fas fa-"+(this.state.hasVoted()?"times":"exclamation")+"-circle fa-fw"}),o().translator.trans("fof-polls.forum.poll.cannot_change_vote")))),e},e}(C()),zt=function(t){function e(){for(var o,e=arguments.length,n=new Array(e),r=0;r=2?A().component({type:"button",className:"Button PollModal--button Button--icon",icon:"fas fa-minus",onclick:n>=2?t.removeOption.bind(t,n):""}):"")}))},n.addOption=function(){var t=Math.max(o().forum.attribute("pollMaxOptions"),2);this.options.length0;return!o().session.user||r.canVote()||r.hasEnded()||n.add("no-permission",m("span",null,m("i",{className:"icon fas fa-times-circle fa-fw"}),o().translator.trans("fof-polls.forum.no_permission"))),r.endDate()&&n.add("end-date",m("span",null,m("i",{class:"icon fas fa-clock fa-fw"}),r.hasEnded()?o().translator.trans("fof-polls.forum.poll_ended"):o().translator.trans("fof-polls.forum.days_remaining",{time:dayjs(r.endDate()).fromNow()}))),r.canVote()&&(n.add("max-votes",m("span",null,m("i",{className:"icon fas fa-poll fa-fw"}),o().translator.trans("fof-polls.forum.max_votes_allowed",{max:t}))),r.canChangeVote()||n.add("cannot-change-vote",m("span",null,m("i",{className:"icon fas fa-"+(a?"times":"exclamation")+"-circle fa-fw"}),o().translator.trans("fof-polls.forum.poll.cannot_change_vote")))),n},n.viewOption=function(t){var e,n,r,a=this.attrs.poll,s=(null==(e=a.myVotes())?void 0:e.length)>0,i=a.voteCount(),l=this.pendingOptions?this.pendingOptions.has(t.id()):null==(n=a.myVotes())||null==n.some?void 0:n.some((function(o){return o.option()===t})),u=t.voteCount(),c=i>0?Math.round(u/i*100):0,p="number"==typeof u,d=this.loadingOptions||s&&!a.canChangeVote(),h=p?c:Number(l)/((null==(r=a.myVotes())?void 0:r.length)||1)*100,v=!o().session.user||!a.hasEnded()&&a.canVote()&&(!s||a.canChangeVote()),y=m("div",{className:"PollBar","data-selected":!!l,style:"--poll-option-width: "+h+"%"},v&&m("label",{className:"PollAnswer-checkbox checkbox"},m("input",{onchange:this.changeVote.bind(this,t),type:"checkbox",checked:l,disabled:d}),m("span",{className:"checkmark"})),m("div",{className:"PollAnswer-text"},m("span",{className:"PollAnswer-text-answer"},t.answer()),l&&!v&&dt()("fas fa-check-circle",{className:"PollAnswer-check"}),p&&m("span",{className:f()("PollPercent",100!==c&&"PollPercent--option")},c,"%")),t.imageUrl()?m("img",{className:"PollAnswer-image",src:t.imageUrl(),alt:t.answer()}):null);return m("div",{className:f()("PollOption",s&&"PollVoted",a.hasEnded()&&"PollEnded",t.imageUrl()&&"PollOption-hasImage"),"data-id":t.id()},p?m(eo(),{text:o().translator.trans("fof-polls.forum.tooltip.votes",{count:u}),onremove:this.hideOptionTooltip},y):y)},n.changeVote=function(t,e){var n,r;if(!o().session.user)return o().modal.show(Nt()),void(e.target.checked=!1);var a=this.pendingOptions||new Set(null==(n=(r=this.attrs.poll.myVotes()).map)?void 0:n.call(r,(function(t){return t.option().id()}))),s=a.delete(t.id());return this.attrs.poll.allowMultipleVotes()||a.clear(),s||a.add(t.id()),this.useSubmitUI?(this.pendingOptions=a.size?a:null,void(this.pendingSubmit=!!this.pendingOptions)):this.submit(a,null,(function(){return e.target.checked=s}))},n.onsubmit=function(){var t=this;return this.submit(this.pendingOptions,(function(){t.pendingOptions=null,t.pendingSubmit=!1}))},n.submit=function(t,e,n){var r=this;return this.loadingOptions=!0,m.redraw(),o().request({method:"PATCH",url:o().forum.attribute("apiUrl")+"/fof/polls/"+this.attrs.poll.id()+"/votes",body:{data:{optionIds:Array.from(t)}}}).then((function(t){o().store.pushPayload(t),null==e||e()})).catch((function(t){null==n||n(t)})).finally((function(){r.loadingOptions=!1,m.redraw()}))},n.showVoters=function(){o().modal.show(Ht,{poll:this.attrs.poll,post:this.attrs.post})},n.deletePoll=function(){confirm(o().translator.trans("fof-polls.forum.moderation.delete_confirm"))&&this.attrs.poll.delete().then((function(){m.redraw.sync()}))},n.hideOptionTooltip=function(t){t.attrs.tooltipVisible=!1,t.state.updateVisibility()},n.preventClose=function(t){if(this.pendingOptions)return t.preventDefault(),!0},e}(C());const ao=flarum.core.compat["forum/components/DiscussionPage"];var so=e.n(ao);function io(t,o){(null==o||o>t.length)&&(o=t.length);for(var e=0,n=new Array(o);e=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(o.polls());!(e=n()).done;){var r=e.value;r&&t.push(m(ro,{post:o,poll:r}))}})),(0,r.extend)(to().prototype,"oninit",(function(){var t=this;this.subtree.check((function(){var o=t.attrs.post.polls(),e=null==o||null==o.map?void 0:o.map((function(t){var o,e,n,r,a;return t&&[null==(o=t.data)?void 0:o.attributes,null==(e=(n=t.options()).map)?void 0:e.call(n,(function(t){var o;return null==t||null==(o=t.data)?void 0:o.attributes})),null==(r=(a=t.myVotes()).map)?void 0:r.call(a,(function(t){var o;return null==(o=t.option())?void 0:o.id()}))]}));return JSON.stringify(e)}))})),(0,r.extend)(so().prototype,"oncreate",(function(){o().pusher&&o().pusher.then((function(t){t.channels.main.bind("updatedPollOptions",(function(t){var e=o().store.getById("polls",t.pollId);e&&e.pushAttributes({voteCount:t.pollVoteCount});var n=t.options;for(var r in n){var a=o().store.getById("poll_options",r);a&&void 0!==a.voteCount()&&a.pushAttributes({voteCount:n[r]})}m.redraw()}))}))})),(0,r.extend)(so().prototype,"onremove",(function(){o().pusher&&o().pusher.then((function(t){t.channels.main.unbind("updatedPollOptions")}))})),t=function(t){return o().modal.show(Wt,{onsubmit:function(e){return o().store.createRecord("polls").save(lo({},e,{relationships:{post:t}}),{data:{include:"options,myVotes,myVotes.option"}}).then((function(o){var e;return null==(e=t.rawRelationship("polls"))||null==e.push||e.push({type:"polls",id:o.id()}),o}))}})},(0,r.extend)(co(),"moderationControls",(function(e,n){!n.isHidden()&&n.canStartPoll()&&e.add("addPoll",m(A(),{icon:"fas fa-poll",onclick:t.bind(this,n)},o().translator.trans("fof-polls.forum.moderation.add")))})),(0,r.extend)(ot().prototype,"navItems",(function(t){t.add("fof-polls-list",J().component({href:o().route("fof.polls.list"),icon:"fas fa-poll"},o().translator.trans("fof-polls.forum.page.nav")),35)}))}))})(),module.exports=n})(); +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./src/forum/addComposerItems.js": +/*!***************************************!*\ + !*** ./src/forum/addComposerItems.js ***! + \***************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addToComposer: () => (/* binding */ addToComposer), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! flarum/forum/app */ "flarum/forum/app"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_app__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var flarum_common_extend__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/common/extend */ "flarum/common/extend"); +/* harmony import */ var flarum_common_extend__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_common_extend__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/common/utils/classList */ "flarum/common/utils/classList"); +/* harmony import */ var flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var flarum_forum_components_DiscussionComposer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/forum/components/DiscussionComposer */ "flarum/forum/components/DiscussionComposer"); +/* harmony import */ var flarum_forum_components_DiscussionComposer__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_components_DiscussionComposer__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var flarum_forum_components_ReplyComposer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! flarum/forum/components/ReplyComposer */ "flarum/forum/components/ReplyComposer"); +/* harmony import */ var flarum_forum_components_ReplyComposer__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_components_ReplyComposer__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _components_CreatePollModal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/CreatePollModal */ "./src/forum/components/CreatePollModal.js"); + + + + + + +var addToComposer = function addToComposer(composer) { + composer.prototype.addPoll = function () { + var _this = this; + flarum_forum_app__WEBPACK_IMPORTED_MODULE_0___default().modal.show(_components_CreatePollModal__WEBPACK_IMPORTED_MODULE_5__["default"], { + poll: this.composer.fields.poll, + onsubmit: function onsubmit(poll) { + return _this.composer.fields.poll = poll; + } + }); + }; + + // Add button to DiscussionComposer header + (0,flarum_common_extend__WEBPACK_IMPORTED_MODULE_1__.extend)(composer.prototype, 'headerItems', function (items) { + var _this$composer$body, _this$composer$body$a, _discussion$canStartP; + var discussion = (_this$composer$body = this.composer.body) == null ? void 0 : (_this$composer$body$a = _this$composer$body.attrs) == null ? void 0 : _this$composer$body$a.discussion; + var canStartPoll = (_discussion$canStartP = discussion == null ? void 0 : discussion.canStartPoll()) != null ? _discussion$canStartP : flarum_forum_app__WEBPACK_IMPORTED_MODULE_0___default().forum.canStartPolls(); + if (canStartPoll) { + items.add('polls', m("a", { + className: "ComposerBody-poll", + onclick: this.addPoll.bind(this) + }, m("span", { + className: flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_2___default()('PollLabel', !this.composer.fields.poll && 'none') + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_0___default().translator.trans("fof-polls.forum.composer_discussion." + (this.composer.fields.poll ? 'edit' : 'add') + "_poll"))), 1); + } + }); + (0,flarum_common_extend__WEBPACK_IMPORTED_MODULE_1__.extend)(composer.prototype, 'data', function (data) { + if (this.composer.fields.poll) { + data.poll = this.composer.fields.poll; + } + }); +}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (function () { + addToComposer((flarum_forum_components_DiscussionComposer__WEBPACK_IMPORTED_MODULE_3___default())); + addToComposer((flarum_forum_components_ReplyComposer__WEBPACK_IMPORTED_MODULE_4___default())); +}); + +/***/ }), + +/***/ "./src/forum/addDiscussionBadge.js": +/*!*****************************************!*\ + !*** ./src/forum/addDiscussionBadge.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! flarum/forum/app */ "flarum/forum/app"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_app__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var flarum_common_extend__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/common/extend */ "flarum/common/extend"); +/* harmony import */ var flarum_common_extend__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_common_extend__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var flarum_common_components_Badge__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/common/components/Badge */ "flarum/common/components/Badge"); +/* harmony import */ var flarum_common_components_Badge__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Badge__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var flarum_forum_components_DiscussionList__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/forum/components/DiscussionList */ "flarum/forum/components/DiscussionList"); +/* harmony import */ var flarum_forum_components_DiscussionList__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_components_DiscussionList__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var flarum_common_models_Discussion__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! flarum/common/models/Discussion */ "flarum/common/models/Discussion"); +/* harmony import */ var flarum_common_models_Discussion__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(flarum_common_models_Discussion__WEBPACK_IMPORTED_MODULE_4__); + + + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (function () { + (0,flarum_common_extend__WEBPACK_IMPORTED_MODULE_1__.extend)((flarum_forum_components_DiscussionList__WEBPACK_IMPORTED_MODULE_3___default().prototype), 'requestParams', function (params) { + params.include.push('poll'); + }); + (0,flarum_common_extend__WEBPACK_IMPORTED_MODULE_1__.extend)((flarum_common_models_Discussion__WEBPACK_IMPORTED_MODULE_4___default().prototype), 'badges', function (badges) { + if (this.hasPoll()) { + badges.add('poll', flarum_common_components_Badge__WEBPACK_IMPORTED_MODULE_2___default().component({ + type: 'poll', + label: flarum_forum_app__WEBPACK_IMPORTED_MODULE_0___default().translator.trans('fof-polls.forum.tooltip.badge'), + icon: 'fas fa-signal' + }), 5); + } + }); +}); + +/***/ }), + +/***/ "./src/forum/addNavItem.ts": +/*!*********************************!*\ + !*** ./src/forum/addNavItem.ts ***! + \*********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ addNavItem) +/* harmony export */ }); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! flarum/forum/app */ "flarum/forum/app"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_app__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var flarum_common_extend__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/common/extend */ "flarum/common/extend"); +/* harmony import */ var flarum_common_extend__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_common_extend__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var flarum_forum_components_IndexPage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/forum/components/IndexPage */ "flarum/forum/components/IndexPage"); +/* harmony import */ var flarum_forum_components_IndexPage__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_components_IndexPage__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var flarum_common_components_LinkButton__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/common/components/LinkButton */ "flarum/common/components/LinkButton"); +/* harmony import */ var flarum_common_components_LinkButton__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_LinkButton__WEBPACK_IMPORTED_MODULE_3__); + + + + +function addNavItem() { + (0,flarum_common_extend__WEBPACK_IMPORTED_MODULE_1__.extend)((flarum_forum_components_IndexPage__WEBPACK_IMPORTED_MODULE_2___default().prototype), 'navItems', function (items) { + items.add('fof-polls-list', flarum_common_components_LinkButton__WEBPACK_IMPORTED_MODULE_3___default().component({ + href: flarum_forum_app__WEBPACK_IMPORTED_MODULE_0___default().route('fof.polls.list'), + icon: 'fas fa-poll' + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_0___default().translator.trans('fof-polls.forum.page.nav')), 35); + }); +} + +/***/ }), + +/***/ "./src/forum/addPollsToPost.js": +/*!*************************************!*\ + !*** ./src/forum/addPollsToPost.js ***! + \*************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! flarum/forum/app */ "flarum/forum/app"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_app__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var flarum_common_extend__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/common/extend */ "flarum/common/extend"); +/* harmony import */ var flarum_common_extend__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_common_extend__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var flarum_forum_components_CommentPost__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/forum/components/CommentPost */ "flarum/forum/components/CommentPost"); +/* harmony import */ var flarum_forum_components_CommentPost__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_components_CommentPost__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _components_PostPoll__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/PostPoll */ "./src/forum/components/PostPoll.js"); +/* harmony import */ var flarum_forum_components_DiscussionPage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! flarum/forum/components/DiscussionPage */ "flarum/forum/components/DiscussionPage"); +/* harmony import */ var flarum_forum_components_DiscussionPage__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_components_DiscussionPage__WEBPACK_IMPORTED_MODULE_4__); +function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + + + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (function () { + (0,flarum_common_extend__WEBPACK_IMPORTED_MODULE_1__.extend)((flarum_forum_components_CommentPost__WEBPACK_IMPORTED_MODULE_2___default().prototype), 'content', function (content) { + var post = this.attrs.post; + if ((!post.isHidden() || this.revealContent) && post.polls()) { + for (var _iterator = _createForOfIteratorHelperLoose(post.polls()), _step; !(_step = _iterator()).done;) { + var poll = _step.value; + if (poll) { + content.push(m(_components_PostPoll__WEBPACK_IMPORTED_MODULE_3__["default"], { + post: post, + poll: poll + })); + } + } + } + }); + (0,flarum_common_extend__WEBPACK_IMPORTED_MODULE_1__.extend)((flarum_forum_components_CommentPost__WEBPACK_IMPORTED_MODULE_2___default().prototype), 'oninit', function () { + var _this = this; + this.subtree.check(function () { + var polls = _this.attrs.post.polls(); + var checks = polls == null ? void 0 : polls.map == null ? void 0 : polls.map(function (poll) { + var _poll$data, _poll$options$map, _poll$options, _poll$myVotes$map, _poll$myVotes; + return poll && [(_poll$data = poll.data) == null ? void 0 : _poll$data.attributes, (_poll$options$map = (_poll$options = poll.options()).map) == null ? void 0 : _poll$options$map.call(_poll$options, function (option) { + var _option$data; + return option == null ? void 0 : (_option$data = option.data) == null ? void 0 : _option$data.attributes; + }), (_poll$myVotes$map = (_poll$myVotes = poll.myVotes()).map) == null ? void 0 : _poll$myVotes$map.call(_poll$myVotes, function (vote) { + var _vote$option; + return (_vote$option = vote.option()) == null ? void 0 : _vote$option.id(); + })]; + }); + return JSON.stringify(checks); + }); + }); + (0,flarum_common_extend__WEBPACK_IMPORTED_MODULE_1__.extend)((flarum_forum_components_DiscussionPage__WEBPACK_IMPORTED_MODULE_4___default().prototype), 'oncreate', function () { + if ((flarum_forum_app__WEBPACK_IMPORTED_MODULE_0___default().pusher)) { + flarum_forum_app__WEBPACK_IMPORTED_MODULE_0___default().pusher.then(function (binding) { + // We will listen for updates to all polls and options + // Even if that model is not in the current discussion, it doesn't really matter + binding.channels.main.bind('updatedPollOptions', function (data) { + var poll = flarum_forum_app__WEBPACK_IMPORTED_MODULE_0___default().store.getById('polls', data['pollId']); + if (poll) { + poll.pushAttributes({ + voteCount: data['pollVoteCount'] + }); + + // Not redrawing here, as the option below should trigger the redraw already + } + + var changedOptions = data['options']; + for (var optionId in changedOptions) { + var option = flarum_forum_app__WEBPACK_IMPORTED_MODULE_0___default().store.getById('poll_options', optionId); + if (option && option.voteCount() !== undefined) { + option.pushAttributes({ + voteCount: changedOptions[optionId] + }); + } + } + m.redraw(); + }); + }); + } + }); + (0,flarum_common_extend__WEBPACK_IMPORTED_MODULE_1__.extend)((flarum_forum_components_DiscussionPage__WEBPACK_IMPORTED_MODULE_4___default().prototype), 'onremove', function () { + if ((flarum_forum_app__WEBPACK_IMPORTED_MODULE_0___default().pusher)) { + flarum_forum_app__WEBPACK_IMPORTED_MODULE_0___default().pusher.then(function (binding) { + binding.channels.main.unbind('updatedPollOptions'); + }); + } + }); +}); + +/***/ }), + +/***/ "./src/forum/addPostControls.js": +/*!**************************************!*\ + !*** ./src/forum/addPostControls.js ***! + \**************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/forum/app */ "flarum/forum/app"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_app__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var flarum_common_extend__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/common/extend */ "flarum/common/extend"); +/* harmony import */ var flarum_common_extend__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_common_extend__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var flarum_forum_utils_PostControls__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/forum/utils/PostControls */ "flarum/forum/utils/PostControls"); +/* harmony import */ var flarum_forum_utils_PostControls__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_utils_PostControls__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _components_CreatePollModal__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/CreatePollModal */ "./src/forum/components/CreatePollModal.js"); +/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! flarum/common/components/Button */ "flarum/common/components/Button"); +/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_5__); + + + + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (function () { + var createPoll = function createPoll(post) { + return flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().modal.show(_components_CreatePollModal__WEBPACK_IMPORTED_MODULE_4__["default"], { + onsubmit: function onsubmit(data) { + return flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().store.createRecord('polls').save((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, data, { + relationships: { + post: post + } + }), { + data: { + include: 'options,myVotes,myVotes.option' + } + }).then(function (poll) { + var _post$rawRelationship; + (_post$rawRelationship = post.rawRelationship('polls')) == null ? void 0 : _post$rawRelationship.push == null ? void 0 : _post$rawRelationship.push({ + type: 'polls', + id: poll.id() + }); + return poll; + }); + } + }); + }; + (0,flarum_common_extend__WEBPACK_IMPORTED_MODULE_2__.extend)((flarum_forum_utils_PostControls__WEBPACK_IMPORTED_MODULE_3___default()), 'moderationControls', function (items, post) { + if (!post.isHidden() && post.canStartPoll()) { + items.add('addPoll', m((flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_5___default()), { + icon: "fas fa-poll", + onclick: createPoll.bind(this, post) + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('fof-polls.forum.moderation.add'))); + } + }); +}); + +/***/ }), + +/***/ "./src/forum/components/ComposePollHero.tsx": +/*!**************************************************!*\ + !*** ./src/forum/components/ComposePollHero.tsx ***! + \**************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ ComposePollHero) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/forum/app */ "flarum/forum/app"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_app__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/common/Component */ "flarum/common/Component"); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_common_Component__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var flarum_common_components_LinkButton__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/common/components/LinkButton */ "flarum/common/components/LinkButton"); +/* harmony import */ var flarum_common_components_LinkButton__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_LinkButton__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! flarum/common/utils/ItemList */ "flarum/common/utils/ItemList"); +/* harmony import */ var flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_4__); + + + + + +var ComposePollHero = /*#__PURE__*/function (_Component) { + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(ComposePollHero, _Component); + function ComposePollHero() { + var _this; + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + _this = _Component.call.apply(_Component, [this].concat(args)) || this; + _this.poll = void 0; + return _this; + } + var _proto = ComposePollHero.prototype; + _proto.oninit = function oninit(vnode) { + _Component.prototype.oninit.call(this, vnode); + this.poll = this.attrs.poll; + }; + _proto.view = function view() { + return m("div", { + className: "ComposeGoodieCollectionHero Hero IndexPageHero" + }, m("div", { + className: "container" + }, m("div", { + className: "containerNarrow" + }, m("h2", { + className: "Hero-title" + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("fof-polls.forum.compose." + (!!this.poll.id() ? 'edit' : 'add') + "_title")), m("div", { + className: "IndexPageHero-controls" + }, this.controlItems().toArray())))); + }; + _proto.controlItems = function controlItems() { + var items = new (flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_4___default())(); + items.add('edit', m((flarum_common_components_LinkButton__WEBPACK_IMPORTED_MODULE_3___default()), { + icon: "far fa-edit", + className: "Button Button--secondary IndexPage-newDiscussion GoodiesManagerLink", + itemClassName: "App-primaryControl", + href: flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().route('fof.polls.list') + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('fof-polls.forum.compose.polls_manager'))); + if (this.poll.exists) { + items.add('view', m((flarum_common_components_LinkButton__WEBPACK_IMPORTED_MODULE_3___default()), { + icon: "far fa-arrow-up-right-from-square", + className: "Button Button--secondary IndexPage-newDiscussion GoodiePreviewLink", + itemClassName: "App-primaryControl", + href: flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().route('fof.polls.view', { + id: this.poll.id() + }) + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('fof-polls.forum.compose.polls_preview'))); + } + return items; + }; + return ComposePollHero; +}((flarum_common_Component__WEBPACK_IMPORTED_MODULE_2___default())); + + +/***/ }), + +/***/ "./src/forum/components/ComposePollPage.tsx": +/*!**************************************************!*\ + !*** ./src/forum/components/ComposePollPage.tsx ***! + \**************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ ComposePollPage) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/forum/app */ "flarum/forum/app"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_app__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var flarum_common_components_Page__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! flarum/common/components/Page */ "flarum/common/components/Page"); +/* harmony import */ var flarum_common_components_Page__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Page__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! flarum/common/components/LoadingIndicator */ "flarum/common/components/LoadingIndicator"); +/* harmony import */ var flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _PollForm__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./PollForm */ "./src/forum/components/PollForm.js"); +/* harmony import */ var _states_PollFormState__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../states/PollFormState */ "./src/forum/states/PollFormState.ts"); +/* harmony import */ var _ComposePollHero__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./ComposePollHero */ "./src/forum/components/ComposePollHero.tsx"); +/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! flarum/common/components/Button */ "flarum/common/components/Button"); +/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_9__); +/* harmony import */ var flarum_common_helpers_listItems__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! flarum/common/helpers/listItems */ "flarum/common/helpers/listItems"); +/* harmony import */ var flarum_common_helpers_listItems__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(flarum_common_helpers_listItems__WEBPACK_IMPORTED_MODULE_10__); +/* harmony import */ var flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! flarum/common/utils/ItemList */ "flarum/common/utils/ItemList"); +/* harmony import */ var flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_11__); +/* harmony import */ var flarum_common_components_SelectDropdown__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! flarum/common/components/SelectDropdown */ "flarum/common/components/SelectDropdown"); +/* harmony import */ var flarum_common_components_SelectDropdown__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_SelectDropdown__WEBPACK_IMPORTED_MODULE_12__); +/* harmony import */ var flarum_forum_components_IndexPage__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! flarum/forum/components/IndexPage */ "flarum/forum/components/IndexPage"); +/* harmony import */ var flarum_forum_components_IndexPage__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_components_IndexPage__WEBPACK_IMPORTED_MODULE_13__); + + + + + + + + + + + + + + +var ComposePollPage = /*#__PURE__*/function (_Page) { + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(ComposePollPage, _Page); + function ComposePollPage() { + var _this; + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + _this = _Page.call.apply(_Page, [this].concat(args)) || this; + _this.poll = null; + _this.loading = false; + return _this; + } + var _proto = ComposePollPage.prototype; + _proto.oninit = function oninit(vnode) { + var _this2 = this, + _this$poll, + _this$poll2; + _Page.prototype.oninit.call(this, vnode); + + // Get the `edit` parameter from the URL + var editId = m.route.param('id'); + if (editId) { + this.poll = flarum_forum_app__WEBPACK_IMPORTED_MODULE_3___default().store.getById('poll', editId); + if (!this.poll) { + this.loading = true; + flarum_forum_app__WEBPACK_IMPORTED_MODULE_3___default().store.find('fof/polls', editId).then(function (item) { + var _this2$poll; + _this2.poll = item; + _this2.loading = false; + flarum_forum_app__WEBPACK_IMPORTED_MODULE_3___default().setTitle(flarum_forum_app__WEBPACK_IMPORTED_MODULE_3___default().translator.trans("fof-polls.forum.compose." + (!!((_this2$poll = _this2.poll) != null && _this2$poll.id()) ? 'edit' : 'add') + "_title")); + m.redraw(); + }); + } + } else { + this.poll = _states_PollFormState__WEBPACK_IMPORTED_MODULE_7__["default"].createNewPoll(); + } + flarum_forum_app__WEBPACK_IMPORTED_MODULE_3___default().history.push('compose-poll', flarum_forum_app__WEBPACK_IMPORTED_MODULE_3___default().translator.trans("fof-polls.forum.compose." + (!!((_this$poll = this.poll) != null && _this$poll.id()) ? 'edit' : 'add') + "_title")); + this.bodyClass = 'App--compose-poll'; + flarum_forum_app__WEBPACK_IMPORTED_MODULE_3___default().setTitle(flarum_forum_app__WEBPACK_IMPORTED_MODULE_3___default().translator.trans("fof-polls.forum.compose." + (!!((_this$poll2 = this.poll) != null && _this$poll2.id()) ? 'edit' : 'add') + "_title")); + }; + _proto.view = function view() { + // prevent users from accessing the page if they can't start global polls + if (!flarum_forum_app__WEBPACK_IMPORTED_MODULE_3___default().forum.attribute('canStartGlobalPolls')) { + m.route.set('/'); + return; + } + if (this.loading) { + return m((flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_5___default()), null); + } + return m("div", { + className: "ComposePollCollectionPage" + }, m(_ComposePollHero__WEBPACK_IMPORTED_MODULE_8__["default"], { + poll: this.poll + }), m("div", { + className: "container" + }, m("div", { + className: "sideNavContainer" + }, m("nav", { + className: "PollsPage-nav sideNav" + }, m("ul", null, flarum_common_helpers_listItems__WEBPACK_IMPORTED_MODULE_10___default()(this.sidebarItems().toArray()))), m("div", { + className: "sideNavOffset" + }, m(_PollForm__WEBPACK_IMPORTED_MODULE_6__["default"], { + poll: this.poll, + onsubmit: this.onsubmit.bind(this) + }))))); + }; + _proto.onsubmit = /*#__PURE__*/function () { + var _onsubmit = (0,_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().mark(function _callee(data, state) { + var isNew, alertAttrs, alertId; + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + isNew = state.poll.id() === undefined; + _context.next = 3; + return state.save(data); + case 3: + alertAttrs = isNew ? { + type: 'success', + controls: [m((flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_9___default()), { + className: "Button Button--link", + onclick: function onclick() { + return m.route.set(flarum_forum_app__WEBPACK_IMPORTED_MODULE_3___default().route('fof.polls.compose', { + id: state.poll.id() + })); + } + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_3___default().translator.trans('fof-polls.forum.compose.continue_editing'))] + } : { + type: 'success' + }; // Show success alert + alertId = flarum_forum_app__WEBPACK_IMPORTED_MODULE_3___default().alerts.show(alertAttrs, flarum_forum_app__WEBPACK_IMPORTED_MODULE_3___default().translator.trans('fof-polls.forum.compose.success')); // Hide alert after 10 seconds + setTimeout(function () { + return flarum_forum_app__WEBPACK_IMPORTED_MODULE_3___default().alerts.dismiss(alertId); + }, 10000); + if (isNew) { + m.route.set(flarum_forum_app__WEBPACK_IMPORTED_MODULE_3___default().route('fof.polls.list')); + } + case 7: + case "end": + return _context.stop(); + } + } + }, _callee); + })); + function onsubmit(_x, _x2) { + return _onsubmit.apply(this, arguments); + } + return onsubmit; + }(); + _proto.sidebarItems = function sidebarItems() { + var items = new (flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_11___default())(); + items.add('nav', m((flarum_common_components_SelectDropdown__WEBPACK_IMPORTED_MODULE_12___default()), { + buttonClassName: "Button", + className: "App-titleControl", + accessibleToggleLabel: flarum_forum_app__WEBPACK_IMPORTED_MODULE_3___default().translator.trans('core.forum.index.toggle_sidenav_dropdown_accessible_label') + }, this.navItems().toArray())); + return items; + }; + _proto.navItems = function navItems() { + return flarum_forum_components_IndexPage__WEBPACK_IMPORTED_MODULE_13___default().prototype.navItems(); + }; + return ComposePollPage; +}((flarum_common_components_Page__WEBPACK_IMPORTED_MODULE_4___default())); + + +/***/ }), + +/***/ "./src/forum/components/CreatePollModal.js": +/*!*************************************************!*\ + !*** ./src/forum/components/CreatePollModal.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ CreatePollModal) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/forum/app */ "flarum/forum/app"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_app__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var flarum_common_components_Modal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/common/components/Modal */ "flarum/common/components/Modal"); +/* harmony import */ var flarum_common_components_Modal__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Modal__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _PollForm__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PollForm */ "./src/forum/components/PollForm.js"); + + + + +var CreatePollModal = /*#__PURE__*/function (_Modal) { + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(CreatePollModal, _Modal); + function CreatePollModal() { + return _Modal.apply(this, arguments) || this; + } + var _proto = CreatePollModal.prototype; + _proto.title = function title() { + return flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('fof-polls.forum.modal.add_title'); + }; + _proto.className = function className() { + return 'PollDiscussionModal Modal--medium'; + }; + _proto.content = function content() { + return [m("div", { + className: "Modal-body" + }, m(_PollForm__WEBPACK_IMPORTED_MODULE_3__["default"], { + poll: this.attrs.poll, + onsubmit: this.onsubmit.bind(this) + }))]; + }; + _proto.onsubmit = function onsubmit(data) { + this.hide(); + this.attrs.onsubmit(data); + }; + return CreatePollModal; +}((flarum_common_components_Modal__WEBPACK_IMPORTED_MODULE_2___default())); + + +/***/ }), + +/***/ "./src/forum/components/EditPollModal.js": +/*!***********************************************!*\ + !*** ./src/forum/components/EditPollModal.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ EditPollModal) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/forum/app */ "flarum/forum/app"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_app__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _CreatePollModal__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./CreatePollModal */ "./src/forum/components/CreatePollModal.js"); + + + + + +var EditPollModal = /*#__PURE__*/function (_CreatePollModal) { + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(EditPollModal, _CreatePollModal); + function EditPollModal() { + return _CreatePollModal.apply(this, arguments) || this; + } + var _proto = EditPollModal.prototype; + _proto.title = function title() { + return flarum_forum_app__WEBPACK_IMPORTED_MODULE_3___default().translator.trans('fof-polls.forum.modal.edit_title'); + }; + _proto.onsubmit = /*#__PURE__*/function () { + var _onsubmit = (0,_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().mark(function _callee(data, state) { + var alertId; + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return state.save(data); + case 2: + // Show success alert + alertId = flarum_forum_app__WEBPACK_IMPORTED_MODULE_3___default().alerts.show({ + type: 'success' + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_3___default().translator.trans('fof-polls.forum.compose.success')); // Hide alert after 10 seconds + setTimeout(function () { + return flarum_forum_app__WEBPACK_IMPORTED_MODULE_3___default().alerts.dismiss(alertId); + }, 10000); + case 4: + case "end": + return _context.stop(); + } + } + }, _callee); + })); + function onsubmit(_x, _x2) { + return _onsubmit.apply(this, arguments); + } + return onsubmit; + }(); + return EditPollModal; +}(_CreatePollModal__WEBPACK_IMPORTED_MODULE_4__["default"]); + + +/***/ }), + +/***/ "./src/forum/components/ListVotersModal.js": +/*!*************************************************!*\ + !*** ./src/forum/components/ListVotersModal.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ ListVotersModal) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/forum/app */ "flarum/forum/app"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_app__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var flarum_common_components_Modal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/common/components/Modal */ "flarum/common/components/Modal"); +/* harmony import */ var flarum_common_components_Modal__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Modal__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var flarum_common_helpers_avatar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/common/helpers/avatar */ "flarum/common/helpers/avatar"); +/* harmony import */ var flarum_common_helpers_avatar__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_common_helpers_avatar__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var flarum_common_helpers_username__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! flarum/common/helpers/username */ "flarum/common/helpers/username"); +/* harmony import */ var flarum_common_helpers_username__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(flarum_common_helpers_username__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! flarum/common/components/Link */ "flarum/common/components/Link"); +/* harmony import */ var flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! flarum/common/utils/Stream */ "flarum/common/utils/Stream"); +/* harmony import */ var flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! flarum/common/components/LoadingIndicator */ "flarum/common/components/LoadingIndicator"); +/* harmony import */ var flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_7__); + + + + + + + + +var ListVotersModal = /*#__PURE__*/function (_Modal) { + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(ListVotersModal, _Modal); + function ListVotersModal() { + return _Modal.apply(this, arguments) || this; + } + var _proto = ListVotersModal.prototype; + _proto.oninit = function oninit(vnode) { + var _this = this; + _Modal.prototype.oninit.call(this, vnode); + this.loading = flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_6___default()(true); + flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().store.find('fof/polls', this.attrs.poll.id(), { + include: 'votes,votes.user,votes.option' + }).then(function () { + return _this.loading(false); + })["finally"](function () { + return m.redraw(); + }); + }; + _proto.className = function className() { + return 'Modal--medium VotesModal'; + }; + _proto.title = function title() { + return flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('fof-polls.forum.votes_modal.title'); + }; + _proto.content = function content() { + return m("div", { + className: "Modal-body" + }, this.loading() ? m((flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_7___default()), null) : this.attrs.poll.options().map(this.optionContent.bind(this))); + }; + _proto.optionContent = function optionContent(opt) { + var votes = (this.attrs.poll.votes() || []).filter(function (v) { + return opt.id() === v.option().id(); + }); + return m("div", { + className: "VotesModal-option" + }, m("h2", null, opt.answer() + ':'), votes.length ? m("div", { + className: "VotesModal-list" + }, votes.map(this.voteContent.bind(this))) : m("h4", null, flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('fof-polls.forum.modal.no_voters'))); + }; + _proto.voteContent = function voteContent(vote) { + var user = vote.user(); + var attrs = user && { + href: flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().route.user(user) + }; + return m((flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_5___default()), attrs, flarum_common_helpers_avatar__WEBPACK_IMPORTED_MODULE_3___default()(user), " ", flarum_common_helpers_username__WEBPACK_IMPORTED_MODULE_4___default()(user)); + }; + return ListVotersModal; +}((flarum_common_components_Modal__WEBPACK_IMPORTED_MODULE_2___default())); + + +/***/ }), + +/***/ "./src/forum/components/Poll/PollList.js": +/*!***********************************************!*\ + !*** ./src/forum/components/Poll/PollList.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ PollList) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/forum/app */ "flarum/forum/app"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_app__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/common/Component */ "flarum/common/Component"); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_common_Component__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _PollListItem__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PollListItem */ "./src/forum/components/Poll/PollListItem.tsx"); +/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! flarum/common/components/Button */ "flarum/common/components/Button"); +/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! flarum/common/components/LoadingIndicator */ "flarum/common/components/LoadingIndicator"); +/* harmony import */ var flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var flarum_common_components_Placeholder__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! flarum/common/components/Placeholder */ "flarum/common/components/Placeholder"); +/* harmony import */ var flarum_common_components_Placeholder__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Placeholder__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! flarum/common/utils/classList */ "flarum/common/utils/classList"); +/* harmony import */ var flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_7__); + + + + + + + + + +/** + * The `PollList` component displays a list of polls. + */ +var PollList = /*#__PURE__*/function (_Component) { + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(PollList, _Component); + function PollList() { + return _Component.apply(this, arguments) || this; + } + var _proto = PollList.prototype; + _proto.view = function view() { + /** + * @type {import('../../states/PollListState').default} + */ + var state = this.attrs.state; + var params = state.getParams(); + var isLoading = state.isInitialLoading() || state.isLoadingNext(); + var loading; + if (isLoading) { + loading = m((flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_5___default()), null); + } else if (state.hasNext()) { + loading = m((flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_4___default()), { + className: "Button", + onclick: state.loadNext.bind(state) + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('fof-polls.forum.polls_list.load_more_button')); + } + if (state.isEmpty()) { + var text = flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('fof-polls.forum.polls_list.empty_text'); + return m("div", { + className: "PollList" + }, m((flarum_common_components_Placeholder__WEBPACK_IMPORTED_MODULE_6___default()), { + text: text + })); + } + var pageSize = state.pageSize; + return m("div", { + className: flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_7___default()('PollList', { + 'PollList--searchResults': state.isSearchResults() + }) + }, m("ul", { + "aria-busy": isLoading, + className: "PollList-polls" + }, state.getPages().map(function (pg) { + return pg.items.map(function (poll) { + return m("li", { + key: poll.id(), + "data-id": poll.id() + }, m(_PollListItem__WEBPACK_IMPORTED_MODULE_3__["default"], { + poll: poll, + params: params + })); + }); + })), m("div", { + className: "PollList-loadMore" + }, loading)); + }; + return PollList; +}((flarum_common_Component__WEBPACK_IMPORTED_MODULE_2___default())); + + +/***/ }), + +/***/ "./src/forum/components/Poll/PollListItem.tsx": +/*!****************************************************!*\ + !*** ./src/forum/components/Poll/PollListItem.tsx ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ PollListItem) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/forum/app */ "flarum/forum/app"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_app__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/common/Component */ "flarum/common/Component"); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_common_Component__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var flarum_common_utils_SubtreeRetainer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/common/utils/SubtreeRetainer */ "flarum/common/utils/SubtreeRetainer"); +/* harmony import */ var flarum_common_utils_SubtreeRetainer__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_SubtreeRetainer__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! flarum/common/utils/classList */ "flarum/common/utils/classList"); +/* harmony import */ var flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! flarum/common/components/Dropdown */ "flarum/common/components/Dropdown"); +/* harmony import */ var flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! flarum/common/components/Link */ "flarum/common/components/Link"); +/* harmony import */ var flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var flarum_common_helpers_highlight__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! flarum/common/helpers/highlight */ "flarum/common/helpers/highlight"); +/* harmony import */ var flarum_common_helpers_highlight__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(flarum_common_helpers_highlight__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var flarum_forum_utils_slidable__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! flarum/forum/utils/slidable */ "flarum/forum/utils/slidable"); +/* harmony import */ var flarum_forum_utils_slidable__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_utils_slidable__WEBPACK_IMPORTED_MODULE_8__); +/* harmony import */ var flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! flarum/common/helpers/icon */ "flarum/common/helpers/icon"); +/* harmony import */ var flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_9__); +/* harmony import */ var _PollPage__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./PollPage */ "./src/forum/components/Poll/PollPage.tsx"); +/* harmony import */ var flarum_common_utils_abbreviateNumber__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! flarum/common/utils/abbreviateNumber */ "flarum/common/utils/abbreviateNumber"); +/* harmony import */ var flarum_common_utils_abbreviateNumber__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_abbreviateNumber__WEBPACK_IMPORTED_MODULE_11__); +/* harmony import */ var _utils_PollControls__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../utils/PollControls */ "./src/forum/utils/PollControls.tsx"); +/* harmony import */ var flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! flarum/common/utils/ItemList */ "flarum/common/utils/ItemList"); +/* harmony import */ var flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_13__); +/* harmony import */ var flarum_common_helpers_listItems__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! flarum/common/helpers/listItems */ "flarum/common/helpers/listItems"); +/* harmony import */ var flarum_common_helpers_listItems__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(flarum_common_helpers_listItems__WEBPACK_IMPORTED_MODULE_14__); + + + + + + + + + + + + + + + +/** + * The `PollListItem` component shows a single poll in the + * poll list. + */ +var PollListItem = /*#__PURE__*/function (_Component) { + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(PollListItem, _Component); + function PollListItem() { + var _this; + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + _this = _Component.call.apply(_Component, [this].concat(args)) || this; + _this.subtree = void 0; + _this.poll = void 0; + _this.highlightRegExp = void 0; + return _this; + } + /** + * Ensures that the poll will not be redrawn + * unless new data comes in. + */ + var _proto = PollListItem.prototype; + _proto.oninit = function oninit(vnode) { + var _this2 = this; + _Component.prototype.oninit.call(this, vnode); + this.poll = this.attrs.poll; + this.subtree = new (flarum_common_utils_SubtreeRetainer__WEBPACK_IMPORTED_MODULE_3___default())(function () { + return _this2.poll.freshness; + }, function () { + var time = (flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().session).user && flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().session.user.markedAllAsReadAt(); + return time && time.getTime(); + }, function () { + return _this2.active(); + }); + }; + _proto.elementAttrs = function elementAttrs() { + return { + className: flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_4___default()('PollListItem', { + active: this.active(), + 'PollListItem--hidden': this.poll.isHidden(), + Slidable: 'ontouchstart' in window + }) + }; + }; + _proto.view = function view() { + var controls = _utils_PollControls__WEBPACK_IMPORTED_MODULE_12__["default"].controls(this.poll, this).toArray(); + var attrs = this.elementAttrs(); + return m("div", attrs, this.controlsView(controls), this.contentView(), this.slidableUnderneathView()); + }; + _proto.controlsView = function controlsView(controls) { + return !!controls.length && m((flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_5___default()), { + icon: "fas fa-ellipsis-v", + className: "PollListItem-controls", + menuClassName: "Dropdown-menu--right", + buttonClassName: "Button Button--icon Button--flat", + accessibleToggleLabel: flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('fof-polls.forum.poll_controls.toggle_dropdown_accessible_label') + }, controls); + }; + _proto.slidableUnderneathView = function slidableUnderneathView() { + var isUnread = this.poll.isUnread(); + return m("span", { + className: flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_4___default()('Slidable-underneath Slidable-underneath--left Slidable-underneath--elastic', { + disabled: !isUnread + }), + onclick: this.markAsRead.bind(this) + }, flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_9___default()('fas fa-check')); + }; + _proto.contentView = function contentView() { + // const isUnread = this.poll.isUnread(); + // const isRead = this.poll.isRead(); + + return ( + //
+ m("div", { + className: flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_4___default()('PollListItem-content') + }, this.mainView()) + ); + }; + _proto.mainView = function mainView() { + return m((flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_6___default()), { + href: flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().route('fof.polls.view', { + id: this.poll.id() + }), + className: "PollListItem-main" + }, m("h2", { + className: "PollListItem-title" + }, flarum_common_helpers_highlight__WEBPACK_IMPORTED_MODULE_7___default()(this.poll.question(), this.highlightRegExp)), this.poll.subtitle() && m("p", { + className: "PollListItem-subtitle helpText" + }, this.poll.subtitle()), m("ul", { + className: "PollListItem-info" + }, flarum_common_helpers_listItems__WEBPACK_IMPORTED_MODULE_14___default()(this.infoItems().toArray()))); + } + + // infoView() { + // return ( + //
+ // {this.poll.subtitle() &&

{this.poll.subtitle()}

} + //
    {listItems(this.infoItems().toArray())}
+ //
+ // ); + // } + ; + _proto.oncreate = function oncreate(vnode) { + _Component.prototype.oncreate.call(this, vnode); + + // If we're on a touch device, set up the discussion row to be slidable. + // This allows the user to drag the row to either side of the screen to + // reveal controls. + if ('ontouchstart' in window) { + var slidableInstance = flarum_forum_utils_slidable__WEBPACK_IMPORTED_MODULE_8___default()(this.element); + this.$('.PollListItem-controls').on('hidden.bs.dropdown', function () { + return slidableInstance.reset(); + }); + } + }; + _proto.onbeforeupdate = function onbeforeupdate(vnode) { + _Component.prototype.onbeforeupdate.call(this, vnode); + return this.subtree.needsRebuild(); + } + + /** + * Determine whether or not the discussion is currently being viewed. + */; + _proto.active = function active() { + return flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().current.matches(_PollPage__WEBPACK_IMPORTED_MODULE_10__["default"], { + poll: this.poll + }); + } + + /** + * Mark the poll as read. + */; + _proto.markAsRead = function markAsRead() { + if (this.poll.isUnread()) { + this.poll.save({ + lastVotedNumber: this.poll.voteCount() + }); + m.redraw(); + } + }; + _proto.infoItems = function infoItems() { + var items = new (flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_13___default())(); + var active = !this.poll.hasEnded(); + var activeView = this.poll.endDate() ? [flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_9___default()('fas fa-clock'), ' ', active ? flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('fof-polls.forum.days_remaining', { + time: dayjs(this.poll.endDate()).fromNow() + }) : flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('fof-polls.forum.poll_ended')] : [flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_9___default()('fas fa-infinity'), ' ', flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('fof-polls.forum.poll_never_ends')]; + items.add('active', m("span", { + className: flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_4___default()('PollListItem-endStatus', { + active: active + }) + }, activeView)); + var voteCount = this.poll.voteCount(); + if (voteCount !== undefined) { + items.add('voteCount', m("span", null, flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_9___default()('fas fa-poll fa-fw'), [' ', flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('fof-polls.forum.polls_count', { + count: flarum_common_utils_abbreviateNumber__WEBPACK_IMPORTED_MODULE_11___default()(voteCount) + })]), 70); + } + return items; + }; + return PollListItem; +}((flarum_common_Component__WEBPACK_IMPORTED_MODULE_2___default())); + + +/***/ }), + +/***/ "./src/forum/components/Poll/PollOption.tsx": +/*!**************************************************!*\ + !*** ./src/forum/components/Poll/PollOption.tsx ***! + \**************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ PollOption) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/common/Component */ "flarum/common/Component"); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_common_Component__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _PollOptionLabel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PollOptionLabel */ "./src/forum/components/Poll/PollOptionLabel.tsx"); +/* harmony import */ var _PollOptionInput__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PollOptionInput */ "./src/forum/components/Poll/PollOptionInput.tsx"); + + + + +var PollOption = /*#__PURE__*/function (_Component) { + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(PollOption, _Component); + function PollOption() { + return _Component.apply(this, arguments) || this; + } + var _proto = PollOption.prototype; + _proto.view = function view() { + var option = this.attrs.option; + return m("label", { + className: "PollOption" + }, m(_PollOptionInput__WEBPACK_IMPORTED_MODULE_3__["default"], { + id: option.id(), + isResult: false, + name: "vote", + value: "Vote for this option", + onchange: this.attrs.onchange + }), m("span", { + className: "PollOption-information" + }, m(_PollOptionLabel__WEBPACK_IMPORTED_MODULE_2__["default"], { + id: option.id(), + text: option.answer() + }))); + }; + return PollOption; +}((flarum_common_Component__WEBPACK_IMPORTED_MODULE_1___default())); + + +/***/ }), + +/***/ "./src/forum/components/Poll/PollOptionInput.tsx": +/*!*******************************************************!*\ + !*** ./src/forum/components/Poll/PollOptionInput.tsx ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ PollOptionInput) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/common/Component */ "flarum/common/Component"); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_common_Component__WEBPACK_IMPORTED_MODULE_1__); + + +var PollOptionInput = /*#__PURE__*/function (_Component) { + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(PollOptionInput, _Component); + function PollOptionInput() { + return _Component.apply(this, arguments) || this; + } + var _proto = PollOptionInput.prototype; + _proto.view = function view() { + var isResult = this.attrs.isResult; + return m("input", { + type: "radio", + name: this.attrs.name, + value: this.attrs.value, + style: { + opacity: isResult ? 0 : 1 + }, + className: "PollOption-input", + "aria-labelledby": this.attrs.name + "-" + this.attrs.id + "-label", + "aria-describedby": this.attrs.name + "-" + this.attrs.id + "-description", + onchange: this.attrs.onchange + }); + }; + return PollOptionInput; +}((flarum_common_Component__WEBPACK_IMPORTED_MODULE_1___default())); + + +/***/ }), + +/***/ "./src/forum/components/Poll/PollOptionLabel.tsx": +/*!*******************************************************!*\ + !*** ./src/forum/components/Poll/PollOptionLabel.tsx ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ PollOptionLabel) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/common/Component */ "flarum/common/Component"); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_common_Component__WEBPACK_IMPORTED_MODULE_1__); + + +var PollOptionLabel = /*#__PURE__*/function (_Component) { + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(PollOptionLabel, _Component); + function PollOptionLabel() { + return _Component.apply(this, arguments) || this; + } + var _proto = PollOptionLabel.prototype; + _proto.view = function view() { + return m("span", { + id: "vote_" + this.attrs.id + "_label", + className: "PollOption-label" + }, this.attrs.text); + }; + return PollOptionLabel; +}((flarum_common_Component__WEBPACK_IMPORTED_MODULE_1___default())); + + +/***/ }), + +/***/ "./src/forum/components/Poll/PollOptions.tsx": +/*!***************************************************!*\ + !*** ./src/forum/components/Poll/PollOptions.tsx ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ PollOptions) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/common/Component */ "flarum/common/Component"); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_common_Component__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _PollOption__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PollOption */ "./src/forum/components/Poll/PollOption.tsx"); +/* harmony import */ var _PollResult__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PollResult */ "./src/forum/components/Poll/PollResult.tsx"); +/* harmony import */ var flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! flarum/common/utils/ItemList */ "flarum/common/utils/ItemList"); +/* harmony import */ var flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_4__); + + + + + +var PollOptions = /*#__PURE__*/function (_Component) { + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(PollOptions, _Component); + function PollOptions() { + return _Component.apply(this, arguments) || this; + } + var _proto = PollOptions.prototype; + _proto.view = function view() { + return m("div", { + className: "Poll-options list-layout" + }, this.pollOptions().toArray()); + }; + _proto.pollOptions = function pollOptions() { + var items = new (flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_4___default())(); + var state = this.attrs.state; + if (state.showCheckMarks) { + this.attrs.options.forEach(function (option) { + items.add('option' + option.id(), m(_PollOption__WEBPACK_IMPORTED_MODULE_2__["default"], { + option: option, + onchange: state.changeVote.bind(state, option) + })); + }); + } else { + this.attrs.options.forEach(function (option) { + items.add('result' + option.id(), m(_PollResult__WEBPACK_IMPORTED_MODULE_3__["default"], { + option: option, + state: state + })); + }); + } + return items; + }; + return PollOptions; +}((flarum_common_Component__WEBPACK_IMPORTED_MODULE_1___default())); + + +/***/ }), + +/***/ "./src/forum/components/Poll/PollPage.tsx": +/*!************************************************!*\ + !*** ./src/forum/components/Poll/PollPage.tsx ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ PollPage) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var flarum_common_components_Page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/common/components/Page */ "flarum/common/components/Page"); +/* harmony import */ var flarum_common_components_Page__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Page__WEBPACK_IMPORTED_MODULE_1__); + + +var PollPage = /*#__PURE__*/function (_Page) { + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(PollPage, _Page); + function PollPage() { + return _Page.apply(this, arguments) || this; + } + var _proto = PollPage.prototype; + _proto.view = function view() { + return m("p", null, "PollPage"); + }; + return PollPage; +}((flarum_common_components_Page__WEBPACK_IMPORTED_MODULE_1___default())); + + +/***/ }), + +/***/ "./src/forum/components/Poll/PollResult.tsx": +/*!**************************************************!*\ + !*** ./src/forum/components/Poll/PollResult.tsx ***! + \**************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ PollResults) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/common/Component */ "flarum/common/Component"); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_common_Component__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _PollOptionLabel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PollOptionLabel */ "./src/forum/components/Poll/PollOptionLabel.tsx"); +/* harmony import */ var _PollResultNumber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PollResultNumber */ "./src/forum/components/Poll/PollResultNumber.tsx"); +/* harmony import */ var _PollOptionInput__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PollOptionInput */ "./src/forum/components/Poll/PollOptionInput.tsx"); +/* harmony import */ var flarum_common_utils_abbreviateNumber__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! flarum/common/utils/abbreviateNumber */ "flarum/common/utils/abbreviateNumber"); +/* harmony import */ var flarum_common_utils_abbreviateNumber__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_abbreviateNumber__WEBPACK_IMPORTED_MODULE_5__); + + + + + + +var PollResults = /*#__PURE__*/function (_Component) { + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(PollResults, _Component); + function PollResults() { + return _Component.apply(this, arguments) || this; + } + var _proto = PollResults.prototype; + _proto.view = function view() { + var option = this.attrs.option; + var state = this.attrs.state; + var voteCount = option.voteCount(); + if (!voteCount) { + voteCount = 0; + } else { + voteCount = voteCount * 100 / state.overallVoteCount(); + } + return m("label", { + className: "PollResult" + }, m(_PollOptionInput__WEBPACK_IMPORTED_MODULE_4__["default"], { + id: option.id(), + isResult: false, + name: "vote", + value: "Vote for this option" + }), m("span", { + className: "PollResult-information" + }, m("div", { + className: "PollResult-row" + }, m(_PollOptionLabel__WEBPACK_IMPORTED_MODULE_2__["default"], { + text: option.answer() + }), m(_PollResultNumber__WEBPACK_IMPORTED_MODULE_3__["default"], { + number: flarum_common_utils_abbreviateNumber__WEBPACK_IMPORTED_MODULE_5___default()(voteCount) + })), m("progress", { + type: "range", + min: "0", + max: state.overallVoteCount(), + value: voteCount, + className: "PollResult-bar" + }))); + }; + return PollResults; +}((flarum_common_Component__WEBPACK_IMPORTED_MODULE_1___default())); + + +/***/ }), + +/***/ "./src/forum/components/Poll/PollResultNumber.tsx": +/*!********************************************************!*\ + !*** ./src/forum/components/Poll/PollResultNumber.tsx ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ PollResultsNumber) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/common/Component */ "flarum/common/Component"); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_common_Component__WEBPACK_IMPORTED_MODULE_1__); + + +var PollResultsNumber = /*#__PURE__*/function (_Component) { + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(PollResultsNumber, _Component); + function PollResultsNumber() { + return _Component.apply(this, arguments) || this; + } + var _proto = PollResultsNumber.prototype; + _proto.view = function view() { + return m("span", { + className: "PollResult-number" + }, this.attrs.number, " %"); + }; + return PollResultsNumber; +}((flarum_common_Component__WEBPACK_IMPORTED_MODULE_1___default())); + + +/***/ }), + +/***/ "./src/forum/components/PollForm.js": +/*!******************************************!*\ + !*** ./src/forum/components/PollForm.js ***! + \******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ PollForm) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/common/Component */ "flarum/common/Component"); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_common_Component__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! flarum/forum/app */ "flarum/forum/app"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_app__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! flarum/common/components/Button */ "flarum/common/components/Button"); +/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var flarum_common_components_Switch__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! flarum/common/components/Switch */ "flarum/common/components/Switch"); +/* harmony import */ var flarum_common_components_Switch__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Switch__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! flarum/common/utils/ItemList */ "flarum/common/utils/ItemList"); +/* harmony import */ var flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! flarum/common/utils/Stream */ "flarum/common/utils/Stream"); +/* harmony import */ var flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_8__); +/* harmony import */ var flarum_common_utils_extractText__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! flarum/common/utils/extractText */ "flarum/common/utils/extractText"); +/* harmony import */ var flarum_common_utils_extractText__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_extractText__WEBPACK_IMPORTED_MODULE_9__); +/* harmony import */ var _form_FormError__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./form/FormError */ "./src/forum/components/form/FormError.js"); +/* harmony import */ var _states_PollFormState__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../states/PollFormState */ "./src/forum/states/PollFormState.ts"); +/* harmony import */ var _utils_PollControls__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/PollControls */ "./src/forum/utils/PollControls.tsx"); + + + + + + + + + + + + + +var PollForm = /*#__PURE__*/function (_Component) { + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(PollForm, _Component); + function PollForm() { + var _this; + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + _this = _Component.call.apply(_Component, [this].concat(args)) || this; + _this.state = void 0; + _this.options = void 0; + return _this; + } + /** @type {PollFormState} */ + /** @type {PollOption[]} */ + var _proto = PollForm.prototype; + _proto.oninit = function oninit(vnode) { + _Component.prototype.oninit.call(this, vnode); + this.state = new _states_PollFormState__WEBPACK_IMPORTED_MODULE_11__["default"](this.attrs.poll); + + // state handles poll initialization + var poll = this.state.poll; + + //@todo way the options are destructured into options (answers) and optionImageUrls + this.options = poll.options(); + this.optionAnswers = this.options.map(function (o) { + return flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_8___default()(o.answer()); + }); + this.optionImageUrls = this.options.map(function (o) { + return flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_8___default()(o.imageUrl()); + }); + this.question = flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_8___default()(poll.question()); + this.subtitle = flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_8___default()(poll.subtitle()); + this.endDate = flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_8___default()(this.formatDate(poll.endDate())); + this.publicPoll = flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_8___default()(poll.publicPoll()); + this.allowMultipleVotes = flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_8___default()(poll.allowMultipleVotes()); + this.hideVotes = flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_8___default()(poll.hideVotes()); + this.allowChangeVote = flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_8___default()(poll.allowChangeVote()); + this.maxVotes = flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_8___default()(poll.maxVotes() || 0); + this.datepickerMinDate = this.formatDate(undefined); + + // Replace minimum of 'today' for poll end date only if the poll is not already closed + if (this.endDate() && dayjs(poll.endDate).isAfter(dayjs())) { + this.datepickerMinDate = this.formatDate(poll.endDate); + } + }; + _proto.view = function view() { + return m("form", { + onsubmit: this.onsubmit.bind(this) + }, m("div", { + className: "PollDiscussionModal-form" + }, this.fields().toArray())); + }; + _proto.fields = function fields() { + var items = new (flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_7___default())(); + items.add('question', m("div", { + className: "Form-group" + }, m("label", { + className: "label" + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_4___default().translator.trans('fof-polls.forum.modal.question_placeholder')), m("input", { + type: "text", + name: "question", + className: "FormControl", + bidi: this.question + })), 100); + items.add('subtitle', m("div", { + className: "Form-group" + }, m("label", { + className: "label" + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_4___default().translator.trans('fof-polls.forum.modal.subtitle_placeholder')), m("input", { + type: "text", + name: "subtitle", + className: "FormControl", + bidi: this.subtitle + })), 95); + items.add('answers', m("div", { + className: "PollModal--answers Form-group" + }, m("label", { + className: "label PollModal--answers-title" + }, m("span", null, flarum_forum_app__WEBPACK_IMPORTED_MODULE_4___default().translator.trans('fof-polls.forum.modal.options_label')), flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_5___default().component({ + className: 'Button PollModal--button Button--icon small', + icon: 'fas fa-plus', + onclick: this.addOption.bind(this) + })), this.displayOptions()), 80); + items.add('date', m("div", { + className: "Form-group" + }, m("label", { + className: "label" + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_4___default().translator.trans('fof-polls.forum.modal.date_placeholder')), m("div", { + className: "PollModal--date" + }, m("input", { + className: "FormControl", + type: "datetime-local", + name: "date", + bidi: this.endDate, + min: this.datepickerMinDate, + max: this.formatDate('2038') + }), flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_5___default().component({ + className: 'Button PollModal--button Button--icon', + icon: 'fas fa-times', + onclick: this.endDate.bind(this, null) + })), this.endDate() && m("p", { + className: "helpText" + }, m("i", { + "class": "icon fas fa-clock" + }), "\xA0", dayjs(this.endDate()).isBefore(dayjs()) ? flarum_forum_app__WEBPACK_IMPORTED_MODULE_4___default().translator.trans('fof-polls.forum.poll_ended') : flarum_forum_app__WEBPACK_IMPORTED_MODULE_4___default().translator.trans('fof-polls.forum.days_remaining', { + time: dayjs(this.endDate()).fromNow() + }))), 40); + items.add('public', m("div", { + className: "Form-group" + }, flarum_common_components_Switch__WEBPACK_IMPORTED_MODULE_6___default().component({ + state: this.publicPoll() || false, + onchange: this.publicPoll + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_4___default().translator.trans('fof-polls.forum.modal.public_poll_label'))), 20); + items.add('hide-votes', m("div", { + className: "Form-group" + }, m((flarum_common_components_Switch__WEBPACK_IMPORTED_MODULE_6___default()), { + state: this.endDate() && this.hideVotes(), + onchange: this.hideVotes, + disabled: !this.endDate() + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_4___default().translator.trans('fof-polls.forum.modal.hide_votes_label'))), 20); + items.add('allow-change-vote', m("div", { + className: "Form-group" + }, m((flarum_common_components_Switch__WEBPACK_IMPORTED_MODULE_6___default()), { + state: this.allowChangeVote(), + onchange: this.allowChangeVote + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_4___default().translator.trans('fof-polls.forum.modal.allow_change_vote_label'))), 20); + items.add('allow-multiple-votes', m("div", { + className: "Form-group" + }, flarum_common_components_Switch__WEBPACK_IMPORTED_MODULE_6___default().component({ + state: this.allowMultipleVotes() || false, + onchange: this.allowMultipleVotes + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_4___default().translator.trans('fof-polls.forum.modal.allow_multiple_votes_label'))), 15); + if (this.allowMultipleVotes()) { + items.add('max-votes', m("div", { + className: "Form-group" + }, m("label", { + className: "label" + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_4___default().translator.trans('fof-polls.forum.modal.max_votes_label')), m("input", { + type: "number", + min: "0", + max: this.options.length, + name: "maxVotes", + className: "FormControl", + bidi: this.maxVotes + }), m("p", { + className: "helpText" + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_4___default().translator.trans('fof-polls.forum.modal.max_votes_help'))), 15); + } + items.add('submit', m("div", { + className: "Form-group" + }, m((flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_5___default()), { + type: "submit", + className: "Button Button--primary PollModal-SubmitButton", + icon: "fas fa-save", + loading: this.state.loading + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_4___default().translator.trans('fof-polls.forum.modal.submit')), this.state.poll.exists && m((flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_5___default()), { + className: "Button Button--secondary", + icon: "fas fa-trash-alt", + loading: this.state.deleting, + onclick: this["delete"].bind(this) + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_4___default().translator.trans('fof-polls.forum.modal.delete'))), -10); + return items; + }; + _proto.displayOptions = function displayOptions() { + var _this2 = this; + return Object.keys(this.options).map(function (option, i) { + return m("div", { + className: "Form-group" + }, m("fieldset", { + className: "Poll-answer-input" + }, m("input", { + className: "FormControl", + type: "text", + name: 'answer' + (i + 1), + bidi: _this2.optionAnswers[i], + placeholder: flarum_forum_app__WEBPACK_IMPORTED_MODULE_4___default().translator.trans('fof-polls.forum.modal.option_placeholder') + ' #' + (i + 1) + }), flarum_forum_app__WEBPACK_IMPORTED_MODULE_4___default().forum.attribute('allowPollOptionImage') ? m("input", { + className: "FormControl", + type: "text", + name: 'answerImage' + (i + 1), + bidi: _this2.optionImageUrls[i], + placeholder: flarum_forum_app__WEBPACK_IMPORTED_MODULE_4___default().translator.trans('fof-polls.forum.modal.image_option_placeholder') + ' #' + (i + 1) + }) : null), i >= 2 ? flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_5___default().component({ + type: 'button', + className: 'Button PollModal--button Button--icon', + icon: 'fas fa-minus', + onclick: i >= 2 ? _this2.removeOption.bind(_this2, i) : '' + }) : ''); + }); + }; + _proto.addOption = function addOption() { + var max = Math.max(flarum_forum_app__WEBPACK_IMPORTED_MODULE_4___default().forum.attribute('pollMaxOptions'), 2); + if (this.options.length < max) { + this.options.push(flarum_forum_app__WEBPACK_IMPORTED_MODULE_4___default().store.createRecord('poll_options')); + this.optionAnswers.push(flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_8___default()('')); + this.optionImageUrls.push(flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_8___default()('')); + } else { + alert(flarum_common_utils_extractText__WEBPACK_IMPORTED_MODULE_9___default()(flarum_forum_app__WEBPACK_IMPORTED_MODULE_4___default().translator.trans('fof-polls.forum.modal.max', { + max: max + }))); + } + }; + _proto.removeOption = function removeOption(i) { + this.options.splice(i, 1); + this.optionAnswers.splice(i, 1); + this.optionImageUrls.splice(i, 1); + }; + _proto.data = function data() { + var _this3 = this; + if (this.question() === '') { + throw new _form_FormError__WEBPACK_IMPORTED_MODULE_10__["default"](flarum_forum_app__WEBPACK_IMPORTED_MODULE_4___default().translator.trans('fof-polls.forum.modal.include_question')); + } + if (this.options.length < 2) { + throw new _form_FormError__WEBPACK_IMPORTED_MODULE_10__["default"](flarum_forum_app__WEBPACK_IMPORTED_MODULE_4___default().translator.trans('fof-polls.forum.modal.min')); + } + var pollExists = this.state.poll.exists; + var options = this.options.map(function (option, i) { + option.pushAttributes({ + answer: _this3.optionAnswers[i](), + imageUrl: _this3.optionImageUrls[i]() + }); + return pollExists ? option.data : option.data.attributes; + }); + return { + question: this.question(), + subtitle: this.subtitle(), + endDate: this.dateToTimestamp(this.endDate()), + publicPoll: this.publicPoll(), + hideVotes: this.hideVotes(), + allowChangeVote: this.allowChangeVote(), + allowMultipleVotes: this.allowMultipleVotes(), + maxVotes: this.maxVotes(), + options: options + }; + }; + _proto.onsubmit = /*#__PURE__*/function () { + var _onsubmit = (0,_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().mark(function _callee(event) { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + event.preventDefault(); + _context.prev = 1; + _context.next = 4; + return this.attrs.onsubmit(this.data(), this.state); + case 4: + _context.next = 9; + break; + case 6: + _context.prev = 6; + _context.t0 = _context["catch"](1); + if (_context.t0 instanceof _form_FormError__WEBPACK_IMPORTED_MODULE_10__["default"]) { + flarum_forum_app__WEBPACK_IMPORTED_MODULE_4___default().alerts.show({ + type: 'error' + }, _context.t0.message); + } else { + console.error(_context.t0); + // Show error alert + flarum_forum_app__WEBPACK_IMPORTED_MODULE_4___default().alerts.show({ + type: 'error' + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_4___default().translator.trans('fof-polls.forum.modal.error')); + } + case 9: + case "end": + return _context.stop(); + } + } + }, _callee, this, [[1, 6]]); + })); + function onsubmit(_x) { + return _onsubmit.apply(this, arguments); + } + return onsubmit; + }(); + _proto["delete"] = /*#__PURE__*/function () { + var _delete2 = (0,_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().mark(function _callee2() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + this.state.loading = true; + _context2.prev = 1; + _context2.next = 4; + return _utils_PollControls__WEBPACK_IMPORTED_MODULE_12__["default"].deleteAction(this.state.poll); + case 4: + this.state.deleting = true; + case 5: + _context2.prev = 5; + this.state.loading = false; + m.redraw(); + return _context2.finish(5); + case 9: + case "end": + return _context2.stop(); + } + } + }, _callee2, this, [[1,, 5, 9]]); + })); + function _delete() { + return _delete2.apply(this, arguments); + } + return _delete; + }(); + _proto.formatDate = function formatDate(date, def) { + if (def === void 0) { + def = false; + } + var dayjsDate = dayjs(date); + if (date === false || !dayjsDate.isValid()) return def !== false ? this.formatDate(def) : null; + return dayjsDate.format('YYYY-MM-DDTHH:mm'); + }; + _proto.dateToTimestamp = function dateToTimestamp(date) { + var dayjsDate = dayjs(date); + if (!date || !dayjsDate.isValid()) return false; + return dayjsDate.format(); + }; + return PollForm; +}((flarum_common_Component__WEBPACK_IMPORTED_MODULE_3___default())); + + +/***/ }), + +/***/ "./src/forum/components/PollView.tsx": +/*!*******************************************!*\ + !*** ./src/forum/components/PollView.tsx ***! + \*******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ PollView) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/common/Component */ "flarum/common/Component"); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_common_Component__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/forum/app */ "flarum/forum/app"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_app__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _Poll_PollOptions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Poll/PollOptions */ "./src/forum/components/Poll/PollOptions.tsx"); +/* harmony import */ var _states_PollState__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../states/PollState */ "./src/forum/states/PollState.ts"); +/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! flarum/common/components/Button */ "flarum/common/components/Button"); +/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! flarum/common/utils/ItemList */ "flarum/common/utils/ItemList"); +/* harmony import */ var flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var _utils_PollControls__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/PollControls */ "./src/forum/utils/PollControls.tsx"); +/* harmony import */ var flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! flarum/common/components/Dropdown */ "flarum/common/components/Dropdown"); +/* harmony import */ var flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_8__); + + + + + + + + + +var PollView = /*#__PURE__*/function (_Component) { + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(PollView, _Component); + function PollView() { + return _Component.apply(this, arguments) || this; + } + var _proto = PollView.prototype; + _proto.oninit = function oninit(vnode) { + _Component.prototype.oninit.call(this, vnode); + this.state = new _states_PollState__WEBPACK_IMPORTED_MODULE_4__["default"](this.attrs.poll); + }; + _proto.view = function view() { + var poll = this.attrs.poll; + var state = this.state; + var controls = _utils_PollControls__WEBPACK_IMPORTED_MODULE_7__["default"].controls(poll, this); + controls.add('view', m((flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_5___default()), { + onclick: state.showVoters, + icon: "fas fa-poll" + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_2___default().translator.trans('fof-polls.forum.public_poll'))); + return m("div", { + className: "Poll", + "data-id": poll.id() + }, this.controlsView(controls.toArray()), m("div", { + className: "Poll-wrapper" + }, this.createMainView().toArray())); + }; + _proto.createMainView = function createMainView() { + var items = new (flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_6___default())(); + var poll = this.attrs.poll; + items.add('title', m("h2", { + className: "Poll-title" + }, poll.question())); + items.add('subtitle', m("p", { + className: "Poll-subtitle" + }, poll.subtitle())); + items.add('form', m("form", null, this.createFormItems().toArray())); + return items; + }; + _proto.createFormItems = function createFormItems() { + var state = this.state; + var items = new (flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_6___default())(); + var poll = this.attrs.poll; + var infoItems = this.infoItems(poll.maxVotes()); + items.add('elements', m("fieldset", null, m("legend", { + className: "sr-only" + }, "app.translator.trans('fof-polls.forum.answers')"), m(_Poll_PollOptions__WEBPACK_IMPORTED_MODULE_3__["default"], { + options: poll.options(), + state: state + }))); + items.add('sticky', m("div", { + className: "Poll-sticky" + }, !infoItems.isEmpty() && m("div", { + className: "helpText PollInfoText" + }, infoItems.toArray()), m((flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_5___default()), { + className: "Button Button--primary Poll-submit", + loading: state.loadingOptions, + onclick: state.onsubmit.bind(state), + disabled: !state.hasSelectedOptions() + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_2___default().translator.trans('fof-polls.forum.poll.submit_button')))); + return items; + }; + _proto.deletePoll = function deletePoll() { + _utils_PollControls__WEBPACK_IMPORTED_MODULE_7__["default"].deleteAction(this.attrs.poll); + }; + _proto.editPoll = function editPoll() { + _utils_PollControls__WEBPACK_IMPORTED_MODULE_7__["default"].editAction(this.attrs.poll); + }; + _proto.controlsView = function controlsView(controls) { + return !!controls.length && m((flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_8___default()), { + icon: "fas fa-ellipsis-v", + className: "PollListItem-controls", + menuClassName: "Dropdown-menu--right", + buttonClassName: "Button Button--icon Button--flat", + accessibleToggleLabel: flarum_forum_app__WEBPACK_IMPORTED_MODULE_2___default().translator.trans('fof-polls.forum.poll_controls.toggle_dropdown_accessible_label') + }, controls); + }; + _proto.infoItems = function infoItems(maxVotes) { + var items = new (flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_6___default())(); + var poll = this.attrs.poll; + if ((flarum_forum_app__WEBPACK_IMPORTED_MODULE_2___default().session).user && !poll.canVote() && !poll.hasEnded()) { + items.add('no-permission', m("span", null, m("i", { + className: "icon fas fa-times-circle fa-fw" + }), flarum_forum_app__WEBPACK_IMPORTED_MODULE_2___default().translator.trans('fof-polls.forum.no_permission'))); + } + if (poll.endDate()) { + items.add('end-date', m("span", null, m("i", { + "class": "icon fas fa-clock fa-fw" + }), poll.hasEnded() ? flarum_forum_app__WEBPACK_IMPORTED_MODULE_2___default().translator.trans('fof-polls.forum.poll_ended') : flarum_forum_app__WEBPACK_IMPORTED_MODULE_2___default().translator.trans('fof-polls.forum.days_remaining', { + time: dayjs(poll.endDate()).fromNow() + }))); + } + if (poll.canVote()) { + items.add('max-votes', m("span", null, m("i", { + className: "icon fas fa-poll fa-fw" + }), flarum_forum_app__WEBPACK_IMPORTED_MODULE_2___default().translator.trans('fof-polls.forum.max_votes_allowed', { + max: maxVotes + }))); + if (!poll.canChangeVote()) { + items.add('cannot-change-vote', m("span", null, m("i", { + className: "icon fas fa-" + (this.state.hasVoted() ? 'times' : 'exclamation') + "-circle fa-fw" + }), flarum_forum_app__WEBPACK_IMPORTED_MODULE_2___default().translator.trans('fof-polls.forum.poll.cannot_change_vote'))); + } + } + return items; + }; + return PollView; +}((flarum_common_Component__WEBPACK_IMPORTED_MODULE_1___default())); + + +/***/ }), + +/***/ "./src/forum/components/PollViewPage.tsx": +/*!***********************************************!*\ + !*** ./src/forum/components/PollViewPage.tsx ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ PollViewPage) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/forum/app */ "flarum/forum/app"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_app__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var flarum_common_components_Page__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/common/components/Page */ "flarum/common/components/Page"); +/* harmony import */ var flarum_common_components_Page__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Page__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var flarum_common_utils_extractText__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/common/utils/extractText */ "flarum/common/utils/extractText"); +/* harmony import */ var flarum_common_utils_extractText__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_extractText__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! flarum/common/components/LoadingIndicator */ "flarum/common/components/LoadingIndicator"); +/* harmony import */ var flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _PollView__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PollView */ "./src/forum/components/PollView.tsx"); + + + + + + +var PollViewPage = /*#__PURE__*/function (_Page) { + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(PollViewPage, _Page); + function PollViewPage() { + var _this; + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + _this = _Page.call.apply(_Page, [this].concat(args)) || this; + _this.poll = null; + _this.loading = false; + return _this; + } + var _proto = PollViewPage.prototype; + _proto.oninit = function oninit(vnode) { + var _this2 = this; + _Page.prototype.oninit.call(this, vnode); + var editId = m.route.param('id'); + this.poll = flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().store.getById('poll', editId); + if (!this.poll) { + this.loading = true; + flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().store.find('fof/polls', editId).then(function (item) { + _this2.poll = item; + _this2.loading = false; + flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().setTitle(flarum_common_utils_extractText__WEBPACK_IMPORTED_MODULE_3___default()(flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('fof-polls.forum.page.poll_detail'))); + m.redraw(); + }); + } + }; + _proto.view = function view() { + if (this.loading) { + return m((flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_4___default()), null); + } + return m("div", { + className: "PollsPage" + }, m("div", { + className: "container" + }, m(_PollView__WEBPACK_IMPORTED_MODULE_5__["default"], { + poll: this.poll + }))); + }; + return PollViewPage; +}((flarum_common_components_Page__WEBPACK_IMPORTED_MODULE_2___default())); + + +/***/ }), + +/***/ "./src/forum/components/PollsPage.tsx": +/*!********************************************!*\ + !*** ./src/forum/components/PollsPage.tsx ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ PollsPage) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/forum/app */ "flarum/forum/app"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_app__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var flarum_common_helpers_listItems__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/common/helpers/listItems */ "flarum/common/helpers/listItems"); +/* harmony import */ var flarum_common_helpers_listItems__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_common_helpers_listItems__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/common/utils/ItemList */ "flarum/common/utils/ItemList"); +/* harmony import */ var flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var flarum_common_components_Page__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! flarum/common/components/Page */ "flarum/common/components/Page"); +/* harmony import */ var flarum_common_components_Page__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Page__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var flarum_forum_components_IndexPage__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! flarum/forum/components/IndexPage */ "flarum/forum/components/IndexPage"); +/* harmony import */ var flarum_forum_components_IndexPage__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_components_IndexPage__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _Poll_PollList__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Poll/PollList */ "./src/forum/components/Poll/PollList.js"); +/* harmony import */ var flarum_forum_components_LogInModal__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! flarum/forum/components/LogInModal */ "flarum/forum/components/LogInModal"); +/* harmony import */ var flarum_forum_components_LogInModal__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_components_LogInModal__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var flarum_common_utils_extractText__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! flarum/common/utils/extractText */ "flarum/common/utils/extractText"); +/* harmony import */ var flarum_common_utils_extractText__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_extractText__WEBPACK_IMPORTED_MODULE_8__); +/* harmony import */ var _states_PollListState__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../states/PollListState */ "./src/forum/states/PollListState.ts"); +/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! flarum/common/components/Button */ "flarum/common/components/Button"); +/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_10__); +/* harmony import */ var flarum_common_components_SelectDropdown__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! flarum/common/components/SelectDropdown */ "flarum/common/components/SelectDropdown"); +/* harmony import */ var flarum_common_components_SelectDropdown__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_SelectDropdown__WEBPACK_IMPORTED_MODULE_11__); +/* harmony import */ var flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! flarum/common/components/LoadingIndicator */ "flarum/common/components/LoadingIndicator"); +/* harmony import */ var flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_12__); +/* harmony import */ var _PollView__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./PollView */ "./src/forum/components/PollView.tsx"); + + + + + + + + + + + + + + +var PollsPage = /*#__PURE__*/function (_Page) { + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(PollsPage, _Page); + function PollsPage() { + var _this; + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + _this = _Page.call.apply(_Page, [this].concat(args)) || this; + _this.loading = false; + _this.poll = null; + return _this; + } + var _proto = PollsPage.prototype; + _proto.oninit = function oninit(vnode) { + _Page.prototype.oninit.call(this, vnode); + this.state = new _states_PollListState__WEBPACK_IMPORTED_MODULE_9__["default"]({ + sort: m.route.param('sort'), + filter: m.route.param('filter') + }); + this.state.refresh(); + flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().setTitle(flarum_common_utils_extractText__WEBPACK_IMPORTED_MODULE_8___default()(flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('fof-polls.forum.page.nav'))); + }; + _proto.oncreate = function oncreate(vnode) { + _Page.prototype.oncreate.call(this, vnode); + }; + _proto.view = function view() { + if (this.loading) { + return m((flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_12___default()), null); + } + if (this.poll) { + return m("div", { + className: "PollsPage" + }, m("div", { + className: "container" + }, m(_PollView__WEBPACK_IMPORTED_MODULE_13__["default"], { + poll: this.poll + }))); + } + return m("div", { + className: "PollsPage" + }, flarum_forum_components_IndexPage__WEBPACK_IMPORTED_MODULE_5___default().prototype.hero(), m("div", { + className: "container" + }, m("div", { + className: "sideNavContainer" + }, m("nav", { + className: "PollsPage-nav sideNav" + }, m("ul", null, flarum_common_helpers_listItems__WEBPACK_IMPORTED_MODULE_2___default()(this.sidebarItems().toArray()))), m("div", { + className: "PollsPage-results sideNavOffset" + }, m("div", { + className: "IndexPage-toolbar" + }, m("ul", { + className: "IndexPage-toolbar-view" + }, flarum_common_helpers_listItems__WEBPACK_IMPORTED_MODULE_2___default()(this.viewItems().toArray())), m("ul", { + className: "IndexPage-toolbar-action" + }, flarum_common_helpers_listItems__WEBPACK_IMPORTED_MODULE_2___default()(this.actionItems().toArray()))), m(_Poll_PollList__WEBPACK_IMPORTED_MODULE_6__["default"], { + state: this.state + }))))); + }; + _proto.sidebarItems = function sidebarItems() { + var _this2 = this; + var items = new (flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_3___default())(); + var canStartPoll = flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().forum.attribute('canStartGlobalPolls'); + items.add('newGlobalPoll', m((flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_10___default()), { + icon: "fas fa-edit", + className: "Button Button--primary App-primaryControl PollsPage-newPoll", + itemClassName: "App-primaryControl", + onclick: function onclick() { + _this2.newPollAction(); + }, + disabled: !canStartPoll + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("fof-polls.forum.poll." + (canStartPoll ? 'start_poll_button' : 'cannot_start_poll_button')))); + items.add('nav', m((flarum_common_components_SelectDropdown__WEBPACK_IMPORTED_MODULE_11___default()), { + buttonClassName: "Button", + className: "App-titleControl", + accessibleToggleLabel: flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('core.forum.index.toggle_sidenav_dropdown_accessible_label') + }, this.navItems().toArray())); + return items; + }; + _proto.actionItems = function actionItems() { + var _this3 = this; + var items = new (flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_3___default())(); + items.add('refresh', flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_10___default().component({ + title: flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('fof-polls.forum.page.refresh_tooltip'), + icon: 'fas fa-sync', + className: 'Button Button--icon', + onclick: function onclick() { + _this3.state.refresh(); + } + })); + return items; + }; + _proto.viewItems = function viewItems() { + return flarum_forum_components_IndexPage__WEBPACK_IMPORTED_MODULE_5___default().prototype.viewItems(); + }; + _proto.navItems = function navItems() { + return flarum_forum_components_IndexPage__WEBPACK_IMPORTED_MODULE_5___default().prototype.navItems(); + } + + /** + * Change to create new poll page + */; + _proto.newPollAction = function newPollAction() { + if (!(flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().session).user) { + flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().modal.show((flarum_forum_components_LogInModal__WEBPACK_IMPORTED_MODULE_7___default())); + return; + } + m.route.set(flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().route('fof.polls.compose')); + }; + return PollsPage; +}((flarum_common_components_Page__WEBPACK_IMPORTED_MODULE_4___default())); + + +/***/ }), + +/***/ "./src/forum/components/PostPoll.js": +/*!******************************************!*\ + !*** ./src/forum/components/PostPoll.js ***! + \******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ PostPoll) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/forum/app */ "flarum/forum/app"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_app__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/common/Component */ "flarum/common/Component"); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_common_Component__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/common/components/Button */ "flarum/common/components/Button"); +/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var flarum_forum_components_LogInModal__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! flarum/forum/components/LogInModal */ "flarum/forum/components/LogInModal"); +/* harmony import */ var flarum_forum_components_LogInModal__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_components_LogInModal__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _ListVotersModal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ListVotersModal */ "./src/forum/components/ListVotersModal.js"); +/* harmony import */ var flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! flarum/common/utils/classList */ "flarum/common/utils/classList"); +/* harmony import */ var flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! flarum/common/utils/ItemList */ "flarum/common/utils/ItemList"); +/* harmony import */ var flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var flarum_common_components_Tooltip__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! flarum/common/components/Tooltip */ "flarum/common/components/Tooltip"); +/* harmony import */ var flarum_common_components_Tooltip__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Tooltip__WEBPACK_IMPORTED_MODULE_8__); +/* harmony import */ var flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! flarum/common/helpers/icon */ "flarum/common/helpers/icon"); +/* harmony import */ var flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_9__); +/* harmony import */ var _EditPollModal__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./EditPollModal */ "./src/forum/components/EditPollModal.js"); + + + + + + + + + + + +var PostPoll = /*#__PURE__*/function (_Component) { + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(PostPoll, _Component); + function PostPoll() { + return _Component.apply(this, arguments) || this; + } + var _proto = PostPoll.prototype; + _proto.oninit = function oninit(vnode) { + var _this$attrs$poll, _this$attrs$poll2; + _Component.prototype.oninit.call(this, vnode); + this.loadingOptions = false; + this.useSubmitUI = !((_this$attrs$poll = this.attrs.poll) != null && _this$attrs$poll.canChangeVote()) && ((_this$attrs$poll2 = this.attrs.poll) == null ? void 0 : _this$attrs$poll2.allowMultipleVotes()); + this.pendingSubmit = false; + this.pendingOptions = null; + }; + _proto.oncreate = function oncreate(vnode) { + _Component.prototype.oncreate.call(this, vnode); + this.preventClose = this.preventClose.bind(this); + window.addEventListener('beforeunload', this.preventClose); + }; + _proto.onremove = function onremove(vnode) { + _Component.prototype.onremove.call(this, vnode); + window.removeEventListener('beforeunload', this.preventClose); + }; + _proto.view = function view() { + var poll = this.attrs.poll; + var options = poll.options() || []; + var maxVotes = poll.allowMultipleVotes() ? poll.maxVotes() : 1; + if (maxVotes === 0) maxVotes = options.length; + var infoItems = this.infoItems(maxVotes); + return m("div", { + className: "Post-poll", + "data-id": poll.id() + }, m("div", { + className: "PollHeading" + }, m("div", { + className: "PollHeading-title-container" + }, m("h3", { + className: "PollHeading-title" + }, poll.question()), poll.subtitle() && m("p", { + className: "helpText PollHeading-subtitle" + }, poll.subtitle())), m("div", { + className: "PollHeading-actions" + }, poll.canSeeVoters() && m((flarum_common_components_Tooltip__WEBPACK_IMPORTED_MODULE_8___default()), { + text: flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('fof-polls.forum.public_poll') + }, m((flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_3___default()), { + className: "Button PollHeading-voters", + onclick: this.showVoters.bind(this), + icon: "fas fa-poll" + })), poll.canEdit() && m((flarum_common_components_Tooltip__WEBPACK_IMPORTED_MODULE_8___default()), { + text: flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('fof-polls.forum.moderation.edit') + }, m((flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_3___default()), { + className: "Button PollHeading-edit", + onclick: flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().modal.show.bind((flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().modal), _EditPollModal__WEBPACK_IMPORTED_MODULE_10__["default"], { + poll: poll + }), + icon: "fas fa-pen" + })), poll.canDelete() && m((flarum_common_components_Tooltip__WEBPACK_IMPORTED_MODULE_8___default()), { + text: flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('fof-polls.forum.moderation.delete') + }, m((flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_3___default()), { + className: "Button PollHeading-delete", + onclick: this.deletePoll.bind(this), + icon: "fas fa-trash" + })))), m("div", null, m("div", { + className: "PollOptions" + }, options.map(this.viewOption.bind(this))), m("div", { + className: "Poll-sticky" + }, !infoItems.isEmpty() && m("div", { + className: "helpText PollInfoText" + }, infoItems.toArray()), this.useSubmitUI && this.pendingSubmit && m((flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_3___default()), { + className: "Button Button--primary Poll-submit", + loading: this.loadingOptions, + onclick: this.onsubmit.bind(this) + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('fof-polls.forum.poll.submit_button'))))); + }; + _proto.infoItems = function infoItems(maxVotes) { + var _poll$myVotes; + var items = new (flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_7___default())(); + var poll = this.attrs.poll; + var hasVoted = ((_poll$myVotes = poll.myVotes()) == null ? void 0 : _poll$myVotes.length) > 0; + if ((flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().session).user && !poll.canVote() && !poll.hasEnded()) { + items.add('no-permission', m("span", null, m("i", { + className: "icon fas fa-times-circle fa-fw" + }), flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('fof-polls.forum.no_permission'))); + } + if (poll.endDate()) { + items.add('end-date', m("span", null, m("i", { + "class": "icon fas fa-clock fa-fw" + }), poll.hasEnded() ? flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('fof-polls.forum.poll_ended') : flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('fof-polls.forum.days_remaining', { + time: dayjs(poll.endDate()).fromNow() + }))); + } + if (poll.canVote()) { + items.add('max-votes', m("span", null, m("i", { + className: "icon fas fa-poll fa-fw" + }), flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('fof-polls.forum.max_votes_allowed', { + max: maxVotes + }))); + if (!poll.canChangeVote()) { + items.add('cannot-change-vote', m("span", null, m("i", { + className: "icon fas fa-" + (hasVoted ? 'times' : 'exclamation') + "-circle fa-fw" + }), flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('fof-polls.forum.poll.cannot_change_vote'))); + } + } + return items; + }; + _proto.viewOption = function viewOption(opt) { + var _poll$myVotes2, _poll$myVotes3, _poll$myVotes4; + var poll = this.attrs.poll; + var hasVoted = ((_poll$myVotes2 = poll.myVotes()) == null ? void 0 : _poll$myVotes2.length) > 0; + var totalVotes = poll.voteCount(); + var voted = this.pendingOptions ? this.pendingOptions.has(opt.id()) : (_poll$myVotes3 = poll.myVotes()) == null ? void 0 : _poll$myVotes3.some == null ? void 0 : _poll$myVotes3.some(function (vote) { + return vote.option() === opt; + }); + var votes = opt.voteCount(); + var percent = totalVotes > 0 ? Math.round(votes / totalVotes * 100) : 0; + + // isNaN(null) is false, so we have to check type directly now that API always returns the field + var canSeeVoteCount = typeof votes === 'number'; + var isDisabled = this.loadingOptions || hasVoted && !poll.canChangeVote(); + var width = canSeeVoteCount ? percent : Number(voted) / (((_poll$myVotes4 = poll.myVotes()) == null ? void 0 : _poll$myVotes4.length) || 1) * 100; + var showCheckmark = !(flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().session).user || !poll.hasEnded() && poll.canVote() && (!hasVoted || poll.canChangeVote()); + var bar = m("div", { + className: "PollBar", + "data-selected": !!voted, + style: "--poll-option-width: " + width + "%" + }, showCheckmark && m("label", { + className: "PollAnswer-checkbox checkbox" + }, m("input", { + onchange: this.changeVote.bind(this, opt), + type: "checkbox", + checked: voted, + disabled: isDisabled + }), m("span", { + className: "checkmark" + })), m("div", { + className: "PollAnswer-text" + }, m("span", { + className: "PollAnswer-text-answer" + }, opt.answer()), voted && !showCheckmark && flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_9___default()('fas fa-check-circle', { + className: 'PollAnswer-check' + }), canSeeVoteCount && m("span", { + className: flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_6___default()('PollPercent', percent !== 100 && 'PollPercent--option') + }, percent, "%")), opt.imageUrl() ? m("img", { + className: "PollAnswer-image", + src: opt.imageUrl(), + alt: opt.answer() + }) : null); + return m("div", { + className: flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_6___default()('PollOption', hasVoted && 'PollVoted', poll.hasEnded() && 'PollEnded', opt.imageUrl() && 'PollOption-hasImage'), + "data-id": opt.id() + }, canSeeVoteCount ? m((flarum_common_components_Tooltip__WEBPACK_IMPORTED_MODULE_8___default()), { + text: flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('fof-polls.forum.tooltip.votes', { + count: votes + }), + onremove: this.hideOptionTooltip + }, bar) : bar); + }; + _proto.changeVote = function changeVote(option, evt) { + var _this$attrs$poll$myVo, _this$attrs$poll$myVo2; + if (!(flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().session).user) { + flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().modal.show((flarum_forum_components_LogInModal__WEBPACK_IMPORTED_MODULE_4___default())); + evt.target.checked = false; + return; + } + var optionIds = this.pendingOptions || new Set((_this$attrs$poll$myVo = (_this$attrs$poll$myVo2 = this.attrs.poll.myVotes()).map) == null ? void 0 : _this$attrs$poll$myVo.call(_this$attrs$poll$myVo2, function (v) { + return v.option().id(); + })); + var isUnvoting = optionIds["delete"](option.id()); + var allowsMultiple = this.attrs.poll.allowMultipleVotes(); + if (!allowsMultiple) { + optionIds.clear(); + } + if (!isUnvoting) { + optionIds.add(option.id()); + } + if (this.useSubmitUI) { + this.pendingOptions = optionIds.size ? optionIds : null; + this.pendingSubmit = !!this.pendingOptions; + return; + } + return this.submit(optionIds, null, function () { + return evt.target.checked = isUnvoting; + }); + }; + _proto.onsubmit = function onsubmit() { + var _this = this; + return this.submit(this.pendingOptions, function () { + _this.pendingOptions = null; + _this.pendingSubmit = false; + }); + }; + _proto.submit = function submit(optionIds, cb, onerror) { + var _this2 = this; + this.loadingOptions = true; + m.redraw(); + return flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().request({ + method: 'PATCH', + url: flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().forum.attribute('apiUrl') + "/fof/polls/" + this.attrs.poll.id() + "/votes", + body: { + data: { + optionIds: Array.from(optionIds) + } + } + }).then(function (res) { + flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().store.pushPayload(res); + cb == null ? void 0 : cb(); + })["catch"](function (err) { + onerror == null ? void 0 : onerror(err); + })["finally"](function () { + _this2.loadingOptions = false; + m.redraw(); + }); + }; + _proto.showVoters = function showVoters() { + // Load all the votes only when opening the votes list + flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().modal.show(_ListVotersModal__WEBPACK_IMPORTED_MODULE_5__["default"], { + poll: this.attrs.poll, + post: this.attrs.post + }); + }; + _proto.deletePoll = function deletePoll() { + if (confirm(flarum_forum_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('fof-polls.forum.moderation.delete_confirm'))) { + this.attrs.poll["delete"]().then(function () { + m.redraw.sync(); + }); + } + } + + /** + * Attempting to use the `tooltipVisible` attr on the Tooltip component set to 'false' when no vote count + * caused the tooltip to break on click. This is a workaround to hide the tooltip when no vote count is available, + * called on 'onremove' of the Tooltip component. It doesn't always work as intended either, but it does the job. + */; + _proto.hideOptionTooltip = function hideOptionTooltip(vnode) { + vnode.attrs.tooltipVisible = false; + vnode.state.updateVisibility(); + } + + /** + * Alert before navigating away using browser's 'beforeunload' event + */; + _proto.preventClose = function preventClose(e) { + if (this.pendingOptions) { + e.preventDefault(); + return true; + } + }; + return PostPoll; +}((flarum_common_Component__WEBPACK_IMPORTED_MODULE_2___default())); + + +/***/ }), + +/***/ "./src/forum/components/form/FormError.js": +/*!************************************************!*\ + !*** ./src/forum/components/form/FormError.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ FormError) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var _babel_runtime_helpers_esm_wrapNativeSuper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/wrapNativeSuper */ "./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js"); + + +var FormError = /*#__PURE__*/function (_Error) { + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(FormError, _Error); + function FormError() { + return _Error.apply(this, arguments) || this; + } + return FormError; +}( /*#__PURE__*/(0,_babel_runtime_helpers_esm_wrapNativeSuper__WEBPACK_IMPORTED_MODULE_1__["default"])(Error)); + + +/***/ }), + +/***/ "./src/forum/components/index.ts": +/*!***************************************!*\ + !*** ./src/forum/components/index.ts ***! + \***************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ components: () => (/* binding */ components) +/* harmony export */ }); +/* harmony import */ var _CreatePollModal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CreatePollModal */ "./src/forum/components/CreatePollModal.js"); +/* harmony import */ var _PostPoll__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PostPoll */ "./src/forum/components/PostPoll.js"); +/* harmony import */ var _EditPollModal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./EditPollModal */ "./src/forum/components/EditPollModal.js"); +/* harmony import */ var _ListVotersModal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ListVotersModal */ "./src/forum/components/ListVotersModal.js"); +/* harmony import */ var _PollForm__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PollForm */ "./src/forum/components/PollForm.js"); +/* harmony import */ var _ComposePollHero__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ComposePollHero */ "./src/forum/components/ComposePollHero.tsx"); +/* harmony import */ var _ComposePollPage__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ComposePollPage */ "./src/forum/components/ComposePollPage.tsx"); +/* harmony import */ var _PollsPage__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./PollsPage */ "./src/forum/components/PollsPage.tsx"); +/* harmony import */ var _PollView__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./PollView */ "./src/forum/components/PollView.tsx"); +/* harmony import */ var _PollViewPage__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./PollViewPage */ "./src/forum/components/PollViewPage.tsx"); + + + + + + + + + + +var components = { + CreatePollModal: _CreatePollModal__WEBPACK_IMPORTED_MODULE_0__["default"], + PostPoll: _PostPoll__WEBPACK_IMPORTED_MODULE_1__["default"], + EditPollModal: _EditPollModal__WEBPACK_IMPORTED_MODULE_2__["default"], + ListVotersModal: _ListVotersModal__WEBPACK_IMPORTED_MODULE_3__["default"], + PollForm: _PollForm__WEBPACK_IMPORTED_MODULE_4__["default"], + ComposePollHero: _ComposePollHero__WEBPACK_IMPORTED_MODULE_5__["default"], + ComposePollPage: _ComposePollPage__WEBPACK_IMPORTED_MODULE_6__["default"], + PollsPage: _PollsPage__WEBPACK_IMPORTED_MODULE_7__["default"], + PollView: _PollView__WEBPACK_IMPORTED_MODULE_8__["default"], + PollViewPage: _PollViewPage__WEBPACK_IMPORTED_MODULE_9__["default"] +}; + +/***/ }), + +/***/ "./src/forum/extend.ts": +/*!*****************************!*\ + !*** ./src/forum/extend.ts ***! + \*****************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var flarum_common_extenders__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! flarum/common/extenders */ "flarum/common/extenders"); +/* harmony import */ var flarum_common_extenders__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(flarum_common_extenders__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var flarum_common_models_Post__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/common/models/Post */ "flarum/common/models/Post"); +/* harmony import */ var flarum_common_models_Post__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_common_models_Post__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var flarum_common_models_Forum__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/common/models/Forum */ "flarum/common/models/Forum"); +/* harmony import */ var flarum_common_models_Forum__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_common_models_Forum__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var flarum_common_models_Discussion__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/common/models/Discussion */ "flarum/common/models/Discussion"); +/* harmony import */ var flarum_common_models_Discussion__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_common_models_Discussion__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _models_Poll__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./models/Poll */ "./src/forum/models/Poll.ts"); +/* harmony import */ var _models_PollOption__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./models/PollOption */ "./src/forum/models/PollOption.ts"); +/* harmony import */ var _models_PollVote__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./models/PollVote */ "./src/forum/models/PollVote.ts"); +/* harmony import */ var _components_PollsPage__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/PollsPage */ "./src/forum/components/PollsPage.tsx"); +/* harmony import */ var _components_ComposePollPage__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/ComposePollPage */ "./src/forum/components/ComposePollPage.tsx"); +/* harmony import */ var _components_PollViewPage__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/PollViewPage */ "./src/forum/components/PollViewPage.tsx"); + + + + + + + + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ([new (flarum_common_extenders__WEBPACK_IMPORTED_MODULE_0___default().Routes)() // +.add('fof.polls.list', '/polls', _components_PollsPage__WEBPACK_IMPORTED_MODULE_7__["default"]).add('fof.polls.view', '/polls/view/:id', _components_PollViewPage__WEBPACK_IMPORTED_MODULE_9__["default"]).add('fof.polls.compose', '/polls/composer', _components_ComposePollPage__WEBPACK_IMPORTED_MODULE_8__["default"]), new (flarum_common_extenders__WEBPACK_IMPORTED_MODULE_0___default().Store)() // +.add('polls', _models_Poll__WEBPACK_IMPORTED_MODULE_4__["default"]).add('poll_options', _models_PollOption__WEBPACK_IMPORTED_MODULE_5__["default"]).add('poll_votes', _models_PollVote__WEBPACK_IMPORTED_MODULE_6__["default"]), new (flarum_common_extenders__WEBPACK_IMPORTED_MODULE_0___default().Model)((flarum_common_models_Post__WEBPACK_IMPORTED_MODULE_1___default())) // +.hasMany('polls').attribute('canStartPoll'), new (flarum_common_extenders__WEBPACK_IMPORTED_MODULE_0___default().Model)((flarum_common_models_Forum__WEBPACK_IMPORTED_MODULE_2___default())) // +.attribute('canStartPolls'), new (flarum_common_extenders__WEBPACK_IMPORTED_MODULE_0___default().Model)((flarum_common_models_Discussion__WEBPACK_IMPORTED_MODULE_3___default())) // +.attribute('hasPoll').attribute('canStartPoll')]); + +/***/ }), + +/***/ "./src/forum/index.ts": +/*!****************************!*\ + !*** ./src/forum/index.ts ***! + \****************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ components: () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_6__.components), +/* harmony export */ extend: () => (/* reexport safe */ _extend__WEBPACK_IMPORTED_MODULE_9__["default"]), +/* harmony export */ models: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_7__.models), +/* harmony export */ states: () => (/* reexport safe */ _states__WEBPACK_IMPORTED_MODULE_8__.states) +/* harmony export */ }); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! flarum/forum/app */ "flarum/forum/app"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_app__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _addDiscussionBadge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./addDiscussionBadge */ "./src/forum/addDiscussionBadge.js"); +/* harmony import */ var _addComposerItems__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./addComposerItems */ "./src/forum/addComposerItems.js"); +/* harmony import */ var _addPollsToPost__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./addPollsToPost */ "./src/forum/addPollsToPost.js"); +/* harmony import */ var _addPostControls__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./addPostControls */ "./src/forum/addPostControls.js"); +/* harmony import */ var _addNavItem__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./addNavItem */ "./src/forum/addNavItem.ts"); +/* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components */ "./src/forum/components/index.ts"); +/* harmony import */ var _models__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./models */ "./src/forum/models/index.ts"); +/* harmony import */ var _states__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./states */ "./src/forum/states/index.ts"); +/* harmony import */ var _extend__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./extend */ "./src/forum/extend.ts"); + + + + + + + + + +flarum_forum_app__WEBPACK_IMPORTED_MODULE_0___default().initializers.add('fof/polls', function () { + (0,_addDiscussionBadge__WEBPACK_IMPORTED_MODULE_1__["default"])(); + (0,_addComposerItems__WEBPACK_IMPORTED_MODULE_2__["default"])(); + (0,_addPollsToPost__WEBPACK_IMPORTED_MODULE_3__["default"])(); + (0,_addPostControls__WEBPACK_IMPORTED_MODULE_4__["default"])(); + (0,_addNavItem__WEBPACK_IMPORTED_MODULE_5__["default"])(); +}); + + +/***/ }), + +/***/ "./src/forum/models/Poll.ts": +/*!**********************************!*\ + !*** ./src/forum/models/Poll.ts ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Poll) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var flarum_common_Model__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/common/Model */ "flarum/common/Model"); +/* harmony import */ var flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_common_Model__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var flarum_common_utils_computed__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/common/utils/computed */ "flarum/common/utils/computed"); +/* harmony import */ var flarum_common_utils_computed__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_computed__WEBPACK_IMPORTED_MODULE_2__); + + + +var Poll = /*#__PURE__*/function (_Model) { + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(Poll, _Model); + function Poll() { + return _Model.apply(this, arguments) || this; + } + var _proto = Poll.prototype; + _proto.question = function question() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().attribute('question').call(this); + }; + _proto.subtitle = function subtitle() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().attribute('subtitle').call(this); + }; + _proto.hasEnded = function hasEnded() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().attribute('hasEnded').call(this); + }; + _proto.endDate = function endDate() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().attribute('endDate', (flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().transformDate)).call(this); + }; + _proto.publicPoll = function publicPoll() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().attribute('publicPoll').call(this); + }; + _proto.hideVotes = function hideVotes() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().attribute('hideVotes').call(this); + }; + _proto.allowChangeVote = function allowChangeVote() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().attribute('allowChangeVote').call(this); + }; + _proto.allowMultipleVotes = function allowMultipleVotes() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().attribute('allowMultipleVotes').call(this); + }; + _proto.maxVotes = function maxVotes() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().attribute('maxVotes').call(this); + }; + _proto.voteCount = function voteCount() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().attribute('voteCount').call(this); + }; + _proto.canVote = function canVote() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().attribute('canVote').call(this); + }; + _proto.canEdit = function canEdit() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().attribute('canEdit').call(this); + }; + _proto.canDelete = function canDelete() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().attribute('canDelete').call(this); + }; + _proto.canSeeVoters = function canSeeVoters() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().attribute('canSeeVoters').call(this); + }; + _proto.canChangeVote = function canChangeVote() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().attribute('canChangeVote').call(this); + }; + _proto.options = function options() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().hasMany('options').call(this); + }; + _proto.votes = function votes() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().hasMany('votes').call(this); + }; + _proto.myVotes = function myVotes() { + var myVotes = flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().hasMany('myVotes').call(this); + return myVotes ? myVotes : []; + }; + _proto.isGlobal = function isGlobal() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().attribute('isGlobal').call(this); + }; + _proto.isHidden = function isHidden() { + return flarum_common_utils_computed__WEBPACK_IMPORTED_MODULE_2___default()('hiddenAt', function (hiddenAt) { + return !!hiddenAt; + }).call(this); + } + + // TODO: These two don't make sense as of now + ; + _proto.isUnread = function isUnread() { + return false; + }; + _proto.apiEndpoint = function apiEndpoint() { + /** @ts-ignore */ + return "/fof/polls" + (this.exists ? "/" + this.data.id : ''); + }; + return Poll; +}((flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default())); + + +/***/ }), + +/***/ "./src/forum/models/PollOption.ts": +/*!****************************************!*\ + !*** ./src/forum/models/PollOption.ts ***! + \****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ PollOption) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var flarum_common_Model__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/common/Model */ "flarum/common/Model"); +/* harmony import */ var flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_common_Model__WEBPACK_IMPORTED_MODULE_1__); + + +var PollOption = /*#__PURE__*/function (_Model) { + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(PollOption, _Model); + function PollOption() { + return _Model.apply(this, arguments) || this; + } + var _proto = PollOption.prototype; + _proto.answer = function answer() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().attribute('answer').call(this); + }; + _proto.imageUrl = function imageUrl() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().attribute('imageUrl').call(this); + }; + _proto.voteCount = function voteCount() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().attribute('voteCount').call(this); + }; + _proto.poll = function poll() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().hasOne('polls').call(this); + }; + _proto.votes = function votes() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().hasMany('votes').call(this); + }; + _proto.apiEndpoint = function apiEndpoint() { + /** @ts-ignore */ + return "/fof/polls/answers" + (this.exists ? "/" + this.data.id : ''); + }; + return PollOption; +}((flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default())); + + +/***/ }), + +/***/ "./src/forum/models/PollVote.ts": +/*!**************************************!*\ + !*** ./src/forum/models/PollVote.ts ***! + \**************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ PollVote) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var flarum_common_Model__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/common/Model */ "flarum/common/Model"); +/* harmony import */ var flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_common_Model__WEBPACK_IMPORTED_MODULE_1__); + + +var PollVote = /*#__PURE__*/function (_Model) { + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(PollVote, _Model); + function PollVote() { + return _Model.apply(this, arguments) || this; + } + var _proto = PollVote.prototype; + _proto.poll = function poll() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().hasOne('poll').call(this); + }; + _proto.option = function option() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().hasOne('option').call(this); + }; + _proto.user = function user() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().hasOne('user').call(this); + }; + _proto.pollId = function pollId() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().attribute('pollId').call(this); + }; + _proto.optionId = function optionId() { + return flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default().attribute('optionId').call(this); + }; + _proto.apiEndpoint = function apiEndpoint() { + return "/fof/polls/" + this.pollId() + "/vote"; + }; + return PollVote; +}((flarum_common_Model__WEBPACK_IMPORTED_MODULE_1___default())); + + +/***/ }), + +/***/ "./src/forum/models/index.ts": +/*!***********************************!*\ + !*** ./src/forum/models/index.ts ***! + \***********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ models: () => (/* binding */ models) +/* harmony export */ }); +/* harmony import */ var _Poll__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Poll */ "./src/forum/models/Poll.ts"); +/* harmony import */ var _PollOption__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PollOption */ "./src/forum/models/PollOption.ts"); +/* harmony import */ var _PollVote__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PollVote */ "./src/forum/models/PollVote.ts"); + + + +var models = { + Poll: _Poll__WEBPACK_IMPORTED_MODULE_0__["default"], + PollOption: _PollOption__WEBPACK_IMPORTED_MODULE_1__["default"], + PollVote: _PollVote__WEBPACK_IMPORTED_MODULE_2__["default"] +}; + +/***/ }), + +/***/ "./src/forum/states/PollFormState.ts": +/*!*******************************************!*\ + !*** ./src/forum/states/PollFormState.ts ***! + \*******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ PollFormState) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/forum/app */ "flarum/forum/app"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_app__WEBPACK_IMPORTED_MODULE_2__); + + + +var PollFormState = /*#__PURE__*/function () { + PollFormState.createNewPoll = function createNewPoll() { + var poll = flarum_forum_app__WEBPACK_IMPORTED_MODULE_2___default().store.createRecord('polls'); + poll.pushAttributes({ + question: '', + endDate: '', + publicPoll: false, + allowMultipleVotes: false, + hideVotes: false, + allowChangeVote: false, + maxVotes: 0 + }); + poll.pushData({ + relationships: { + options: [] + } + }); + return poll; + }; + function PollFormState(poll) { + this.poll = void 0; + this.loading = void 0; + this.deleting = void 0; + this.expandedGroup = void 0; + if (!poll) { + poll = PollFormState.createNewPoll(); + } + this.loading = false; + this.deleting = false; + this.poll = poll; + this.expandedGroup = 'setup'; + } + var _proto = PollFormState.prototype; + _proto.isExpanded = function isExpanded(groupKey) { + return this.expandedGroup === groupKey; + }; + _proto.expand = function expand(groupKey) { + this.expandedGroup = groupKey; + m.redraw(); + }; + _proto.save = /*#__PURE__*/function () { + var _save = (0,_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee(data) { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + this.loading = true; + m.redraw(); + _context.prev = 2; + _context.next = 5; + return this.poll.save(data); + case 5: + this.poll = _context.sent; + case 6: + _context.prev = 6; + this.loading = false; + m.redraw(); + return _context.finish(6); + case 10: + case "end": + return _context.stop(); + } + } + }, _callee, this, [[2,, 6, 10]]); + })); + function save(_x) { + return _save.apply(this, arguments); + } + return save; + }(); + _proto["delete"] = /*#__PURE__*/function () { + var _delete2 = (0,_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee2() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + this.loading = true; + m.redraw(); + _context2.prev = 2; + _context2.next = 5; + return this.poll["delete"](); + case 5: + this.deleting = true; + case 6: + _context2.prev = 6; + this.loading = false; + m.redraw(); + return _context2.finish(6); + case 10: + case "end": + return _context2.stop(); + } + } + }, _callee2, this, [[2,, 6, 10]]); + })); + function _delete() { + return _delete2.apply(this, arguments); + } + return _delete; + }(); + return PollFormState; +}(); + + +/***/ }), + +/***/ "./src/forum/states/PollListState.ts": +/*!*******************************************!*\ + !*** ./src/forum/states/PollListState.ts ***! + \*******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ PollListState) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/assertThisInitialized */ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js"); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/forum/app */ "flarum/forum/app"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_app__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var flarum_common_states_PaginatedListState__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! flarum/common/states/PaginatedListState */ "flarum/common/states/PaginatedListState"); +/* harmony import */ var flarum_common_states_PaginatedListState__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(flarum_common_states_PaginatedListState__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var flarum_common_utils_EventEmitter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! flarum/common/utils/EventEmitter */ "flarum/common/utils/EventEmitter"); +/* harmony import */ var flarum_common_utils_EventEmitter__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_EventEmitter__WEBPACK_IMPORTED_MODULE_5__); + + + +function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + + + +var globalEventEmitter = new (flarum_common_utils_EventEmitter__WEBPACK_IMPORTED_MODULE_5___default())(); +var PollListState = /*#__PURE__*/function (_PaginatedListState) { + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_2__["default"])(PollListState, _PaginatedListState); + function PollListState(params, page) { + var _this; + if (page === void 0) { + page = 1; + } + _this = _PaginatedListState.call(this, params, page, 20) || this; + _this.extraPolls = []; + _this.eventEmitter = void 0; + _this.eventEmitter = globalEventEmitter.on('poll.deleted', _this.deletePoll.bind((0,_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__["default"])(_this))); + return _this; + } + var _proto = PollListState.prototype; + _proto.requestParams = function requestParams() { + var _this$params$sort; + var params = { + include: ['options', 'votes'], + filter: this.params.filter || {}, + sort: this.sortMap()[(_this$params$sort = this.params.sort) != null ? _this$params$sort : ''] + }; + if (this.params.q) { + params.filter.q = this.params.q; + } + return params; + }; + _proto.loadPage = function loadPage(page) { + if (page === void 0) { + page = 1; + } + var preloadedPolls = flarum_forum_app__WEBPACK_IMPORTED_MODULE_3___default().preloadedApiDocument(); + if (preloadedPolls) { + this.initialLoading = false; + return Promise.resolve(preloadedPolls); + } + return _PaginatedListState.prototype.loadPage.call(this, page); + }; + _proto.clear = function clear() { + _PaginatedListState.prototype.clear.call(this); + this.extraPolls = []; + } + + /** + * Get a map of sort keys (which appear in the URL, and are used for + * translation) to the API sort value that they represent. + */; + _proto.sortMap = function sortMap() { + var map = {}; + if (this.params.q) { + map.relevance = ''; + } + map.newest = '-createdAt'; + map.oldest = 'createdAt'; + return map; + } + + /** + * In the last request, has the user searched for a poll? + */; + _proto.isSearchResults = function isSearchResults() { + return !!this.params.q; + }; + _proto.removePoll = function removePoll(poll) { + this.eventEmitter.emit('poll.deleted', poll); + }; + _proto.deletePoll = function deletePoll(poll) { + for (var _iterator = _createForOfIteratorHelperLoose(this.pages), _step; !(_step = _iterator()).done;) { + var page = _step.value; + var _index = page.items.indexOf(poll); + if (_index !== -1) { + page.items.splice(_index, 1); + break; + } + } + var index = this.extraPolls.indexOf(poll); + if (index !== -1) { + this.extraPolls.splice(index); + } + m.redraw(); + } + + /** + * Add a poll to the top of the list. + */; + _proto.addPoll = function addPoll(poll) { + this.removePoll(poll); + this.extraPolls.unshift(poll); + m.redraw(); + }; + _proto.getAllItems = function getAllItems() { + return this.extraPolls.concat(_PaginatedListState.prototype.getAllItems.call(this)); + }; + _proto.getPages = function getPages() { + var pages = _PaginatedListState.prototype.getPages.call(this); + if (this.extraPolls.length) { + return [{ + number: -1, + items: this.extraPolls + }].concat(pages); + } + return pages; + }; + (0,_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_0__["default"])(PollListState, [{ + key: "type", + get: function get() { + return 'fof/polls'; + } + }]); + return PollListState; +}((flarum_common_states_PaginatedListState__WEBPACK_IMPORTED_MODULE_4___default())); + + +/***/ }), + +/***/ "./src/forum/states/PollState.ts": +/*!***************************************!*\ + !*** ./src/forum/states/PollState.ts ***! + \***************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ PollState) +/* harmony export */ }); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! flarum/forum/app */ "flarum/forum/app"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_app__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var flarum_forum_components_LogInModal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/forum/components/LogInModal */ "flarum/forum/components/LogInModal"); +/* harmony import */ var flarum_forum_components_LogInModal__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_components_LogInModal__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _components_ListVotersModal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../components/ListVotersModal */ "./src/forum/components/ListVotersModal.js"); + + + +var PollState = /*#__PURE__*/function () { + function PollState(poll) { + var _this = this; + this.poll = void 0; + this.pendingSubmit = void 0; + this.pendingOptions = void 0; + this.loadingOptions = void 0; + this.useSubmitUI = void 0; + this.showCheckMarks = void 0; + this.showVoters = function () { + // Load all the votes only when opening the votes list + flarum_forum_app__WEBPACK_IMPORTED_MODULE_0___default().modal.show(_components_ListVotersModal__WEBPACK_IMPORTED_MODULE_2__["default"], { + poll: _this.poll + }); + }; + this.preventClose = function (e) { + if (_this.pendingOptions) { + e.preventDefault(); + return true; + } + }; + this.poll = poll; + this.pendingSubmit = false; + this.pendingOptions = null; + this.loadingOptions = false; + this.useSubmitUI = !(poll != null && poll.canChangeVote()) && (poll == null ? void 0 : poll.allowMultipleVotes()); + this.showCheckMarks = !(flarum_forum_app__WEBPACK_IMPORTED_MODULE_0___default().session).user || !poll.hasEnded() && poll.canVote() && (!this.hasVoted() || poll.canChangeVote()); + } + var _proto = PollState.prototype; + _proto.hasVoted = function hasVoted() { + return this.poll.myVotes().length > 0; + }; + _proto.overallVoteCount = function overallVoteCount() { + var options = this.poll.options(); + return Math.max(100, (options ? options : []).reduce(function (max, option) { + return max + option.voteCount(); + }, 0)); + }; + _proto.showButton = function showButton() { + return this.useSubmitUI && this.pendingSubmit; + }; + _proto.changeVote = function changeVote(option, evt) { + var target = evt.target; + if (!(flarum_forum_app__WEBPACK_IMPORTED_MODULE_0___default().session).user) { + flarum_forum_app__WEBPACK_IMPORTED_MODULE_0___default().modal.show((flarum_forum_components_LogInModal__WEBPACK_IMPORTED_MODULE_1___default())); + target.checked = false; + return; + } + var optionIds = this.pendingOptions || new Set(this.poll.myVotes().map(function (v) { + return v.option().id(); + })); + var isUnvoting = optionIds["delete"](option.id()); + var allowsMultiple = this.poll.allowMultipleVotes(); + if (!allowsMultiple) { + optionIds.clear(); + } + if (!isUnvoting) { + optionIds.add(option.id()); + } + this.pendingOptions = optionIds.size ? optionIds : null; + this.pendingSubmit = !!this.pendingOptions; + m.redraw(); + }; + _proto.hasSelectedOptions = function hasSelectedOptions() { + return this.pendingSubmit; + }; + _proto.onsubmit = function onsubmit() { + var _this2 = this; + return this.submit(this.pendingOptions, function () { + _this2.pendingOptions = null; + _this2.pendingSubmit = false; + }); + }; + _proto.submit = function submit(optionIds, cb, onerror) { + var _this3 = this; + if (onerror === void 0) { + onerror = null; + } + this.loadingOptions = true; + m.redraw(); + return flarum_forum_app__WEBPACK_IMPORTED_MODULE_0___default().request({ + method: 'PATCH', + url: flarum_forum_app__WEBPACK_IMPORTED_MODULE_0___default().forum.attribute('apiUrl') + "/fof/polls/" + this.poll.id() + "/votes", + body: { + data: { + optionIds: Array.from(optionIds) + } + } + }).then(function (res) { + flarum_forum_app__WEBPACK_IMPORTED_MODULE_0___default().store.pushPayload(res); + cb == null ? void 0 : cb(); + })["catch"](function (err) { + onerror == null ? void 0 : onerror(err); + })["finally"](function () { + _this3.loadingOptions = false; + _this3.showCheckMarks = false; + m.redraw(); + }); + }; + /** + * Attempting to use the `tooltipVisible` attr on the Tooltip component set to 'false' when no vote count + * caused the tooltip to break on click. This is a workaround to hide the tooltip when no vote count is available, + * called on 'onremove' of the Tooltip component. It doesn't always work as intended either, but it does the job. + */ + _proto.hideOptionTooltip = function hideOptionTooltip(vnode) { + vnode.attrs.tooltipVisible = false; + vnode.state.updateVisibility(); + } + + /** + * Alert before navigating away using browser's 'beforeunload' event + */; + return PollState; +}(); + + +/***/ }), + +/***/ "./src/forum/states/index.ts": +/*!***********************************!*\ + !*** ./src/forum/states/index.ts ***! + \***********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ states: () => (/* binding */ states) +/* harmony export */ }); +/* harmony import */ var _PollFormState__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PollFormState */ "./src/forum/states/PollFormState.ts"); +/* harmony import */ var _PollListState__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PollListState */ "./src/forum/states/PollListState.ts"); +/* harmony import */ var _PollState__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PollState */ "./src/forum/states/PollState.ts"); + + + +var states = { + PollFormState: _PollFormState__WEBPACK_IMPORTED_MODULE_0__["default"], + PollListState: _PollListState__WEBPACK_IMPORTED_MODULE_1__["default"], + PollState: _PollState__WEBPACK_IMPORTED_MODULE_2__["default"] +}; + +/***/ }), + +/***/ "./src/forum/utils/PollControls.tsx": +/*!******************************************!*\ + !*** ./src/forum/utils/PollControls.tsx ***! + \******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/forum/app */ "flarum/forum/app"); +/* harmony import */ var flarum_forum_app__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_app__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _components_ComposePollPage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../components/ComposePollPage */ "./src/forum/components/ComposePollPage.tsx"); +/* harmony import */ var _components_PollsPage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../components/PollsPage */ "./src/forum/components/PollsPage.tsx"); +/* harmony import */ var flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! flarum/common/utils/ItemList */ "flarum/common/utils/ItemList"); +/* harmony import */ var flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var flarum_common_components_Separator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! flarum/common/components/Separator */ "flarum/common/components/Separator"); +/* harmony import */ var flarum_common_components_Separator__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Separator__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! flarum/common/components/Button */ "flarum/common/components/Button"); +/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_7__); + + + + + + + + + +/** + * The `UserControls` utility constructs a list of buttons for a user which + * perform actions on it. + */ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + /** + * Get a list of controls for a user. + */ + controls: function controls(poll, context) { + var _this = this; + var items = new (flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_5___default())(); + ['poll', 'moderation', 'destructive'].forEach(function (section) { + var controls = _this[section + 'Controls'](poll, context).toArray(); + if (controls.length) { + controls.forEach(function (item) { + return items.add(item.itemName, item); + }); + items.add(section + 'Separator', m((flarum_common_components_Separator__WEBPACK_IMPORTED_MODULE_6___default()), null)); + } + }); + return items; + }, + /** + * Get controls for direct modifcation actions on polls (e.g. vote, view voters). + */ + pollControls: function pollControls(poll, context) { + var items = new (flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_5___default())(); + return items; + }, + /** + * Get controls for a user pertaining to moderation (e.g. suspend, edit). + */ + moderationControls: function moderationControls(poll, context) { + var items = new (flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_5___default())(); + if (poll.canEdit()) { + items.add('edit', m((flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_7___default()), { + icon: "fas fa-pen", + onclick: this.editAction.bind(this, poll) + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_2___default().translator.trans("fof-polls.forum.poll_controls.edit_label"))); + } + return items; + }, + /** + * Get controls for a user which are destructive (e.g. delete). + * @protected + */ + destructiveControls: function destructiveControls(poll, context) { + var items = new (flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_5___default())(); + if (poll.canDelete()) { + items.add('delete', m((flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_7___default()), { + icon: "fas fa-times", + onclick: this.deleteAction.bind(this, poll) + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_2___default().translator.trans("fof-polls.forum.poll_controls.delete_label"))); + } + return items; + }, + /** + * Delete the user. + */ + deleteAction: function deleteAction(poll) { + var _this2 = this; + return (0,_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (confirm(flarum_forum_app__WEBPACK_IMPORTED_MODULE_2___default().translator.trans("fof-polls.forum.poll_controls.delete_confirmation"))) { + _context.next = 2; + break; + } + return _context.abrupt("return"); + case 2: + return _context.abrupt("return", poll["delete"]().then(function () { + _this2.showDeletionAlert(poll, 'success'); + if (flarum_forum_app__WEBPACK_IMPORTED_MODULE_2___default().current.matches(_components_ComposePollPage__WEBPACK_IMPORTED_MODULE_3__["default"], { + id: poll.id() + }) || flarum_forum_app__WEBPACK_IMPORTED_MODULE_2___default().current.matches(_components_PollsPage__WEBPACK_IMPORTED_MODULE_4__["default"], { + id: poll.id() + })) { + flarum_forum_app__WEBPACK_IMPORTED_MODULE_2___default().history.back(); + } else { + window.location.reload(); + } + })["catch"](function () { + return _this2.showDeletionAlert(poll, 'error'); + })); + case 3: + case "end": + return _context.stop(); + } + } + }, _callee); + }))(); + }, + /** + * Show deletion alert of poll + */ + showDeletionAlert: function showDeletionAlert(poll, type) { + var message = { + success: "$fof-polls.forum.poll_controls.delete_success_message", + error: "fof-polls.forum.poll_controls.delete_error_message" + }[type]; + flarum_forum_app__WEBPACK_IMPORTED_MODULE_2___default().alerts.show({ + type: type + }, flarum_forum_app__WEBPACK_IMPORTED_MODULE_2___default().translator.trans(message, { + poll: poll + })); + }, + /** + * Edit the poll. + */ + editAction: function editAction(poll) { + m.route.set(flarum_forum_app__WEBPACK_IMPORTED_MODULE_2___default().route('fof.polls.compose', { + id: poll.id() + })); + } +}); + +/***/ }), + +/***/ "flarum/common/Component": +/*!*********************************************************!*\ + !*** external "flarum.core.compat['common/Component']" ***! + \*********************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/Component']; + +/***/ }), + +/***/ "flarum/common/Model": +/*!*****************************************************!*\ + !*** external "flarum.core.compat['common/Model']" ***! + \*****************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/Model']; + +/***/ }), + +/***/ "flarum/common/components/Badge": +/*!****************************************************************!*\ + !*** external "flarum.core.compat['common/components/Badge']" ***! + \****************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/components/Badge']; + +/***/ }), + +/***/ "flarum/common/components/Button": +/*!*****************************************************************!*\ + !*** external "flarum.core.compat['common/components/Button']" ***! + \*****************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/components/Button']; + +/***/ }), + +/***/ "flarum/common/components/Dropdown": +/*!*******************************************************************!*\ + !*** external "flarum.core.compat['common/components/Dropdown']" ***! + \*******************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/components/Dropdown']; + +/***/ }), + +/***/ "flarum/common/components/Link": +/*!***************************************************************!*\ + !*** external "flarum.core.compat['common/components/Link']" ***! + \***************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/components/Link']; + +/***/ }), + +/***/ "flarum/common/components/LinkButton": +/*!*********************************************************************!*\ + !*** external "flarum.core.compat['common/components/LinkButton']" ***! + \*********************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/components/LinkButton']; + +/***/ }), + +/***/ "flarum/common/components/LoadingIndicator": +/*!***************************************************************************!*\ + !*** external "flarum.core.compat['common/components/LoadingIndicator']" ***! + \***************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/components/LoadingIndicator']; + +/***/ }), + +/***/ "flarum/common/components/Modal": +/*!****************************************************************!*\ + !*** external "flarum.core.compat['common/components/Modal']" ***! + \****************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/components/Modal']; + +/***/ }), + +/***/ "flarum/common/components/Page": +/*!***************************************************************!*\ + !*** external "flarum.core.compat['common/components/Page']" ***! + \***************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/components/Page']; + +/***/ }), + +/***/ "flarum/common/components/Placeholder": +/*!**********************************************************************!*\ + !*** external "flarum.core.compat['common/components/Placeholder']" ***! + \**********************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/components/Placeholder']; + +/***/ }), + +/***/ "flarum/common/components/SelectDropdown": +/*!*************************************************************************!*\ + !*** external "flarum.core.compat['common/components/SelectDropdown']" ***! + \*************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/components/SelectDropdown']; + +/***/ }), + +/***/ "flarum/common/components/Separator": +/*!********************************************************************!*\ + !*** external "flarum.core.compat['common/components/Separator']" ***! + \********************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/components/Separator']; + +/***/ }), + +/***/ "flarum/common/components/Switch": +/*!*****************************************************************!*\ + !*** external "flarum.core.compat['common/components/Switch']" ***! + \*****************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/components/Switch']; + +/***/ }), + +/***/ "flarum/common/components/Tooltip": +/*!******************************************************************!*\ + !*** external "flarum.core.compat['common/components/Tooltip']" ***! + \******************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/components/Tooltip']; + +/***/ }), + +/***/ "flarum/common/extend": +/*!******************************************************!*\ + !*** external "flarum.core.compat['common/extend']" ***! + \******************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/extend']; + +/***/ }), + +/***/ "flarum/common/extenders": +/*!*********************************************************!*\ + !*** external "flarum.core.compat['common/extenders']" ***! + \*********************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/extenders']; + +/***/ }), + +/***/ "flarum/common/helpers/avatar": +/*!**************************************************************!*\ + !*** external "flarum.core.compat['common/helpers/avatar']" ***! + \**************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/helpers/avatar']; + +/***/ }), + +/***/ "flarum/common/helpers/highlight": +/*!*****************************************************************!*\ + !*** external "flarum.core.compat['common/helpers/highlight']" ***! + \*****************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/helpers/highlight']; + +/***/ }), + +/***/ "flarum/common/helpers/icon": +/*!************************************************************!*\ + !*** external "flarum.core.compat['common/helpers/icon']" ***! + \************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/helpers/icon']; + +/***/ }), + +/***/ "flarum/common/helpers/listItems": +/*!*****************************************************************!*\ + !*** external "flarum.core.compat['common/helpers/listItems']" ***! + \*****************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/helpers/listItems']; + +/***/ }), + +/***/ "flarum/common/helpers/username": +/*!****************************************************************!*\ + !*** external "flarum.core.compat['common/helpers/username']" ***! + \****************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/helpers/username']; + +/***/ }), + +/***/ "flarum/common/models/Discussion": +/*!*****************************************************************!*\ + !*** external "flarum.core.compat['common/models/Discussion']" ***! + \*****************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/models/Discussion']; + +/***/ }), + +/***/ "flarum/common/models/Forum": +/*!************************************************************!*\ + !*** external "flarum.core.compat['common/models/Forum']" ***! + \************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/models/Forum']; + +/***/ }), + +/***/ "flarum/common/models/Post": +/*!***********************************************************!*\ + !*** external "flarum.core.compat['common/models/Post']" ***! + \***********************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/models/Post']; + +/***/ }), + +/***/ "flarum/common/states/PaginatedListState": +/*!*************************************************************************!*\ + !*** external "flarum.core.compat['common/states/PaginatedListState']" ***! + \*************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/states/PaginatedListState']; + +/***/ }), + +/***/ "flarum/common/utils/EventEmitter": +/*!******************************************************************!*\ + !*** external "flarum.core.compat['common/utils/EventEmitter']" ***! + \******************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/utils/EventEmitter']; + +/***/ }), + +/***/ "flarum/common/utils/ItemList": +/*!**************************************************************!*\ + !*** external "flarum.core.compat['common/utils/ItemList']" ***! + \**************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/utils/ItemList']; + +/***/ }), + +/***/ "flarum/common/utils/Stream": +/*!************************************************************!*\ + !*** external "flarum.core.compat['common/utils/Stream']" ***! + \************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/utils/Stream']; + +/***/ }), + +/***/ "flarum/common/utils/SubtreeRetainer": +/*!*********************************************************************!*\ + !*** external "flarum.core.compat['common/utils/SubtreeRetainer']" ***! + \*********************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/utils/SubtreeRetainer']; + +/***/ }), + +/***/ "flarum/common/utils/abbreviateNumber": +/*!**********************************************************************!*\ + !*** external "flarum.core.compat['common/utils/abbreviateNumber']" ***! + \**********************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/utils/abbreviateNumber']; + +/***/ }), + +/***/ "flarum/common/utils/classList": +/*!***************************************************************!*\ + !*** external "flarum.core.compat['common/utils/classList']" ***! + \***************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/utils/classList']; + +/***/ }), + +/***/ "flarum/common/utils/computed": +/*!**************************************************************!*\ + !*** external "flarum.core.compat['common/utils/computed']" ***! + \**************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/utils/computed']; + +/***/ }), + +/***/ "flarum/common/utils/extractText": +/*!*****************************************************************!*\ + !*** external "flarum.core.compat['common/utils/extractText']" ***! + \*****************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/utils/extractText']; + +/***/ }), + +/***/ "flarum/forum/app": +/*!**************************************************!*\ + !*** external "flarum.core.compat['forum/app']" ***! + \**************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['forum/app']; + +/***/ }), + +/***/ "flarum/forum/components/CommentPost": +/*!*********************************************************************!*\ + !*** external "flarum.core.compat['forum/components/CommentPost']" ***! + \*********************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['forum/components/CommentPost']; + +/***/ }), + +/***/ "flarum/forum/components/DiscussionComposer": +/*!****************************************************************************!*\ + !*** external "flarum.core.compat['forum/components/DiscussionComposer']" ***! + \****************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['forum/components/DiscussionComposer']; + +/***/ }), + +/***/ "flarum/forum/components/DiscussionList": +/*!************************************************************************!*\ + !*** external "flarum.core.compat['forum/components/DiscussionList']" ***! + \************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['forum/components/DiscussionList']; + +/***/ }), + +/***/ "flarum/forum/components/DiscussionPage": +/*!************************************************************************!*\ + !*** external "flarum.core.compat['forum/components/DiscussionPage']" ***! + \************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['forum/components/DiscussionPage']; + +/***/ }), + +/***/ "flarum/forum/components/IndexPage": +/*!*******************************************************************!*\ + !*** external "flarum.core.compat['forum/components/IndexPage']" ***! + \*******************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['forum/components/IndexPage']; + +/***/ }), + +/***/ "flarum/forum/components/LogInModal": +/*!********************************************************************!*\ + !*** external "flarum.core.compat['forum/components/LogInModal']" ***! + \********************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['forum/components/LogInModal']; + +/***/ }), + +/***/ "flarum/forum/components/ReplyComposer": +/*!***********************************************************************!*\ + !*** external "flarum.core.compat['forum/components/ReplyComposer']" ***! + \***********************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['forum/components/ReplyComposer']; + +/***/ }), + +/***/ "flarum/forum/utils/PostControls": +/*!*****************************************************************!*\ + !*** external "flarum.core.compat['forum/utils/PostControls']" ***! + \*****************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['forum/utils/PostControls']; + +/***/ }), + +/***/ "flarum/forum/utils/slidable": +/*!*************************************************************!*\ + !*** external "flarum.core.compat['forum/utils/slidable']" ***! + \*************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['forum/utils/slidable']; + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/regeneratorRuntime.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***! + \*******************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +var _typeof = (__webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/typeof.js")["default"]); +function _regeneratorRuntime() { + "use strict"; + + /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ + module.exports = _regeneratorRuntime = function _regeneratorRuntime() { + return e; + }, module.exports.__esModule = true, module.exports["default"] = module.exports; + var t, + e = {}, + r = Object.prototype, + n = r.hasOwnProperty, + o = Object.defineProperty || function (t, e, r) { + t[e] = r.value; + }, + i = "function" == typeof Symbol ? Symbol : {}, + a = i.iterator || "@@iterator", + c = i.asyncIterator || "@@asyncIterator", + u = i.toStringTag || "@@toStringTag"; + function define(t, e, r) { + return Object.defineProperty(t, e, { + value: r, + enumerable: !0, + configurable: !0, + writable: !0 + }), t[e]; + } + try { + define({}, ""); + } catch (t) { + define = function define(t, e, r) { + return t[e] = r; + }; + } + function wrap(t, e, r, n) { + var i = e && e.prototype instanceof Generator ? e : Generator, + a = Object.create(i.prototype), + c = new Context(n || []); + return o(a, "_invoke", { + value: makeInvokeMethod(t, r, c) + }), a; + } + function tryCatch(t, e, r) { + try { + return { + type: "normal", + arg: t.call(e, r) + }; + } catch (t) { + return { + type: "throw", + arg: t + }; + } + } + e.wrap = wrap; + var h = "suspendedStart", + l = "suspendedYield", + f = "executing", + s = "completed", + y = {}; + function Generator() {} + function GeneratorFunction() {} + function GeneratorFunctionPrototype() {} + var p = {}; + define(p, a, function () { + return this; + }); + var d = Object.getPrototypeOf, + v = d && d(d(values([]))); + v && v !== r && n.call(v, a) && (p = v); + var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); + function defineIteratorMethods(t) { + ["next", "throw", "return"].forEach(function (e) { + define(t, e, function (t) { + return this._invoke(e, t); + }); + }); + } + function AsyncIterator(t, e) { + function invoke(r, o, i, a) { + var c = tryCatch(t[r], t, o); + if ("throw" !== c.type) { + var u = c.arg, + h = u.value; + return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { + invoke("next", t, i, a); + }, function (t) { + invoke("throw", t, i, a); + }) : e.resolve(h).then(function (t) { + u.value = t, i(u); + }, function (t) { + return invoke("throw", t, i, a); + }); + } + a(c.arg); + } + var r; + o(this, "_invoke", { + value: function value(t, n) { + function callInvokeWithMethodAndArg() { + return new e(function (e, r) { + invoke(t, n, e, r); + }); + } + return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); + } + }); + } + function makeInvokeMethod(e, r, n) { + var o = h; + return function (i, a) { + if (o === f) throw new Error("Generator is already running"); + if (o === s) { + if ("throw" === i) throw a; + return { + value: t, + done: !0 + }; + } + for (n.method = i, n.arg = a;;) { + var c = n.delegate; + if (c) { + var u = maybeInvokeDelegate(c, n); + if (u) { + if (u === y) continue; + return u; + } + } + if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { + if (o === h) throw o = s, n.arg; + n.dispatchException(n.arg); + } else "return" === n.method && n.abrupt("return", n.arg); + o = f; + var p = tryCatch(e, r, n); + if ("normal" === p.type) { + if (o = n.done ? s : l, p.arg === y) continue; + return { + value: p.arg, + done: n.done + }; + } + "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); + } + }; + } + function maybeInvokeDelegate(e, r) { + var n = r.method, + o = e.iterator[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; + var i = tryCatch(o, e.iterator, r.arg); + if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; + var a = i.arg; + 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); + } + function pushTryEntry(t) { + var e = { + tryLoc: t[0] + }; + 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); + } + function resetTryEntry(t) { + var e = t.completion || {}; + e.type = "normal", delete e.arg, t.completion = e; + } + function Context(t) { + this.tryEntries = [{ + tryLoc: "root" + }], t.forEach(pushTryEntry, this), this.reset(!0); + } + function values(e) { + if (e || "" === e) { + var r = e[a]; + if (r) return r.call(e); + if ("function" == typeof e.next) return e; + if (!isNaN(e.length)) { + var o = -1, + i = function next() { + for (; ++o < e.length;) { + if (n.call(e, o)) return next.value = e[o], next.done = !1, next; + } + return next.value = t, next.done = !0, next; + }; + return i.next = i; + } + } + throw new TypeError(_typeof(e) + " is not iterable"); + } + return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { + value: GeneratorFunctionPrototype, + configurable: !0 + }), o(GeneratorFunctionPrototype, "constructor", { + value: GeneratorFunction, + configurable: !0 + }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { + var e = "function" == typeof t && t.constructor; + return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); + }, e.mark = function (t) { + return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; + }, e.awrap = function (t) { + return { + __await: t + }; + }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { + return this; + }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { + void 0 === i && (i = Promise); + var a = new AsyncIterator(wrap(t, r, n, o), i); + return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { + return t.done ? t.value : a.next(); + }); + }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { + return this; + }), define(g, "toString", function () { + return "[object Generator]"; + }), e.keys = function (t) { + var e = Object(t), + r = []; + for (var n in e) { + r.push(n); + } + return r.reverse(), function next() { + for (; r.length;) { + var t = r.pop(); + if (t in e) return next.value = t, next.done = !1, next; + } + return next.done = !0, next; + }; + }, e.values = values, Context.prototype = { + constructor: Context, + reset: function reset(e) { + 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); + } + }, + stop: function stop() { + this.done = !0; + var t = this.tryEntries[0].completion; + if ("throw" === t.type) throw t.arg; + return this.rval; + }, + dispatchException: function dispatchException(e) { + if (this.done) throw e; + var r = this; + function handle(n, o) { + return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; + } + for (var o = this.tryEntries.length - 1; o >= 0; --o) { + var i = this.tryEntries[o], + a = i.completion; + if ("root" === i.tryLoc) return handle("end"); + if (i.tryLoc <= this.prev) { + var c = n.call(i, "catchLoc"), + u = n.call(i, "finallyLoc"); + if (c && u) { + if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); + if (this.prev < i.finallyLoc) return handle(i.finallyLoc); + } else if (c) { + if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); + } else { + if (!u) throw new Error("try statement without catch or finally"); + if (this.prev < i.finallyLoc) return handle(i.finallyLoc); + } + } + } + }, + abrupt: function abrupt(t, e) { + for (var r = this.tryEntries.length - 1; r >= 0; --r) { + var o = this.tryEntries[r]; + if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { + var i = o; + break; + } + } + i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); + var a = i ? i.completion : {}; + return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); + }, + complete: function complete(t, e) { + if ("throw" === t.type) throw t.arg; + 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; + }, + finish: function finish(t) { + for (var e = this.tryEntries.length - 1; e >= 0; --e) { + var r = this.tryEntries[e]; + if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; + } + }, + "catch": function _catch(t) { + for (var e = this.tryEntries.length - 1; e >= 0; --e) { + var r = this.tryEntries[e]; + if (r.tryLoc === t) { + var n = r.completion; + if ("throw" === n.type) { + var o = n.arg; + resetTryEntry(r); + } + return o; + } + } + throw new Error("illegal catch attempt"); + }, + delegateYield: function delegateYield(e, r, n) { + return this.delegate = { + iterator: values(e), + resultName: r, + nextLoc: n + }, "next" === this.method && (this.arg = t), y; + } + }, e; +} +module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/typeof.js": +/*!*******************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/typeof.js ***! + \*******************************************************/ +/***/ ((module) => { + +function _typeof(o) { + "@babel/helpers - typeof"; + + return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { + return typeof o; + } : function (o) { + return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; + }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o); +} +module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }), + +/***/ "./node_modules/@babel/runtime/regenerator/index.js": +/*!**********************************************************!*\ + !*** ./node_modules/@babel/runtime/regenerator/index.js ***! + \**********************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +// TODO(Babel 8): Remove this file. + +var runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ "./node_modules/@babel/runtime/helpers/regeneratorRuntime.js")(); +module.exports = runtime; + +// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736= +try { + regeneratorRuntime = runtime; +} catch (accidentalStrictMode) { + if (typeof globalThis === "object") { + globalThis.regeneratorRuntime = runtime; + } else { + Function("r", "regeneratorRuntime = r")(runtime); + } +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _assertThisInitialized) +/* harmony export */ }); +function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + return self; +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _asyncToGenerator) +/* harmony export */ }); +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { + try { + var info = gen[key](arg); + var value = info.value; + } catch (error) { + reject(error); + return; + } + if (info.done) { + resolve(value); + } else { + Promise.resolve(value).then(_next, _throw); + } +} +function _asyncToGenerator(fn) { + return function () { + var self = this, + args = arguments; + return new Promise(function (resolve, reject) { + var gen = fn.apply(self, args); + function _next(value) { + asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); + } + function _throw(err) { + asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); + } + _next(undefined); + }); + }; +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/construct.js": +/*!**************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/construct.js ***! + \**************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _construct) +/* harmony export */ }); +/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js"); +/* harmony import */ var _isNativeReflectConstruct_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isNativeReflectConstruct.js */ "./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js"); + + +function _construct(Parent, args, Class) { + if ((0,_isNativeReflectConstruct_js__WEBPACK_IMPORTED_MODULE_1__["default"])()) { + _construct = Reflect.construct.bind(); + } else { + _construct = function _construct(Parent, args, Class) { + var a = [null]; + a.push.apply(a, args); + var Constructor = Function.bind.apply(Parent, a); + var instance = new Constructor(); + if (Class) (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(instance, Class.prototype); + return instance; + }; + } + return _construct.apply(null, arguments); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/createClass.js": +/*!****************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/createClass.js ***! + \****************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _createClass) +/* harmony export */ }); +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } +} +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + Object.defineProperty(Constructor, "prototype", { + writable: false + }); + return Constructor; +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/extends.js": +/*!************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/extends.js ***! + \************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _extends) +/* harmony export */ }); +function _extends() { + _extends = Object.assign ? Object.assign.bind() : function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + return target; + }; + return _extends.apply(this, arguments); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _getPrototypeOf) +/* harmony export */ }); +function _getPrototypeOf(o) { + _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { + return o.__proto__ || Object.getPrototypeOf(o); + }; + return _getPrototypeOf(o); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js": +/*!******************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js ***! + \******************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _inheritsLoose) +/* harmony export */ }); +/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js"); + +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(subClass, superClass); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _isNativeFunction) +/* harmony export */ }); +function _isNativeFunction(fn) { + return Function.toString.call(fn).indexOf("[native code]") !== -1; +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _isNativeReflectConstruct) +/* harmony export */ }); +function _isNativeReflectConstruct() { + if (typeof Reflect === "undefined" || !Reflect.construct) return false; + if (Reflect.construct.sham) return false; + if (typeof Proxy === "function") return true; + try { + Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); + return true; + } catch (e) { + return false; + } +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _setPrototypeOf) +/* harmony export */ }); +function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + return _setPrototypeOf(o, p); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js": +/*!********************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js ***! + \********************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _wrapNativeSuper) +/* harmony export */ }); +/* harmony import */ var _getPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"); +/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./setPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js"); +/* harmony import */ var _isNativeFunction_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isNativeFunction.js */ "./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js"); +/* harmony import */ var _construct_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./construct.js */ "./node_modules/@babel/runtime/helpers/esm/construct.js"); + + + + +function _wrapNativeSuper(Class) { + var _cache = typeof Map === "function" ? new Map() : undefined; + _wrapNativeSuper = function _wrapNativeSuper(Class) { + if (Class === null || !(0,_isNativeFunction_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Class)) return Class; + if (typeof Class !== "function") { + throw new TypeError("Super expression must either be null or a function"); + } + if (typeof _cache !== "undefined") { + if (_cache.has(Class)) return _cache.get(Class); + _cache.set(Class, Wrapper); + } + function Wrapper() { + return (0,_construct_js__WEBPACK_IMPORTED_MODULE_3__["default"])(Class, arguments, (0,_getPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(this).constructor); + } + Wrapper.prototype = Object.create(Class.prototype, { + constructor: { + value: Wrapper, + enumerable: false, + writable: true, + configurable: true + } + }); + return (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Wrapper, Class); + }; + return _wrapNativeSuper(Class); +} + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be in strict mode. +(() => { +"use strict"; +/*!******************!*\ + !*** ./forum.ts ***! + \******************/ +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ components: () => (/* reexport safe */ _src_forum__WEBPACK_IMPORTED_MODULE_0__.components), +/* harmony export */ extend: () => (/* reexport safe */ _src_forum__WEBPACK_IMPORTED_MODULE_0__.extend), +/* harmony export */ models: () => (/* reexport safe */ _src_forum__WEBPACK_IMPORTED_MODULE_0__.models), +/* harmony export */ states: () => (/* reexport safe */ _src_forum__WEBPACK_IMPORTED_MODULE_0__.states) +/* harmony export */ }); +/* harmony import */ var _src_forum__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/forum */ "./src/forum/index.ts"); + +})(); + +module.exports = __webpack_exports__; +/******/ })() +; //# sourceMappingURL=forum.js.map \ No newline at end of file diff --git a/js/dist/forum.js.map b/js/dist/forum.js.map index fe0abe76..2b4d449c 100644 --- a/js/dist/forum.js.map +++ b/js/dist/forum.js.map @@ -1 +1 @@ -{"version":3,"file":"forum.js","mappings":"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","sources":["webpack://@fof/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/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","webpack://@fof/polls/external root \"flarum.core.compat['forum/app']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/extend']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/components/Badge']\"","webpack://@fof/polls/external root \"flarum.core.compat['forum/components/DiscussionList']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/models/Discussion']\"","webpack://@fof/polls/./src/forum/addDiscussionBadge.js","webpack://@fof/polls/external root \"flarum.core.compat['common/utils/classList']\"","webpack://@fof/polls/external root \"flarum.core.compat['forum/components/DiscussionComposer']\"","webpack://@fof/polls/external root \"flarum.core.compat['forum/components/ReplyComposer']\"","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@fof/polls/external root \"flarum.core.compat['common/components/Modal']\"","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://@fof/polls/external root \"flarum.core.compat['common/Component']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/components/Button']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/components/Switch']\"","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/extractText']\"","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://@fof/polls/./src/forum/components/form/FormError.js","webpack://@fof/polls/./src/forum/states/PollFormState.ts","webpack://@fof/polls/external root \"flarum.core.compat['common/components/Page']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/components/LoadingIndicator']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/components/LinkButton']\"","webpack://@fof/polls/./src/forum/components/ComposePollHero.tsx","webpack://@fof/polls/external root \"flarum.core.compat['common/helpers/listItems']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/components/SelectDropdown']\"","webpack://@fof/polls/external root \"flarum.core.compat['forum/components/IndexPage']\"","webpack://@fof/polls/./src/forum/components/ComposePollPage.tsx","webpack://@fof/polls/external root \"flarum.core.compat['common/utils/SubtreeRetainer']\"","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/helpers/highlight']\"","webpack://@fof/polls/external root \"flarum.core.compat['forum/utils/slidable']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@fof/polls/./src/forum/components/Poll/PollPage.tsx","webpack://@fof/polls/external root \"flarum.core.compat['common/utils/abbreviateNumber']\"","webpack://@fof/polls/./src/forum/components/Poll/PollListItem.tsx","webpack://@fof/polls/external root \"flarum.core.compat['common/components/Placeholder']\"","webpack://@fof/polls/./src/forum/components/Poll/PollList.js","webpack://@fof/polls/external root \"flarum.core.compat['forum/components/LogInModal']\"","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/createClass.js","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/./src/forum/states/PollListState.ts","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://@fof/polls/./src/forum/components/Poll/PollOptionLabel.tsx","webpack://@fof/polls/./src/forum/components/Poll/PollOptionInput.tsx","webpack://@fof/polls/./src/forum/components/Poll/PollOption.tsx","webpack://@fof/polls/./src/forum/components/Poll/PollResultNumber.tsx","webpack://@fof/polls/./src/forum/components/Poll/PollResult.tsx","webpack://@fof/polls/./src/forum/components/Poll/PollOptions.tsx","webpack://@fof/polls/external root \"flarum.core.compat['common/helpers/avatar']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/helpers/username']\"","webpack://@fof/polls/./src/forum/components/ListVotersModal.js","webpack://@fof/polls/./src/forum/states/PollState.ts","webpack://@fof/polls/./src/forum/components/PollView.tsx","webpack://@fof/polls/./src/forum/components/PollsPage.tsx","webpack://@fof/polls/external root \"flarum.core.compat['common/components/Separator']\"","webpack://@fof/polls/./src/forum/utils/PollControls.tsx","webpack://@fof/polls/./src/forum/components/PollForm.js","webpack://@fof/polls/./src/forum/components/CreatePollModal.js","webpack://@fof/polls/./src/forum/addComposerItems.js","webpack://@fof/polls/external root \"flarum.core.compat['forum/components/CommentPost']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/components/Tooltip']\"","webpack://@fof/polls/./src/forum/components/EditPollModal.js","webpack://@fof/polls/./src/forum/components/PostPoll.js","webpack://@fof/polls/external root \"flarum.core.compat['forum/components/DiscussionPage']\"","webpack://@fof/polls/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@fof/polls/external root \"flarum.core.compat['forum/utils/PostControls']\"","webpack://@fof/polls/./src/forum/components/PollViewPage.tsx","webpack://@fof/polls/./src/forum/components/index.ts","webpack://@fof/polls/external root \"flarum.core.compat['common/Model']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/utils/computed']\"","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/index.ts","webpack://@fof/polls/external root \"flarum.core.compat['common/extenders']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/models/Post']\"","webpack://@fof/polls/external root \"flarum.core.compat['common/models/Forum']\"","webpack://@fof/polls/./src/forum/extend.ts","webpack://@fof/polls/./src/forum/index.ts","webpack://@fof/polls/./src/forum/addPostControls.js","webpack://@fof/polls/./src/forum/addPollsToPost.js","webpack://@fof/polls/./src/forum/addNavItem.ts"],"sourcesContent":["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","// 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};","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/extend'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Badge'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/DiscussionList'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/models/Discussion'];","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","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/classList'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/DiscussionComposer'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/ReplyComposer'];","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Modal'];","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}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Component'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Button'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Switch'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/ItemList'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/Stream'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/extractText'];","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}","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}","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}","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}","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}","export default class FormError extends Error {}\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","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Page'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/LoadingIndicator'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/LinkButton'];","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';\nimport ItemList from 'flarum/common/utils/ItemList';\n\nexport interface ComposePollHeroAttrs extends ComponentAttrs {\n poll: Poll;\n}\n\nexport default class ComposePollHero extends Component {\n poll!: Poll;\n\n oninit(vnode: Mithril.Vnode): void {\n super.oninit(vnode);\n\n this.poll = this.attrs.poll;\n }\n\n view(): Mithril.Children {\n return (\n
\n
\n
\n

{app.translator.trans(`fof-polls.forum.compose.${!!this.poll.id() ? 'edit' : 'add'}_title`)}

\n
{this.controlItems().toArray()}
\n
\n
\n
\n );\n }\n\n controlItems(): ItemList {\n const items = new ItemList();\n\n items.add(\n 'edit',\n \n {app.translator.trans('fof-polls.forum.compose.polls_manager')}\n \n );\n\n if (this.poll.exists) {\n items.add(\n 'view',\n \n {app.translator.trans('fof-polls.forum.compose.polls_preview')}\n \n );\n }\n\n return items;\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/listItems'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/SelectDropdown'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/IndexPage'];","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 PollFormState from '../states/PollFormState';\nimport ComposePollHero from './ComposePollHero';\nimport Button from 'flarum/common/components/Button';\nimport listItems from 'flarum/common/helpers/listItems';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport SelectDropdown from 'flarum/common/components/SelectDropdown';\nimport IndexPage from 'flarum/forum/components/IndexPage';\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 // 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 // prevent users from accessing the page if they can't start global polls\n if (!app.forum.attribute('canStartGlobalPolls')) {\n m.route.set('/');\n return;\n }\n\n if (this.loading) {\n return ;\n }\n\n return (\n
\n \n
\n
\n \n
\n \n
\n
\n
\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('fof.polls.compose', {\n id: 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 sidebarItems(): ItemList {\n const items = new ItemList();\n\n items.add(\n 'nav',\n \n {this.navItems().toArray()}\n \n );\n\n return items;\n }\n\n navItems() {\n return IndexPage.prototype.navItems();\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/SubtreeRetainer'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Dropdown'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Link'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/highlight'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/utils/slidable'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/icon'];","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","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/abbreviateNumber'];","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","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Placeholder'];","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 );\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 }\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","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/LogInModal'];","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 _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}","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 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}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/states/PaginatedListState'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/EventEmitter'];","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","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}","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';\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';\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","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 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';\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","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/avatar'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/username'];","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 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 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 );\n\n return (\n
\n {this.controlsView(controls.toArray())}\n {/*
\n \n
*/}\n
{this.createMainView().toArray()}
\n
\n );\n }\n\n createMainView(): ItemList {\n const items = new ItemList();\n const poll = this.attrs.poll;\n\n items.add('title',

{poll.question()}

);\n items.add('subtitle',

{poll.subtitle()}

);\n items.add('form',
{this.createFormItems().toArray()}
);\n\n return items;\n }\n\n createFormItems(): ItemList {\n const state = this.state;\n const items = new ItemList();\n const poll = this.attrs.poll;\n const infoItems = this.infoItems(poll.maxVotes());\n\n items.add(\n 'elements',\n
\n app.translator.trans('fof-polls.forum.answers')\n \n
\n );\n items.add(\n 'sticky',\n
\n {!infoItems.isEmpty() &&
{infoItems.toArray()}
}\n \n {app.translator.trans('fof-polls.forum.poll.submit_button')}\n \n
\n );\n return items;\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 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 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
\n );\n }\n\n return (\n
\n {IndexPage.prototype.hero()}\n
\n
\n \n
\n
\n
    {listItems(this.viewItems().toArray())}
\n
    {listItems(this.actionItems().toArray())}
\n
\n \n
\n
\n
\n
\n );\n }\n\n sidebarItems(): ItemList {\n const items = new ItemList();\n const canStartPoll = app.forum.attribute('canStartGlobalPolls');\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\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","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Separator'];","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';\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 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 );\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 );\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","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 /** @type {PollOption[]} */\n options;\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
{this.fields().toArray()}
\n
\n );\n }\n\n fields() {\n const items = new ItemList();\n\n items.add(\n 'question',\n
\n \n\n \n
,\n 100\n );\n\n items.add(\n 'subtitle',\n
\n \n\n \n
,\n 95\n );\n\n items.add(\n 'answers',\n
\n \n\n {this.displayOptions()}\n
,\n 80\n );\n\n items.add(\n 'date',\n
\n \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 \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 {this.state.poll.exists && (\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 if (this.question() === '') {\n throw new FormError(app.translator.trans('fof-polls.forum.modal.include_question'));\n }\n\n if (this.options.length < 2) {\n throw new FormError(app.translator.trans('fof-polls.forum.modal.min'));\n }\n\n const pollExists = this.state.poll.exists;\n const options = this.options.map((option, i) => {\n option.pushAttributes({\n answer: this.optionAnswers[i](),\n imageUrl: this.optionImageUrls[i](),\n });\n\n return pollExists ? option.data : option.data.attributes;\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 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 }\n\n onsubmit(data) {\n this.hide();\n this.attrs.onsubmit(data);\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","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/CommentPost'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Tooltip'];","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 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
{options.map(this.viewOption.bind(this))}
\n\n
\n {!infoItems.isEmpty() &&
{infoItems.toArray()}
}\n\n {this.useSubmitUI && this.pendingSubmit && (\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 {opt.answer()}\n {voted && !showCheckmark && icon('fas fa-check-circle', { className: 'PollAnswer-check' })}\n {canSeeVoteCount && {percent}%}\n
\n\n {opt.imageUrl() ? {opt.answer()} : 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","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/DiscussionPage'];","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}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/utils/PostControls'];","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 | undefined = 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);\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 return (\n
\n
\n \n
\n
\n );\n }\n}\n","import CreatePollModal from './CreatePollModal';\nimport PostPoll from './PostPoll';\nimport EditPollModal from './EditPollModal';\nimport ListVotersModal from './ListVotersModal';\nimport PollForm from './PollForm';\nimport ComposePollHero from './ComposePollHero';\nimport ComposePollPage from './ComposePollPage';\nimport PollsPage from './PollsPage';\nimport PollView from './PollView';\nimport PollViewPage from './PollViewPage';\n\nexport const components = {\n CreatePollModal,\n PostPoll,\n EditPollModal,\n ListVotersModal,\n PollForm,\n ComposePollHero,\n ComposePollPage,\n PollsPage,\n PollView,\n PollViewPage,\n};\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Model'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/computed'];","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 PollFormState from './PollFormState';\nimport PollListState from './PollListState';\nimport PollState from './PollState';\n\nexport const states = {\n PollFormState,\n PollListState,\n PollState,\n};\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/extenders'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/models/Post'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/models/Forum'];","import Extend from 'flarum/common/extenders';\nimport Post from 'flarum/common/models/Post';\nimport Forum from 'flarum/common/models/Forum';\nimport Discussion from 'flarum/common/models/Discussion';\nimport Poll from './models/Poll';\nimport PollOption from './models/PollOption';\nimport PollVote from './models/PollVote';\nimport PollsPage from './components/PollsPage';\nimport ComposePollPage from './components/ComposePollPage';\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/view/: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';\nexport * from './states';\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 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 );\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';\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"],"names":["_typeof","require","_regeneratorRuntime","module","exports","e","__esModule","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","this","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","globalThis","Function","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","definition","key","get","obj","prop","flarum","core","compat","_setPrototypeOf","bind","_inheritsLoose","subClass","superClass","asyncGeneratorStep","gen","reject","_next","_throw","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","_getPrototypeOf","_isNativeReflectConstruct","Boolean","valueOf","Reflect","construct","_wrapNativeSuper","Class","_cache","Map","toString","indexOf","isNativeFunction","has","set","Wrapper","isNativeReflectConstruct","FormError","_Error","PollFormState","poll","loading","deleting","expandedGroup","createNewPoll","app","createRecord","pushAttributes","question","endDate","publicPoll","allowMultipleVotes","hideVotes","allowChangeVote","maxVotes","pushData","relationships","options","_proto","isExpanded","groupKey","expand","m","redraw","save","_save","_callee","data","_context","_x","_delete2","_callee2","_context2","ComposePollHero","_Component","_this","_len","Array","_key","concat","oninit","vnode","attrs","view","className","trans","id","controlItems","toArray","items","ItemList","add","LinkButton","icon","itemClassName","href","exists","Component","ComposePollPage","_Page","_this$poll","_this$poll2","_this2","editId","route","param","getById","find","item","_this2$poll","bodyClass","attribute","LoadingIndicator","listItems","sidebarItems","PollForm","onsubmit","_onsubmit","state","isNew","alertAttrs","alertId","controls","Button","onclick","show","setTimeout","dismiss","_x2","SelectDropdown","buttonClassName","accessibleToggleLabel","navItems","IndexPage","Page","PollPage","PollListItem","subtree","highlightRegExp","SubtreeRetainer","freshness","time","user","markedAllAsReadAt","getTime","active","elementAttrs","classList","isHidden","Slidable","window","PollControls","controlsView","contentView","slidableUnderneathView","Dropdown","menuClassName","isUnread","disabled","markAsRead","mainView","infoView","Link","highlight","subtitle","infoItems","oncreate","slidableInstance","slidable","element","$","on","onbeforeupdate","needsRebuild","matches","lastVotedNumber","voteCount","hasEnded","activeView","dayjs","fromNow","count","abbreviateNumber","PollList","params","getParams","isLoading","isInitialLoading","isLoadingNext","hasNext","loadNext","isEmpty","text","Placeholder","pageSize","isSearchResults","getPages","map","pg","toPropertyKey","toPrimitive","String","_defineProperties","target","props","descriptor","globalEventEmitter","EventEmitter","PollListState","_PaginatedListState","page","extraPolls","eventEmitter","deletePoll","ReferenceError","_assertThisInitialized","Constructor","protoProps","requestParams","_this$params$sort","include","filter","sort","sortMap","q","loadPage","preloadedPolls","initialLoading","clear","relevance","newest","oldest","removePoll","emit","_step","_iterator","_createForOfIteratorHelperLoose","pages","index","splice","addPoll","unshift","getAllItems","number","PaginatedListState","PollOptionLabel","PollOptionInput","isResult","style","opacity","onchange","PollOption","option","answer","PollResultsNumber","PollResults","overallVoteCount","min","max","PollOptions","pollOptions","showCheckMarks","changeVote","PollResult","ListVotersModal","_Modal","Stream","title","content","optionContent","opt","votes","voteContent","vote","avatar","username","Modal","PollState","pendingSubmit","pendingOptions","loadingOptions","useSubmitUI","showVoters","preventClose","preventDefault","canChangeVote","canVote","hasVoted","myVotes","Math","reduce","showButton","evt","LogInModal","checked","optionIds","Set","isUnvoting","size","hasSelectedOptions","submit","cb","onerror","_this3","url","body","from","res","pushPayload","hideOptionTooltip","tooltipVisible","updateVisibility","PollView","createMainView","createFormItems","deleteAction","editPoll","editAction","class","PollsPage","refresh","extractText","hero","viewItems","actionItems","canStartPoll","newPollAction","context","section","itemName","Separator","pollControls","moderationControls","canEdit","destructiveControls","canDelete","confirm","showDeletionAlert","back","location","reload","message","success","optionAnswers","optionImageUrls","imageUrl","formatDate","datepickerMinDate","isAfter","fields","bidi","addOption","displayOptions","isBefore","Switch","placeholder","removeOption","alert","pollExists","attributes","dateToTimestamp","event","t0","console","date","def","dayjsDate","isValid","format","CreatePollModal","hide","addToComposer","composer","extend","_this$composer$body","_discussion$canStartP","discussion","canStartPolls","EditPollModal","_CreatePollModal","PostPoll","_this$attrs$poll","_this$attrs$poll2","addEventListener","onremove","removeEventListener","canSeeVoters","Tooltip","viewOption","_poll$myVotes","_poll$myVotes2","_poll$myVotes3","_poll$myVotes4","totalVotes","voted","some","percent","round","canSeeVoteCount","isDisabled","width","Number","showCheckmark","bar","src","alt","_this$attrs$poll$myVo","_this$attrs$poll$myVo2","post","sync","_extends","assign","source","PollViewPage","components","Poll","_Model","Model","isGlobal","computed","hiddenAt","apiEndpoint","PollVote","pollId","optionId","models","states","Extend","Post","hasMany","Forum","Discussion","createPoll","DiscussionList","badges","hasPoll","Badge","label","DiscussionComposer","ReplyComposer","CommentPost","revealContent","polls","check","checks","_poll$data","_poll$options$map","_poll$options","_poll$myVotes$map","_option$data","_vote$option","JSON","stringify","DiscussionPage","binding","channels","main","changedOptions","unbind","_post$rawRelationship","rawRelationship","PostControls"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"forum.js","mappings":"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","sources":["webpack://@fof/polls/./src/forum/addComposerItems.js","webpack://@fof/polls/./src/forum/addDiscussionBadge.js","webpack://@fof/polls/./src/forum/addNavItem.ts","webpack://@fof/polls/./src/forum/addPollsToPost.js","webpack://@fof/polls/./src/forum/addPostControls.js","webpack://@fof/polls/./src/forum/components/ComposePollHero.tsx","webpack://@fof/polls/./src/forum/components/ComposePollPage.tsx","webpack://@fof/polls/./src/forum/components/CreatePollModal.js","webpack://@fof/polls/./src/forum/components/EditPollModal.js","webpack://@fof/polls/./src/forum/components/ListVotersModal.js","webpack://@fof/polls/./src/forum/components/Poll/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/PollForm.js","webpack://@fof/polls/./src/forum/components/PollView.tsx","webpack://@fof/polls/./src/forum/components/PollViewPage.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/states/index.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/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":["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 );\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';\nimport ItemList from 'flarum/common/utils/ItemList';\n\nexport interface ComposePollHeroAttrs extends ComponentAttrs {\n poll: Poll;\n}\n\nexport default class ComposePollHero extends Component {\n poll!: Poll;\n\n oninit(vnode: Mithril.Vnode): void {\n super.oninit(vnode);\n\n this.poll = this.attrs.poll;\n }\n\n view(): Mithril.Children {\n return (\n
\n
\n
\n

{app.translator.trans(`fof-polls.forum.compose.${!!this.poll.id() ? 'edit' : 'add'}_title`)}

\n
{this.controlItems().toArray()}
\n
\n
\n
\n );\n }\n\n controlItems(): ItemList {\n const items = new ItemList();\n\n items.add(\n 'edit',\n \n {app.translator.trans('fof-polls.forum.compose.polls_manager')}\n \n );\n\n if (this.poll.exists) {\n items.add(\n 'view',\n \n {app.translator.trans('fof-polls.forum.compose.polls_preview')}\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 Poll from '../models/Poll';\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\nimport PollForm from './PollForm';\nimport PollFormState from '../states/PollFormState';\nimport ComposePollHero from './ComposePollHero';\nimport Button from 'flarum/common/components/Button';\nimport listItems from 'flarum/common/helpers/listItems';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport SelectDropdown from 'flarum/common/components/SelectDropdown';\nimport IndexPage from 'flarum/forum/components/IndexPage';\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 // 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 // prevent users from accessing the page if they can't start global polls\n if (!app.forum.attribute('canStartGlobalPolls')) {\n m.route.set('/');\n return;\n }\n\n if (this.loading) {\n return ;\n }\n\n return (\n
\n \n
\n
\n \n
\n \n
\n
\n
\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('fof.polls.compose', {\n id: 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 sidebarItems(): ItemList {\n const items = new ItemList();\n\n items.add(\n 'nav',\n \n {this.navItems().toArray()}\n \n );\n\n return items;\n }\n\n navItems() {\n return IndexPage.prototype.navItems();\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 }\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 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 );\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 }\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
{this.mainView()}
\n );\n }\n\n mainView(): Mithril.Children {\n return (\n \n

{highlight(this.poll.question(), this.highlightRegExp)}

\n {this.poll.subtitle() &&

{this.poll.subtitle()}

}\n
    {listItems(this.infoItems().toArray())}
\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-infinity'), ' ', 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 'voteCount',\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","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","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 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 /** @type {PollOption[]} */\n options;\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
{this.fields().toArray()}
\n
\n );\n }\n\n fields() {\n const items = new ItemList();\n\n items.add(\n 'question',\n
\n \n\n \n
,\n 100\n );\n\n items.add(\n 'subtitle',\n
\n \n\n \n
,\n 95\n );\n\n items.add(\n 'answers',\n
\n \n\n {this.displayOptions()}\n
,\n 80\n );\n\n items.add(\n 'date',\n
\n \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 \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 {this.state.poll.exists && (\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 if (this.question() === '') {\n throw new FormError(app.translator.trans('fof-polls.forum.modal.include_question'));\n }\n\n if (this.options.length < 2) {\n throw new FormError(app.translator.trans('fof-polls.forum.modal.min'));\n }\n\n const pollExists = this.state.poll.exists;\n const options = this.options.map((option, i) => {\n option.pushAttributes({\n answer: this.optionAnswers[i](),\n imageUrl: this.optionImageUrls[i](),\n });\n\n return pollExists ? option.data : option.data.attributes;\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 );\n\n return (\n
\n {this.controlsView(controls.toArray())}\n {/*
\n \n
*/}\n
{this.createMainView().toArray()}
\n
\n );\n }\n\n createMainView(): ItemList {\n const items = new ItemList();\n const poll = this.attrs.poll;\n\n items.add('title',

{poll.question()}

);\n items.add('subtitle',

{poll.subtitle()}

);\n items.add('form',
{this.createFormItems().toArray()}
);\n\n return items;\n }\n\n createFormItems(): ItemList {\n const state = this.state;\n const items = new ItemList();\n const poll = this.attrs.poll;\n const infoItems = this.infoItems(poll.maxVotes());\n\n items.add(\n 'elements',\n
\n app.translator.trans('fof-polls.forum.answers')\n \n
\n );\n items.add(\n 'sticky',\n
\n {!infoItems.isEmpty() &&
{infoItems.toArray()}
}\n \n {app.translator.trans('fof-polls.forum.poll.submit_button')}\n \n
\n );\n return items;\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 | undefined = 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);\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 return (\n
\n
\n \n
\n
\n );\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 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
\n );\n }\n\n return (\n
\n {IndexPage.prototype.hero()}\n
\n
\n \n
\n
\n
    {listItems(this.viewItems().toArray())}
\n
    {listItems(this.actionItems().toArray())}
\n
\n \n
\n
\n
\n
\n );\n }\n\n sidebarItems(): ItemList {\n const items = new ItemList();\n const canStartPoll = app.forum.attribute('canStartGlobalPolls');\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\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
{options.map(this.viewOption.bind(this))}
\n\n
\n {!infoItems.isEmpty() &&
{infoItems.toArray()}
}\n\n {this.useSubmitUI && this.pendingSubmit && (\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 {opt.answer()}\n {voted && !showCheckmark && icon('fas fa-check-circle', { className: 'PollAnswer-check' })}\n {canSeeVoteCount && {percent}%}\n
\n\n {opt.imageUrl() ? {opt.answer()} : 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';\nimport ComposePollHero from './ComposePollHero';\nimport ComposePollPage from './ComposePollPage';\nimport PollsPage from './PollsPage';\nimport PollView from './PollView';\nimport PollViewPage from './PollViewPage';\n\nexport const components = {\n CreatePollModal,\n PostPoll,\n EditPollModal,\n ListVotersModal,\n PollForm,\n ComposePollHero,\n ComposePollPage,\n PollsPage,\n PollView,\n PollViewPage,\n};\n","import Extend from 'flarum/common/extenders';\nimport Post from 'flarum/common/models/Post';\nimport Forum from 'flarum/common/models/Forum';\nimport Discussion from 'flarum/common/models/Discussion';\nimport Poll from './models/Poll';\nimport PollOption from './models/PollOption';\nimport PollVote from './models/PollVote';\nimport PollsPage from './components/PollsPage';\nimport ComposePollPage from './components/ComposePollPage';\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/view/: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';\nexport * from './states';\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 PollFormState from './PollFormState';\nimport PollListState from './PollListState';\nimport PollState from './PollState';\n\nexport const states = {\n PollFormState,\n PollListState,\n PollState,\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';\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 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 );\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 );\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(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}","function _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, 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 return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\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 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":["app","extend","classList","DiscussionComposer","ReplyComposer","CreatePollModal","addToComposer","composer","prototype","addPoll","_this","modal","show","poll","fields","onsubmit","items","_this$composer$body","_this$composer$body$a","_discussion$canStartP","discussion","body","attrs","canStartPoll","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","ItemList","ComposePollHero","_Component","_inheritsLoose","_len","arguments","length","args","Array","_key","apply","concat","_proto","oninit","vnode","view","controlItems","toArray","itemClassName","exists","default","Page","LoadingIndicator","PollForm","PollFormState","listItems","SelectDropdown","ComposePollPage","_Page","loading","_this2","_this$poll","_this$poll2","editId","param","find","item","_this2$poll","setTitle","createNewPoll","history","bodyClass","attribute","set","sidebarItems","_onsubmit","_asyncToGenerator","_regeneratorRuntime","mark","_callee","state","isNew","alertAttrs","alertId","wrap","_callee$","_context","prev","next","controls","alerts","setTimeout","dismiss","stop","_x","_x2","buttonClassName","accessibleToggleLabel","navItems","Modal","_Modal","title","hide","EditPollModal","_CreatePollModal","avatar","username","Link","Stream","ListVotersModal","optionContent","opt","votes","filter","v","answer","voteContent","user","PollListItem","Placeholder","PollList","getParams","isLoading","isInitialLoading","isLoadingNext","hasNext","loadNext","isEmpty","text","pageSize","isSearchResults","getPages","pg","key","SubtreeRetainer","Dropdown","highlight","slidable","PollPage","abbreviateNumber","PollControls","highlightRegExp","freshness","time","session","markedAllAsReadAt","getTime","active","elementAttrs","Slidable","window","controlsView","contentView","slidableUnderneathView","menuClassName","isUnread","disabled","markAsRead","mainView","question","subtitle","infoItems","oncreate","slidableInstance","element","$","on","reset","onbeforeupdate","needsRebuild","current","matches","lastVotedNumber","hasEnded","activeView","endDate","dayjs","fromNow","count","PollOptionLabel","PollOptionInput","PollOption","isResult","name","onchange","style","opacity","PollResult","PollOptions","pollOptions","showCheckMarks","forEach","changeVote","PollResultsNumber","PollResults","overallVoteCount","number","min","max","Switch","extractText","FormError","optionAnswers","o","optionImageUrls","imageUrl","formatDate","publicPoll","allowMultipleVotes","hideVotes","allowChangeVote","maxVotes","datepickerMinDate","isAfter","bidi","addOption","displayOptions","isBefore","deleting","Object","keys","i","placeholder","removeOption","Math","alert","splice","_this3","pollExists","dateToTimestamp","event","preventDefault","t0","message","console","error","_delete2","_callee2","_callee2$","_context2","deleteAction","finish","_delete","date","def","dayjsDate","isValid","format","PollState","PollView","showVoters","createMainView","createFormItems","loadingOptions","hasSelectedOptions","deletePoll","editPoll","editAction","canVote","canChangeVote","hasVoted","PollViewPage","LogInModal","PollListState","PollsPage","sort","refresh","hero","viewItems","actionItems","newPollAction","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","target","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","states","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","Parent","Class","Reflect","construct","Constructor","instance","_defineProperties","props","descriptor","protoProps","staticProps","assign","source","_getPrototypeOf","subClass","superClass","_isNativeFunction","toString","_isNativeReflectConstruct","sham","Proxy","Boolean","valueOf","_setPrototypeOf","isNativeFunction","_cache","Map","Wrapper"],"sourceRoot":""} \ No newline at end of file diff --git a/js/src/forum/components/Poll/PollListItem.tsx b/js/src/forum/components/Poll/PollListItem.tsx index e20f4285..c53dc50b 100644 --- a/js/src/forum/components/Poll/PollListItem.tsx +++ b/js/src/forum/components/Poll/PollListItem.tsx @@ -108,9 +108,7 @@ export default class PollListItem -

- {this.mainView()} -
+
{this.mainView()}
); }