|
@@ -4,7 +4,7 @@
|
|
value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=n(u),d=e("../utils/validators"),f=e("../services/snackbar"),p=n(f),m=(0,d.required)(),h=function(e){function t(){var e,a,n,s;o(this,t);for(var i=arguments.length,u=Array(i),c=0;c<i;c++)u[c]=arguments[c];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),n.bindInput=function(e){return function(t){n.changeValue(e,t.target.value)}},n.changeValue=function(e,t){var a=r({},e,t),o=n.state.errors||{};o[e]=n.validateField(e,a[e]),a.errors=o,n.setState(a)},n.handleSubmit=function(e){if(e&&e.preventDefault(),!n.state.isLoading&&n.clean()){n.setState({isLoading:!0});var t=n.send();t?t.then(function(e){n.setState({isLoading:!1}),n.handleSuccess(e)},function(e){n.setState({isLoading:!1}),n.handleError(e)}):n.setState({isLoading:!1})}},s=a,l(n,s)}return s(t,e),i(t,[{key:"validate",value:function(){var e={};if(!this.state.validators)return e;var t={required:this.state.validators.required||this.state.validators,optional:this.state.validators.optional||{}},a=[];for(var n in t.required)t.required.hasOwnProperty(n)&&t.required[n]&&a.push(n);for(var r in t.optional)t.optional.hasOwnProperty(r)&&t.optional[r]&&a.push(r);for(var o in a){var l=a[o],s=this.validateField(l,this.state[l]);null===s?e[l]=null:s&&(e[l]=s)}return e}},{key:"isValid",value:function(){var e=this.validate();for(var t in e)if(e.hasOwnProperty(t)&&null!==e[t])return!1;return!0}},{key:"validateField",value:function(e,t){var a=[];if(!this.state.validators)return a;var n={required:(this.state.validators.required||this.state.validators)[e],optional:(this.state.validators.optional||{})[e]},r=m(t)||!1;if(n.required){if(r)a=[r];else for(var o in n.required){var l=n.required[o](t);l&&a.push(l)}return a.length?a:null}if(r===!1&&n.optional){for(var s in n.optional){var i=n.optional[s](t);i&&a.push(i)}return a.length?a:null}return!1}},{key:"clean",value:function(){return!0}},{key:"send",value:function(){return null}},{key:"handleSuccess",value:function(e){}},{key:"handleError",value:function(e){p["default"].apiError(e)}}]),t}(c["default"].Component);a["default"]=h},{"../services/snackbar":376,"../utils/validators":393,react:"react"}],57:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"isActive",value:function(){return this.props.isControlled?this.props.isActive:!!this.props.path&&0===document.location.pathname.indexOf(this.props.path)}},{key:"getClassName",value:function(){return this.isActive()?(this.props.className||"")+" "+(this.props.activeClassName||"active"):this.props.className||""}},{key:"render",value:function(){return u["default"].createElement("li",{className:this.getClassName()},this.props.children)}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],58:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("div",{className:e.className||"loader"},o["default"].createElement("div",{className:"loader-spinning-wheel"}))};var r=e("react"),o=n(r)},{react:"react"}],59:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){var t=e.choices,a=e.onChange,n=e.value;return t?d["default"].createElement(v["default"],{label:gettext("Best answer"),helpText:gettext("Please select the best answer for your newly merged thread. No posts will be deleted during the merge."),"for":"id_best_answer"},d["default"].createElement("select",{className:"form-control",id:"id_best_answer",onChange:a,value:n},t.map(function(e){return d["default"].createElement("option",{value:e[0],key:e[0]},e[1])}))):null}function i(e){var t=e.choices,a=e.onChange,n=e.value;return t?d["default"].createElement(v["default"],{label:gettext("Poll"),helpText:gettext("Please select the poll for your newly merged thread. Rejected polls will be permanently deleted and cannot be recovered."),"for":"id_poll"},d["default"].createElement("select",{className:"form-control",id:"id_poll",onChange:a,value:n},t.map(function(e){return d["default"].createElement("option",{value:e[0],key:e[0]},e[1])}))):null}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.BestAnswerSelect=s,a.PollSelect=i;var c=e("react"),d=n(c),f=e("./button"),p=n(f),m=e("./form"),h=n(m),b=e("./form-group"),v=n(b),_=e("../services/ajax"),g=n(_),y=e("../services/modal"),E=n(y),w=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.handleSuccess=function(e){a.props.onSuccess(e),E["default"].hide()},a.handleError=function(e){a.props.onError(e)},a.onBestAnswerChange=function(e){a.changeValue("bestAnswer",e.target.value)},a.onPollChange=function(e){a.changeValue("poll",e.target.value)},a.state={isLoading:!1,bestAnswer:"0",poll:"0"},a}return l(t,e),u(t,[{key:"clean",value:function(){if(this.props.polls&&"0"===this.state.poll){var e=confirm(gettext("Are you sure you want to delete all polls?"));return e}return!0}},{key:"send",value:function(){var e=Object.assign({},this.props.data,{best_answer:this.state.bestAnswer,poll:this.state.poll});return g["default"].post(this.props.api,e)}},{key:"render",value:function(){return d["default"].createElement("div",{className:"modal-dialog",role:"document"},d["default"].createElement("div",{className:"modal-content"},d["default"].createElement("div",{className:"modal-header"},d["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},d["default"].createElement("span",{"aria-hidden":"true"},"×")),d["default"].createElement("h4",{className:"modal-title"},gettext("Merge threads"))),d["default"].createElement("form",{onSubmit:this.handleSubmit},d["default"].createElement("div",{className:"modal-body"},d["default"].createElement(s,{choices:this.props.bestAnswers,onChange:this.onBestAnswerChange,value:this.state.bestAnswer}),d["default"].createElement(i,{choices:this.props.polls,onChange:this.onPollChange,value:this.state.poll})),d["default"].createElement("div",{className:"modal-footer"},d["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},gettext("Cancel")),d["default"].createElement(p["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Merge threads"))))))}}]),t}(h["default"]);a["default"]=w},{"../services/ajax":365,"../services/modal":371,"./button":8,"./form":56,"./form-group":55,react:"react"}],60:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){var t=e.target;$(t).parent().parent().addClass("revealed")}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=n(u),d=e("../services/one-box"),f=n(d),p=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),i(t,[{key:"componentDidMount",value:function(){f["default"].render(this.documentNode),$(this.documentNode).find(".spoiler-reveal").click(s)}},{key:"componentDidUpdate",value:function(e,t){f["default"].render(this.documentNode),$(this.documentNode).find(".spoiler-reveal").click(s)}},{key:"shouldComponentUpdate",value:function(e,t){return e.markup!==this.props.markup}},{key:"render",value:function(){var e=this;return c["default"].createElement("article",{className:"misago-markup",dangerouslySetInnerHTML:{__html:this.props.markup},ref:function(t){e.documentNode=t}})}}]),t}(c["default"].Component);a["default"]=p},{"../services/one-box":372,react:"react"}],61:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./loader"),d=n(c),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"render",value:function(){return u["default"].createElement("div",{className:"modal-body modal-loader"},u["default"].createElement(d["default"],null))}}]),t}(u["default"].Component);a["default"]=f},{"./loader":58,react:"react"}],62:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./panel-message"),d=n(c),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"getHelpText",value:function(){return this.props.helpText?u["default"].createElement("p",{className:"help-block"},this.props.helpText):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"modal-body"},u["default"].createElement("div",{className:"message-icon"},u["default"].createElement("span",{className:"material-icon"},this.props.icon||"info_outline")),u["default"].createElement("div",{className:"message-body"},u["default"].createElement("p",{className:"lead"},this.props.message),this.getHelpText(),u["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},gettext("Ok"))))}}]),t}(d["default"]);a["default"]=f},{"./panel-message":94,react:"react"}],63:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.filter(function(e){return e.results.count>0});return t.map(function(e){return Object.assign({},e,{count:e.results.count,results:e.results.results.slice(0,n)})})};var n=5},{}],64:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.HEADER="HEADER",a.RESULT="RESULT",a.FOOTER="FOOTER"},{}],65:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.children,a=e.onChange,n=e.query;return o["default"].createElement("ul",{className:"dropdown-menu dropdown-search-results",role:"menu"},o["default"].createElement("li",{className:"form-group"},o["default"].createElement(s["default"],{value:n,onChange:a})),t)};var r=e("react"),o=n(r),l=e("./input"),s=n(l)},{"./input":69,react:"react"}],66:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(){return o["default"].createElement("li",{className:"dropdown-search-message"},gettext("Search returned no results."))};var r=e("react"),o=n(r)},{react:"react"}],67:[function(e,t,a){"use strict";function n(e,t){for(var a=e.length,n=0;n<a;n++){var l=e[n];t.push({provider:l,type:o.HEADER}),r(l,t)}}function r(e,t){for(var a=e.results.length,n=0;n<a;n++){var r=e.results[n];t.push({provider:e,result:r,type:o.RESULT})}t.push({provider:e,type:o.FOOTER})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=[];return n(e,t),t};var o=e("./constants")},{"./constants":64}],68:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e};a["default"]=function(e){var t=e.isLoading,a=e.onChange,n=e.results,o=e.query;if(!o.trim().length)return l["default"].createElement(u["default"],{onChange:a,query:o});if(n.length){var i=(0,v["default"])(n);return l["default"].createElement(u["default"],{onChange:a,query:o},i.map(function(e){var t=e.type,a=e.provider,n=e.result;return t===s.RESULT?l["default"].createElement(h["default"],r({key:[a.id,t,n.id].join("_")},e)):l["default"].createElement(h["default"],r({key:[a.id,t].join("_"),query:o},e))}))}return t?l["default"].createElement(u["default"],{onChange:a,query:o},l["default"].createElement(p["default"],null)):l["default"].createElement(u["default"],{onChange:a,query:o},l["default"].createElement(d["default"],null))};var o=e("react"),l=n(o),s=e("./constants"),i=e("./dropdown-menu"),u=n(i),c=e("./empty"),d=n(c),f=e("./loader"),p=n(f),m=e("./result"),h=n(m),b=e("./flatten-results"),v=n(b)},{"./constants":64,"./dropdown-menu":65,"./empty":66,"./flatten-results":67,"./loader":70,"./result":73,react:"react"}],69:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.value,a=e.onChange;return o["default"].createElement("input",{"aria-haspopup":"true","aria-expanded":"false",autoComplete:"off",className:"form-control",value:t,onChange:a,placeholder:gettext("Search"),role:"combobox",type:"text"})};var r=e("react"),o=n(r)},{react:"react"}],70:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){e.message;return o["default"].createElement("li",{className:"dropdown-search-loader"},o["default"].createElement(s["default"],null))};var r=e("react"),o=n(r),l=e("../../loader"),s=n(l)},{"../../loader":58,react:"react"}],71:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.provider,a=e.query,n=t.url+"?q="+encodeURI(a),r=ngettext('See full "%(provider)s" results page with %(count)s result.','See full "%(provider)s" results page with %(count)s results.',t.count);return o["default"].createElement("li",{className:"dropdown-search-footer"},o["default"].createElement("a",{href:n},interpolate(r,{count:t.count,provider:t.name},!0)))};var r=e("react"),o=n(r)},{react:"react"}],72:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.provider;return o["default"].createElement("li",{className:"dropdown-search-header"},t.name)};var r=e("react"),o=n(r)},{react:"react"}],73:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.provider,a=e.result,n=e.type,r=e.query;return n===l.HEADER?o["default"].createElement(c["default"],{provider:t}):n===l.FOOTER?o["default"].createElement(i["default"],{provider:t,query:r}):o["default"].createElement(f["default"],{provider:t,result:a})};var r=e("react"),o=n(r),l=e("../constants"),s=e("./footer"),i=n(s),u=e("./header"),c=n(u),d=e("./result"),f=n(d)},{"../constants":64,"./footer":71,"./header":72,"./result":74,react:"react"}],74:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.provider,a=e.result;return"threads"===t.id?o["default"].createElement(s["default"],{result:a}):o["default"].createElement(u["default"],{result:a})};var r=e("react"),o=n(r),l=e("./thread"),s=n(l),i=e("./user"),u=n(i)},{"./thread":75,"./user":76,react:"react"}],75:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.result,a=(t.poster,t.thread),n=gettext("Posted by %(poster)s on %(posted_on)s in %(category)s.");return s["default"].createElement("li",null,s["default"].createElement("a",{href:t.url.index,className:"dropdown-search-thread"},s["default"].createElement("h5",null,a.title),s["default"].createElement("small",{className:"dropdown-search-post-content"},$(t.content).text()),s["default"].createElement("small",{className:"dropdown-search-post-footer"},interpolate(n,{category:t.category.name,posted_on:(0,o["default"])(t.posted_on).format("LL"),poster:t.poster_name},!0))))};var r=e("moment"),o=n(r),l=e("react"),s=n(l)},{moment:"moment",react:"react"}],76:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.result,a=t.rank,n=gettext("%(title)s, joined on %(joined_on)s"),r=t.title||a.title||a.name;return s["default"].createElement("li",null,s["default"].createElement("a",{href:t.url,className:"dropdown-search-user"},s["default"].createElement("div",{className:"media"},s["default"].createElement("div",{className:"media-left"},s["default"].createElement(u["default"],{size:38,user:t})),s["default"].createElement("div",{className:"media-body"},s["default"].createElement("h5",{className:"media-heading"},t.username),s["default"].createElement("small",null,interpolate(n,{title:r,joined_on:(0,o["default"])(t.joined_on).format("LL")},!0))))))};var r=e("moment"),o=n(r),l=e("react"),s=n(l),i=e("../../../avatar"),u=n(i)},{"../../../avatar":6,moment:"moment",react:"react"}],77:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../../services/ajax"),d=n(c),f=e("../../services/snackbar"),p=n(f),m=e("../.."),h=n(m),b=e("./clean-results"),v=n(b),_=e("./dropdown"),g=n(_),y=function(e){function t(){r(this,t);var e=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.onToggle=function(t){e.setState(function(t,a){return t.isOpen||window.setTimeout(function(){e.container.querySelector("input").focus()},100),{isOpen:!t.isOpen}})},e.onDocumentMouseDown=function(t){for(var a=!0,n=t.target;null!==n&&n!==document;){if(n===e.container)return void(a=!1);n=n.parentNode}a&&e.setState({isOpen:!1})},e.onEscape=function(t){"Escape"===t.key&&e.setState({isOpen:!1})},e.onChange=function(t){var a=t.target.value;e.setState({query:a}),e.loadResults(a.trim())},e.state={isLoading:!1,isOpen:!1,query:"",results:[]},e.intervalId=null,e}return l(t,e),s(t,[{key:"componentDidMount",value:function(){document.addEventListener("mousedown",this.onDocumentMouseDown),document.addEventListener("keydown",this.onEscape)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("mousedown",this.onDocumentMouseDown),document.removeEventListener("keydown",this.onEscape)}},{key:"loadResults",value:function(e){var t=this;if(e.length){var a=300+300*Math.random();this.intervalId&&window.clearTimeout(this.intervalId),this.setState({isLoading:!0}),this.intervalId=window.setTimeout(function(){d["default"].get(h["default"].get("SEARCH_API"),{q:e}).then(function(e){t.setState({intervalId:null,isLoading:!1,results:(0,v["default"])(e)})},function(e){p["default"].apiError(e),t.setState({intervalId:null,isLoading:!1,results:[]})})},a)}}},{key:"render",value:function(){var e=this,t="navbar-search dropdown";return this.state.isOpen&&(t+=" open"),u["default"].createElement("div",{className:t,ref:function(t){return e.container=t}},u["default"].createElement("a",{"aria-haspopup":"true","aria-expanded":"false",className:"navbar-icon","data-toggle":"dropdown",href:h["default"].get("SEARCH_URL"),onClick:this.onToggle},u["default"].createElement("i",{className:"material-icon"},"search")),u["default"].createElement(g["default"],{isLoading:this.state.isLoading,onChange:this.onChange,results:this.state.results,query:this.state.query}))}}]),t}(u["default"].Component);a["default"]=y},{"../..":302,"../../services/ajax":365,"../../services/snackbar":376,"./clean-results":63,"./dropdown":68,react:"react"}],78:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(){return o["default"].createElement("div",{className:"panel panel-default panel-form"},o["default"].createElement("div",{className:"panel-heading"},o["default"].createElement("h3",{className:"panel-title"},gettext("Change username"))),o["default"].createElement(s["default"],null))};var r=e("react"),o=n(r),l=e("../../panel-loader"),s=n(l)},{"../../panel-loader":93,react:"react"}],79:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../../panel-message"),d=n(c),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"getHelpText",value:function(){return this.props.options.next_on?interpolate(gettext("You will be able to change your username %(next_change)s."),{next_change:this.props.options.next_on.fromNow()},!0):gettext("You have used up available name changes.")}},{key:"render",value:function(){return u["default"].createElement("div",{className:"panel panel-default panel-form"},u["default"].createElement("div",{className:"panel-heading"},u["default"].createElement("h3",{className:"panel-title"},gettext("Change username"))),u["default"].createElement(d["default"],{helpText:this.getHelpText(),message:gettext("You can't change your username at the moment.")}))}}]),t}(u["default"].Component);a["default"]=f},{"../../panel-message":94,react:"react"}],80:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../../button"),f=r(d),p=e("../../form"),m=r(p),h=e("../../form-group"),b=r(h),v=e("../../../services/ajax"),_=r(v),g=e("../../../services/snackbar"),y=r(g),E=e("../../../utils/validators"),w=n(E),O=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={username:"",validators:{username:[w.usernameContent(),w.usernameMinLength(e.options.length_min),w.usernameMaxLength(e.options.length_max)]},isLoading:!1},a}return s(t,e),i(t,[{key:"getHelpText",value:function(){var e=[];if(this.props.options.changes_left>0){var t=ngettext("You can change your username %(changes_left)s more time.","You can change your username %(changes_left)s more times.",this.props.options.changes_left);e.push(interpolate(t,{changes_left:this.props.options.changes_left},!0))}if(this.props.user.acl.name_changes_expire>0){var a=ngettext("Used changes become available again after %(name_changes_expire)s day.","Used changes become available again after %(name_changes_expire)s days.",this.props.user.acl.name_changes_expire);e.push(interpolate(a,{name_changes_expire:this.props.user.acl.name_changes_expire},!0))}return e.length?e.join(" "):null}},{key:"clean",value:function(){var e=this.validate();return e.username?(y["default"].error(e.username[0]),!1):this.state.username.trim()!==this.props.user.username||(y["default"].info(gettext("Your new username is same as current one.")),!1)}},{key:"send",value:function(){return _["default"].post(this.props.user.api.username,{username:this.state.username})}},{key:"handleSuccess",value:function(e){this.setState({username:""}),this.props.complete(e.username,e.slug,e.options)}},{key:"handleError",value:function(e){y["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"panel panel-default panel-form"},c["default"].createElement("div",{className:"panel-heading"},c["default"].createElement("h3",{className:"panel-title"},gettext("Change username"))),c["default"].createElement("div",{className:"panel-body"},c["default"].createElement(b["default"],{label:gettext("New username"),"for":"id_username",helpText:this.getHelpText()},c["default"].createElement("input",{type:"text",id:"id_username",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("username"),value:this.state.username}))),c["default"].createElement("div",{className:"panel-footer"},c["default"].createElement(f["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Change username")))))}}]),t}(m["default"]);a["default"]=O},{"../../../services/ajax":365,"../../../services/snackbar":376,"../../../utils/validators":393,"../../button":8,"../../form":56,"../../form-group":55,react:"react"}],81:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("moment"),u=n(i),c=e("react"),d=n(c),f=e("./form-loading"),p=n(f),m=e("./form-locked"),h=n(m),b=e("./form"),v=n(b),_=e("../../username-history/root"),g=n(_),y=e("../../../index"),E=n(y),w=e("../../../reducers/username-history"),O=e("../../../reducers/users"),k=e("../../../services/ajax"),N=n(k),x=e("../../../services/page-title"),P=n(x),j=e("../../../services/snackbar"),C=n(j),S=e("../../../services/store"),M=n(S),T=function(e){
|
|
value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=n(u),d=e("../utils/validators"),f=e("../services/snackbar"),p=n(f),m=(0,d.required)(),h=function(e){function t(){var e,a,n,s;o(this,t);for(var i=arguments.length,u=Array(i),c=0;c<i;c++)u[c]=arguments[c];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),n.bindInput=function(e){return function(t){n.changeValue(e,t.target.value)}},n.changeValue=function(e,t){var a=r({},e,t),o=n.state.errors||{};o[e]=n.validateField(e,a[e]),a.errors=o,n.setState(a)},n.handleSubmit=function(e){if(e&&e.preventDefault(),!n.state.isLoading&&n.clean()){n.setState({isLoading:!0});var t=n.send();t?t.then(function(e){n.setState({isLoading:!1}),n.handleSuccess(e)},function(e){n.setState({isLoading:!1}),n.handleError(e)}):n.setState({isLoading:!1})}},s=a,l(n,s)}return s(t,e),i(t,[{key:"validate",value:function(){var e={};if(!this.state.validators)return e;var t={required:this.state.validators.required||this.state.validators,optional:this.state.validators.optional||{}},a=[];for(var n in t.required)t.required.hasOwnProperty(n)&&t.required[n]&&a.push(n);for(var r in t.optional)t.optional.hasOwnProperty(r)&&t.optional[r]&&a.push(r);for(var o in a){var l=a[o],s=this.validateField(l,this.state[l]);null===s?e[l]=null:s&&(e[l]=s)}return e}},{key:"isValid",value:function(){var e=this.validate();for(var t in e)if(e.hasOwnProperty(t)&&null!==e[t])return!1;return!0}},{key:"validateField",value:function(e,t){var a=[];if(!this.state.validators)return a;var n={required:(this.state.validators.required||this.state.validators)[e],optional:(this.state.validators.optional||{})[e]},r=m(t)||!1;if(n.required){if(r)a=[r];else for(var o in n.required){var l=n.required[o](t);l&&a.push(l)}return a.length?a:null}if(r===!1&&n.optional){for(var s in n.optional){var i=n.optional[s](t);i&&a.push(i)}return a.length?a:null}return!1}},{key:"clean",value:function(){return!0}},{key:"send",value:function(){return null}},{key:"handleSuccess",value:function(e){}},{key:"handleError",value:function(e){p["default"].apiError(e)}}]),t}(c["default"].Component);a["default"]=h},{"../services/snackbar":376,"../utils/validators":393,react:"react"}],57:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"isActive",value:function(){return this.props.isControlled?this.props.isActive:!!this.props.path&&0===document.location.pathname.indexOf(this.props.path)}},{key:"getClassName",value:function(){return this.isActive()?(this.props.className||"")+" "+(this.props.activeClassName||"active"):this.props.className||""}},{key:"render",value:function(){return u["default"].createElement("li",{className:this.getClassName()},this.props.children)}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],58:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("div",{className:e.className||"loader"},o["default"].createElement("div",{className:"loader-spinning-wheel"}))};var r=e("react"),o=n(r)},{react:"react"}],59:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){var t=e.choices,a=e.onChange,n=e.value;return t?d["default"].createElement(v["default"],{label:gettext("Best answer"),helpText:gettext("Please select the best answer for your newly merged thread. No posts will be deleted during the merge."),"for":"id_best_answer"},d["default"].createElement("select",{className:"form-control",id:"id_best_answer",onChange:a,value:n},t.map(function(e){return d["default"].createElement("option",{value:e[0],key:e[0]},e[1])}))):null}function i(e){var t=e.choices,a=e.onChange,n=e.value;return t?d["default"].createElement(v["default"],{label:gettext("Poll"),helpText:gettext("Please select the poll for your newly merged thread. Rejected polls will be permanently deleted and cannot be recovered."),"for":"id_poll"},d["default"].createElement("select",{className:"form-control",id:"id_poll",onChange:a,value:n},t.map(function(e){return d["default"].createElement("option",{value:e[0],key:e[0]},e[1])}))):null}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.BestAnswerSelect=s,a.PollSelect=i;var c=e("react"),d=n(c),f=e("./button"),p=n(f),m=e("./form"),h=n(m),b=e("./form-group"),v=n(b),_=e("../services/ajax"),g=n(_),y=e("../services/modal"),E=n(y),w=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.handleSuccess=function(e){a.props.onSuccess(e),E["default"].hide()},a.handleError=function(e){a.props.onError(e)},a.onBestAnswerChange=function(e){a.changeValue("bestAnswer",e.target.value)},a.onPollChange=function(e){a.changeValue("poll",e.target.value)},a.state={isLoading:!1,bestAnswer:"0",poll:"0"},a}return l(t,e),u(t,[{key:"clean",value:function(){if(this.props.polls&&"0"===this.state.poll){var e=confirm(gettext("Are you sure you want to delete all polls?"));return e}return!0}},{key:"send",value:function(){var e=Object.assign({},this.props.data,{best_answer:this.state.bestAnswer,poll:this.state.poll});return g["default"].post(this.props.api,e)}},{key:"render",value:function(){return d["default"].createElement("div",{className:"modal-dialog",role:"document"},d["default"].createElement("div",{className:"modal-content"},d["default"].createElement("div",{className:"modal-header"},d["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},d["default"].createElement("span",{"aria-hidden":"true"},"×")),d["default"].createElement("h4",{className:"modal-title"},gettext("Merge threads"))),d["default"].createElement("form",{onSubmit:this.handleSubmit},d["default"].createElement("div",{className:"modal-body"},d["default"].createElement(s,{choices:this.props.bestAnswers,onChange:this.onBestAnswerChange,value:this.state.bestAnswer}),d["default"].createElement(i,{choices:this.props.polls,onChange:this.onPollChange,value:this.state.poll})),d["default"].createElement("div",{className:"modal-footer"},d["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},gettext("Cancel")),d["default"].createElement(p["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Merge threads"))))))}}]),t}(h["default"]);a["default"]=w},{"../services/ajax":365,"../services/modal":371,"./button":8,"./form":56,"./form-group":55,react:"react"}],60:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){var t=e.target;$(t).parent().parent().addClass("revealed")}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=n(u),d=e("../services/one-box"),f=n(d),p=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),i(t,[{key:"componentDidMount",value:function(){f["default"].render(this.documentNode),$(this.documentNode).find(".spoiler-reveal").click(s)}},{key:"componentDidUpdate",value:function(e,t){f["default"].render(this.documentNode),$(this.documentNode).find(".spoiler-reveal").click(s)}},{key:"shouldComponentUpdate",value:function(e,t){return e.markup!==this.props.markup}},{key:"render",value:function(){var e=this;return c["default"].createElement("article",{className:"misago-markup",dangerouslySetInnerHTML:{__html:this.props.markup},ref:function(t){e.documentNode=t}})}}]),t}(c["default"].Component);a["default"]=p},{"../services/one-box":372,react:"react"}],61:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./loader"),d=n(c),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"render",value:function(){return u["default"].createElement("div",{className:"modal-body modal-loader"},u["default"].createElement(d["default"],null))}}]),t}(u["default"].Component);a["default"]=f},{"./loader":58,react:"react"}],62:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./panel-message"),d=n(c),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"getHelpText",value:function(){return this.props.helpText?u["default"].createElement("p",{className:"help-block"},this.props.helpText):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"modal-body"},u["default"].createElement("div",{className:"message-icon"},u["default"].createElement("span",{className:"material-icon"},this.props.icon||"info_outline")),u["default"].createElement("div",{className:"message-body"},u["default"].createElement("p",{className:"lead"},this.props.message),this.getHelpText(),u["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},gettext("Ok"))))}}]),t}(d["default"]);a["default"]=f},{"./panel-message":94,react:"react"}],63:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.filter(function(e){return e.results.count>0});return t.map(function(e){return Object.assign({},e,{count:e.results.count,results:e.results.results.slice(0,n)})})};var n=5},{}],64:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.HEADER="HEADER",a.RESULT="RESULT",a.FOOTER="FOOTER"},{}],65:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.children,a=e.onChange,n=e.query;return o["default"].createElement("ul",{className:"dropdown-menu dropdown-search-results",role:"menu"},o["default"].createElement("li",{className:"form-group"},o["default"].createElement(s["default"],{value:n,onChange:a})),t)};var r=e("react"),o=n(r),l=e("./input"),s=n(l)},{"./input":69,react:"react"}],66:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(){return o["default"].createElement("li",{className:"dropdown-search-message"},gettext("Search returned no results."))};var r=e("react"),o=n(r)},{react:"react"}],67:[function(e,t,a){"use strict";function n(e,t){for(var a=e.length,n=0;n<a;n++){var l=e[n];t.push({provider:l,type:o.HEADER}),r(l,t)}}function r(e,t){for(var a=e.results.length,n=0;n<a;n++){var r=e.results[n];t.push({provider:e,result:r,type:o.RESULT})}t.push({provider:e,type:o.FOOTER})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=[];return n(e,t),t};var o=e("./constants")},{"./constants":64}],68:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e};a["default"]=function(e){var t=e.isLoading,a=e.onChange,n=e.results,o=e.query;if(!o.trim().length)return l["default"].createElement(u["default"],{onChange:a,query:o});if(n.length){var i=(0,v["default"])(n);return l["default"].createElement(u["default"],{onChange:a,query:o},i.map(function(e){var t=e.type,a=e.provider,n=e.result;return t===s.RESULT?l["default"].createElement(h["default"],r({key:[a.id,t,n.id].join("_")},e)):l["default"].createElement(h["default"],r({key:[a.id,t].join("_"),query:o},e))}))}return t?l["default"].createElement(u["default"],{onChange:a,query:o},l["default"].createElement(p["default"],null)):l["default"].createElement(u["default"],{onChange:a,query:o},l["default"].createElement(d["default"],null))};var o=e("react"),l=n(o),s=e("./constants"),i=e("./dropdown-menu"),u=n(i),c=e("./empty"),d=n(c),f=e("./loader"),p=n(f),m=e("./result"),h=n(m),b=e("./flatten-results"),v=n(b)},{"./constants":64,"./dropdown-menu":65,"./empty":66,"./flatten-results":67,"./loader":70,"./result":73,react:"react"}],69:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.value,a=e.onChange;return o["default"].createElement("input",{"aria-haspopup":"true","aria-expanded":"false",autoComplete:"off",className:"form-control",value:t,onChange:a,placeholder:gettext("Search"),role:"combobox",type:"text"})};var r=e("react"),o=n(r)},{react:"react"}],70:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){e.message;return o["default"].createElement("li",{className:"dropdown-search-loader"},o["default"].createElement(s["default"],null))};var r=e("react"),o=n(r),l=e("../../loader"),s=n(l)},{"../../loader":58,react:"react"}],71:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.provider,a=e.query,n=t.url+"?q="+encodeURI(a),r=ngettext('See full "%(provider)s" results page with %(count)s result.','See full "%(provider)s" results page with %(count)s results.',t.count);return o["default"].createElement("li",{className:"dropdown-search-footer"},o["default"].createElement("a",{href:n},interpolate(r,{count:t.count,provider:t.name},!0)))};var r=e("react"),o=n(r)},{react:"react"}],72:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.provider;return o["default"].createElement("li",{className:"dropdown-search-header"},t.name)};var r=e("react"),o=n(r)},{react:"react"}],73:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.provider,a=e.result,n=e.type,r=e.query;return n===l.HEADER?o["default"].createElement(c["default"],{provider:t}):n===l.FOOTER?o["default"].createElement(i["default"],{provider:t,query:r}):o["default"].createElement(f["default"],{provider:t,result:a})};var r=e("react"),o=n(r),l=e("../constants"),s=e("./footer"),i=n(s),u=e("./header"),c=n(u),d=e("./result"),f=n(d)},{"../constants":64,"./footer":71,"./header":72,"./result":74,react:"react"}],74:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.provider,a=e.result;return"threads"===t.id?o["default"].createElement(s["default"],{result:a}):o["default"].createElement(u["default"],{result:a})};var r=e("react"),o=n(r),l=e("./thread"),s=n(l),i=e("./user"),u=n(i)},{"./thread":75,"./user":76,react:"react"}],75:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.result,a=(t.poster,t.thread),n=gettext("Posted by %(poster)s on %(posted_on)s in %(category)s.");return s["default"].createElement("li",null,s["default"].createElement("a",{href:t.url.index,className:"dropdown-search-thread"},s["default"].createElement("h5",null,a.title),s["default"].createElement("small",{className:"dropdown-search-post-content"},$(t.content).text()),s["default"].createElement("small",{className:"dropdown-search-post-footer"},interpolate(n,{category:t.category.name,posted_on:(0,o["default"])(t.posted_on).format("LL"),poster:t.poster_name},!0))))};var r=e("moment"),o=n(r),l=e("react"),s=n(l)},{moment:"moment",react:"react"}],76:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.result,a=t.rank,n=gettext("%(title)s, joined on %(joined_on)s"),r=t.title||a.title||a.name;return s["default"].createElement("li",null,s["default"].createElement("a",{href:t.url,className:"dropdown-search-user"},s["default"].createElement("div",{className:"media"},s["default"].createElement("div",{className:"media-left"},s["default"].createElement(u["default"],{size:38,user:t})),s["default"].createElement("div",{className:"media-body"},s["default"].createElement("h5",{className:"media-heading"},t.username),s["default"].createElement("small",null,interpolate(n,{title:r,joined_on:(0,o["default"])(t.joined_on).format("LL")},!0))))))};var r=e("moment"),o=n(r),l=e("react"),s=n(l),i=e("../../../avatar"),u=n(i)},{"../../../avatar":6,moment:"moment",react:"react"}],77:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../../services/ajax"),d=n(c),f=e("../../services/snackbar"),p=n(f),m=e("../.."),h=n(m),b=e("./clean-results"),v=n(b),_=e("./dropdown"),g=n(_),y=function(e){function t(){r(this,t);var e=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.onToggle=function(t){e.setState(function(t,a){return t.isOpen||window.setTimeout(function(){e.container.querySelector("input").focus()},100),{isOpen:!t.isOpen}})},e.onDocumentMouseDown=function(t){for(var a=!0,n=t.target;null!==n&&n!==document;){if(n===e.container)return void(a=!1);n=n.parentNode}a&&e.setState({isOpen:!1})},e.onEscape=function(t){"Escape"===t.key&&e.setState({isOpen:!1})},e.onChange=function(t){var a=t.target.value;e.setState({query:a}),e.loadResults(a.trim())},e.state={isLoading:!1,isOpen:!1,query:"",results:[]},e.intervalId=null,e}return l(t,e),s(t,[{key:"componentDidMount",value:function(){document.addEventListener("mousedown",this.onDocumentMouseDown),document.addEventListener("keydown",this.onEscape)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("mousedown",this.onDocumentMouseDown),document.removeEventListener("keydown",this.onEscape)}},{key:"loadResults",value:function(e){var t=this;if(e.length){var a=300+300*Math.random();this.intervalId&&window.clearTimeout(this.intervalId),this.setState({isLoading:!0}),this.intervalId=window.setTimeout(function(){d["default"].get(h["default"].get("SEARCH_API"),{q:e}).then(function(e){t.setState({intervalId:null,isLoading:!1,results:(0,v["default"])(e)})},function(e){p["default"].apiError(e),t.setState({intervalId:null,isLoading:!1,results:[]})})},a)}}},{key:"render",value:function(){var e=this,t="navbar-search dropdown";return this.state.isOpen&&(t+=" open"),u["default"].createElement("div",{className:t,ref:function(t){return e.container=t}},u["default"].createElement("a",{"aria-haspopup":"true","aria-expanded":"false",className:"navbar-icon","data-toggle":"dropdown",href:h["default"].get("SEARCH_URL"),onClick:this.onToggle},u["default"].createElement("i",{className:"material-icon"},"search")),u["default"].createElement(g["default"],{isLoading:this.state.isLoading,onChange:this.onChange,results:this.state.results,query:this.state.query}))}}]),t}(u["default"].Component);a["default"]=y},{"../..":302,"../../services/ajax":365,"../../services/snackbar":376,"./clean-results":63,"./dropdown":68,react:"react"}],78:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(){return o["default"].createElement("div",{className:"panel panel-default panel-form"},o["default"].createElement("div",{className:"panel-heading"},o["default"].createElement("h3",{className:"panel-title"},gettext("Change username"))),o["default"].createElement(s["default"],null))};var r=e("react"),o=n(r),l=e("../../panel-loader"),s=n(l)},{"../../panel-loader":93,react:"react"}],79:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../../panel-message"),d=n(c),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"getHelpText",value:function(){return this.props.options.next_on?interpolate(gettext("You will be able to change your username %(next_change)s."),{next_change:this.props.options.next_on.fromNow()},!0):gettext("You have used up available name changes.")}},{key:"render",value:function(){return u["default"].createElement("div",{className:"panel panel-default panel-form"},u["default"].createElement("div",{className:"panel-heading"},u["default"].createElement("h3",{className:"panel-title"},gettext("Change username"))),u["default"].createElement(d["default"],{helpText:this.getHelpText(),message:gettext("You can't change your username at the moment.")}))}}]),t}(u["default"].Component);a["default"]=f},{"../../panel-message":94,react:"react"}],80:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../../button"),f=r(d),p=e("../../form"),m=r(p),h=e("../../form-group"),b=r(h),v=e("../../../services/ajax"),_=r(v),g=e("../../../services/snackbar"),y=r(g),E=e("../../../utils/validators"),w=n(E),O=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={username:"",validators:{username:[w.usernameContent(),w.usernameMinLength(e.options.length_min),w.usernameMaxLength(e.options.length_max)]},isLoading:!1},a}return s(t,e),i(t,[{key:"getHelpText",value:function(){var e=[];if(this.props.options.changes_left>0){var t=ngettext("You can change your username %(changes_left)s more time.","You can change your username %(changes_left)s more times.",this.props.options.changes_left);e.push(interpolate(t,{changes_left:this.props.options.changes_left},!0))}if(this.props.user.acl.name_changes_expire>0){var a=ngettext("Used changes become available again after %(name_changes_expire)s day.","Used changes become available again after %(name_changes_expire)s days.",this.props.user.acl.name_changes_expire);e.push(interpolate(a,{name_changes_expire:this.props.user.acl.name_changes_expire},!0))}return e.length?e.join(" "):null}},{key:"clean",value:function(){var e=this.validate();return e.username?(y["default"].error(e.username[0]),!1):this.state.username.trim()!==this.props.user.username||(y["default"].info(gettext("Your new username is same as current one.")),!1)}},{key:"send",value:function(){return _["default"].post(this.props.user.api.username,{username:this.state.username})}},{key:"handleSuccess",value:function(e){this.setState({username:""}),this.props.complete(e.username,e.slug,e.options)}},{key:"handleError",value:function(e){y["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"panel panel-default panel-form"},c["default"].createElement("div",{className:"panel-heading"},c["default"].createElement("h3",{className:"panel-title"},gettext("Change username"))),c["default"].createElement("div",{className:"panel-body"},c["default"].createElement(b["default"],{label:gettext("New username"),"for":"id_username",helpText:this.getHelpText()},c["default"].createElement("input",{type:"text",id:"id_username",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("username"),value:this.state.username}))),c["default"].createElement("div",{className:"panel-footer"},c["default"].createElement(f["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Change username")))))}}]),t}(m["default"]);a["default"]=O},{"../../../services/ajax":365,"../../../services/snackbar":376,"../../../utils/validators":393,"../../button":8,"../../form":56,"../../form-group":55,react:"react"}],81:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("moment"),u=n(i),c=e("react"),d=n(c),f=e("./form-loading"),p=n(f),m=e("./form-locked"),h=n(m),b=e("./form"),v=n(b),_=e("../../username-history/root"),g=n(_),y=e("../../../index"),E=n(y),w=e("../../../reducers/username-history"),O=e("../../../reducers/users"),k=e("../../../services/ajax"),N=n(k),x=e("../../../services/page-title"),P=n(x),j=e("../../../services/snackbar"),C=n(j),S=e("../../../services/store"),M=n(S),T=function(e){
|
|
function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onComplete=function(e,t,n){a.setState({options:n}),M["default"].dispatch((0,w.addNameChange)({username:e,slug:t},a.props.user,a.props.user)),M["default"].dispatch((0,O.updateUsername)(a.props.user,e,t)),C["default"].success(gettext("Your username has been changed successfully."))},a.state={isLoaded:!1,options:null},a}return l(t,e),s(t,[{key:"componentDidMount",value:function(){var e=this;P["default"].set({title:gettext("Change username"),parent:gettext("Change your options")}),Promise.all([N["default"].get(this.props.user.api.username),N["default"].get(E["default"].get("USERNAME_CHANGES_API"),{user:this.props.user.id})]).then(function(t){M["default"].dispatch((0,w.hydrate)(t[1].results)),e.setState({isLoaded:!0,options:{changes_left:t[0].changes_left,length_min:t[0].length_min,length_max:t[0].length_max,next_on:t[0].next_on?(0,u["default"])(t[0].next_on):null}})})}},{key:"getChangeForm",value:function(){return this.state.isLoaded?0===this.state.options.changes_left?d["default"].createElement(h["default"],{options:this.state.options}):d["default"].createElement(v["default"],{complete:this.onComplete,options:this.state.options,user:this.props.user}):d["default"].createElement(p["default"],null)}},{key:"render",value:function(){return d["default"].createElement("div",null,this.getChangeForm(),d["default"].createElement(g["default"],{changes:this.props["username-history"],isLoaded:this.state.isLoaded}))}}]),t}(d["default"].Component);a["default"]=T},{"../../../index":302,"../../../reducers/username-history":363,"../../../reducers/users":364,"../../../services/ajax":365,"../../../services/page-title":373,"../../../services/snackbar":376,"../../../services/store":377,"../../username-history/root":280,"./form":80,"./form-loading":78,"./form-locked":79,moment:"moment",react:"react"}],82:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../button"),d=n(c),f=e("../../services/ajax"),p=n(f),m=e("../../services/page-title"),h=n(m),b=e("../../services/snackbar"),v=n(b),_=e("../../services/store"),g=(n(_),e("../..")),y=n(g),E=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onPasswordChange=function(e){a.setState({password:e.target.value})},a.handleSubmit=function(e){e.preventDefault();var t=a.state,n=t.isLoading,r=t.password,o=a.props.user;return 0==r.length?(v["default"].error(gettext("Enter your password to confirm account deletion.")),!1):!n&&(a.setState({isLoading:!0}),void p["default"].post(o.api["delete"],{password:r}).then(function(e){window.location.href=y["default"].get("MISAGO_PATH")},function(e){a.setState({isLoading:!1}),e.password?v["default"].error(e.password[0]):v["default"].apiError(e)}))},a.state={isLoading:!1,password:""},a}return l(t,e),s(t,[{key:"componentDidMount",value:function(){h["default"].set({title:gettext("Delete account"),parent:gettext("Change your options")})}},{key:"render",value:function(){return u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("div",{className:"panel panel-danger panel-form"},u["default"].createElement("div",{className:"panel-heading"},u["default"].createElement("h3",{className:"panel-title"},gettext("Delete account"))),u["default"].createElement("div",{className:"panel-body"},u["default"].createElement("p",{className:"lead"},gettext("You are going to delete your account. This action is nonreversible, and will result in following data being deleted:")),u["default"].createElement("p",null,"-"," ",gettext("Stored IP addresses associated with content that you have posted will be deleted.")),u["default"].createElement("p",null,"-"," ",gettext("Your username will become available for other user to rename to or for new user to register their account with.")),u["default"].createElement("p",null,"-"," ",gettext("Your e-mail will become available for use in new account registration.")),u["default"].createElement("hr",null),u["default"].createElement("p",null,gettext("All your posted content will NOT be deleted, but username associated with it will be changed to one shared by all deleted accounts."))),u["default"].createElement("div",{className:"panel-footer"},u["default"].createElement("div",{className:"input-group"},u["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,name:"password-confirmation",type:"password",placeholder:gettext("Enter your password to confirm account deletion."),value:this.state.password,onChange:this.onPasswordChange}),u["default"].createElement("span",{className:"input-group-btn"},u["default"].createElement(d["default"],{className:"btn-danger",loading:this.state.isLoading},gettext("Delete my account")))))))}}]),t}(u["default"].Component);a["default"]=E},{"../..":302,"../../services/ajax":365,"../../services/page-title":373,"../../services/snackbar":376,"../../services/store":377,"../button":8,react:"react"}],83:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("moment"),d=n(c),f=e("../button"),p=n(f),m=e("../../services/ajax"),h=n(m),b=e("../../services/page-title"),v=n(b),_=e("../../services/snackbar"),g=n(_),y=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.handleLoadDownloads=function(){h["default"].get(a.props.user.api.data_downloads).then(function(e){a.setState({isLoading:!1,downloads:e})},function(e){g["default"].apiError(e)})},a.handleRequestDataDownload=function(){a.setState({isSubmiting:!0}),h["default"].post(a.props.user.api.request_data_download).then(function(){a.handleLoadDownloads(),g["default"].success(gettext("Your request for data download has been registered.")),a.setState({isSubmiting:!1})},function(e){console.log(e),g["default"].apiError(e),a.setState({isSubmiting:!1})})},a.state={isLoading:!1,isSubmiting:!1,downloads:[]},a}return l(t,e),s(t,[{key:"componentDidMount",value:function(){v["default"].set({title:gettext("Download your data"),parent:gettext("Change your options")}),this.handleLoadDownloads()}},{key:"render",value:function(){return u["default"].createElement("div",null,u["default"].createElement("div",{className:"panel panel-default panel-form"},u["default"].createElement("div",{className:"panel-heading"},u["default"].createElement("h3",{className:"panel-title"},gettext("Download your data"))),u["default"].createElement("div",{className:"panel-body"},u["default"].createElement("p",null,gettext('To download your data from the site, click the "Request data download" button. Depending on amount of data to be archived and number of users wanting to download their data at same time it may take up to few days for your download to be prepared. An e-mail with notification will be sent to you when your data is ready to be downloaded.')),u["default"].createElement("p",null,gettext("The download will only be available for limited amount of time, after which it will be deleted from the site and marked as expired."))),u["default"].createElement("table",{className:"table"},u["default"].createElement("thead",null,u["default"].createElement("tr",null,u["default"].createElement("th",null,gettext("Requested on")),u["default"].createElement("th",{className:"col-md-4"},gettext("Download")))),u["default"].createElement("tbody",null,this.state.downloads.map(function(e){return u["default"].createElement("tr",{key:e.id},u["default"].createElement("td",{style:E},(0,d["default"])(e.requested_on).fromNow()),u["default"].createElement("td",null,u["default"].createElement(k,{exportFile:e.file,status:e.status})))}),0==this.state.downloads.length?u["default"].createElement("tr",null,u["default"].createElement("td",{colSpan:"2"},gettext("You have no data downloads."))):null)),u["default"].createElement("div",{className:"panel-footer text-right"},u["default"].createElement(p["default"],{className:"btn-primary",loading:this.state.isSubmiting,type:"button",onClick:this.handleRequestDataDownload},gettext("Request data download")))))}}]),t}(u["default"].Component);a["default"]=y;var E={verticalAlign:"middle"},w=0,O=1,k=function(e){var t=e.exportFile,a=e.status;return a===w||a===O?u["default"].createElement(p["default"],{className:"btn-info btn-sm btn-block",disabled:!0,type:"button"},gettext("Download is being prepared")):t?u["default"].createElement("a",{className:"btn btn-success btn-sm btn-block",href:t},gettext("Download your data")):u["default"].createElement(p["default"],{className:"btn-default btn-sm btn-block",disabled:!0,type:"button"},gettext("Download is expired"))}},{"../../services/ajax":365,"../../services/page-title":373,"../../services/snackbar":376,"../button":8,moment:"moment",react:"react"}],84:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../edit-details"),d=n(c),f=e("../../services/page-title"),p=n(f),m=e("../../services/snackbar"),h=n(m),b=function(e){function t(){var e,a,n,l;r(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onSuccess=function(){h["default"].info(gettext("Your details have been updated."))},l=a,o(n,l)}return l(t,e),s(t,[{key:"componentDidMount",value:function(){p["default"].set({title:gettext("Edit details"),parent:gettext("Change your options")})}},{key:"render",value:function(){return u["default"].createElement(d["default"],{api:this.props.user.api.edit_details,onSuccess:this.onSuccess})}}]),t}(u["default"].Component);a["default"]=b},{"../../services/page-title":373,"../../services/snackbar":376,"../edit-details":32,react:"react"}],85:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../button"),d=n(c),f=e("../form"),p=n(f),m=e("../form-group"),h=n(m),b=e("../select"),v=n(b),_=e("../yes-no-switch"),g=n(_),y=e("../../reducers/auth"),E=e("../../services/ajax"),w=n(E),O=e("../../services/page-title"),k=n(O),N=e("../../services/snackbar"),x=n(N),P=e("../../services/store"),j=n(P),C=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={isLoading:!1,is_hiding_presence:e.user.is_hiding_presence,limits_private_thread_invites_to:e.user.limits_private_thread_invites_to,subscribe_to_started_threads:e.user.subscribe_to_started_threads,subscribe_to_replied_threads:e.user.subscribe_to_replied_threads,errors:{}},a.privateThreadInvitesChoices=[{value:0,icon:"help_outline",label:gettext("Everybody")},{value:1,icon:"done_all",label:gettext("Users I follow")},{value:2,icon:"highlight_off",label:gettext("Nobody")}],a.subscribeToChoices=[{value:0,icon:"star_border",label:gettext("No")},{value:1,icon:"star_half",label:gettext("Notify")},{value:2,icon:"star",label:gettext("Notify with e-mail")}],a}return l(t,e),s(t,[{key:"send",value:function(){return w["default"].post(this.props.user.api.options,{is_hiding_presence:this.state.is_hiding_presence,limits_private_thread_invites_to:this.state.limits_private_thread_invites_to,subscribe_to_started_threads:this.state.subscribe_to_started_threads,subscribe_to_replied_threads:this.state.subscribe_to_replied_threads})}},{key:"handleSuccess",value:function(){j["default"].dispatch((0,y.patch)({is_hiding_presence:this.state.is_hiding_presence,limits_private_thread_invites_to:this.state.limits_private_thread_invites_to,subscribe_to_started_threads:this.state.subscribe_to_started_threads,subscribe_to_replied_threads:this.state.subscribe_to_replied_threads})),x["default"].success(gettext("Your forum options have been changed."))}},{key:"handleError",value:function(e){400===e.status?x["default"].error(gettext("Please reload page and try again.")):x["default"].apiError(e)}},{key:"componentDidMount",value:function(){k["default"].set({title:gettext("Forum options"),parent:gettext("Change your options")})}},{key:"render",value:function(){return u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("div",{className:"panel panel-default panel-form"},u["default"].createElement("div",{className:"panel-heading"},u["default"].createElement("h3",{className:"panel-title"},gettext("Change forum options"))),u["default"].createElement("div",{className:"panel-body"},u["default"].createElement("fieldset",null,u["default"].createElement("legend",null,gettext("Privacy settings")),u["default"].createElement(h["default"],{label:gettext("Hide my presence"),helpText:gettext("If you hide your presence, only members with permission to see hidden users will see when you are online."),"for":"id_is_hiding_presence"},u["default"].createElement(g["default"],{id:"id_is_hiding_presence",disabled:this.state.isLoading,iconOn:"visibility_off",iconOff:"visibility",labelOn:gettext("Hide my presence from other users"),labelOff:gettext("Show my presence to other users"),onChange:this.bindInput("is_hiding_presence"),value:this.state.is_hiding_presence})),u["default"].createElement(h["default"],{label:gettext("Private thread invitations"),"for":"id_limits_private_thread_invites_to"},u["default"].createElement(v["default"],{id:"id_limits_private_thread_invites_to",disabled:this.state.isLoading,onChange:this.bindInput("limits_private_thread_invites_to"),value:this.state.limits_private_thread_invites_to,choices:this.privateThreadInvitesChoices}))),u["default"].createElement("fieldset",null,u["default"].createElement("legend",null,gettext("Automatic subscriptions")),u["default"].createElement(h["default"],{label:gettext("Threads I start"),"for":"id_subscribe_to_started_threads"},u["default"].createElement(v["default"],{id:"id_subscribe_to_started_threads",disabled:this.state.isLoading,onChange:this.bindInput("subscribe_to_started_threads"),value:this.state.subscribe_to_started_threads,choices:this.subscribeToChoices})),u["default"].createElement(h["default"],{label:gettext("Threads I reply to"),"for":"id_subscribe_to_replied_threads"},u["default"].createElement(v["default"],{id:"id_subscribe_to_replied_threads",disabled:this.state.isLoading,onChange:this.bindInput("subscribe_to_replied_threads"),value:this.state.subscribe_to_replied_threads,choices:this.subscribeToChoices})))),u["default"].createElement("div",{className:"panel-footer"},u["default"].createElement(d["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Save changes")))))}}]),t}(p["default"]);a["default"]=C},{"../../reducers/auth":350,"../../services/ajax":365,"../../services/page-title":373,"../../services/snackbar":376,"../../services/store":377,"../button":8,"../form":56,"../form-group":55,"../select":210,"../yes-no-switch":300,react:"react"}],86:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return s["default"].createElement("div",{className:"list-group nav-side"},e.options.map(function(t){return s["default"].createElement(i.Link,{to:e.baseUrl+t.component+"/",className:"list-group-item",activeClassName:"active",key:t.component},s["default"].createElement("span",{className:"material-icon"},t.icon),t.name)}))}function o(e){return s["default"].createElement("ul",{className:e.className||"dropdown-menu stick-to-bottom",role:"menu"},e.options.map(function(t){return s["default"].createElement(c["default"],{path:e.baseUrl+t.component+"/",key:t.component},s["default"].createElement(i.Link,{to:e.baseUrl+t.component+"/",onClick:e.hideNav},s["default"].createElement("span",{className:"material-icon hidden-sm"},t.icon),t.name))}))}Object.defineProperty(a,"__esModule",{value:!0}),a.SideNav=r,a.CompactNav=o;var l=e("react"),s=n(l),i=e("react-router"),u=e("../li"),c=n(u),d=e("../../index");n(d)},{"../../index":302,"../li":57,react:"react","react-router":"react-router"}],87:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return{tick:e.tick.tick,user:e.auth.user,"username-history":e["username-history"]}}function i(){var e=S["default"].get("SETTINGS").enable_sso,t=[{path:S["default"].get("USERCP_URL")+"forum-options/",component:(0,f.connect)(s)(w["default"])},{path:S["default"].get("USERCP_URL")+"edit-details/",component:(0,f.connect)(s)(_["default"])}];return e||(t.push({path:S["default"].get("USERCP_URL")+"change-username/",component:(0,f.connect)(s)(k["default"])}),t.push({path:S["default"].get("USERCP_URL")+"sign-in-credentials/",component:(0,f.connect)(s)(x["default"])})),S["default"].get("ENABLE_DOWNLOAD_OWN_DATA")&&t.push({path:S["default"].get("USERCP_URL")+"download-data/",component:(0,f.connect)(s)(y["default"])}),!e&&S["default"].get("ENABLE_DELETE_OWN_ACCOUNT")&&t.push({path:S["default"].get("USERCP_URL")+"delete-account/",component:(0,f.connect)(s)(b["default"])}),t}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.select=s,a.paths=i;var c=e("react"),d=n(c),f=e("react-redux"),p=e("../dropdown-toggle"),m=(n(p),e("./navs")),h=e("./delete-account"),b=n(h),v=e("./edit-details"),_=n(v),g=e("./download-data"),y=n(g),E=e("./forum-options"),w=n(E),O=e("./change-username/root"),k=n(O),N=e("./sign-in-credentials/root"),x=n(N),P=e("../with-dropdown"),j=n(P),C=e("../../index"),S=n(C),M=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),u(t,[{key:"render",value:function(){return d["default"].createElement("div",{className:"page page-options"},d["default"].createElement("div",{className:"page-header-bg"},d["default"].createElement("div",{className:"page-header"},d["default"].createElement("div",{className:"container"},d["default"].createElement("h1",null,gettext("Change your options"))),d["default"].createElement("div",{className:"page-tabs visible-xs-block visible-sm-block"},d["default"].createElement("div",{className:"container"},d["default"].createElement(m.CompactNav,{className:"nav nav-pills",baseUrl:S["default"].get("USERCP_URL"),options:S["default"].get("USER_OPTIONS")}))))),d["default"].createElement("div",{className:"container"},d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-md-3 hidden-xs hidden-sm"},d["default"].createElement(m.SideNav,{baseUrl:S["default"].get("USERCP_URL"),options:S["default"].get("USER_OPTIONS")})),d["default"].createElement("div",{className:"col-md-9"},this.props.children))))}}]),t}(j["default"]);a["default"]=M},{"../../index":302,"../dropdown-toggle":27,"../with-dropdown":299,"./change-username/root":81,"./delete-account":82,"./download-data":83,"./edit-details":84,"./forum-options":85,"./navs":86,"./sign-in-credentials/root":91,react:"react","react-redux":"react-redux"}],88:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0});var r=e("react"),o=n(r),l=e("../../../index"),s=n(l),i=function(){return o["default"].createElement("div",{className:"panel panel-default panel-form"},o["default"].createElement("div",{className:"panel-heading"},o["default"].createElement("h3",{className:"panel-title"},gettext("Change email or password"))),o["default"].createElement("div",{className:"panel-body panel-message-body"},o["default"].createElement("div",{className:"message-icon"},o["default"].createElement("span",{className:"material-icon"},"info_outline")),o["default"].createElement("div",{className:"message-body"},o["default"].createElement("p",{className:"lead"},gettext("You need to set a password for your account to be able to change your username or email.")),o["default"].createElement("p",{className:"help-block"},o["default"].createElement("a",{className:"btn btn-primary",href:s["default"].get("FORGOTTEN_PASSWORD_URL")},gettext("Set password"))))))};a["default"]=i},{"../../../index":302,react:"react"}],89:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../../button"),f=r(d),p=e("../../form"),m=r(p),h=e("../../form-group"),b=r(h),v=e("../../../services/ajax"),_=r(v),g=e("../../../services/snackbar"),y=r(g),E=e("../../../utils/validators"),w=n(E),O=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={new_email:"",password:"",validators:{new_email:[w.email()],password:[]},isLoading:!1},a}return s(t,e),i(t,[{key:"clean",value:function(){var e=this.validate(),t=[this.state.new_email.trim().length,this.state.password.trim().length];return t.indexOf(0)!==-1?(y["default"].error(gettext("Fill out all fields.")),!1):!e.new_email||(y["default"].error(e.new_email[0]),!1)}},{key:"send",value:function(){return _["default"].post(this.props.user.api.change_email,{new_email:this.state.new_email,password:this.state.password})}},{key:"handleSuccess",value:function(e){this.setState({new_email:"",password:""}),y["default"].success(e.detail)}},{key:"handleError",value:function(e){400===e.status?e.new_email?y["default"].error(e.new_email):y["default"].error(e.password):y["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("input",{type:"type",style:{display:"none"}}),c["default"].createElement("input",{type:"password",style:{display:"none"}}),c["default"].createElement("div",{className:"panel panel-default panel-form"},c["default"].createElement("div",{className:"panel-heading"},c["default"].createElement("h3",{className:"panel-title"},gettext("Change e-mail address"))),c["default"].createElement("div",{className:"panel-body"},c["default"].createElement(b["default"],{label:gettext("New e-mail"),"for":"id_new_email"},c["default"].createElement("input",{type:"text",id:"id_new_email",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("new_email"),value:this.state.new_email})),c["default"].createElement("hr",null),c["default"].createElement(b["default"],{label:gettext("Your current password"),"for":"id_confirm_email"},c["default"].createElement("input",{type:"password",id:"id_confirm_email",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password}))),c["default"].createElement("div",{className:"panel-footer"},c["default"].createElement(f["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Change e-mail")))))}}]),t}(m["default"]);a["default"]=O},{"../../../services/ajax":365,"../../../services/snackbar":376,"../../../utils/validators":393,"../../button":8,"../../form":56,"../../form-group":55,react:"react"}],90:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../../button"),d=n(c),f=e("../../form"),p=n(f),m=e("../../form-group"),h=n(m),b=e("../../../services/ajax"),v=n(b),_=e("../../../services/snackbar"),g=n(_),y=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={new_password:"",repeat_password:"",password:"",validators:{new_password:[],repeat_password:[],password:[]},isLoading:!1},a}return l(t,e),s(t,[{key:"clean",value:function(){var e=this.validate(),t=[this.state.new_password.trim().length,this.state.repeat_password.trim().length,this.state.password.trim().length];return t.indexOf(0)!==-1?(g["default"].error(gettext("Fill out all fields.")),!1):e.new_password?(g["default"].error(e.new_password[0]),!1):this.state.new_password===this.state.repeat_password||(g["default"].error(gettext("New passwords are different.")),!1)}},{key:"send",value:function(){return v["default"].post(this.props.user.api.change_password,{new_password:this.state.new_password,password:this.state.password})}},{key:"handleSuccess",value:function(e){this.setState({new_password:"",repeat_password:"",password:""}),g["default"].success(e.detail)}},{key:"handleError",value:function(e){400===e.status?e.new_password?g["default"].error(e.new_password):g["default"].error(e.password):g["default"].apiError(e)}},{key:"render",value:function(){return u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("input",{type:"type",style:{display:"none"}}),u["default"].createElement("input",{type:"password",style:{display:"none"}}),u["default"].createElement("div",{className:"panel panel-default panel-form"},u["default"].createElement("div",{className:"panel-heading"},u["default"].createElement("h3",{className:"panel-title"},gettext("Change password"))),u["default"].createElement("div",{className:"panel-body"},u["default"].createElement(h["default"],{label:gettext("New password"),"for":"id_new_password"},u["default"].createElement("input",{type:"password",id:"id_new_password",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("new_password"),value:this.state.new_password})),u["default"].createElement(h["default"],{label:gettext("Repeat password"),"for":"id_repeat_password"},u["default"].createElement("input",{type:"password",id:"id_repeat_password",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("repeat_password"),value:this.state.repeat_password})),u["default"].createElement("hr",null),u["default"].createElement(h["default"],{label:gettext("Your current password"),"for":"id_confirm_password"},u["default"].createElement("input",{type:"password",id:"id_confirm_password",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password}))),u["default"].createElement("div",{className:"panel-footer"},u["default"].createElement(d["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Change password")))))}}]),t}(p["default"]);a["default"]=y},{"../../../services/ajax":365,"../../../services/snackbar":376,
|
|
function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onComplete=function(e,t,n){a.setState({options:n}),M["default"].dispatch((0,w.addNameChange)({username:e,slug:t},a.props.user,a.props.user)),M["default"].dispatch((0,O.updateUsername)(a.props.user,e,t)),C["default"].success(gettext("Your username has been changed successfully."))},a.state={isLoaded:!1,options:null},a}return l(t,e),s(t,[{key:"componentDidMount",value:function(){var e=this;P["default"].set({title:gettext("Change username"),parent:gettext("Change your options")}),Promise.all([N["default"].get(this.props.user.api.username),N["default"].get(E["default"].get("USERNAME_CHANGES_API"),{user:this.props.user.id})]).then(function(t){M["default"].dispatch((0,w.hydrate)(t[1].results)),e.setState({isLoaded:!0,options:{changes_left:t[0].changes_left,length_min:t[0].length_min,length_max:t[0].length_max,next_on:t[0].next_on?(0,u["default"])(t[0].next_on):null}})})}},{key:"getChangeForm",value:function(){return this.state.isLoaded?0===this.state.options.changes_left?d["default"].createElement(h["default"],{options:this.state.options}):d["default"].createElement(v["default"],{complete:this.onComplete,options:this.state.options,user:this.props.user}):d["default"].createElement(p["default"],null)}},{key:"render",value:function(){return d["default"].createElement("div",null,this.getChangeForm(),d["default"].createElement(g["default"],{changes:this.props["username-history"],isLoaded:this.state.isLoaded}))}}]),t}(d["default"].Component);a["default"]=T},{"../../../index":302,"../../../reducers/username-history":363,"../../../reducers/users":364,"../../../services/ajax":365,"../../../services/page-title":373,"../../../services/snackbar":376,"../../../services/store":377,"../../username-history/root":280,"./form":80,"./form-loading":78,"./form-locked":79,moment:"moment",react:"react"}],82:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../button"),d=n(c),f=e("../../services/ajax"),p=n(f),m=e("../../services/page-title"),h=n(m),b=e("../../services/snackbar"),v=n(b),_=e("../../services/store"),g=(n(_),e("../..")),y=n(g),E=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onPasswordChange=function(e){a.setState({password:e.target.value})},a.handleSubmit=function(e){e.preventDefault();var t=a.state,n=t.isLoading,r=t.password,o=a.props.user;return 0==r.length?(v["default"].error(gettext("Enter your password to confirm account deletion.")),!1):!n&&(a.setState({isLoading:!0}),void p["default"].post(o.api["delete"],{password:r}).then(function(e){window.location.href=y["default"].get("MISAGO_PATH")},function(e){a.setState({isLoading:!1}),e.password?v["default"].error(e.password[0]):v["default"].apiError(e)}))},a.state={isLoading:!1,password:""},a}return l(t,e),s(t,[{key:"componentDidMount",value:function(){h["default"].set({title:gettext("Delete account"),parent:gettext("Change your options")})}},{key:"render",value:function(){return u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("div",{className:"panel panel-danger panel-form"},u["default"].createElement("div",{className:"panel-heading"},u["default"].createElement("h3",{className:"panel-title"},gettext("Delete account"))),u["default"].createElement("div",{className:"panel-body"},u["default"].createElement("p",{className:"lead"},gettext("You are going to delete your account. This action is nonreversible, and will result in following data being deleted:")),u["default"].createElement("p",null,"-"," ",gettext("Stored IP addresses associated with content that you have posted will be deleted.")),u["default"].createElement("p",null,"-"," ",gettext("Your username will become available for other user to rename to or for new user to register their account with.")),u["default"].createElement("p",null,"-"," ",gettext("Your e-mail will become available for use in new account registration.")),u["default"].createElement("hr",null),u["default"].createElement("p",null,gettext("All your posted content will NOT be deleted, but username associated with it will be changed to one shared by all deleted accounts."))),u["default"].createElement("div",{className:"panel-footer"},u["default"].createElement("div",{className:"input-group"},u["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,name:"password-confirmation",type:"password",placeholder:gettext("Enter your password to confirm account deletion."),value:this.state.password,onChange:this.onPasswordChange}),u["default"].createElement("span",{className:"input-group-btn"},u["default"].createElement(d["default"],{className:"btn-danger",loading:this.state.isLoading},gettext("Delete my account")))))))}}]),t}(u["default"].Component);a["default"]=E},{"../..":302,"../../services/ajax":365,"../../services/page-title":373,"../../services/snackbar":376,"../../services/store":377,"../button":8,react:"react"}],83:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("moment"),d=n(c),f=e("../button"),p=n(f),m=e("../../services/ajax"),h=n(m),b=e("../../services/page-title"),v=n(b),_=e("../../services/snackbar"),g=n(_),y=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.handleLoadDownloads=function(){h["default"].get(a.props.user.api.data_downloads).then(function(e){a.setState({isLoading:!1,downloads:e})},function(e){g["default"].apiError(e)})},a.handleRequestDataDownload=function(){a.setState({isSubmiting:!0}),h["default"].post(a.props.user.api.request_data_download).then(function(){a.handleLoadDownloads(),g["default"].success(gettext("Your request for data download has been registered.")),a.setState({isSubmiting:!1})},function(e){console.log(e),g["default"].apiError(e),a.setState({isSubmiting:!1})})},a.state={isLoading:!1,isSubmiting:!1,downloads:[]},a}return l(t,e),s(t,[{key:"componentDidMount",value:function(){v["default"].set({title:gettext("Download your data"),parent:gettext("Change your options")}),this.handleLoadDownloads()}},{key:"render",value:function(){return u["default"].createElement("div",null,u["default"].createElement("div",{className:"panel panel-default panel-form"},u["default"].createElement("div",{className:"panel-heading"},u["default"].createElement("h3",{className:"panel-title"},gettext("Download your data"))),u["default"].createElement("div",{className:"panel-body"},u["default"].createElement("p",null,gettext('To download your data from the site, click the "Request data download" button. Depending on amount of data to be archived and number of users wanting to download their data at same time it may take up to few days for your download to be prepared. An e-mail with notification will be sent to you when your data is ready to be downloaded.')),u["default"].createElement("p",null,gettext("The download will only be available for limited amount of time, after which it will be deleted from the site and marked as expired."))),u["default"].createElement("table",{className:"table"},u["default"].createElement("thead",null,u["default"].createElement("tr",null,u["default"].createElement("th",null,gettext("Requested on")),u["default"].createElement("th",{className:"col-md-4"},gettext("Download")))),u["default"].createElement("tbody",null,this.state.downloads.map(function(e){return u["default"].createElement("tr",{key:e.id},u["default"].createElement("td",{style:E},(0,d["default"])(e.requested_on).fromNow()),u["default"].createElement("td",null,u["default"].createElement(k,{exportFile:e.file,status:e.status})))}),0==this.state.downloads.length?u["default"].createElement("tr",null,u["default"].createElement("td",{colSpan:"2"},gettext("You have no data downloads."))):null)),u["default"].createElement("div",{className:"panel-footer text-right"},u["default"].createElement(p["default"],{className:"btn-primary",loading:this.state.isSubmiting,type:"button",onClick:this.handleRequestDataDownload},gettext("Request data download")))))}}]),t}(u["default"].Component);a["default"]=y;var E={verticalAlign:"middle"},w=0,O=1,k=function(e){var t=e.exportFile,a=e.status;return a===w||a===O?u["default"].createElement(p["default"],{className:"btn-info btn-sm btn-block",disabled:!0,type:"button"},gettext("Download is being prepared")):t?u["default"].createElement("a",{className:"btn btn-success btn-sm btn-block",href:t},gettext("Download your data")):u["default"].createElement(p["default"],{className:"btn-default btn-sm btn-block",disabled:!0,type:"button"},gettext("Download is expired"))}},{"../../services/ajax":365,"../../services/page-title":373,"../../services/snackbar":376,"../button":8,moment:"moment",react:"react"}],84:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../edit-details"),d=n(c),f=e("../../services/page-title"),p=n(f),m=e("../../services/snackbar"),h=n(m),b=function(e){function t(){var e,a,n,l;r(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onSuccess=function(){h["default"].info(gettext("Your details have been updated."))},l=a,o(n,l)}return l(t,e),s(t,[{key:"componentDidMount",value:function(){p["default"].set({title:gettext("Edit details"),parent:gettext("Change your options")})}},{key:"render",value:function(){return u["default"].createElement(d["default"],{api:this.props.user.api.edit_details,onSuccess:this.onSuccess})}}]),t}(u["default"].Component);a["default"]=b},{"../../services/page-title":373,"../../services/snackbar":376,"../edit-details":32,react:"react"}],85:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../button"),d=n(c),f=e("../form"),p=n(f),m=e("../form-group"),h=n(m),b=e("../select"),v=n(b),_=e("../yes-no-switch"),g=n(_),y=e("../../reducers/auth"),E=e("../../services/ajax"),w=n(E),O=e("../../services/page-title"),k=n(O),N=e("../../services/snackbar"),x=n(N),P=e("../../services/store"),j=n(P),C=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={isLoading:!1,is_hiding_presence:e.user.is_hiding_presence,limits_private_thread_invites_to:e.user.limits_private_thread_invites_to,subscribe_to_started_threads:e.user.subscribe_to_started_threads,subscribe_to_replied_threads:e.user.subscribe_to_replied_threads,errors:{}},a.privateThreadInvitesChoices=[{value:0,icon:"help_outline",label:gettext("Everybody")},{value:1,icon:"done_all",label:gettext("Users I follow")},{value:2,icon:"highlight_off",label:gettext("Nobody")}],a.subscribeToChoices=[{value:0,icon:"star_border",label:gettext("No")},{value:1,icon:"star_half",label:gettext("Notify")},{value:2,icon:"star",label:gettext("Notify with e-mail")}],a}return l(t,e),s(t,[{key:"send",value:function(){return w["default"].post(this.props.user.api.options,{is_hiding_presence:this.state.is_hiding_presence,limits_private_thread_invites_to:this.state.limits_private_thread_invites_to,subscribe_to_started_threads:this.state.subscribe_to_started_threads,subscribe_to_replied_threads:this.state.subscribe_to_replied_threads})}},{key:"handleSuccess",value:function(){j["default"].dispatch((0,y.patch)({is_hiding_presence:this.state.is_hiding_presence,limits_private_thread_invites_to:this.state.limits_private_thread_invites_to,subscribe_to_started_threads:this.state.subscribe_to_started_threads,subscribe_to_replied_threads:this.state.subscribe_to_replied_threads})),x["default"].success(gettext("Your forum options have been changed."))}},{key:"handleError",value:function(e){400===e.status?x["default"].error(gettext("Please reload page and try again.")):x["default"].apiError(e)}},{key:"componentDidMount",value:function(){k["default"].set({title:gettext("Forum options"),parent:gettext("Change your options")})}},{key:"render",value:function(){return u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("div",{className:"panel panel-default panel-form"},u["default"].createElement("div",{className:"panel-heading"},u["default"].createElement("h3",{className:"panel-title"},gettext("Change forum options"))),u["default"].createElement("div",{className:"panel-body"},u["default"].createElement("fieldset",null,u["default"].createElement("legend",null,gettext("Privacy settings")),u["default"].createElement(h["default"],{label:gettext("Hide my presence"),helpText:gettext("If you hide your presence, only members with permission to see hidden users will see when you are online."),"for":"id_is_hiding_presence"},u["default"].createElement(g["default"],{id:"id_is_hiding_presence",disabled:this.state.isLoading,iconOn:"visibility_off",iconOff:"visibility",labelOn:gettext("Hide my presence from other users"),labelOff:gettext("Show my presence to other users"),onChange:this.bindInput("is_hiding_presence"),value:this.state.is_hiding_presence})),u["default"].createElement(h["default"],{label:gettext("Private thread invitations"),"for":"id_limits_private_thread_invites_to"},u["default"].createElement(v["default"],{id:"id_limits_private_thread_invites_to",disabled:this.state.isLoading,onChange:this.bindInput("limits_private_thread_invites_to"),value:this.state.limits_private_thread_invites_to,choices:this.privateThreadInvitesChoices}))),u["default"].createElement("fieldset",null,u["default"].createElement("legend",null,gettext("Automatic subscriptions")),u["default"].createElement(h["default"],{label:gettext("Threads I start"),"for":"id_subscribe_to_started_threads"},u["default"].createElement(v["default"],{id:"id_subscribe_to_started_threads",disabled:this.state.isLoading,onChange:this.bindInput("subscribe_to_started_threads"),value:this.state.subscribe_to_started_threads,choices:this.subscribeToChoices})),u["default"].createElement(h["default"],{label:gettext("Threads I reply to"),"for":"id_subscribe_to_replied_threads"},u["default"].createElement(v["default"],{id:"id_subscribe_to_replied_threads",disabled:this.state.isLoading,onChange:this.bindInput("subscribe_to_replied_threads"),value:this.state.subscribe_to_replied_threads,choices:this.subscribeToChoices})))),u["default"].createElement("div",{className:"panel-footer"},u["default"].createElement(d["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Save changes")))))}}]),t}(p["default"]);a["default"]=C},{"../../reducers/auth":350,"../../services/ajax":365,"../../services/page-title":373,"../../services/snackbar":376,"../../services/store":377,"../button":8,"../form":56,"../form-group":55,"../select":210,"../yes-no-switch":300,react:"react"}],86:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return s["default"].createElement("div",{className:"list-group nav-side"},e.options.map(function(t){return s["default"].createElement(i.Link,{to:e.baseUrl+t.component+"/",className:"list-group-item",activeClassName:"active",key:t.component},s["default"].createElement("span",{className:"material-icon"},t.icon),t.name)}))}function o(e){return s["default"].createElement("ul",{className:e.className||"dropdown-menu stick-to-bottom",role:"menu"},e.options.map(function(t){return s["default"].createElement(c["default"],{path:e.baseUrl+t.component+"/",key:t.component},s["default"].createElement(i.Link,{to:e.baseUrl+t.component+"/",onClick:e.hideNav},s["default"].createElement("span",{className:"material-icon hidden-sm"},t.icon),t.name))}))}Object.defineProperty(a,"__esModule",{value:!0}),a.SideNav=r,a.CompactNav=o;var l=e("react"),s=n(l),i=e("react-router"),u=e("../li"),c=n(u),d=e("../../index");n(d)},{"../../index":302,"../li":57,react:"react","react-router":"react-router"}],87:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return{tick:e.tick.tick,user:e.auth.user,"username-history":e["username-history"]}}function i(){var e=S["default"].get("SETTINGS").enable_sso,t=[{path:S["default"].get("USERCP_URL")+"forum-options/",component:(0,f.connect)(s)(w["default"])},{path:S["default"].get("USERCP_URL")+"edit-details/",component:(0,f.connect)(s)(_["default"])}];return e||(t.push({path:S["default"].get("USERCP_URL")+"change-username/",component:(0,f.connect)(s)(k["default"])}),t.push({path:S["default"].get("USERCP_URL")+"sign-in-credentials/",component:(0,f.connect)(s)(x["default"])})),S["default"].get("ENABLE_DOWNLOAD_OWN_DATA")&&t.push({path:S["default"].get("USERCP_URL")+"download-data/",component:(0,f.connect)(s)(y["default"])}),!e&&S["default"].get("ENABLE_DELETE_OWN_ACCOUNT")&&t.push({path:S["default"].get("USERCP_URL")+"delete-account/",component:(0,f.connect)(s)(b["default"])}),t}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.select=s,a.paths=i;var c=e("react"),d=n(c),f=e("react-redux"),p=e("../dropdown-toggle"),m=(n(p),e("./navs")),h=e("./delete-account"),b=n(h),v=e("./edit-details"),_=n(v),g=e("./download-data"),y=n(g),E=e("./forum-options"),w=n(E),O=e("./change-username/root"),k=n(O),N=e("./sign-in-credentials/root"),x=n(N),P=e("../with-dropdown"),j=n(P),C=e("../../index"),S=n(C),M=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),u(t,[{key:"render",value:function(){return d["default"].createElement("div",{className:"page page-options"},d["default"].createElement("div",{className:"page-header-bg"},d["default"].createElement("div",{className:"page-header"},d["default"].createElement("div",{className:"container"},d["default"].createElement("h1",null,gettext("Change your options"))),d["default"].createElement("div",{className:"page-tabs visible-xs-block visible-sm-block"},d["default"].createElement("div",{className:"container"},d["default"].createElement(m.CompactNav,{className:"nav nav-pills",baseUrl:S["default"].get("USERCP_URL"),options:S["default"].get("USER_OPTIONS")}))))),d["default"].createElement("div",{className:"container"},d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-md-3 hidden-xs hidden-sm"},d["default"].createElement(m.SideNav,{baseUrl:S["default"].get("USERCP_URL"),options:S["default"].get("USER_OPTIONS")})),d["default"].createElement("div",{className:"col-md-9"},this.props.children))))}}]),t}(j["default"]);a["default"]=M},{"../../index":302,"../dropdown-toggle":27,"../with-dropdown":299,"./change-username/root":81,"./delete-account":82,"./download-data":83,"./edit-details":84,"./forum-options":85,"./navs":86,"./sign-in-credentials/root":91,react:"react","react-redux":"react-redux"}],88:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0});var r=e("react"),o=n(r),l=e("../../../index"),s=n(l),i=function(){return o["default"].createElement("div",{className:"panel panel-default panel-form"},o["default"].createElement("div",{className:"panel-heading"},o["default"].createElement("h3",{className:"panel-title"},gettext("Change email or password"))),o["default"].createElement("div",{className:"panel-body panel-message-body"},o["default"].createElement("div",{className:"message-icon"},o["default"].createElement("span",{className:"material-icon"},"info_outline")),o["default"].createElement("div",{className:"message-body"},o["default"].createElement("p",{className:"lead"},gettext("You need to set a password for your account to be able to change your username or email.")),o["default"].createElement("p",{className:"help-block"},o["default"].createElement("a",{className:"btn btn-primary",href:s["default"].get("FORGOTTEN_PASSWORD_URL")},gettext("Set password"))))))};a["default"]=i},{"../../../index":302,react:"react"}],89:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../../button"),f=r(d),p=e("../../form"),m=r(p),h=e("../../form-group"),b=r(h),v=e("../../../services/ajax"),_=r(v),g=e("../../../services/snackbar"),y=r(g),E=e("../../../utils/validators"),w=n(E),O=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={new_email:"",password:"",validators:{new_email:[w.email()],password:[]},isLoading:!1},a}return s(t,e),i(t,[{key:"clean",value:function(){var e=this.validate(),t=[this.state.new_email.trim().length,this.state.password.trim().length];return t.indexOf(0)!==-1?(y["default"].error(gettext("Fill out all fields.")),!1):!e.new_email||(y["default"].error(e.new_email[0]),!1)}},{key:"send",value:function(){return _["default"].post(this.props.user.api.change_email,{new_email:this.state.new_email,password:this.state.password})}},{key:"handleSuccess",value:function(e){this.setState({new_email:"",password:""}),y["default"].success(e.detail)}},{key:"handleError",value:function(e){400===e.status?e.new_email?y["default"].error(e.new_email):y["default"].error(e.password):y["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("input",{type:"type",style:{display:"none"}}),c["default"].createElement("input",{type:"password",style:{display:"none"}}),c["default"].createElement("div",{className:"panel panel-default panel-form"},c["default"].createElement("div",{className:"panel-heading"},c["default"].createElement("h3",{className:"panel-title"},gettext("Change e-mail address"))),c["default"].createElement("div",{className:"panel-body"},c["default"].createElement(b["default"],{label:gettext("New e-mail"),"for":"id_new_email"},c["default"].createElement("input",{type:"text",id:"id_new_email",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("new_email"),value:this.state.new_email})),c["default"].createElement("hr",null),c["default"].createElement(b["default"],{label:gettext("Your current password"),"for":"id_confirm_email"},c["default"].createElement("input",{type:"password",id:"id_confirm_email",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password}))),c["default"].createElement("div",{className:"panel-footer"},c["default"].createElement(f["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Change e-mail")))))}}]),t}(m["default"]);a["default"]=O},{"../../../services/ajax":365,"../../../services/snackbar":376,"../../../utils/validators":393,"../../button":8,"../../form":56,"../../form-group":55,react:"react"}],90:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../../button"),d=n(c),f=e("../../form"),p=n(f),m=e("../../form-group"),h=n(m),b=e("../../../services/ajax"),v=n(b),_=e("../../../services/snackbar"),g=n(_),y=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={new_password:"",repeat_password:"",password:"",validators:{new_password:[],repeat_password:[],password:[]},isLoading:!1},a}return l(t,e),s(t,[{key:"clean",value:function(){var e=this.validate(),t=[this.state.new_password.trim().length,this.state.repeat_password.trim().length,this.state.password.trim().length];return t.indexOf(0)!==-1?(g["default"].error(gettext("Fill out all fields.")),!1):e.new_password?(g["default"].error(e.new_password[0]),!1):this.state.new_password===this.state.repeat_password||(g["default"].error(gettext("New passwords are different.")),!1)}},{key:"send",value:function(){return v["default"].post(this.props.user.api.change_password,{new_password:this.state.new_password,password:this.state.password})}},{key:"handleSuccess",value:function(e){this.setState({new_password:"",repeat_password:"",password:""}),g["default"].success(e.detail)}},{key:"handleError",value:function(e){400===e.status?e.new_password?g["default"].error(e.new_password):g["default"].error(e.password):g["default"].apiError(e)}},{key:"render",value:function(){return u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("input",{type:"type",style:{display:"none"}}),u["default"].createElement("input",{type:"password",style:{display:"none"}}),u["default"].createElement("div",{className:"panel panel-default panel-form"},u["default"].createElement("div",{className:"panel-heading"},u["default"].createElement("h3",{className:"panel-title"},gettext("Change password"))),u["default"].createElement("div",{className:"panel-body"},u["default"].createElement(h["default"],{label:gettext("New password"),"for":"id_new_password"},u["default"].createElement("input",{type:"password",id:"id_new_password",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("new_password"),value:this.state.new_password})),u["default"].createElement(h["default"],{label:gettext("Repeat password"),"for":"id_repeat_password"},u["default"].createElement("input",{type:"password",id:"id_repeat_password",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("repeat_password"),value:this.state.repeat_password})),u["default"].createElement("hr",null),u["default"].createElement(h["default"],{label:gettext("Your current password"),"for":"id_confirm_password"},u["default"].createElement("input",{type:"password",id:"id_confirm_password",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password}))),u["default"].createElement("div",{className:"panel-footer"},u["default"].createElement(d["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Change password")))))}}]),t}(p["default"]);a["default"]=y},{"../../../services/ajax":365,"../../../services/snackbar":376,
|
|
"../../button":8,"../../form":56,"../../form-group":55,react:"react"}],91:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./change-email"),d=n(c),f=e("./change-password"),p=n(f),m=e("../../../index"),h=n(m),b=e("../../../services/page-title"),v=n(b),_=e("./UnusablePasswordMessage"),g=n(_),y=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"componentDidMount",value:function(){v["default"].set({title:gettext("Change email or password"),parent:gettext("Change your options")})}},{key:"render",value:function(){return this.props.user.has_usable_password?u["default"].createElement("div",null,u["default"].createElement(d["default"],{user:this.props.user}),u["default"].createElement(p["default"],{user:this.props.user}),u["default"].createElement("p",{className:"message-line"},u["default"].createElement("span",{className:"material-icon"},"warning"),u["default"].createElement("a",{href:h["default"].get("FORGOTTEN_PASSWORD_URL")},gettext("Change forgotten password")))):u["default"].createElement(g["default"],null)}}]),t}(u["default"].Component);a["default"]=y},{"../../../index":302,"../../../services/page-title":373,"./UnusablePasswordMessage":88,"./change-email":89,"./change-password":90,react:"react"}],92:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../utils/string-count"),d=n(c),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"getClassName",value:function(){return this.props.copy&&this.props.copy.length&&1===(0,d["default"])(this.props.copy,"<p")&&this.props.copy.indexOf("<br")===-1?"page-lead lead":"page-lead"}},{key:"render",value:function(){return this.props.copy&&this.props.copy.length?u["default"].createElement("div",{className:this.getClassName(),dangerouslySetInnerHTML:{__html:this.props.copy}}):null}}]),t}(u["default"].Component);a["default"]=f},{"../utils/string-count":392,react:"react"}],93:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./loader"),d=n(c),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"render",value:function(){return u["default"].createElement("div",{className:"panel-body panel-body-loading"},u["default"].createElement(d["default"],{className:"loader loader-spaced"}))}}]),t}(u["default"].Component);a["default"]=f},{"./loader":58,react:"react"}],94:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"getHelpText",value:function(){return this.props.helpText?u["default"].createElement("p",{className:"help-block"},this.props.helpText):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"panel-body panel-message-body"},u["default"].createElement("div",{className:"message-icon"},u["default"].createElement("span",{className:"material-icon"},this.props.icon||"info_outline")),u["default"].createElement("div",{className:"message-body"},u["default"].createElement("p",{className:"lead"},this.props.message),this.getHelpText()))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],95:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../add-participant"),d=n(c),f=e("../../services/modal"),p=n(f),m=function(e){function t(){var e,a,n,l;r(this,t);for(var s=arguments.length,i=Array(s),c=0;c<s;c++)i[c]=arguments[c];return a=n=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){p["default"].show(u["default"].createElement(d["default"],{thread:n.props.thread}))},l=a,o(n,l)}return l(t,e),s(t,[{key:"render",value:function(){return this.props.thread.acl.can_add_participants?u["default"].createElement("div",{className:"col-xs-12 col-sm-3"},u["default"].createElement("button",{className:"btn btn-default btn-block",onClick:this.onClick,type:"button"},u["default"].createElement("span",{className:"material-icon"},"person_add"),gettext("Add participant"))):null}}]),t}(u["default"].Component);a["default"]=m},{"../../services/modal":371,"../add-participant":4,react:"react"}],96:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function o(e,t){m["default"].patch(e.api.index,[{op:"remove",path:"participants",value:t.id}]).then(function(){b["default"].success(gettext("You have left this thread.")),window.setTimeout(function(){window.location=f["default"].get("PRIVATE_THREADS_URL")},3e3)},function(e){b["default"].apiError(e)})}function l(e,t){m["default"].patch(e.api.index,[{op:"remove",path:"participants",value:t.id},{op:"add",path:"acl",value:1}]).then(function(e){_["default"].dispatch((0,c.updateAcl)(e)),_["default"].dispatch(u.replace(e.participants));var a=gettext("%(user)s has been removed from this thread.");b["default"].success(interpolate(a,{user:t.username},!0))},function(e){b["default"].apiError(e)})}function s(e,t){m["default"].patch(e.api.index,[{op:"replace",path:"owner",value:t.id},{op:"add",path:"acl",value:1}]).then(function(e){_["default"].dispatch((0,c.updateAcl)(e)),_["default"].dispatch(u.replace(e.participants));var a=gettext("%(user)s has been made new thread owner.");b["default"].success(interpolate(a,{user:t.username},!0))},function(e){b["default"].apiError(e)})}Object.defineProperty(a,"__esModule",{value:!0}),a.leave=o,a.remove=l,a.changeOwner=s;var i=e("../../../reducers/participants"),u=r(i),c=e("../../../reducers/thread"),d=e("../../.."),f=n(d),p=e("../../../services/ajax"),m=n(p),h=e("../../../services/snackbar"),b=n(h),v=e("../../../services/store"),_=n(v)},{"../../..":302,"../../../reducers/participants":351,"../../../reducers/thread":360,"../../../services/ajax":365,"../../../services/snackbar":376,"../../../services/store":377}],97:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.isOwner;return t?l["default"].createElement("li",{className:"dropdown-header dropdown-header-owner"},l["default"].createElement("span",{className:"material-icon"},"start"),l["default"].createElement("span",{className:"icon-text"},gettext("Thread owner"))):null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.participant,a="btn btn-default";return t.is_owner&&(a="btn btn-primary"),a+=" btn-user btn-block",l["default"].createElement("div",{className:"col-xs-12 col-sm-3 col-md-2 participant-card"},l["default"].createElement("div",{className:"dropdown"},l["default"].createElement("button",{"aria-haspopup":"true","aria-expanded":"false",className:a,"data-toggle":"dropdown",type:"button"},l["default"].createElement(f["default"],{size:"34",user:t}),l["default"].createElement("span",{className:"btn-text"},t.username)),l["default"].createElement("ul",{className:"dropdown-menu stick-to-bottom"},l["default"].createElement(r,{isOwner:t.is_owner}),l["default"].createElement("li",{className:"dropdown-header"}),l["default"].createElement("li",null,l["default"].createElement("a",{href:t.url},gettext("See profile"))),l["default"].createElement("li",{role:"separator",className:"divider"}),l["default"].createElement(i["default"],e),l["default"].createElement(c["default"],e))))},a.UserStatus=r;var o=e("react"),l=n(o),s=e("./make-owner"),i=n(s),u=e("./remove"),c=n(u),d=e("../../avatar"),f=n(d)},{"../../avatar":6,"./make-owner":99,"./remove":100,react:"react"}],98:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.participants,a=e.thread,n=e.user,r=e.userIsOwner;return o["default"].createElement("div",{className:"participants-cards"},o["default"].createElement("div",{className:"row"},t.map(function(e){return o["default"].createElement(s["default"],{key:e.id,participant:e,thread:a,user:n,userIsOwner:r})})))};var r=e("react"),o=n(r),l=e("./card"),s=n(l)},{"./card":97,react:"react"}],99:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./actions"),d=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onClick=function(){var e=!1;if(a.isUser)e=confirm(gettext("Are you sure you want to take over this thread?"));else{var t=gettext("Are you sure you want to change thread owner to %(user)s?");e=confirm(interpolate(t,{user:a.props.participant.username},!0))}e&&(0,c.changeOwner)(a.props.thread,a.props.participant)},a.isUser=e.participant.id===e.user.id,a}return l(t,e),s(t,[{key:"render",value:function(){return this.props.participant.is_owner?null:this.props.thread.acl.can_change_owner?u["default"].createElement("li",null,u["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},gettext("Make owner"))):null}}]),t}(u["default"].Component);a["default"]=d},{"./actions":96,react:"react"}],100:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./actions"),d=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onClick=function(){var e=!1;if(a.isUser)e=confirm(gettext("Are you sure you want to leave this thread?"));else{var t=gettext("Are you sure you want to remove %(user)s from this thread?");e=confirm(interpolate(t,{user:a.props.participant.username},!0))}e&&(a.isUser?(0,c.leave)(a.props.thread,a.props.participant):(0,c.remove)(a.props.thread,a.props.participant))},a.isUser=e.participant.id===e.user.id,a}return l(t,e),s(t,[{key:"render",value:function(){var e=this.props.user.acl.can_moderate_private_threads;return this.props.userIsOwner||this.isUser||e?u["default"].createElement("li",null,u["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},this.isUser?gettext("Leave thread"):gettext("Remove"))):null}}]),t}(u["default"].Component);a["default"]=d},{"./actions":96,react:"react"}],101:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){return t[0].id===e.id}Object.defineProperty(a,"__esModule",{value:!0});var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e};a["default"]=function(e){return e.participants.length?i["default"].createElement("div",{className:"panel panel-default panel-participants"},i["default"].createElement("div",{className:"panel-body"},i["default"].createElement(f["default"],l({userIsOwner:o(e.user,e.participants)},e)),i["default"].createElement("div",{className:"row"},i["default"].createElement(c["default"],{thread:e.thread}),i["default"].createElement("div",{className:"col-xs-12 col-sm-9"},i["default"].createElement("p",null,m.getParticipantsCopy(e.participants)))))):null},a.getUserIsOwner=o;var s=e("react"),i=r(s),u=e("./add-participant"),c=r(u),d=e("./cards-list"),f=r(d),p=e("./utils"),m=n(p)},{"./add-participant":95,"./cards-list":98,"./utils":102,react:"react"}],102:[function(e,t,a){"use strict";function n(e){var t=e.length,a=ngettext("This thread has %(users)s participant.","This thread has %(users)s participants.",t);return interpolate(a,{users:t},!0)}Object.defineProperty(a,"__esModule",{value:!0}),a.getParticipantsCopy=n},{}],103:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.LABELS=a.STYLES=void 0;var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../services/zxcvbn"),d=n(c),f=a.STYLES=["progress-bar-danger","progress-bar-warning","progress-bar-warning","progress-bar-primary","progress-bar-success"],p=a.LABELS=[gettext("Entered password is very weak."),gettext("Entered password is weak."),gettext("Entered password is average."),gettext("Entered password is strong."),gettext("Entered password is very strong.")],m=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a._score=0,a._password=null,a._inputs=[],a.state={loaded:!1},a}return l(t,e),s(t,[{key:"componentDidMount",value:function(){var e=this;d["default"].load().then(function(){e.setState({loaded:!0})})}},{key:"getScore",value:function(e,t){var a=this,n=!1;return e!==this._password&&(n=!0),t.length!==this._inputs.length?n=!0:t.map(function(e,t){e.trim()!==a._inputs[t]&&(n=!0)}),n&&(this._score=d["default"].scorePassword(e,t),this._password=e,this._inputs=t.map(function(e){return e.trim()})),this._score}},{key:"render",value:function(){if(!this.state.loaded)return null;var e=this.getScore(this.props.password,this.props.inputs);return u["default"].createElement("div",{className:"help-block password-strength"},u["default"].createElement("div",{className:"progress"},u["default"].createElement("div",{className:"progress-bar "+f[e],style:{width:20+20*e+"%"},role:"progress-bar","aria-valuenow":e,"aria-valuemin":"0","aria-valuemax":"4"},u["default"].createElement("span",{className:"sr-only"},p[e]))),u["default"].createElement("p",{className:"text-small"},p[e]))}}]),t}(u["default"].Component);a["default"]=m},{"../services/zxcvbn":378,react:"react"}],104:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(){for(var e="";12!=e.length;)e=Math.random().toString(36).replace(/[^a-zA-Z0-9]+/g,"").substr(1,12);return e}Object.defineProperty(a,"__esModule",{value:!0}),a.PollChoice=void 0;var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.generateRandomHash=s;var u=e("react"),c=n(u),d=function(e){function t(){var e,a,n,l;r(this,t);for(var i=arguments.length,u=Array(i),c=0;c<i;c++)u[c]=arguments[c];return a=n=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),n.onAdd=function(){var e=n.props.choices.slice();e.push({hash:s(),label:""}),n.props.setChoices(e)},n.onChange=function(e,t){var a=n.props.choices.map(function(a){return a.hash===e&&(a.label=t),a});n.props.setChoices(a)},n.onDelete=function(e){var t=n.props.choices.filter(function(t){return t.hash!==e});n.props.setChoices(t)},l=a,o(n,l)}return l(t,e),i(t,[{key:"render",value:function(){var e=this;return c["default"].createElement("div",{className:"poll-choices-control"},c["default"].createElement("ul",{className:"list-group"},this.props.choices.map(function(t){return c["default"].createElement(f,{canDelete:e.props.choices.length>2,choice:t,disabled:e.props.disabled,key:t.hash,onChange:e.onChange,onDelete:e.onDelete})})),c["default"].createElement("button",{className:"btn btn-default btn-sm",disabled:this.props.disabled,onClick:this.onAdd,type:"button"},gettext("Add choice")))}}]),t}(c["default"].Component);a["default"]=d;var f=a.PollChoice=function(e){function t(){var e,a,n,l;r(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onChange=function(e){n.props.onChange(n.props.choice.hash,e.target.value)},n.onDelete=function(){var e=confirm(gettext("Are you sure you want to delete this choice?"));e&&n.props.onDelete(n.props.choice.hash)},l=a,o(n,l)}return l(t,e),i(t,[{key:"render",value:function(){return c["default"].createElement("li",{className:"list-group-item"},c["default"].createElement("button",{className:"btn",disabled:!this.props.canDelete||this.props.disabled,onClick:this.onDelete,title:gettext("Delete this choice"),type:"button"},c["default"].createElement("span",{className:"material-icon"},"close")),c["default"].createElement("input",{disabled:this.props.disabled,maxLength:"255",placeholder:gettext("choice label"),type:"text",onChange:this.onChange,value:this.props.choice.label}))}}]),t}(c["default"].Component)},{react:"react"}],105:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){return e.isEdit?null:d["default"].createElement("div",{className:"col-xs-12 col-sm-6"},d["default"].createElement(g["default"],{label:gettext("Make voting public"),helpText:gettext("Making voting public will allow everyone to access detailed list of votes, showing which users voted for which choices and at which times. This option can't be changed after poll's creation. Moderators may see voting details for all polls."),"for":"id_is_public"},d["default"].createElement(E["default"],{id:"id_is_public",disabled:e.disabled,iconOn:"visibility",iconOff:"visibility_off",labelOn:gettext("Votes are public"),labelOff:gettext("Votes are hidden"),onChange:e.bindInput("is_public"),value:e.value})))}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.PollPublicSwitch=i;var c=e("react"),d=r(c),f=e("./choices-control"),p=r(f),m=e("../../button"),h=r(m),b=e("../../form"),v=r(b),_=e("../../form-group"),g=r(_),y=e("../../yes-no-switch"),E=r(y),w=e("../../../reducers/poll"),O=n(w),k=e("../../../services/ajax"),N=r(k),x=e("../../../services/posting"),P=r(x),j=e("../../../services/snackbar"),C=r(j),S=e("../../../services/store"),M=r(S),T=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));a.setChoices=function(e){var t=Object.assign({},t,{choices:null});a.setState({choices:e,errors:t})},a.onCancel=function(){var e=confirm(gettext("Are you sure you want to discard poll?"));e&&P["default"].close()};var n=e.poll||{question:"",choices:[{hash:"choice-10000",label:""},{hash:"choice-20000",label:""}],length:0,allowed_choices:1,allow_revotes:0,is_public:0};return a.state={isLoading:!1,isEdit:!!n.question,question:n.question,choices:n.choices,length:n.length,allowed_choices:n.allowed_choices,allow_revotes:n.allow_revotes,is_public:n.is_public,validators:{question:[],choices:[],length:[],allowed_choices:[]},errors:{}},a}return s(t,e),u(t,[{key:"send",value:function(){var e={question:this.state.question,choices:this.state.choices,length:this.state.length,allowed_choices:this.state.allowed_choices,allow_revotes:this.state.allow_revotes,is_public:this.state.is_public};return this.state.isEdit?N["default"].put(this.props.poll.api.index,e):N["default"].post(this.props.thread.api.poll,e)}},{key:"handleSuccess",value:function(e){M["default"].dispatch(O.replace(e)),this.state.isEdit?C["default"].success(gettext("Poll has been edited.")):C["default"].success(gettext("Poll has been posted.")),P["default"].close()}},{key:"handleError",value:function(e){400===e.status?(e.non_field_errors&&(e.allowed_choices=e.non_field_errors),this.setState({errors:Object.assign({},e)}),C["default"].error(gettext("Form contains errors."))):C["default"].apiError(e)}},{key:"render",value:function(){return d["default"].createElement("div",{className:"poll-form"},d["default"].createElement("div",{className:"container"},d["default"].createElement("form",{onSubmit:this.handleSubmit},d["default"].createElement("div",{className:"panel panel-default panel-form"},d["default"].createElement("div",{className:"panel-body"},d["default"].createElement("fieldset",null,d["default"].createElement("legend",null,gettext("Question and choices")),d["default"].createElement(g["default"],{label:gettext("Poll question"),"for":"id_questions",validation:this.state.errors.question},d["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,id:"id_questions",onChange:this.bindInput("question"),type:"text",maxLength:"255",value:this.state.question})),d["default"].createElement(g["default"],{label:gettext("Available choices"),validation:this.state.errors.choices},d["default"].createElement(p["default"],{choices:this.state.choices,disabled:this.state.isLoading,setChoices:this.setChoices}))),d["default"].createElement("fieldset",null,d["default"].createElement("legend",null,gettext("Voting")),d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-xs-12 col-sm-6"},d["default"].createElement(g["default"],{label:gettext("Poll length"),helpText:gettext("Enter number of days for which voting in this poll should be possible or zero to run this poll indefinitely."),"for":"id_length",validation:this.state.errors.length},d["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,id:"id_length",onChange:this.bindInput("length"),type:"text",value:this.state.length}))),d["default"].createElement("div",{className:"col-xs-12 col-sm-6"},d["default"].createElement(g["default"],{label:gettext("Allowed choices"),"for":"id_allowed_choices",validation:this.state.errors.allowed_choices},d["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,id:"id_allowed_choices",onChange:this.bindInput("allowed_choices"),type:"text",maxLength:"255",value:this.state.allowed_choices})))),d["default"].createElement("div",{className:"row"},d["default"].createElement(i,{bindInput:this.bindInput,disabled:this.state.isLoading,isEdit:this.state.isEdit,value:this.state.is_public}),d["default"].createElement("div",{className:"col-xs-12 col-sm-6"},d["default"].createElement(g["default"],{label:gettext("Allow vote changes"),"for":"id_allow_revotes"},d["default"].createElement(E["default"],{id:"id_allow_revotes",disabled:this.state.isLoading,iconOn:"check",iconOff:"close",labelOn:gettext("Allow participants to change their vote"),labelOff:gettext("Don't allow participants to change their vote"),onChange:this.bindInput("allow_revotes"),value:this.state.allow_revotes})))))),d["default"].createElement("div",{className:"panel-footer text-right"},d["default"].createElement("button",{className:"btn btn-default",disabled:this.state.isLoading,onClick:this.onCancel,type:"button"},gettext("Cancel"))," ",d["default"].createElement(h["default"],{className:"btn-primary",loading:this.state.isLoading},this.state.isEdit?gettext("Save changes"):gettext("Post poll")))))))}}]),t}(v["default"]);a["default"]=T},{"../../../reducers/poll":352,"../../../services/ajax":365,"../../../services/posting":375,"../../../services/snackbar":376,"../../../services/store":377,"../../button":8,"../../form":56,"../../form-group":55,"../../yes-no-switch":300,"./choices-control":104,react:"react"}],106:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a.PollForm=a.Poll=void 0;var r=e("./poll"),o=n(r),l=e("./form"),s=n(l);a.Poll=o["default"],a.PollForm=s["default"]},{"./form":105,"./poll":108}],107:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=interpolate((0,m["default"])(gettext("Posted by %(poster)s %(posted_on)s.")),{poster:o(e.poll),posted_on:l(e.poll)},!0);return f["default"].createElement("li",{className:"poll-info-creation",dangerouslySetInnerHTML:{
|
|
"../../button":8,"../../form":56,"../../form-group":55,react:"react"}],91:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./change-email"),d=n(c),f=e("./change-password"),p=n(f),m=e("../../../index"),h=n(m),b=e("../../../services/page-title"),v=n(b),_=e("./UnusablePasswordMessage"),g=n(_),y=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"componentDidMount",value:function(){v["default"].set({title:gettext("Change email or password"),parent:gettext("Change your options")})}},{key:"render",value:function(){return this.props.user.has_usable_password?u["default"].createElement("div",null,u["default"].createElement(d["default"],{user:this.props.user}),u["default"].createElement(p["default"],{user:this.props.user}),u["default"].createElement("p",{className:"message-line"},u["default"].createElement("span",{className:"material-icon"},"warning"),u["default"].createElement("a",{href:h["default"].get("FORGOTTEN_PASSWORD_URL")},gettext("Change forgotten password")))):u["default"].createElement(g["default"],null)}}]),t}(u["default"].Component);a["default"]=y},{"../../../index":302,"../../../services/page-title":373,"./UnusablePasswordMessage":88,"./change-email":89,"./change-password":90,react:"react"}],92:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../utils/string-count"),d=n(c),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"getClassName",value:function(){return this.props.copy&&this.props.copy.length&&1===(0,d["default"])(this.props.copy,"<p")&&this.props.copy.indexOf("<br")===-1?"page-lead lead":"page-lead"}},{key:"render",value:function(){return this.props.copy&&this.props.copy.length?u["default"].createElement("div",{className:this.getClassName(),dangerouslySetInnerHTML:{__html:this.props.copy}}):null}}]),t}(u["default"].Component);a["default"]=f},{"../utils/string-count":392,react:"react"}],93:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./loader"),d=n(c),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"render",value:function(){return u["default"].createElement("div",{className:"panel-body panel-body-loading"},u["default"].createElement(d["default"],{className:"loader loader-spaced"}))}}]),t}(u["default"].Component);a["default"]=f},{"./loader":58,react:"react"}],94:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"getHelpText",value:function(){return this.props.helpText?u["default"].createElement("p",{className:"help-block"},this.props.helpText):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"panel-body panel-message-body"},u["default"].createElement("div",{className:"message-icon"},u["default"].createElement("span",{className:"material-icon"},this.props.icon||"info_outline")),u["default"].createElement("div",{className:"message-body"},u["default"].createElement("p",{className:"lead"},this.props.message),this.getHelpText()))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],95:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../add-participant"),d=n(c),f=e("../../services/modal"),p=n(f),m=function(e){function t(){var e,a,n,l;r(this,t);for(var s=arguments.length,i=Array(s),c=0;c<s;c++)i[c]=arguments[c];return a=n=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){p["default"].show(u["default"].createElement(d["default"],{thread:n.props.thread}))},l=a,o(n,l)}return l(t,e),s(t,[{key:"render",value:function(){return this.props.thread.acl.can_add_participants?u["default"].createElement("div",{className:"col-xs-12 col-sm-3"},u["default"].createElement("button",{className:"btn btn-default btn-block",onClick:this.onClick,type:"button"},u["default"].createElement("span",{className:"material-icon"},"person_add"),gettext("Add participant"))):null}}]),t}(u["default"].Component);a["default"]=m},{"../../services/modal":371,"../add-participant":4,react:"react"}],96:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function o(e,t){m["default"].patch(e.api.index,[{op:"remove",path:"participants",value:t.id}]).then(function(){b["default"].success(gettext("You have left this thread.")),window.setTimeout(function(){window.location=f["default"].get("PRIVATE_THREADS_URL")},3e3)},function(e){b["default"].apiError(e)})}function l(e,t){m["default"].patch(e.api.index,[{op:"remove",path:"participants",value:t.id},{op:"add",path:"acl",value:1}]).then(function(e){_["default"].dispatch((0,c.updateAcl)(e)),_["default"].dispatch(u.replace(e.participants));var a=gettext("%(user)s has been removed from this thread.");b["default"].success(interpolate(a,{user:t.username},!0))},function(e){b["default"].apiError(e)})}function s(e,t){m["default"].patch(e.api.index,[{op:"replace",path:"owner",value:t.id},{op:"add",path:"acl",value:1}]).then(function(e){_["default"].dispatch((0,c.updateAcl)(e)),_["default"].dispatch(u.replace(e.participants));var a=gettext("%(user)s has been made new thread owner.");b["default"].success(interpolate(a,{user:t.username},!0))},function(e){b["default"].apiError(e)})}Object.defineProperty(a,"__esModule",{value:!0}),a.leave=o,a.remove=l,a.changeOwner=s;var i=e("../../../reducers/participants"),u=r(i),c=e("../../../reducers/thread"),d=e("../../.."),f=n(d),p=e("../../../services/ajax"),m=n(p),h=e("../../../services/snackbar"),b=n(h),v=e("../../../services/store"),_=n(v)},{"../../..":302,"../../../reducers/participants":351,"../../../reducers/thread":360,"../../../services/ajax":365,"../../../services/snackbar":376,"../../../services/store":377}],97:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.isOwner;return t?l["default"].createElement("li",{className:"dropdown-header dropdown-header-owner"},l["default"].createElement("span",{className:"material-icon"},"start"),l["default"].createElement("span",{className:"icon-text"},gettext("Thread owner"))):null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.participant,a="btn btn-default";return t.is_owner&&(a="btn btn-primary"),a+=" btn-user btn-block",l["default"].createElement("div",{className:"col-xs-12 col-sm-3 col-md-2 participant-card"},l["default"].createElement("div",{className:"dropdown"},l["default"].createElement("button",{"aria-haspopup":"true","aria-expanded":"false",className:a,"data-toggle":"dropdown",type:"button"},l["default"].createElement(f["default"],{size:"34",user:t}),l["default"].createElement("span",{className:"btn-text"},t.username)),l["default"].createElement("ul",{className:"dropdown-menu stick-to-bottom"},l["default"].createElement(r,{isOwner:t.is_owner}),l["default"].createElement("li",{className:"dropdown-header"}),l["default"].createElement("li",null,l["default"].createElement("a",{href:t.url},gettext("See profile"))),l["default"].createElement("li",{role:"separator",className:"divider"}),l["default"].createElement(i["default"],e),l["default"].createElement(c["default"],e))))},a.UserStatus=r;var o=e("react"),l=n(o),s=e("./make-owner"),i=n(s),u=e("./remove"),c=n(u),d=e("../../avatar"),f=n(d)},{"../../avatar":6,"./make-owner":99,"./remove":100,react:"react"}],98:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.participants,a=e.thread,n=e.user,r=e.userIsOwner;return o["default"].createElement("div",{className:"participants-cards"},o["default"].createElement("div",{className:"row"},t.map(function(e){return o["default"].createElement(s["default"],{key:e.id,participant:e,thread:a,user:n,userIsOwner:r})})))};var r=e("react"),o=n(r),l=e("./card"),s=n(l)},{"./card":97,react:"react"}],99:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./actions"),d=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onClick=function(){var e=!1;if(a.isUser)e=confirm(gettext("Are you sure you want to take over this thread?"));else{var t=gettext("Are you sure you want to change thread owner to %(user)s?");e=confirm(interpolate(t,{user:a.props.participant.username},!0))}e&&(0,c.changeOwner)(a.props.thread,a.props.participant)},a.isUser=e.participant.id===e.user.id,a}return l(t,e),s(t,[{key:"render",value:function(){return this.props.participant.is_owner?null:this.props.thread.acl.can_change_owner?u["default"].createElement("li",null,u["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},gettext("Make owner"))):null}}]),t}(u["default"].Component);a["default"]=d},{"./actions":96,react:"react"}],100:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./actions"),d=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onClick=function(){var e=!1;if(a.isUser)e=confirm(gettext("Are you sure you want to leave this thread?"));else{var t=gettext("Are you sure you want to remove %(user)s from this thread?");e=confirm(interpolate(t,{user:a.props.participant.username},!0))}e&&(a.isUser?(0,c.leave)(a.props.thread,a.props.participant):(0,c.remove)(a.props.thread,a.props.participant))},a.isUser=e.participant.id===e.user.id,a}return l(t,e),s(t,[{key:"render",value:function(){var e=this.props.user.acl.can_moderate_private_threads;return this.props.userIsOwner||this.isUser||e?u["default"].createElement("li",null,u["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},this.isUser?gettext("Leave thread"):gettext("Remove"))):null}}]),t}(u["default"].Component);a["default"]=d},{"./actions":96,react:"react"}],101:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){return t[0].id===e.id}Object.defineProperty(a,"__esModule",{value:!0});var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e};a["default"]=function(e){return e.participants.length?i["default"].createElement("div",{className:"panel panel-default panel-participants"},i["default"].createElement("div",{className:"panel-body"},i["default"].createElement(f["default"],l({userIsOwner:o(e.user,e.participants)},e)),i["default"].createElement("div",{className:"row"},i["default"].createElement(c["default"],{thread:e.thread}),i["default"].createElement("div",{className:"col-xs-12 col-sm-9"},i["default"].createElement("p",null,m.getParticipantsCopy(e.participants)))))):null},a.getUserIsOwner=o;var s=e("react"),i=r(s),u=e("./add-participant"),c=r(u),d=e("./cards-list"),f=r(d),p=e("./utils"),m=n(p)},{"./add-participant":95,"./cards-list":98,"./utils":102,react:"react"}],102:[function(e,t,a){"use strict";function n(e){var t=e.length,a=ngettext("This thread has %(users)s participant.","This thread has %(users)s participants.",t);return interpolate(a,{users:t},!0)}Object.defineProperty(a,"__esModule",{value:!0}),a.getParticipantsCopy=n},{}],103:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.LABELS=a.STYLES=void 0;var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../services/zxcvbn"),d=n(c),f=a.STYLES=["progress-bar-danger","progress-bar-warning","progress-bar-warning","progress-bar-primary","progress-bar-success"],p=a.LABELS=[gettext("Entered password is very weak."),gettext("Entered password is weak."),gettext("Entered password is average."),gettext("Entered password is strong."),gettext("Entered password is very strong.")],m=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a._score=0,a._password=null,a._inputs=[],a.state={loaded:!1},a}return l(t,e),s(t,[{key:"componentDidMount",value:function(){var e=this;d["default"].load().then(function(){e.setState({loaded:!0})})}},{key:"getScore",value:function(e,t){var a=this,n=!1;return e!==this._password&&(n=!0),t.length!==this._inputs.length?n=!0:t.map(function(e,t){e.trim()!==a._inputs[t]&&(n=!0)}),n&&(this._score=d["default"].scorePassword(e,t),this._password=e,this._inputs=t.map(function(e){return e.trim()})),this._score}},{key:"render",value:function(){if(!this.state.loaded)return null;var e=this.getScore(this.props.password,this.props.inputs);return u["default"].createElement("div",{className:"help-block password-strength"},u["default"].createElement("div",{className:"progress"},u["default"].createElement("div",{className:"progress-bar "+f[e],style:{width:20+20*e+"%"},role:"progress-bar","aria-valuenow":e,"aria-valuemin":"0","aria-valuemax":"4"},u["default"].createElement("span",{className:"sr-only"},p[e]))),u["default"].createElement("p",{className:"text-small"},p[e]))}}]),t}(u["default"].Component);a["default"]=m},{"../services/zxcvbn":378,react:"react"}],104:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(){for(var e="";12!=e.length;)e=Math.random().toString(36).replace(/[^a-zA-Z0-9]+/g,"").substr(1,12);return e}Object.defineProperty(a,"__esModule",{value:!0}),a.PollChoice=void 0;var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.generateRandomHash=s;var u=e("react"),c=n(u),d=function(e){function t(){var e,a,n,l;r(this,t);for(var i=arguments.length,u=Array(i),c=0;c<i;c++)u[c]=arguments[c];return a=n=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),n.onAdd=function(){var e=n.props.choices.slice();e.push({hash:s(),label:""}),n.props.setChoices(e)},n.onChange=function(e,t){var a=n.props.choices.map(function(a){return a.hash===e&&(a.label=t),a});n.props.setChoices(a)},n.onDelete=function(e){var t=n.props.choices.filter(function(t){return t.hash!==e});n.props.setChoices(t)},l=a,o(n,l)}return l(t,e),i(t,[{key:"render",value:function(){var e=this;return c["default"].createElement("div",{className:"poll-choices-control"},c["default"].createElement("ul",{className:"list-group"},this.props.choices.map(function(t){return c["default"].createElement(f,{canDelete:e.props.choices.length>2,choice:t,disabled:e.props.disabled,key:t.hash,onChange:e.onChange,onDelete:e.onDelete})})),c["default"].createElement("button",{className:"btn btn-default btn-sm",disabled:this.props.disabled,onClick:this.onAdd,type:"button"},gettext("Add choice")))}}]),t}(c["default"].Component);a["default"]=d;var f=a.PollChoice=function(e){function t(){var e,a,n,l;r(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onChange=function(e){n.props.onChange(n.props.choice.hash,e.target.value)},n.onDelete=function(){var e=confirm(gettext("Are you sure you want to delete this choice?"));e&&n.props.onDelete(n.props.choice.hash)},l=a,o(n,l)}return l(t,e),i(t,[{key:"render",value:function(){return c["default"].createElement("li",{className:"list-group-item"},c["default"].createElement("button",{className:"btn",disabled:!this.props.canDelete||this.props.disabled,onClick:this.onDelete,title:gettext("Delete this choice"),type:"button"},c["default"].createElement("span",{className:"material-icon"},"close")),c["default"].createElement("input",{disabled:this.props.disabled,maxLength:"255",placeholder:gettext("choice label"),type:"text",onChange:this.onChange,value:this.props.choice.label}))}}]),t}(c["default"].Component)},{react:"react"}],105:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){return e.isEdit?null:d["default"].createElement("div",{className:"col-xs-12 col-sm-6"},d["default"].createElement(g["default"],{label:gettext("Make voting public"),helpText:gettext("Making voting public will allow everyone to access detailed list of votes, showing which users voted for which choices and at which times. This option can't be changed after poll's creation. Moderators may see voting details for all polls."),"for":"id_is_public"},d["default"].createElement(E["default"],{id:"id_is_public",disabled:e.disabled,iconOn:"visibility",iconOff:"visibility_off",labelOn:gettext("Votes are public"),labelOff:gettext("Votes are hidden"),onChange:e.bindInput("is_public"),value:e.value})))}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.PollPublicSwitch=i;var c=e("react"),d=r(c),f=e("./choices-control"),p=r(f),m=e("../../button"),h=r(m),b=e("../../form"),v=r(b),_=e("../../form-group"),g=r(_),y=e("../../yes-no-switch"),E=r(y),w=e("../../../reducers/poll"),O=n(w),k=e("../../../services/ajax"),N=r(k),x=e("../../../services/posting"),P=r(x),j=e("../../../services/snackbar"),C=r(j),S=e("../../../services/store"),M=r(S),T=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));a.setChoices=function(e){var t=Object.assign({},t,{choices:null});a.setState({choices:e,errors:t})},a.onCancel=function(){var e=confirm(gettext("Are you sure you want to discard poll?"));e&&P["default"].close()};var n=e.poll||{question:"",choices:[{hash:"choice-10000",label:""},{hash:"choice-20000",label:""}],length:0,allowed_choices:1,allow_revotes:0,is_public:0};return a.state={isLoading:!1,isEdit:!!n.question,question:n.question,choices:n.choices,length:n.length,allowed_choices:n.allowed_choices,allow_revotes:n.allow_revotes,is_public:n.is_public,validators:{question:[],choices:[],length:[],allowed_choices:[]},errors:{}},a}return s(t,e),u(t,[{key:"send",value:function(){var e={question:this.state.question,choices:this.state.choices,length:this.state.length,allowed_choices:this.state.allowed_choices,allow_revotes:this.state.allow_revotes,is_public:this.state.is_public};return this.state.isEdit?N["default"].put(this.props.poll.api.index,e):N["default"].post(this.props.thread.api.poll,e)}},{key:"handleSuccess",value:function(e){M["default"].dispatch(O.replace(e)),this.state.isEdit?C["default"].success(gettext("Poll has been edited.")):C["default"].success(gettext("Poll has been posted.")),P["default"].close()}},{key:"handleError",value:function(e){400===e.status?(e.non_field_errors&&(e.allowed_choices=e.non_field_errors),this.setState({errors:Object.assign({},e)}),C["default"].error(gettext("Form contains errors."))):C["default"].apiError(e)}},{key:"render",value:function(){return d["default"].createElement("div",{className:"poll-form"},d["default"].createElement("div",{className:"container"},d["default"].createElement("form",{onSubmit:this.handleSubmit},d["default"].createElement("div",{className:"panel panel-default panel-form"},d["default"].createElement("div",{className:"panel-body"},d["default"].createElement("fieldset",null,d["default"].createElement("legend",null,gettext("Question and choices")),d["default"].createElement(g["default"],{label:gettext("Poll question"),"for":"id_questions",validation:this.state.errors.question},d["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,id:"id_questions",onChange:this.bindInput("question"),type:"text",maxLength:"255",value:this.state.question})),d["default"].createElement(g["default"],{label:gettext("Available choices"),validation:this.state.errors.choices},d["default"].createElement(p["default"],{choices:this.state.choices,disabled:this.state.isLoading,setChoices:this.setChoices}))),d["default"].createElement("fieldset",null,d["default"].createElement("legend",null,gettext("Voting")),d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-xs-12 col-sm-6"},d["default"].createElement(g["default"],{label:gettext("Poll length"),helpText:gettext("Enter number of days for which voting in this poll should be possible or zero to run this poll indefinitely."),"for":"id_length",validation:this.state.errors.length},d["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,id:"id_length",onChange:this.bindInput("length"),type:"text",value:this.state.length}))),d["default"].createElement("div",{className:"col-xs-12 col-sm-6"},d["default"].createElement(g["default"],{label:gettext("Allowed choices"),"for":"id_allowed_choices",validation:this.state.errors.allowed_choices},d["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,id:"id_allowed_choices",onChange:this.bindInput("allowed_choices"),type:"text",maxLength:"255",value:this.state.allowed_choices})))),d["default"].createElement("div",{className:"row"},d["default"].createElement(i,{bindInput:this.bindInput,disabled:this.state.isLoading,isEdit:this.state.isEdit,value:this.state.is_public}),d["default"].createElement("div",{className:"col-xs-12 col-sm-6"},d["default"].createElement(g["default"],{label:gettext("Allow vote changes"),"for":"id_allow_revotes"},d["default"].createElement(E["default"],{id:"id_allow_revotes",disabled:this.state.isLoading,iconOn:"check",iconOff:"close",labelOn:gettext("Allow participants to change their vote"),labelOff:gettext("Don't allow participants to change their vote"),onChange:this.bindInput("allow_revotes"),value:this.state.allow_revotes})))))),d["default"].createElement("div",{className:"panel-footer text-right"},d["default"].createElement("button",{className:"btn btn-default",disabled:this.state.isLoading,onClick:this.onCancel,type:"button"},gettext("Cancel"))," ",d["default"].createElement(h["default"],{className:"btn-primary",loading:this.state.isLoading},this.state.isEdit?gettext("Save changes"):gettext("Post poll")))))))}}]),t}(v["default"]);a["default"]=T},{"../../../reducers/poll":352,"../../../services/ajax":365,"../../../services/posting":375,"../../../services/snackbar":376,"../../../services/store":377,"../../button":8,"../../form":56,"../../form-group":55,"../../yes-no-switch":300,"./choices-control":104,react:"react"}],106:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a.PollForm=a.Poll=void 0;var r=e("./poll"),o=n(r),l=e("./form"),s=n(l);a.Poll=o["default"],a.PollForm=s["default"]},{"./form":105,"./poll":108}],107:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=interpolate((0,m["default"])(gettext("Posted by %(poster)s %(posted_on)s.")),{poster:o(e.poll),posted_on:l(e.poll)},!0);return f["default"].createElement("li",{className:"poll-info-creation",dangerouslySetInnerHTML:{
|
|
-__html:t}})}function o(e){return e.url.poster?interpolate(v,{url:(0,m["default"])(e.url.poster),user:(0,m["default"])(e.poster_name)},!0):interpolate(b,{user:(0,m["default"])(e.poster_name)},!0)}function l(e){return interpolate(h,{absolute:(0,m["default"])(e.posted_on.format("LLL")),relative:(0,m["default"])(e.posted_on.fromNow())},!0)}function s(e){if(!e.poll.length)return null;var t=interpolate((0,m["default"])(gettext("Voting ends %(ends_on)s.")),{ends_on:i(e.poll)},!0);return f["default"].createElement("li",{className:"poll-info-ends-on",dangerouslySetInnerHTML:{__html:t}})}function i(e){return interpolate(h,{absolute:(0,m["default"])(e.endsOn.format("LLL")),relative:(0,m["default"])(e.endsOn.fromNow())},!0)}function u(e){var t=ngettext("%(votes)s vote.","%(votes)s votes.",e.votes),a=interpolate(t,{votes:e.votes},!0);return f["default"].createElement("li",{className:"poll-info-votes"},a)}function c(e){return e.poll.is_public?f["default"].createElement("li",{className:"poll-info-public"},gettext("Votes are public.")):null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return f["default"].createElement("ul",{className:"list-unstyled list-inline poll-details"},f["default"].createElement(u,{votes:e.poll.votes}),f["default"].createElement(s,{poll:e.poll}),f["default"].createElement(c,{poll:e.poll}),f["default"].createElement(r,{poll:e.poll}))},a.PollCreation=r,a.getPoster=o,a.getPostedOn=l,a.PollLength=s,a.getEndsOn=i,a.PollVotes=u,a.PollIsPublic=c;var d=e("react"),f=n(d),p=e("../../utils/escape-html"),m=n(p),h='<abbr title="%(absolute)s">%(relative)s</abbr>',b='<span class="item-title">%(user)s</span>',v='<a href="%(url)s" class="item-title">%(user)s</a>'},{"../../utils/escape-html":383,react:"react"}],108:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return!!e.length&&(0,p["default"])().isAfter(e.endsOn)}Object.defineProperty(a,"__esModule",{value:!0});var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.getIsPollOver=s;var c=e("react"),d=n(c),f=e("moment"),p=n(f),m=e("./results"),h=n(m),b=e("./voting"),v=n(b),_=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));a.showResults=function(){a.setState({showResults:!0})},a.showVoting=function(){a.setState({showResults:!1})};var n=!0;return e.user.id&&!e.poll.hasSelectedChoices&&(n=!1),a.state={showResults:n},a}return l(t,e),u(t,[{key:"render",value:function(){if(!this.props.thread.poll)return null;var e=s(this.props.poll);return e||!this.props.poll.acl.can_vote||this.state.showResults?d["default"].createElement(h["default"],i({isPollOver:e,showVoting:this.showVoting},this.props)):d["default"].createElement(v["default"],i({showResults:this.showResults},this.props))}}]),t}(d["default"].Component);a["default"]=_},{"./results":110,"./voting":114,moment:"moment",react:"react"}],109:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=0;return e.choice.votes&&e.poll.votes&&(t=Math.ceil(100*e.choice.votes/e.poll.votes)),u["default"].createElement("dl",{className:"dl-horizontal"},u["default"].createElement("dt",null,e.choice.label),u["default"].createElement("dd",null,u["default"].createElement("div",{className:"progress"},u["default"].createElement("div",{className:"progress-bar",role:"progressbar","aria-valuenow":t,"aria-valuemin":"0","aria-valuemax":"100",style:{width:t+"%"}},u["default"].createElement("span",{className:"sr-only"},l(e.votes,e.proc)))),u["default"].createElement("ul",{className:"list-unstyled list-inline poll-chart"},u["default"].createElement(o,{proc:t,votes:e.choice.votes}),u["default"].createElement(s,{selected:e.choice.selected}))))}function o(e){return u["default"].createElement("li",{className:"poll-chart-votes"},l(e.votes,e.proc))}function l(e,t){var a=ngettext("%(votes)s vote, %(proc)s% of total.","%(votes)s votes, %(proc)s% of total.",e);return interpolate(a,{votes:e,proc:t},!0)}function s(e){return e.selected?u["default"].createElement("li",{className:"poll-chart-selected"},u["default"].createElement("span",{className:"material-icon"},"check_box"),gettext("Your choice.")):null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return u["default"].createElement("div",{className:"poll-choices-bars"},e.poll.choices.map(function(t){return u["default"].createElement(r,{choice:t,key:t.hash,poll:e.poll})}))},a.PollChoice=r,a.ChoiceVotes=o,a.getVotesLabel=l,a.UserChoice=s;var i=e("react"),u=n(i)},{react:"react"}],110:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("div",{className:"panel panel-default panel-poll"},o["default"].createElement("div",{className:"panel-body"},o["default"].createElement("h2",null,e.poll.question),o["default"].createElement(d["default"],{poll:e.poll}),o["default"].createElement(s["default"],{poll:e.poll}),o["default"].createElement(u["default"],{isPollOver:e.isPollOver,poll:e.poll,showVoting:e.showVoting,thread:e.thread})))};var r=e("react"),o=n(r),l=e("./chart"),s=n(l),i=e("./options"),u=n(i),c=e("../info"),d=n(c)},{"../info":107,"./chart":109,"./options":112,react:"react"}],111:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return e.isLoading?v["default"].createElement(O["default"],null):e.error?v["default"].createElement(E["default"],{icon:"error_outline",message:e.error}):v["default"].createElement(i,{data:e.data})}function i(e){return v["default"].createElement("div",{className:"modal-body modal-poll-votes"},v["default"].createElement("ul",{className:"list-unstyled votes-details"},e.data.map(function(e){return v["default"].createElement(u,m({key:e.hash},e))})))}function u(e){return v["default"].createElement("li",null,v["default"].createElement("h4",null,e.label),v["default"].createElement(c,{votes:e.votes}),v["default"].createElement(d,{voters:e.voters}),v["default"].createElement("hr",null))}function c(e){var t=ngettext("%(votes)s user has voted for this choice.","%(votes)s users have voted for this choice.",e.votes),a=interpolate(t,{votes:e.votes},!0);return v["default"].createElement("p",null,a)}function d(e){return e.voters.length?v["default"].createElement("ul",{className:"list-unstyled"},e.voters.map(function(e){return v["default"].createElement(f,m({key:e.username},e))})):null}function f(e){return e.url?v["default"].createElement("li",null,v["default"].createElement("a",{className:"item-title",href:e.url},e.username)," ",v["default"].createElement(p,{voted_on:e.voted_on})):v["default"].createElement("li",null,v["default"].createElement("strong",null,e.username)," ",v["default"].createElement(p,{voted_on:e.voted_on}))}function p(e){return v["default"].createElement("abbr",{className:"text-muted",title:e.voted_on.format("LLL")},e.voted_on.fromNow())}Object.defineProperty(a,"__esModule",{value:!0});var m=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},h=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.ModalBody=s,a.ChoicesList=i,a.ChoiceDetails=u,a.VotesCount=c,a.VotesList=d,a.Voter=f,a.VoteDate=p;var b=e("react"),v=n(b),_=e("moment"),g=n(_),y=e("../../modal-message"),E=n(y),w=e("../../modal-loader"),O=n(w),k=e("../../../services/ajax"),N=n(k),x=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={isLoading:!0,error:null,data:[]},a}return l(t,e),h(t,[{key:"componentDidMount",value:function(){var e=this;N["default"].get(this.props.poll.api.votes).then(function(t){var a=t.map(function(e){return Object.assign({},e,{voters:e.voters.map(function(e){return Object.assign({},e,{voted_on:(0,g["default"])(e.voted_on)})})})});e.setState({isLoading:!1,data:a})},function(t){e.setState({isLoading:!1,error:t.detail})})}},{key:"render",value:function(){return v["default"].createElement("div",{className:"modal-dialog"+(this.state.error?" modal-message":" modal-sm"),role:"document"},v["default"].createElement("div",{className:"modal-content"},v["default"].createElement("div",{className:"modal-header"},v["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},v["default"].createElement("span",{"aria-hidden":"true"},"×")),v["default"].createElement("h4",{className:"modal-title"},gettext("Poll votes"))),v["default"].createElement(s,{data:this.state.data,error:this.state.error,isLoading:this.state.isLoading})))}}]),t}(v["default"].Component);a["default"]=x},{"../../../services/ajax":365,"../../modal-loader":61,"../../modal-message":62,moment:"moment",react:"react"}],112:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e,t,a){return a.is_public||t.can_delete||t.can_edit||t.can_see_votes||t.can_vote&&!e&&(!a.hasSelectedChoices||a.allow_revotes)}function u(e,t){var a="col-xs-6";return 1===e.length&&(a="col-xs-12"),3===e.length&&e[0]===t&&(a="col-xs-12"),a+" col-sm-3 col-md-2"}function c(e){var t=e.poll.acl.can_vote,a=!e.poll.hasSelectedChoices||e.poll.allow_revotes;return t&&a?p["default"].createElement("div",{className:u(e.controls,0)},p["default"].createElement("button",{className:"btn btn-default btn-block btn-sm",disabled:e.poll.isBusy,onClick:e.showVoting,type:"button"},gettext("Vote"))):null}Object.defineProperty(a,"__esModule",{value:!0}),a.Delete=a.Edit=a.SeeVotes=void 0;var d=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a["default"]=function(e){var t=e.isPollOver,a=e.poll,n=e.showVoting,r=e.thread;if(!i(t,a.acl,a))return null;var o=[],l=a.acl.can_vote,s=!a.hasSelectedChoices||a.allow_revotes;return l&&s&&o.push(0),(a.is_public||a.acl.can_see_votes)&&o.push(1),a.acl.can_edit&&o.push(2),a.acl.can_delete&&o.push(3),p["default"].createElement("div",{className:"row poll-options"},p["default"].createElement(c,{controls:o,isPollOver:t,poll:a,showVoting:n}),p["default"].createElement(S,{controls:o,poll:a}),p["default"].createElement(M,{controls:o,poll:a,thread:r}),p["default"].createElement(T,{controls:o,poll:a}))},a.isVisible=i,a.getClassName=u,a.ChangeVote=c;var f=e("react"),p=r(f),m=e("./modal"),h=r(m),b=e("../../../reducers/poll"),v=n(b),_=e("../../../reducers/thread"),g=n(_),y=e("../../../services/ajax"),E=r(y),w=e("../../../services/modal"),O=r(w),k=e("../../../services/posting"),N=r(k),x=e("../../../services/snackbar"),P=r(x),j=e("../../../services/store"),C=r(j),S=a.SeeVotes=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){O["default"].show(p["default"].createElement(h["default"],{poll:n.props.poll}))},r=a,l(n,r)}return s(t,e),d(t,[{key:"render",value:function(){var e=this.props.poll.is_public||this.props.poll.acl.can_see_votes;return e?p["default"].createElement("div",{className:u(this.props.controls,1)},p["default"].createElement("button",{className:"btn btn-default btn-block btn-sm",disabled:this.props.poll.isBusy,onClick:this.onClick,type:"button"},gettext("See votes"))):null}}]),t}(p["default"].Component),M=a.Edit=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){N["default"].open({submit:n.props.poll.api.index,thread:n.props.thread,poll:n.props.poll,mode:"POLL"})},r=a,l(n,r)}return s(t,e),d(t,[{key:"render",value:function(){return this.props.poll.acl.can_edit?p["default"].createElement("div",{className:u(this.props.controls,2)},p["default"].createElement("button",{className:"btn btn-default btn-block btn-sm",disabled:this.props.poll.isBusy,onClick:this.onClick,type:"button"},gettext("Edit"))):null}}]),t}(p["default"].Component),T=a.Delete=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){var e=confirm(gettext("Are you sure you want to delete this poll? This action is not reversible."));return!!e&&(C["default"].dispatch(v.busy()),void E["default"]["delete"](n.props.poll.api.index).then(n.handleSuccess,n.handleError))},n.handleSuccess=function(e){P["default"].success("Poll has been deleted"),C["default"].dispatch(v.remove()),C["default"].dispatch(g.updateAcl(e))},n.handleError=function(e){P["default"].apiError(e),C["default"].dispatch(v.release())},r=a,l(n,r)}return s(t,e),d(t,[{key:"render",value:function(){return this.props.poll.acl.can_delete?p["default"].createElement("div",{className:u(this.props.controls,3)},p["default"].createElement("button",{className:"btn btn-default btn-block btn-sm",disabled:this.props.poll.isBusy,onClick:this.onClick,type:"button"},gettext("Delete"))):null}}]),t}(p["default"].Component)},{"../../../reducers/poll":352,"../../../reducers/thread":360,"../../../services/ajax":365,"../../../services/modal":371,"../../../services/posting":375,"../../../services/snackbar":376,"../../../services/store":377,"./modal":111,react:"react"}],113:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.choicesLeft;if(0===t)return s["default"].createElement("li",{className:"poll-help-choices-left"},gettext("You can't select any more choices."));var a=ngettext("You can select %(choices)s more choice.","You can select %(choices)s more choices.",t),n=interpolate(a,{choices:t},!0);return s["default"].createElement("li",{className:"poll-help-choices-left"},n)}function o(e){return e.poll.allow_revotes?s["default"].createElement("li",{className:"poll-help-allow-revotes"},gettext("You can change your vote later.")):s["default"].createElement("li",{className:"poll-help-no-revotes"},gettext("Votes are final."))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return s["default"].createElement("ul",{className:"list-unstyled list-inline poll-help"},s["default"].createElement(r,{choicesLeft:e.choicesLeft}),s["default"].createElement(o,{poll:e.poll}))},a.PollChoicesLeft=r,a.PollAllowRevote=o;var l=e("react"),s=n(l),i=e("../../../utils/escape-html");n(i)},{"../../../utils/escape-html":383,react:"react"}],114:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("./help"),f=r(d),p=e("./select"),m=r(p),h=e("./utils"),b=e("../info"),v=r(b),_=e("../results/options"),g=e("../../button"),y=r(g),E=e("../../form"),w=r(E),O=e("../../../reducers/poll"),k=n(O),N=e("../../../services/ajax"),x=r(N),P=e("../../../services/snackbar"),j=r(P),C=e("../../../services/store"),S=r(C),M=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.toggleChoice=function(e){var t=(0,h.getChoiceFromHash)(a.state.choices,e),n=null;n=t.selected?a.deselectChoice(t,e):a.selectChoice(t,e),a.setState({choices:n,choicesLeft:(0,h.getChoicesLeft)(a.props.poll,n)})},a.selectChoice=function(e,t){var n=(0,h.getChoicesLeft)(a.props.poll,a.state.choices);if(!n)for(var r in a.state.choices.slice()){var o=a.state.choices[r];if(o.selected&&o.hash!=t){o.selected=!1;break}}return a.state.choices.map(function(e){return Object.assign({},e,{selected:e.hash==t||e.selected})})},a.deselectChoice=function(e,t){return a.state.choices.map(function(e){return Object.assign({},e,{selected:e.hash!=t&&e.selected})})},a.state={isLoading:!1,choices:e.poll.choices,choicesLeft:(0,h.getChoicesLeft)(e.poll,e.poll.choices)},a}return s(t,e),i(t,[{key:"clean",value:function(){return this.state.choicesLeft!==this.props.poll.allowed_choices||(j["default"].error(gettext("You need to select at least one choice")),!1)}},{key:"send",value:function(){var e=[];for(var t in this.state.choices.slice()){var a=this.state.choices[t];a.selected&&e.push(a.hash)}return x["default"].post(this.props.poll.api.votes,e)}},{key:"handleSuccess",value:function(e){S["default"].dispatch(k.replace(e)),j["default"].success(gettext("Your vote has been saved.")),this.props.showResults()}},{key:"handleError",value:function(e){400===e.status?j["default"].error(e.detail):j["default"].apiError(e)}},{key:"render",value:function(){var e=[];return this.props.poll.acl.can_vote&&e.push(0),(this.props.poll.is_public||this.props.poll.acl.can_see_votes)&&e.push(1),this.props.poll.acl.can_edit&&e.push(2),this.props.poll.acl.can_delete&&e.push(3),c["default"].createElement("div",{className:"panel panel-default panel-poll"},c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"panel-body"},c["default"].createElement("h2",null,this.props.poll.question),c["default"].createElement(v["default"],{poll:this.props.poll}),c["default"].createElement(m["default"],{choices:this.state.choices,toggleChoice:this.toggleChoice}),c["default"].createElement(f["default"],{choicesLeft:this.state.choicesLeft,poll:this.props.poll})),c["default"].createElement("div",{className:"panel-footer"},c["default"].createElement("div",{className:"row"},c["default"].createElement("div",{className:(0,_.getClassName)(e,0)},c["default"].createElement(y["default"],{className:"btn-primary btn-block btn-sm",loading:this.state.isLoading},gettext("Save your vote"))),c["default"].createElement("div",{className:(0,_.getClassName)(e,1)},c["default"].createElement("button",{className:"btn btn-default btn-block btn-sm",disabled:this.state.isLoading,onClick:this.props.showResults,type:"button"},gettext("See results"))),c["default"].createElement(_.Edit,{controls:e,poll:this.props.poll,thread:this.props.thread}),c["default"].createElement(_.Delete,{controls:e,poll:this.props.poll})))))}}]),t}(w["default"]);a["default"]=M},{"../../../reducers/poll":352,"../../../services/ajax":365,"../../../services/snackbar":376,"../../../services/store":377,"../../button":8,"../../form":56,"../info":107,"../results/options":112,"./help":113,"./select":115,"./utils":116,react:"react"}],115:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.ChoiceSelect=void 0;var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a["default"]=function(e){return u["default"].createElement("ul",{className:"list-unstyled poll-select-choices"},e.choices.map(function(t){return u["default"].createElement(c,{choice:t,key:t.hash,toggleChoice:e.toggleChoice})}))};var i=e("react"),u=n(i),c=a.ChoiceSelect=function(e){function t(){var e,a,n,l;r(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){n.props.toggleChoice(n.props.choice.hash)},l=a,o(n,l)}return l(t,e),s(t,[{key:"render",value:function(){return u["default"].createElement("li",{className:"poll-select-choice"},u["default"].createElement("button",{className:this.props.choice.selected?"btn btn-selected":"btn",onClick:this.onClick,type:"button"},u["default"].createElement("span",{className:"material-icon"},this.props.choice.selected?"check_box":"check_box_outline_blank"),u["default"].createElement("strong",null,this.props.choice.label)))}}]),t}(u["default"].Component)},{react:"react"}],116:[function(e,t,a){"use strict";function n(e,t){for(var a in e){var n=e[a];if(n.hash===t)return n}return null}function r(e,t){var a=[];for(var n in t){var r=t[n];r.selected&&a.push(r)}return e.allowed_choices-a.length}Object.defineProperty(a,"__esModule",{value:!0}),a.getChoiceFromHash=n,a.getChoicesLeft=r},{}],117:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return"?"===e.item[0]?null:i["default"].createElement("li",{className:o(e.item)},l(e.item))}function o(e){var t="diff-item";return"-"===e[0]?t+=" diff-item-sub":"+"===e[0]&&(t+=" diff-item-add"),t}function l(e){return e.substr(2)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return i["default"].createElement("div",{className:"modal-body post-changelog-diff"},i["default"].createElement("ul",{className:"list-unstyled"},e.diff.map(function(e,t){return i["default"].createElement(r,{item:e,key:t})})))},a.DiffItem=r,a.getItemClassName=o,a.cleanItem=l;var s=e("react"),i=n(s)},{react:"react"}],118:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../button"),d=n(c),f=function(e){function t(){var e,a,n,l;r(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){n.props.revertEdit(n.props.edit.id)},l=a,o(n,l)}return l(t,e),s(t,[{key:"render",value:function(){return this.props.canRevert?u["default"].createElement("div",{className:"modal-footer visible-xs-block"},u["default"].createElement(d["default"],{className:"btn-default btn-sm btn-block",disabled:this.props.disabled,onClick:this.onClick,title:gettext("Revert post to state from before this edit.")},gettext("Revert"))):null}}]),t}(u["default"].Component);a["default"]=f},{"../button":8,react:"react"}],119:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){return d["default"].createElement("div",{className:e.className||"modal-dialog",role:"document"},d["default"].createElement("div",{className:"modal-content"},d["default"].createElement("div",{className:"modal-header"},d["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},d["default"].createElement("span",{"aria-hidden":"true"},"×")),d["default"].createElement("h4",{className:"modal-title"},gettext("Post edits history"))),e.children))}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.ModalDialog=i;var c=e("react"),d=r(c),f=e("./diff"),p=r(f),m=e("./footer"),h=r(m),b=e("./toolbar"),v=r(b),_=e("./utils"),g=e("../modal-message"),y=r(g),E=e("../modal-loader"),w=r(E),O=e("../../reducers/post"),k=n(O),N=e("../../services/ajax"),x=r(N),P=e("../../services/modal"),j=r(P),C=e("../../services/snackbar"),S=r(C),M=e("../../services/store"),T=r(M),L=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.goToEdit=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;a.setState({isBusy:!0});var t=a.props.post.api.edits;null!==e&&(t+="?edit="+e),x["default"].get(t).then(function(e){a.setState({isReady:!0,isBusy:!1,edit:(0,_.hydrateEdit)(e)})},function(e){a.setState({isReady:!0,isBusy:!1,error:e.detail})})},a.revertEdit=function(e){if(!a.state.isBusy){var t=confirm(gettext("Are you sure you with to revert this post to the state from before this edit?"));if(t){a.setState({isBusy:!0});var n=a.props.post.api.edits+"?edit="+e;x["default"].post(n).then(function(e){var t=k.hydrate(e);T["default"].dispatch(k.patch(e,t)),S["default"].success(gettext("Post has been reverted to previous state.")),j["default"].hide()},function(e){S["default"].apiError(e),a.setState({isBusy:!1})})}}},a.state={isReady:!1,isBusy:!0,canRevert:e.post.acl.can_edit,error:null,edit:null},a}return s(t,e),u(t,[{key:"componentDidMount",value:function(){this.goToEdit()}},{key:"render",value:function(){return this.state.error?d["default"].createElement(i,{className:"modal-dialog modal-message"},d["default"].createElement(y["default"],{message:this.state.error})):this.state.isReady?d["default"].createElement(i,null,d["default"].createElement(v["default"],{canRevert:this.state.canRevert,disabled:this.state.isBusy,edit:this.state.edit,goToEdit:this.goToEdit,revertEdit:this.revertEdit}),d["default"].createElement(p["default"],{diff:this.state.edit.diff}),d["default"].createElement(h["default"],{canRevert:this.state.canRevert,disabled:this.state.isBusy,edit:this.state.edit,revertEdit:this.revertEdit})):d["default"].createElement(i,null,d["default"].createElement(w["default"],null))}}]),t}(d["default"].Component);a["default"]=L},{"../../reducers/post":353,"../../services/ajax":365,"../../services/modal":371,"../../services/snackbar":376,"../../services/store":377,"../modal-loader":61,"../modal-message":62,"./diff":117,"./footer":118,"./toolbar":120,"./utils":121,react:"react"}],120:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return m["default"].createElement(b["default"],{className:"btn-default btn-block btn-icon btn-sm",disabled:e.disabled||!e.edit.previous,onClick:e.onClick,title:gettext("See previous change")},m["default"].createElement("span",{className:"material-icon"},"chevron_left"))}function i(e){return m["default"].createElement(b["default"],{className:"btn-default btn-block btn-icon btn-sm",disabled:e.disabled||!e.edit.next,onClick:e.onClick,title:gettext("See previous change")},m["default"].createElement("span",{className:"material-icon"
|
|
|
|
|
|
+__html:t}})}function o(e){return e.url.poster?interpolate(v,{url:(0,m["default"])(e.url.poster),user:(0,m["default"])(e.poster_name)},!0):interpolate(b,{user:(0,m["default"])(e.poster_name)},!0)}function l(e){return interpolate(h,{absolute:(0,m["default"])(e.posted_on.format("LLL")),relative:(0,m["default"])(e.posted_on.fromNow())},!0)}function s(e){if(!e.poll.length)return null;var t=interpolate((0,m["default"])(gettext("Voting ends %(ends_on)s.")),{ends_on:i(e.poll)},!0);return f["default"].createElement("li",{className:"poll-info-ends-on",dangerouslySetInnerHTML:{__html:t}})}function i(e){return interpolate(h,{absolute:(0,m["default"])(e.endsOn.format("LLL")),relative:(0,m["default"])(e.endsOn.fromNow())},!0)}function u(e){var t=ngettext("%(votes)s vote.","%(votes)s votes.",e.votes),a=interpolate(t,{votes:e.votes},!0);return f["default"].createElement("li",{className:"poll-info-votes"},a)}function c(e){return e.poll.is_public?f["default"].createElement("li",{className:"poll-info-public"},gettext("Votes are public.")):null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return f["default"].createElement("ul",{className:"list-unstyled list-inline poll-details"},f["default"].createElement(u,{votes:e.poll.votes}),f["default"].createElement(s,{poll:e.poll}),f["default"].createElement(c,{poll:e.poll}),f["default"].createElement(r,{poll:e.poll}))},a.PollCreation=r,a.getPoster=o,a.getPostedOn=l,a.PollLength=s,a.getEndsOn=i,a.PollVotes=u,a.PollIsPublic=c;var d=e("react"),f=n(d),p=e("../../utils/escape-html"),m=n(p),h='<abbr title="%(absolute)s">%(relative)s</abbr>',b='<span class="item-title">%(user)s</span>',v='<a href="%(url)s" class="item-title">%(user)s</a>'},{"../../utils/escape-html":383,react:"react"}],108:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return!!e.length&&(0,p["default"])().isAfter(e.endsOn)}Object.defineProperty(a,"__esModule",{value:!0});var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.getIsPollOver=s;var c=e("react"),d=n(c),f=e("moment"),p=n(f),m=e("./results"),h=n(m),b=e("./voting"),v=n(b),_=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));a.showResults=function(){a.setState({showResults:!0})},a.showVoting=function(){a.setState({showResults:!1})};var n=!0;return e.user.id&&!e.poll.hasSelectedChoices&&(n=!1),a.state={showResults:n},a}return l(t,e),u(t,[{key:"render",value:function(){if(!this.props.thread.poll)return null;var e=s(this.props.poll);return e||!this.props.poll.acl.can_vote||this.state.showResults?d["default"].createElement(h["default"],i({isPollOver:e,showVoting:this.showVoting},this.props)):d["default"].createElement(v["default"],i({showResults:this.showResults},this.props))}}]),t}(d["default"].Component);a["default"]=_},{"./results":110,"./voting":114,moment:"moment",react:"react"}],109:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=0;return e.choice.votes&&e.poll.votes&&(t=Math.ceil(100*e.choice.votes/e.poll.votes)),u["default"].createElement("dl",{className:"dl-horizontal"},u["default"].createElement("dt",null,e.choice.label),u["default"].createElement("dd",null,u["default"].createElement("div",{className:"progress"},u["default"].createElement("div",{className:"progress-bar",role:"progressbar","aria-valuenow":t,"aria-valuemin":"0","aria-valuemax":"100",style:{width:t+"%"}},u["default"].createElement("span",{className:"sr-only"},l(e.votes,e.proc)))),u["default"].createElement("ul",{className:"list-unstyled list-inline poll-chart"},u["default"].createElement(o,{proc:t,votes:e.choice.votes}),u["default"].createElement(s,{selected:e.choice.selected}))))}function o(e){return u["default"].createElement("li",{className:"poll-chart-votes"},l(e.votes,e.proc))}function l(e,t){var a=ngettext("%(votes)s vote, %(proc)s% of total.","%(votes)s votes, %(proc)s% of total.",e);return interpolate(a,{votes:e,proc:t},!0)}function s(e){return e.selected?u["default"].createElement("li",{className:"poll-chart-selected"},u["default"].createElement("span",{className:"material-icon"},"check_box"),gettext("Your choice.")):null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return u["default"].createElement("div",{className:"poll-choices-bars"},e.poll.choices.map(function(t){return u["default"].createElement(r,{choice:t,key:t.hash,poll:e.poll})}))},a.PollChoice=r,a.ChoiceVotes=o,a.getVotesLabel=l,a.UserChoice=s;var i=e("react"),u=n(i)},{react:"react"}],110:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("div",{className:"panel panel-default panel-poll"},o["default"].createElement("div",{className:"panel-body"},o["default"].createElement("h2",null,e.poll.question),o["default"].createElement(d["default"],{poll:e.poll}),o["default"].createElement(s["default"],{poll:e.poll}),o["default"].createElement(u["default"],{isPollOver:e.isPollOver,poll:e.poll,showVoting:e.showVoting,thread:e.thread})))};var r=e("react"),o=n(r),l=e("./chart"),s=n(l),i=e("./options"),u=n(i),c=e("../info"),d=n(c)},{"../info":107,"./chart":109,"./options":112,react:"react"}],111:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return e.isLoading?v["default"].createElement(O["default"],null):e.error?v["default"].createElement(E["default"],{icon:"error_outline",message:e.error}):v["default"].createElement(i,{data:e.data})}function i(e){return v["default"].createElement("div",{className:"modal-body modal-poll-votes"},v["default"].createElement("ul",{className:"list-unstyled votes-details"},e.data.map(function(e){return v["default"].createElement(u,m({key:e.hash},e))})))}function u(e){return v["default"].createElement("li",null,v["default"].createElement("h4",null,e.label),v["default"].createElement(c,{votes:e.votes}),v["default"].createElement(d,{voters:e.voters}),v["default"].createElement("hr",null))}function c(e){var t=ngettext("%(votes)s user has voted for this choice.","%(votes)s users have voted for this choice.",e.votes),a=interpolate(t,{votes:e.votes},!0);return v["default"].createElement("p",null,a)}function d(e){return e.voters.length?v["default"].createElement("ul",{className:"list-unstyled"},e.voters.map(function(e){return v["default"].createElement(f,m({key:e.username},e))})):null}function f(e){return e.url?v["default"].createElement("li",null,v["default"].createElement("a",{className:"item-title",href:e.url},e.username)," ",v["default"].createElement(p,{voted_on:e.voted_on})):v["default"].createElement("li",null,v["default"].createElement("strong",null,e.username)," ",v["default"].createElement(p,{voted_on:e.voted_on}))}function p(e){return v["default"].createElement("abbr",{className:"text-muted",title:e.voted_on.format("LLL")},e.voted_on.fromNow())}Object.defineProperty(a,"__esModule",{value:!0});var m=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},h=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.ModalBody=s,a.ChoicesList=i,a.ChoiceDetails=u,a.VotesCount=c,a.VotesList=d,a.Voter=f,a.VoteDate=p;var b=e("react"),v=n(b),_=e("moment"),g=n(_),y=e("../../modal-message"),E=n(y),w=e("../../modal-loader"),O=n(w),k=e("../../../services/ajax"),N=n(k),x=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={isLoading:!0,error:null,data:[]},a}return l(t,e),h(t,[{key:"componentDidMount",value:function(){var e=this;N["default"].get(this.props.poll.api.votes).then(function(t){var a=t.map(function(e){return Object.assign({},e,{voters:e.voters.map(function(e){return Object.assign({},e,{voted_on:(0,g["default"])(e.voted_on)})})})});e.setState({isLoading:!1,data:a})},function(t){e.setState({isLoading:!1,error:t.detail})})}},{key:"render",value:function(){return v["default"].createElement("div",{className:"modal-dialog"+(this.state.error?" modal-message":" modal-sm"),role:"document"},v["default"].createElement("div",{className:"modal-content"},v["default"].createElement("div",{className:"modal-header"},v["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},v["default"].createElement("span",{"aria-hidden":"true"},"×")),v["default"].createElement("h4",{className:"modal-title"},gettext("Poll votes"))),v["default"].createElement(s,{data:this.state.data,error:this.state.error,isLoading:this.state.isLoading})))}}]),t}(v["default"].Component);a["default"]=x},{"../../../services/ajax":365,"../../modal-loader":61,"../../modal-message":62,moment:"moment",react:"react"}],112:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e,t,a){return a.is_public||t.can_delete||t.can_edit||t.can_see_votes||t.can_vote&&!e&&(!a.hasSelectedChoices||a.allow_revotes)}function u(e,t){var a="col-xs-6";return 1===e.length&&(a="col-xs-12"),3===e.length&&e[0]===t&&(a="col-xs-12"),a+" col-sm-3 col-md-2"}function c(e){var t=e.poll.acl.can_vote,a=!e.poll.hasSelectedChoices||e.poll.allow_revotes;return t&&a?p["default"].createElement("div",{className:u(e.controls,0)},p["default"].createElement("button",{className:"btn btn-default btn-block btn-sm",disabled:e.poll.isBusy,onClick:e.showVoting,type:"button"},gettext("Vote"))):null}Object.defineProperty(a,"__esModule",{value:!0}),a.Delete=a.Edit=a.SeeVotes=void 0;var d=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a["default"]=function(e){var t=e.isPollOver,a=e.poll,n=e.showVoting,r=e.thread;if(!i(t,a.acl,a))return null;var o=[],l=a.acl.can_vote,s=!a.hasSelectedChoices||a.allow_revotes;return l&&s&&o.push(0),(a.is_public||a.acl.can_see_votes)&&o.push(1),a.acl.can_edit&&o.push(2),a.acl.can_delete&&o.push(3),p["default"].createElement("div",{className:"row poll-options"},p["default"].createElement(c,{controls:o,isPollOver:t,poll:a,showVoting:n}),p["default"].createElement(S,{controls:o,poll:a}),p["default"].createElement(M,{controls:o,poll:a,thread:r}),p["default"].createElement(T,{controls:o,poll:a}))},a.isVisible=i,a.getClassName=u,a.ChangeVote=c;var f=e("react"),p=r(f),m=e("./modal"),h=r(m),b=e("../../../reducers/poll"),v=n(b),_=e("../../../reducers/thread"),g=n(_),y=e("../../../services/ajax"),E=r(y),w=e("../../../services/modal"),O=r(w),k=e("../../../services/posting"),N=r(k),x=e("../../../services/snackbar"),P=r(x),j=e("../../../services/store"),C=r(j),S=a.SeeVotes=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){O["default"].show(p["default"].createElement(h["default"],{poll:n.props.poll}))},r=a,l(n,r)}return s(t,e),d(t,[{key:"render",value:function(){var e=this.props.poll.is_public||this.props.poll.acl.can_see_votes;return e?p["default"].createElement("div",{className:u(this.props.controls,1)},p["default"].createElement("button",{className:"btn btn-default btn-block btn-sm",disabled:this.props.poll.isBusy,onClick:this.onClick,type:"button"},gettext("See votes"))):null}}]),t}(p["default"].Component),M=a.Edit=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){N["default"].open({submit:n.props.poll.api.index,thread:n.props.thread,poll:n.props.poll,mode:"POLL"})},r=a,l(n,r)}return s(t,e),d(t,[{key:"render",value:function(){return this.props.poll.acl.can_edit?p["default"].createElement("div",{className:u(this.props.controls,2)},p["default"].createElement("button",{className:"btn btn-default btn-block btn-sm",disabled:this.props.poll.isBusy,onClick:this.onClick,type:"button"},gettext("Edit"))):null}}]),t}(p["default"].Component),T=a.Delete=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){var e=confirm(gettext("Are you sure you want to delete this poll? This action is not reversible."));return!!e&&(C["default"].dispatch(v.busy()),void E["default"]["delete"](n.props.poll.api.index).then(n.handleSuccess,n.handleError))},n.handleSuccess=function(e){P["default"].success("Poll has been deleted"),C["default"].dispatch(v.remove()),C["default"].dispatch(g.updateAcl(e))},n.handleError=function(e){P["default"].apiError(e),C["default"].dispatch(v.release())},r=a,l(n,r)}return s(t,e),d(t,[{key:"render",value:function(){return this.props.poll.acl.can_delete?p["default"].createElement("div",{className:u(this.props.controls,3)},p["default"].createElement("button",{className:"btn btn-default btn-block btn-sm",disabled:this.props.poll.isBusy,onClick:this.onClick,type:"button"},gettext("Delete"))):null}}]),t}(p["default"].Component)},{"../../../reducers/poll":352,"../../../reducers/thread":360,"../../../services/ajax":365,"../../../services/modal":371,"../../../services/posting":375,"../../../services/snackbar":376,"../../../services/store":377,"./modal":111,react:"react"}],113:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.choicesLeft;if(0===t)return s["default"].createElement("li",{className:"poll-help-choices-left"},gettext("You can't select any more choices."));var a=ngettext("You can select %(choices)s more choice.","You can select %(choices)s more choices.",t),n=interpolate(a,{choices:t},!0);return s["default"].createElement("li",{className:"poll-help-choices-left"},n)}function o(e){return e.poll.allow_revotes?s["default"].createElement("li",{className:"poll-help-allow-revotes"},gettext("You can change your vote later.")):s["default"].createElement("li",{className:"poll-help-no-revotes"},gettext("Votes are final."))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return s["default"].createElement("ul",{className:"list-unstyled list-inline poll-help"},s["default"].createElement(r,{choicesLeft:e.choicesLeft}),s["default"].createElement(o,{poll:e.poll}))},a.PollChoicesLeft=r,a.PollAllowRevote=o;var l=e("react"),s=n(l),i=e("../../../utils/escape-html");n(i)},{"../../../utils/escape-html":383,react:"react"}],114:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("./help"),f=r(d),p=e("./select"),m=r(p),h=e("./utils"),b=e("../info"),v=r(b),_=e("../results/options"),g=e("../../button"),y=r(g),E=e("../../form"),w=r(E),O=e("../../../reducers/poll"),k=n(O),N=e("../../../services/ajax"),x=r(N),P=e("../../../services/snackbar"),j=r(P),C=e("../../../services/store"),S=r(C),M=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.toggleChoice=function(e){var t=(0,h.getChoiceFromHash)(a.state.choices,e),n=null;n=t.selected?a.deselectChoice(t,e):a.selectChoice(t,e),a.setState({choices:n,choicesLeft:(0,h.getChoicesLeft)(a.props.poll,n)})},a.selectChoice=function(e,t){var n=(0,h.getChoicesLeft)(a.props.poll,a.state.choices);if(!n)for(var r in a.state.choices.slice()){var o=a.state.choices[r];if(o.selected&&o.hash!=t){o.selected=!1;break}}return a.state.choices.map(function(e){return Object.assign({},e,{selected:e.hash==t||e.selected})})},a.deselectChoice=function(e,t){return a.state.choices.map(function(e){return Object.assign({},e,{selected:e.hash!=t&&e.selected})})},a.state={isLoading:!1,choices:e.poll.choices,choicesLeft:(0,h.getChoicesLeft)(e.poll,e.poll.choices)},a}return s(t,e),i(t,[{key:"clean",value:function(){return this.state.choicesLeft!==this.props.poll.allowed_choices||(j["default"].error(gettext("You need to select at least one choice")),!1)}},{key:"send",value:function(){var e=[];for(var t in this.state.choices.slice()){var a=this.state.choices[t];a.selected&&e.push(a.hash)}return x["default"].post(this.props.poll.api.votes,e)}},{key:"handleSuccess",value:function(e){S["default"].dispatch(k.replace(e)),j["default"].success(gettext("Your vote has been saved.")),this.props.showResults()}},{key:"handleError",value:function(e){400===e.status?j["default"].error(e.detail):j["default"].apiError(e)}},{key:"render",value:function(){var e=[];return this.props.poll.acl.can_vote&&e.push(0),(this.props.poll.is_public||this.props.poll.acl.can_see_votes)&&e.push(1),this.props.poll.acl.can_edit&&e.push(2),this.props.poll.acl.can_delete&&e.push(3),c["default"].createElement("div",{className:"panel panel-default panel-poll"},c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"panel-body"},c["default"].createElement("h2",null,this.props.poll.question),c["default"].createElement(v["default"],{poll:this.props.poll}),c["default"].createElement(m["default"],{choices:this.state.choices,toggleChoice:this.toggleChoice}),c["default"].createElement(f["default"],{choicesLeft:this.state.choicesLeft,poll:this.props.poll})),c["default"].createElement("div",{className:"panel-footer"},c["default"].createElement("div",{className:"row"},c["default"].createElement("div",{className:(0,_.getClassName)(e,0)},c["default"].createElement(y["default"],{className:"btn-primary btn-block btn-sm",loading:this.state.isLoading},gettext("Save your vote"))),c["default"].createElement("div",{className:(0,_.getClassName)(e,1)},c["default"].createElement("button",{className:"btn btn-default btn-block btn-sm",disabled:this.state.isLoading,onClick:this.props.showResults,type:"button"},gettext("See results"))),c["default"].createElement(_.Edit,{controls:e,poll:this.props.poll,thread:this.props.thread}),c["default"].createElement(_.Delete,{controls:e,poll:this.props.poll})))))}}]),t}(w["default"]);a["default"]=M},{"../../../reducers/poll":352,"../../../services/ajax":365,"../../../services/snackbar":376,"../../../services/store":377,"../../button":8,"../../form":56,"../info":107,"../results/options":112,"./help":113,"./select":115,"./utils":116,react:"react"}],115:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.ChoiceSelect=void 0;var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a["default"]=function(e){return u["default"].createElement("ul",{className:"list-unstyled poll-select-choices"},e.choices.map(function(t){return u["default"].createElement(c,{choice:t,key:t.hash,toggleChoice:e.toggleChoice})}))};var i=e("react"),u=n(i),c=a.ChoiceSelect=function(e){function t(){var e,a,n,l;r(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){n.props.toggleChoice(n.props.choice.hash)},l=a,o(n,l)}return l(t,e),s(t,[{key:"render",value:function(){return u["default"].createElement("li",{className:"poll-select-choice"},u["default"].createElement("button",{className:this.props.choice.selected?"btn btn-selected":"btn",onClick:this.onClick,type:"button"},u["default"].createElement("span",{className:"material-icon"},this.props.choice.selected?"check_box":"check_box_outline_blank"),u["default"].createElement("strong",null,this.props.choice.label)))}}]),t}(u["default"].Component)},{react:"react"}],116:[function(e,t,a){"use strict";function n(e,t){for(var a in e){var n=e[a];if(n.hash===t)return n}return null}function r(e,t){var a=[];for(var n in t){var r=t[n];r.selected&&a.push(r)}return e.allowed_choices-a.length}Object.defineProperty(a,"__esModule",{value:!0}),a.getChoiceFromHash=n,a.getChoicesLeft=r},{}],117:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return"?"===e.item[0]?null:i["default"].createElement("li",{className:o(e.item)},l(e.item))}function o(e){var t="diff-item";return"-"===e[0]?t+=" diff-item-sub":"+"===e[0]&&(t+=" diff-item-add"),t}function l(e){return e.substr(2)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return i["default"].createElement("div",{className:"modal-body post-changelog-diff"},i["default"].createElement("ul",{className:"list-unstyled"},e.diff.map(function(e,t){return i["default"].createElement(r,{item:e,key:t})})))},a.DiffItem=r,a.getItemClassName=o,a.cleanItem=l;var s=e("react"),i=n(s)},{react:"react"}],118:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../button"),d=n(c),f=function(e){function t(){var e,a,n,l;r(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){n.props.revertEdit(n.props.edit.id)},l=a,o(n,l)}return l(t,e),s(t,[{key:"render",value:function(){return this.props.canRevert?u["default"].createElement("div",{className:"modal-footer visible-xs-block"},u["default"].createElement(d["default"],{className:"btn-default btn-sm btn-block",disabled:this.props.disabled,onClick:this.onClick,title:gettext("Revert post to state from before this edit.")},gettext("Revert"))):null}}]),t}(u["default"].Component);a["default"]=f},{"../button":8,react:"react"}],119:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){return d["default"].createElement("div",{className:e.className||"modal-dialog",role:"document"},d["default"].createElement("div",{className:"modal-content"},d["default"].createElement("div",{className:"modal-header"},d["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},d["default"].createElement("span",{"aria-hidden":"true"},"×")),d["default"].createElement("h4",{className:"modal-title"},gettext("Post edits history"))),e.children))}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.ModalDialog=i;var c=e("react"),d=r(c),f=e("./diff"),p=r(f),m=e("./footer"),h=r(m),b=e("./toolbar"),v=r(b),_=e("./utils"),g=e("../modal-message"),y=r(g),E=e("../modal-loader"),w=r(E),O=e("../../reducers/post"),k=n(O),N=e("../../services/ajax"),x=r(N),P=e("../../services/modal"),j=r(P),C=e("../../services/snackbar"),S=r(C),M=e("../../services/store"),T=r(M),L=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.goToEdit=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;a.setState({isBusy:!0});var t=a.props.post.api.edits;null!==e&&(t+="?edit="+e),x["default"].get(t).then(function(e){a.setState({isReady:!0,isBusy:!1,edit:(0,_.hydrateEdit)(e)})},function(e){a.setState({isReady:!0,isBusy:!1,error:e.detail})})},a.revertEdit=function(e){if(!a.state.isBusy){var t=confirm(gettext("Are you sure you with to revert this post to the state from before this edit?"));if(t){a.setState({isBusy:!0});var n=a.props.post.api.edits+"?edit="+e;x["default"].post(n).then(function(e){var t=k.hydrate(e);T["default"].dispatch(k.patch(e,t)),S["default"].success(gettext("Post has been reverted to previous state.")),j["default"].hide()},function(e){S["default"].apiError(e),a.setState({isBusy:!1})})}}},a.state={isReady:!1,isBusy:!0,canRevert:e.post.acl.can_edit,error:null,edit:null},a}return s(t,e),u(t,[{key:"componentDidMount",value:function(){this.goToEdit()}},{key:"render",value:function(){return this.state.error?d["default"].createElement(i,{className:"modal-dialog modal-message"},d["default"].createElement(y["default"],{message:this.state.error})):this.state.isReady?d["default"].createElement(i,null,d["default"].createElement(v["default"],{canRevert:this.state.canRevert,disabled:this.state.isBusy,edit:this.state.edit,goToEdit:this.goToEdit,revertEdit:this.revertEdit}),d["default"].createElement(p["default"],{diff:this.state.edit.diff}),d["default"].createElement(h["default"],{canRevert:this.state.canRevert,disabled:this.state.isBusy,edit:this.state.edit,revertEdit:this.revertEdit})):d["default"].createElement(i,null,d["default"].createElement(w["default"],null))}}]),t}(d["default"].Component);a["default"]=L},{"../../reducers/post":353,"../../services/ajax":365,"../../services/modal":371,"../../services/snackbar":376,"../../services/store":377,"../modal-loader":61,"../modal-message":62,"./diff":117,"./footer":118,"./toolbar":120,"./utils":121,react:"react"}],120:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return m["default"].createElement(b["default"],{className:"btn-default btn-block btn-icon btn-sm",disabled:e.disabled||!e.edit.previous,onClick:e.onClick,title:gettext("See previous change")},m["default"].createElement("span",{className:"material-icon"},"chevron_left"))}function i(e){return m["default"].createElement(b["default"],{className:"btn-default btn-block btn-icon btn-sm",disabled:e.disabled||!e.edit.next,onClick:e.onClick,title:gettext("See next change")},m["default"].createElement("span",{className:"material-icon"
|
|
},"chevron_right"))}function u(e){return m["default"].createElement(b["default"],{className:"btn-default btn-block btn-icon btn-sm",disabled:e.disabled||!e.edit.next,onClick:e.onClick,title:gettext("See previous change")},m["default"].createElement("span",{className:"material-icon"},"last_page"))}function c(e){return e.canRevert?m["default"].createElement("div",{className:"col-sm-3 hidden-xs"},m["default"].createElement(b["default"],{className:"btn-default btn-sm btn-block",disabled:e.disabled,onClick:e.onClick,title:gettext("Revert post to state from before this edit.")},gettext("Revert"))):null}function d(e){var t=null;t=e.edit.url.editor?interpolate(E,{url:(0,_["default"])(e.edit.url.editor),user:(0,_["default"])(e.edit.editor_name)},!0):interpolate(y,{user:(0,_["default"])(e.edit.editor_name)},!0);var a=interpolate(g,{absolute:(0,_["default"])(e.edit.edited_on.format("LLL")),relative:(0,_["default"])(e.edit.edited_on.fromNow())},!0),n=interpolate((0,_["default"])(gettext("By %(edited_by)s %(edited_on)s.")),{edited_by:t,edited_on:a},!0);return m["default"].createElement("p",{dangerouslySetInnerHTML:{__html:n}})}Object.defineProperty(a,"__esModule",{value:!0});var f=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.GoBackBtn=s,a.GoForwardBtn=i,a.GoLastBtn=u,a.RevertBtn=c,a.Label=d;var p=e("react"),m=n(p),h=e("../button"),b=n(h),v=e("../../utils/escape-html"),_=n(v),g='<abbr title="%(absolute)s">%(relative)s</abbr>',y='<span class="item-title">%(user)s</span>',E='<a href="%(url)s" class="item-title">%(user)s</a>',w=function(e){function t(){var e,a,n,l;r(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.goLast=function(){n.props.goToEdit()},n.goForward=function(){n.props.goToEdit(n.props.edit.next)},n.goBack=function(){n.props.goToEdit(n.props.edit.previous)},n.revertEdit=function(){n.props.revertEdit(n.props.edit.id)},l=a,o(n,l)}return l(t,e),f(t,[{key:"render",value:function(){return m["default"].createElement("div",{className:"modal-toolbar post-changelog-toolbar"},m["default"].createElement("div",{className:"row"},m["default"].createElement("div",{className:"col-xs-12 col-sm-4"},m["default"].createElement("div",{className:"row"},m["default"].createElement("div",{className:"col-xs-4"},m["default"].createElement(s,{disabled:this.props.disabled,edit:this.props.edit,onClick:this.goBack})),m["default"].createElement("div",{className:"col-xs-4"},m["default"].createElement(i,{disabled:this.props.disabled,edit:this.props.edit,onClick:this.goForward})),m["default"].createElement("div",{className:"col-xs-4"},m["default"].createElement(u,{disabled:this.props.disabled,edit:this.props.edit,onClick:this.goLast})))),m["default"].createElement("div",{className:"col-xs-12 col-sm-5 xs-margin-top-half post-change-label"},m["default"].createElement(d,{edit:this.props.edit})),m["default"].createElement(c,{canRevert:this.props.canRevert,disabled:this.props.disabled,onClick:this.revertEdit})))}}]),t}(m["default"].Component);a["default"]=w},{"../../utils/escape-html":383,"../button":8,react:"react"}],121:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return Object.assign({},e,{edited_on:(0,l["default"])(e.edited_on)})}Object.defineProperty(a,"__esModule",{value:!0}),a.hydrateEdit=r;var o=e("moment"),l=n(o)},{moment:"moment"}],122:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.isReady,a=e.posts,n=e.poster;return t?o["default"].createElement("ul",{className:"posts-list post-feed ui-ready"},a.map(function(e){return o["default"].createElement(s["default"],{key:e.id,post:e,poster:n})})):o["default"].createElement(u["default"],null)};var r=e("react"),o=n(r),l=e("./post"),s=n(l),i=e("./preview"),u=n(i)},{"./post":125,"./preview":131,react:"react"}],123:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return s["default"].createElement("div",{className:"post-body"},s["default"].createElement(u["default"],{markup:e.post.content}))}function o(e){return s["default"].createElement("div",{className:"post-body post-body-invalid"},s["default"].createElement("p",{className:"lead"},gettext("This post's contents cannot be displayed.")),s["default"].createElement("p",{className:"text-muted"},gettext("This error is caused by invalid post content manipulation.")))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return e.post.content?s["default"].createElement(r,e):s["default"].createElement(o,e)},a.Default=r,a.Invalid=o;var l=e("react"),s=n(l),i=e("../../misago-markup"),u=n(i),c=e("../../../utils/escape-html");n(c)},{"../../../utils/escape-html":383,"../../misago-markup":60,react:"react"}],124:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.post,a=t.category,n=t.thread,r=interpolate(gettext("posted %(posted_on)s"),{posted_on:t.posted_on.format("LL, LT")},!0);return o["default"].createElement("div",{className:"post-heading"},o["default"].createElement("a",{className:"btn btn-link item-title",href:n.url},n.title),o["default"].createElement("a",{className:"btn btn-link post-category",href:a.url.index},a.name),o["default"].createElement("a",{href:t.url.index,className:"btn btn-link posted-on",title:r},t.posted_on.fromNow()))};var r=e("react"),o=n(r)},{react:"react"}],125:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.post,a=e.poster,n=a||t.poster,r="post";return n&&n.rank.css_class&&(r+=" post-"+n.rank.css_class),o["default"].createElement("li",{className:r,id:"post-"+t.id},o["default"].createElement("div",{className:"panel panel-default panel-post"},o["default"].createElement("div",{className:"panel-body"},o["default"].createElement(d["default"],{post:t,poster:n}),o["default"].createElement(u["default"],{post:t}),o["default"].createElement(s["default"],{post:t}))))};var r=e("react"),o=n(r),l=e("./body"),s=n(l),i=e("./header"),u=n(i),c=e("./post-side"),d=n(c)},{"./body":123,"./header":124,"./post-side":128,react:"react"}],126:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.post;return o["default"].createElement("div",{className:"post-side post-side-anonymous"},o["default"].createElement(u["default"],{post:t}),o["default"].createElement("div",{className:"media"},o["default"].createElement("div",{className:"media-left"},o["default"].createElement("span",null,o["default"].createElement(s["default"],{className:"poster-avatar",size:50}))),o["default"].createElement("div",{className:"media-body"},o["default"].createElement("div",{className:"media-heading"},o["default"].createElement("span",{className:"item-title"},t.poster_name)),o["default"].createElement("span",{className:"user-title user-title-anonymous"},gettext("Removed user")))))};var r=e("react"),o=n(r),l=e("../../../avatar"),s=n(l),i=e("./button"),u=n(i)},{"../../../avatar":6,"./button":127,react:"react"}],127:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.post;return o["default"].createElement("a",{className:"btn btn-default btn-icon pull-right",href:t.url.index},o["default"].createElement("span",{className:"btn-text-left hidden-xs"},gettext("See post")),o["default"].createElement("span",{className:"material-icon"},"chevron_right"))};var r=e("react"),o=n(r)},{react:"react"}],128:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.post,a=e.poster;return a.id?o["default"].createElement(u["default"],{post:t,poster:a}):o["default"].createElement(s["default"],{post:t})};var r=e("react"),o=n(r),l=e("./anonymous"),s=n(l),i=e("./registered"),u=n(i)},{"./anonymous":126,"./registered":129,react:"react"}],129:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.post,a=e.poster;return o["default"].createElement("div",{className:"post-side post-side-registered"},o["default"].createElement(u["default"],{post:t}),o["default"].createElement("div",{className:"media"},o["default"].createElement("div",{className:"media-left"},o["default"].createElement("a",{href:a.url},o["default"].createElement(s["default"],{className:"poster-avatar",size:50,user:a}))),o["default"].createElement("div",{className:"media-body"},o["default"].createElement("div",{className:"media-heading"},o["default"].createElement("a",{className:"item-title",href:a.url},a.username)),o["default"].createElement(d["default"],{title:a.title,rank:a.rank}))))};var r=e("react"),o=n(r),l=e("../../../avatar"),s=n(l),i=e("./button"),u=n(i),c=e("./user-title"),d=n(c)},{"../../../avatar":6,"./button":127,"./user-title":130,react:"react"}],130:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.rank,a=e.title,n=a||t.title||t.name,r="user-title";return t.css_class&&(r+=" user-title-"+t.css_class),t.is_tab?o["default"].createElement("a",{className:r,href:t.url},n):o["default"].createElement("span",{className:r},n)};var r=e("react"),o=n(r)},{react:"react"}],131:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(){return l["default"].createElement("ul",{className:"posts-list post-feed ui-preview"},l["default"].createElement("li",{className:"post"},l["default"].createElement("div",{className:"panel panel-default panel-post"},l["default"].createElement("div",{className:"panel-body"},l["default"].createElement("div",{className:"post-side post-side-anonymous"},l["default"].createElement("div",{className:"media"},l["default"].createElement("div",{className:"media-left"},l["default"].createElement("span",null,l["default"].createElement(i["default"],{className:"poster-avatar",size:50}))),l["default"].createElement("div",{className:"media-body"},l["default"].createElement("div",{className:"media-heading"},l["default"].createElement("span",{className:"item-title"},l["default"].createElement("span",{className:"ui-preview-text",style:{width:c["int"](30,200)+"px"}}," "))),l["default"].createElement("span",{className:"user-title user-title-anonymous"},l["default"].createElement("span",{className:"ui-preview-text",style:{width:c["int"](30,200)+"px"}}," "))))),l["default"].createElement("div",{className:"post-heading"},l["default"].createElement("span",{className:"ui-preview-text",style:{width:c["int"](30,200)+"px"}}," ")),l["default"].createElement("div",{className:"post-body"},l["default"].createElement("article",{className:"misago-markup"},l["default"].createElement("p",null,l["default"].createElement("span",{className:"ui-preview-text",style:{width:c["int"](30,200)+"px"}}," ")," ",l["default"].createElement("span",{className:"ui-preview-text",style:{width:c["int"](30,200)+"px"}}," ")," ",l["default"].createElement("span",{className:"ui-preview-text",style:{width:c["int"](30,200)+"px"}}," "))))))))};var o=e("react"),l=r(o),s=e("../avatar"),i=r(s),u=e("../../utils/random"),c=n(u)},{"../../utils/random":388,"../avatar":6,react:"react"}],132:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return Object.assign({},e,{liked_on:(0,v["default"])(e.liked_on)})}function i(e){var t=e.className,a=e.children,n=e.likes,r=gettext("Post Likes");if(n){var o=n.length,l=ngettext("%(likes)s like","%(likes)s likes",o);r=interpolate(l,{likes:o},!0)}return h["default"].createElement("div",{className:"modal-dialog "+(t||""),role:"document"},h["default"].createElement("div",{className:"modal-content"},h["default"].createElement("div",{className:"modal-header"},h["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},h["default"].createElement("span",{"aria-hidden":"true"},"×")),h["default"].createElement("h4",{className:"modal-title"},r)),a))}function u(e){return h["default"].createElement("div",{className:"modal-body modal-post-likers"},h["default"].createElement("ul",{className:"media-list"},e.likes.map(function(e){return h["default"].createElement(c,f({key:e.id},e))})))}function c(e){if(e.url){var t={id:e.liker_id,avatars:e.avatars};return h["default"].createElement("li",{className:"media"},h["default"].createElement("div",{className:"media-left"},h["default"].createElement("a",{className:"user-avatar",href:e.url},h["default"].createElement(g["default"],{size:"50",user:t}))),h["default"].createElement("div",{className:"media-body"},h["default"].createElement("a",{className:"item-title",href:e.url},e.username)," ",h["default"].createElement(d,{likedOn:e.liked_on})))}return h["default"].createElement("li",{className:"media"},h["default"].createElement("div",{className:"media-left"},h["default"].createElement("span",{className:"user-avatar"},h["default"].createElement(g["default"],{size:"50"}))),h["default"].createElement("div",{className:"media-body"},h["default"].createElement("strong",null,e.username)," ",h["default"].createElement(d,{likedOn:e.liked_on})))}function d(e){return h["default"].createElement("span",{className:"text-muted",title:e.likedOn.format("LLL")},e.likedOn.fromNow())}Object.defineProperty(a,"__esModule",{value:!0});var f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},p=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.hydrateLike=s,a.ModalDialog=i,a.LikesList=u,a.LikeDetails=c,a.LikeDate=d;var m=e("react"),h=n(m),b=e("moment"),v=n(b),_=e("./avatar"),g=n(_),y=e("./modal-message"),E=n(y),w=e("./modal-loader"),O=n(w),k=e("../services/ajax"),N=n(k),x=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={isReady:!1,error:null,likes:[]},a}return l(t,e),p(t,[{key:"componentDidMount",value:function(){var e=this;N["default"].get(this.props.post.api.likes).then(function(t){e.setState({isReady:!0,likes:t.map(s)})},function(t){e.setState({isReady:!0,error:t.detail})})}},{key:"render",value:function(){return this.state.error?h["default"].createElement(i,{className:"modal-message"},h["default"].createElement(E["default"],{message:this.state.error})):this.state.isReady?this.state.likes.length?h["default"].createElement(i,{className:"modal-sm",likes:this.state.likes},h["default"].createElement(u,{likes:this.state.likes})):h["default"].createElement(i,{className:"modal-message"},h["default"].createElement(E["default"],{message:gettext("No users have liked this post.")})):h["default"].createElement(i,{className:"modal-sm"},h["default"].createElement(O["default"],null))}}]),t}(h["default"].Component);a["default"]=x},{"../services/ajax":365,"./avatar":6,"./modal-loader":61,"./modal-message":62,moment:"moment",react:"react"}],133:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../editor"),f=r(d),p=e("../form"),m=r(p),h=e("./utils/container"),b=r(h),v=e("./utils/loader"),_=r(v),g=e("./utils/message"),y=r(g),E=e("./utils/attachments"),w=n(E),O=e("./utils/validators"),k=e("../../services/ajax"),N=r(k),x=e("../../services/posting"),P=r(x),j=e("../../services/snackbar"),C=r(j),S=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.loadSuccess=function(e){a.setState({isReady:!0,post:e.post,attachments:w.hydrate(e.attachments),protect:e.is_protected,canProtect:e.can_protect})},a.loadError=function(e){a.setState({isErrored:e.detail})},a.onCancel=function(){var e=confirm(gettext("Are you sure you want to discard changes?"));e&&P["default"].close()},a.onProtect=function(){a.setState({protect:!0})},a.onUnprotect=function(){a.setState({protect:!1})},a.onPostChange=function(e){a.changeValue("post",e.target.value)},a.onAttachmentsChange=function(e){a.setState({attachments:e})},a.state={isReady:!1,isLoading:!1,isErrored:!1,post:"",attachments:[],protect:!1,canProtect:!1,validators:{post:(0,O.getPostValidators)()},errors:{}},a}return s(t,e),i(t,[{key:"componentDidMount",value:function(){N["default"].get(this.props.config).then(this.loadSuccess,this.loadError)}},{key:"clean",value:function(){if(!this.state.post.trim().length)return C["default"].error(gettext("You have to enter a message.")),!1;var e=this.validate();return!e.post||(C["default"].error(e.post[0]),!1)}},{key:"send",value:function(){return N["default"].put(this.props.submit,{post:this.state.post,attachments:w.clean(this.state.attachments),protect:this.state.protect})}},{key:"handleSuccess",value:function(e){C["default"].success(gettext("Reply has been edited.")),window.location=e.url.index,this.setState({isLoading:!0})}},{key:"handleError",value:function(e){if(400===e.status){var t=[].concat(e.non_field_errors||[],e.category||[],e.title||[],e.post||[],e.attachments||[]);C["default"].error(t[0])}else C["default"].apiError(e)}},{key:"render",value:function(){return this.state.isReady?c["default"].createElement(b["default"],{className:"posting-form"},c["default"].createElement("form",{onSubmit:this.handleSubmit,method:"POST"},c["default"].createElement("div",{className:"row"},c["default"].createElement("div",{className:"col-md-12"},c["default"].createElement(f["default"],{attachments:this.state.attachments,canProtect:this.state.canProtect,loading:this.state.isLoading,onAttachmentsChange:this.onAttachmentsChange,onCancel:this.onCancel,onChange:this.onPostChange,onProtect:this.onProtect,onUnprotect:this.onUnprotect,protect:this.state.protect,submitLabel:gettext("Edit reply"),value:this.state.post}))))):this.state.isErrored?c["default"].createElement(y["default"],{message:this.state.isErrored}):c["default"].createElement(_["default"],null)}}]),t}(m["default"]);a["default"]=S},{"../../services/ajax":365,"../../services/posting":375,"../../services/snackbar":376,"../editor":52,"../form":56,"./utils/attachments":138,"./utils/container":139,"./utils/loader":140,"./utils/message":141,"./utils/validators":144,react:"react"}],134:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return"START"===e.mode?o["default"].createElement(s["default"],e):"START_PRIVATE"===e.mode?o["default"].createElement(u["default"],e):"REPLY"===e.mode?o["default"].createElement(d["default"],e):"EDIT"===e.mode?o["default"].createElement(p["default"],e):null};var r=e("react"),o=n(r),l=e("./start"),s=n(l),i=e("./start-private"),u=n(i),c=e("./reply"),d=n(c),f=e("./edit"),p=n(f)},{"./edit":133,"./reply":135,"./start":137,"./start-private":136,react:"react"}],135:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../editor"),f=r(d),p=e("../form"),m=r(p),h=e("./utils/container"),b=r(h),v=e("./utils/loader"),_=r(v),g=e("./utils/message"),y=r(g),E=e("./utils/attachments"),w=n(E),O=e("./utils/validators"),k=e("../../services/ajax"),N=r(k),x=e("../../services/posting"),P=r(x),j=e("../../services/snackbar"),C=r(j),S=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.loadSuccess=function(e){a.setState({isReady:!0,post:e.post?'[quote="@'+e.poster+'"]\n'+e.post+"\n[/quote]":""})},a.loadError=function(e){a.setState({isErrored:e.detail})},a.appendData=function(e){var t=e.post?'[quote="@'+e.poster+'"]\n'+e.post+"\n[/quote]\n\n":"";a.setState(function(e,a){return e.post.length>0?{post:e.post+"\n\n"+t}:{post:t}})},a.onCancel=function(){var e=confirm(gettext("Are you sure you want to discard your reply?"));e&&P["default"].close()},a.onPostChange=function(e){a.changeValue("post",e.target.value)},a.onAttachmentsChange=function(e){a.setState({attachments:e})},a.state={isReady:!1,isLoading:!1,isErrored:!1,post:"",attachments:[],validators:{post:(0,O.getPostValidators)()},errors:{}},a}return s(t,e),i(t,[{key:"componentDidMount",value:function(){N["default"].get(this.props.config,this.props.context||null).then(this.loadSuccess,this.loadError)}},{key:"componentWillReceiveProps",value:function(e){var t=this.props.context,a=e.context;t&&a&&t.reply===a.reply||N["default"].get(e.config,e.context||null).then(this.appendData,C["default"].apiError)}},{key:"clean",value:function(){if(!this.state.post.trim().length)return C["default"].error(gettext("You have to enter a message.")),!1;var e=this.validate();return!e.post||(C["default"].error(e.post[0]),!1)}},{key:"send",value:function(){return N["default"].post(this.props.submit,{post:this.state.post,attachments:w.clean(this.state.attachments)})}},{key:"handleSuccess",value:function(e){C["default"].success(gettext("Your reply has been posted.")),window.location=e.url.index,this.setState({isLoading:!0})}},{key:"handleError",value:function(e){if(400===e.status){var t=[].concat(e.non_field_errors||[],e.post||[],e.attachments||[]);C["default"].error(t[0])}else C["default"].apiError(e)}},{key:"render",value:function(){return this.state.isReady?c["default"].createElement(b["default"],{className:"posting-form"},c["default"].createElement("form",{onSubmit:this.handleSubmit,method:"POST"},c["default"].createElement("div",{className:"row"},c["default"].createElement("div",{className:"col-md-12"},c["default"].createElement(f["default"],{attachments:this.state.attachments,loading:this.state.isLoading,onAttachmentsChange:this.onAttachmentsChange,onCancel:this.onCancel,onChange:this.onPostChange,submitLabel:gettext("Post reply"),value:this.state.post}))))):this.state.isErrored?c["default"].createElement(y["default"],{message:this.state.isErrored}):c["default"].createElement(_["default"],null)}}]),t}(m["default"]);a["default"]=S},{"../../services/ajax":365,"../../services/posting":375,"../../services/snackbar":376,"../editor":52,"../form":56,"./utils/attachments":138,"./utils/container":139,"./utils/loader":140,"./utils/message":141,"./utils/validators":144,react:"react"}],136:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../editor"),f=r(d),p=e("../form"),m=r(p),h=e("./utils/container"),b=r(h),v=e("./utils/message"),_=(r(v),e("./utils/attachments")),g=n(_),y=e("./utils/usernames"),E=r(y),w=e("./utils/validators"),O=e("../../services/ajax"),k=r(O),N=e("../../services/posting"),x=r(N),P=e("../../services/snackbar"),j=r(P),C=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));a.onCancel=function(){var e=confirm(gettext("Are you sure you want to discard private thread?"));e&&x["default"].close()},a.onToChange=function(e){a.changeValue("to",e.target.value)},a.onTitleChange=function(e){a.changeValue("title",e.target.value)},a.onPostChange=function(e){a.changeValue("post",e.target.value)},a.onAttachmentsChange=function(e){a.setState({attachments:e})};var n=(e.to||[]).map(function(e){return e.username}).join(", ");return a.state={isLoading:!1,to:n,title:"",post:"",attachments:[],validators:{title:(0,w.getTitleValidators)(),post:(0,w.getPostValidators)()},errors:{}},a}return s(t,e),i(t,[{key:"clean",value:function(){if(!(0,E["default"])(this.state.to).length)return j["default"].error(gettext("You have to enter at least one recipient.")),!1;if(!this.state.title.trim().length)return j["default"].error(gettext("You have to enter thread title.")),!1;if(!this.state.post.trim().length)return j["default"].error(gettext("You have to enter a message.")),!1;var e=this.validate();return e.title?(j["default"].error(e.title[0]),!1):!e.post||(j["default"].error(e.post[0]),!1)}},{key:"send",value:function(){return k["default"].post(this.props.submit,{to:(0,E["default"])(this.state.to),title:this.state.title,post:this.state.post,attachments:g.clean(this.state.attachments)})}},{key:"handleSuccess",value:function(e){j["default"].success(gettext("Your thread has been posted.")),window.location=e.url,this.setState({isLoading:!0})}},{key:"handleError",value:function(e){if(400===e.status){var t=[].concat(e.non_field_errors||[],e.to||[],e.title||[],e.post||[],e.attachments||[]);j["default"].error(t[0])}else j["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement(b["default"],{className:"posting-form",withFirstRow:!0},c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"row first-row"},c["default"].createElement("div",{className:"col-xs-12"},c["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,onChange:this.onToChange,placeholder:gettext("Comma separated list of user names, eg.: Danny, Lisa"),type:"text",value:this.state.to}))),c["default"].createElement("div",{className:"row first-row"},c["default"].createElement("div",{className:"col-xs-12"},c["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,onChange:this.onTitleChange,placeholder:gettext("Thread title"),type:"text",value:this.state.title}))),c["default"].createElement("div",{className:"row"},c["default"].createElement("div",{className:"col-xs-12"},c["default"].createElement(f["default"],{attachments:this.state.attachments,loading:this.state.isLoading,onAttachmentsChange:this.onAttachmentsChange,onCancel:this.onCancel,onChange:this.onPostChange,submitLabel:gettext("Post thread"),value:this.state.post})))))}}]),t}(m["default"]);a["default"]=C},{"../../services/ajax":365,"../../services/posting":375,"../../services/snackbar":376,"../editor":52,"../form":56,"./utils/attachments":138,"./utils/container":139,"./utils/message":141,"./utils/usernames":143,"./utils/validators":144,react:"react"}],137:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../category-select"),f=r(d),p=e("../editor"),m=r(p),h=e("../form"),b=r(h),v=e("./utils/container"),_=r(v),g=e("./utils/loader"),y=r(g),E=e("./utils/message"),w=r(E),O=e("./utils/options"),k=r(O),N=e("./utils/attachments"),x=n(N),P=e("./utils/validators"),j=e("../../services/ajax"),C=r(j),S=e("../../services/posting"),M=r(S),T=e("../../services/snackbar"),L=r(T),A=function(e){function t(e){
|
|
},"chevron_right"))}function u(e){return m["default"].createElement(b["default"],{className:"btn-default btn-block btn-icon btn-sm",disabled:e.disabled||!e.edit.next,onClick:e.onClick,title:gettext("See previous change")},m["default"].createElement("span",{className:"material-icon"},"last_page"))}function c(e){return e.canRevert?m["default"].createElement("div",{className:"col-sm-3 hidden-xs"},m["default"].createElement(b["default"],{className:"btn-default btn-sm btn-block",disabled:e.disabled,onClick:e.onClick,title:gettext("Revert post to state from before this edit.")},gettext("Revert"))):null}function d(e){var t=null;t=e.edit.url.editor?interpolate(E,{url:(0,_["default"])(e.edit.url.editor),user:(0,_["default"])(e.edit.editor_name)},!0):interpolate(y,{user:(0,_["default"])(e.edit.editor_name)},!0);var a=interpolate(g,{absolute:(0,_["default"])(e.edit.edited_on.format("LLL")),relative:(0,_["default"])(e.edit.edited_on.fromNow())},!0),n=interpolate((0,_["default"])(gettext("By %(edited_by)s %(edited_on)s.")),{edited_by:t,edited_on:a},!0);return m["default"].createElement("p",{dangerouslySetInnerHTML:{__html:n}})}Object.defineProperty(a,"__esModule",{value:!0});var f=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.GoBackBtn=s,a.GoForwardBtn=i,a.GoLastBtn=u,a.RevertBtn=c,a.Label=d;var p=e("react"),m=n(p),h=e("../button"),b=n(h),v=e("../../utils/escape-html"),_=n(v),g='<abbr title="%(absolute)s">%(relative)s</abbr>',y='<span class="item-title">%(user)s</span>',E='<a href="%(url)s" class="item-title">%(user)s</a>',w=function(e){function t(){var e,a,n,l;r(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.goLast=function(){n.props.goToEdit()},n.goForward=function(){n.props.goToEdit(n.props.edit.next)},n.goBack=function(){n.props.goToEdit(n.props.edit.previous)},n.revertEdit=function(){n.props.revertEdit(n.props.edit.id)},l=a,o(n,l)}return l(t,e),f(t,[{key:"render",value:function(){return m["default"].createElement("div",{className:"modal-toolbar post-changelog-toolbar"},m["default"].createElement("div",{className:"row"},m["default"].createElement("div",{className:"col-xs-12 col-sm-4"},m["default"].createElement("div",{className:"row"},m["default"].createElement("div",{className:"col-xs-4"},m["default"].createElement(s,{disabled:this.props.disabled,edit:this.props.edit,onClick:this.goBack})),m["default"].createElement("div",{className:"col-xs-4"},m["default"].createElement(i,{disabled:this.props.disabled,edit:this.props.edit,onClick:this.goForward})),m["default"].createElement("div",{className:"col-xs-4"},m["default"].createElement(u,{disabled:this.props.disabled,edit:this.props.edit,onClick:this.goLast})))),m["default"].createElement("div",{className:"col-xs-12 col-sm-5 xs-margin-top-half post-change-label"},m["default"].createElement(d,{edit:this.props.edit})),m["default"].createElement(c,{canRevert:this.props.canRevert,disabled:this.props.disabled,onClick:this.revertEdit})))}}]),t}(m["default"].Component);a["default"]=w},{"../../utils/escape-html":383,"../button":8,react:"react"}],121:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return Object.assign({},e,{edited_on:(0,l["default"])(e.edited_on)})}Object.defineProperty(a,"__esModule",{value:!0}),a.hydrateEdit=r;var o=e("moment"),l=n(o)},{moment:"moment"}],122:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.isReady,a=e.posts,n=e.poster;return t?o["default"].createElement("ul",{className:"posts-list post-feed ui-ready"},a.map(function(e){return o["default"].createElement(s["default"],{key:e.id,post:e,poster:n})})):o["default"].createElement(u["default"],null)};var r=e("react"),o=n(r),l=e("./post"),s=n(l),i=e("./preview"),u=n(i)},{"./post":125,"./preview":131,react:"react"}],123:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return s["default"].createElement("div",{className:"post-body"},s["default"].createElement(u["default"],{markup:e.post.content}))}function o(e){return s["default"].createElement("div",{className:"post-body post-body-invalid"},s["default"].createElement("p",{className:"lead"},gettext("This post's contents cannot be displayed.")),s["default"].createElement("p",{className:"text-muted"},gettext("This error is caused by invalid post content manipulation.")))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return e.post.content?s["default"].createElement(r,e):s["default"].createElement(o,e)},a.Default=r,a.Invalid=o;var l=e("react"),s=n(l),i=e("../../misago-markup"),u=n(i),c=e("../../../utils/escape-html");n(c)},{"../../../utils/escape-html":383,"../../misago-markup":60,react:"react"}],124:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.post,a=t.category,n=t.thread,r=interpolate(gettext("posted %(posted_on)s"),{posted_on:t.posted_on.format("LL, LT")},!0);return o["default"].createElement("div",{className:"post-heading"},o["default"].createElement("a",{className:"btn btn-link item-title",href:n.url},n.title),o["default"].createElement("a",{className:"btn btn-link post-category",href:a.url.index},a.name),o["default"].createElement("a",{href:t.url.index,className:"btn btn-link posted-on",title:r},t.posted_on.fromNow()))};var r=e("react"),o=n(r)},{react:"react"}],125:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.post,a=e.poster,n=a||t.poster,r="post";return n&&n.rank.css_class&&(r+=" post-"+n.rank.css_class),o["default"].createElement("li",{className:r,id:"post-"+t.id},o["default"].createElement("div",{className:"panel panel-default panel-post"},o["default"].createElement("div",{className:"panel-body"},o["default"].createElement(d["default"],{post:t,poster:n}),o["default"].createElement(u["default"],{post:t}),o["default"].createElement(s["default"],{post:t}))))};var r=e("react"),o=n(r),l=e("./body"),s=n(l),i=e("./header"),u=n(i),c=e("./post-side"),d=n(c)},{"./body":123,"./header":124,"./post-side":128,react:"react"}],126:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.post;return o["default"].createElement("div",{className:"post-side post-side-anonymous"},o["default"].createElement(u["default"],{post:t}),o["default"].createElement("div",{className:"media"},o["default"].createElement("div",{className:"media-left"},o["default"].createElement("span",null,o["default"].createElement(s["default"],{className:"poster-avatar",size:50}))),o["default"].createElement("div",{className:"media-body"},o["default"].createElement("div",{className:"media-heading"},o["default"].createElement("span",{className:"item-title"},t.poster_name)),o["default"].createElement("span",{className:"user-title user-title-anonymous"},gettext("Removed user")))))};var r=e("react"),o=n(r),l=e("../../../avatar"),s=n(l),i=e("./button"),u=n(i)},{"../../../avatar":6,"./button":127,react:"react"}],127:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.post;return o["default"].createElement("a",{className:"btn btn-default btn-icon pull-right",href:t.url.index},o["default"].createElement("span",{className:"btn-text-left hidden-xs"},gettext("See post")),o["default"].createElement("span",{className:"material-icon"},"chevron_right"))};var r=e("react"),o=n(r)},{react:"react"}],128:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.post,a=e.poster;return a.id?o["default"].createElement(u["default"],{post:t,poster:a}):o["default"].createElement(s["default"],{post:t})};var r=e("react"),o=n(r),l=e("./anonymous"),s=n(l),i=e("./registered"),u=n(i)},{"./anonymous":126,"./registered":129,react:"react"}],129:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.post,a=e.poster;return o["default"].createElement("div",{className:"post-side post-side-registered"},o["default"].createElement(u["default"],{post:t}),o["default"].createElement("div",{className:"media"},o["default"].createElement("div",{className:"media-left"},o["default"].createElement("a",{href:a.url},o["default"].createElement(s["default"],{className:"poster-avatar",size:50,user:a}))),o["default"].createElement("div",{className:"media-body"},o["default"].createElement("div",{className:"media-heading"},o["default"].createElement("a",{className:"item-title",href:a.url},a.username)),o["default"].createElement(d["default"],{title:a.title,rank:a.rank}))))};var r=e("react"),o=n(r),l=e("../../../avatar"),s=n(l),i=e("./button"),u=n(i),c=e("./user-title"),d=n(c)},{"../../../avatar":6,"./button":127,"./user-title":130,react:"react"}],130:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.rank,a=e.title,n=a||t.title||t.name,r="user-title";return t.css_class&&(r+=" user-title-"+t.css_class),t.is_tab?o["default"].createElement("a",{className:r,href:t.url},n):o["default"].createElement("span",{className:r},n)};var r=e("react"),o=n(r)},{react:"react"}],131:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(){return l["default"].createElement("ul",{className:"posts-list post-feed ui-preview"},l["default"].createElement("li",{className:"post"},l["default"].createElement("div",{className:"panel panel-default panel-post"},l["default"].createElement("div",{className:"panel-body"},l["default"].createElement("div",{className:"post-side post-side-anonymous"},l["default"].createElement("div",{className:"media"},l["default"].createElement("div",{className:"media-left"},l["default"].createElement("span",null,l["default"].createElement(i["default"],{className:"poster-avatar",size:50}))),l["default"].createElement("div",{className:"media-body"},l["default"].createElement("div",{className:"media-heading"},l["default"].createElement("span",{className:"item-title"},l["default"].createElement("span",{className:"ui-preview-text",style:{width:c["int"](30,200)+"px"}}," "))),l["default"].createElement("span",{className:"user-title user-title-anonymous"},l["default"].createElement("span",{className:"ui-preview-text",style:{width:c["int"](30,200)+"px"}}," "))))),l["default"].createElement("div",{className:"post-heading"},l["default"].createElement("span",{className:"ui-preview-text",style:{width:c["int"](30,200)+"px"}}," ")),l["default"].createElement("div",{className:"post-body"},l["default"].createElement("article",{className:"misago-markup"},l["default"].createElement("p",null,l["default"].createElement("span",{className:"ui-preview-text",style:{width:c["int"](30,200)+"px"}}," ")," ",l["default"].createElement("span",{className:"ui-preview-text",style:{width:c["int"](30,200)+"px"}}," ")," ",l["default"].createElement("span",{className:"ui-preview-text",style:{width:c["int"](30,200)+"px"}}," "))))))))};var o=e("react"),l=r(o),s=e("../avatar"),i=r(s),u=e("../../utils/random"),c=n(u)},{"../../utils/random":388,"../avatar":6,react:"react"}],132:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return Object.assign({},e,{liked_on:(0,v["default"])(e.liked_on)})}function i(e){var t=e.className,a=e.children,n=e.likes,r=gettext("Post Likes");if(n){var o=n.length,l=ngettext("%(likes)s like","%(likes)s likes",o);r=interpolate(l,{likes:o},!0)}return h["default"].createElement("div",{className:"modal-dialog "+(t||""),role:"document"},h["default"].createElement("div",{className:"modal-content"},h["default"].createElement("div",{className:"modal-header"},h["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},h["default"].createElement("span",{"aria-hidden":"true"},"×")),h["default"].createElement("h4",{className:"modal-title"},r)),a))}function u(e){return h["default"].createElement("div",{className:"modal-body modal-post-likers"},h["default"].createElement("ul",{className:"media-list"},e.likes.map(function(e){return h["default"].createElement(c,f({key:e.id},e))})))}function c(e){if(e.url){var t={id:e.liker_id,avatars:e.avatars};return h["default"].createElement("li",{className:"media"},h["default"].createElement("div",{className:"media-left"},h["default"].createElement("a",{className:"user-avatar",href:e.url},h["default"].createElement(g["default"],{size:"50",user:t}))),h["default"].createElement("div",{className:"media-body"},h["default"].createElement("a",{className:"item-title",href:e.url},e.username)," ",h["default"].createElement(d,{likedOn:e.liked_on})))}return h["default"].createElement("li",{className:"media"},h["default"].createElement("div",{className:"media-left"},h["default"].createElement("span",{className:"user-avatar"},h["default"].createElement(g["default"],{size:"50"}))),h["default"].createElement("div",{className:"media-body"},h["default"].createElement("strong",null,e.username)," ",h["default"].createElement(d,{likedOn:e.liked_on})))}function d(e){return h["default"].createElement("span",{className:"text-muted",title:e.likedOn.format("LLL")},e.likedOn.fromNow())}Object.defineProperty(a,"__esModule",{value:!0});var f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},p=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.hydrateLike=s,a.ModalDialog=i,a.LikesList=u,a.LikeDetails=c,a.LikeDate=d;var m=e("react"),h=n(m),b=e("moment"),v=n(b),_=e("./avatar"),g=n(_),y=e("./modal-message"),E=n(y),w=e("./modal-loader"),O=n(w),k=e("../services/ajax"),N=n(k),x=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={isReady:!1,error:null,likes:[]},a}return l(t,e),p(t,[{key:"componentDidMount",value:function(){var e=this;N["default"].get(this.props.post.api.likes).then(function(t){e.setState({isReady:!0,likes:t.map(s)})},function(t){e.setState({isReady:!0,error:t.detail})})}},{key:"render",value:function(){return this.state.error?h["default"].createElement(i,{className:"modal-message"},h["default"].createElement(E["default"],{message:this.state.error})):this.state.isReady?this.state.likes.length?h["default"].createElement(i,{className:"modal-sm",likes:this.state.likes},h["default"].createElement(u,{likes:this.state.likes})):h["default"].createElement(i,{className:"modal-message"},h["default"].createElement(E["default"],{message:gettext("No users have liked this post.")})):h["default"].createElement(i,{className:"modal-sm"},h["default"].createElement(O["default"],null))}}]),t}(h["default"].Component);a["default"]=x},{"../services/ajax":365,"./avatar":6,"./modal-loader":61,"./modal-message":62,moment:"moment",react:"react"}],133:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../editor"),f=r(d),p=e("../form"),m=r(p),h=e("./utils/container"),b=r(h),v=e("./utils/loader"),_=r(v),g=e("./utils/message"),y=r(g),E=e("./utils/attachments"),w=n(E),O=e("./utils/validators"),k=e("../../services/ajax"),N=r(k),x=e("../../services/posting"),P=r(x),j=e("../../services/snackbar"),C=r(j),S=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.loadSuccess=function(e){a.setState({isReady:!0,post:e.post,attachments:w.hydrate(e.attachments),protect:e.is_protected,canProtect:e.can_protect})},a.loadError=function(e){a.setState({isErrored:e.detail})},a.onCancel=function(){var e=confirm(gettext("Are you sure you want to discard changes?"));e&&P["default"].close()},a.onProtect=function(){a.setState({protect:!0})},a.onUnprotect=function(){a.setState({protect:!1})},a.onPostChange=function(e){a.changeValue("post",e.target.value)},a.onAttachmentsChange=function(e){a.setState({attachments:e})},a.state={isReady:!1,isLoading:!1,isErrored:!1,post:"",attachments:[],protect:!1,canProtect:!1,validators:{post:(0,O.getPostValidators)()},errors:{}},a}return s(t,e),i(t,[{key:"componentDidMount",value:function(){N["default"].get(this.props.config).then(this.loadSuccess,this.loadError)}},{key:"clean",value:function(){if(!this.state.post.trim().length)return C["default"].error(gettext("You have to enter a message.")),!1;var e=this.validate();return!e.post||(C["default"].error(e.post[0]),!1)}},{key:"send",value:function(){return N["default"].put(this.props.submit,{post:this.state.post,attachments:w.clean(this.state.attachments),protect:this.state.protect})}},{key:"handleSuccess",value:function(e){C["default"].success(gettext("Reply has been edited.")),window.location=e.url.index,this.setState({isLoading:!0})}},{key:"handleError",value:function(e){if(400===e.status){var t=[].concat(e.non_field_errors||[],e.category||[],e.title||[],e.post||[],e.attachments||[]);C["default"].error(t[0])}else C["default"].apiError(e)}},{key:"render",value:function(){return this.state.isReady?c["default"].createElement(b["default"],{className:"posting-form"},c["default"].createElement("form",{onSubmit:this.handleSubmit,method:"POST"},c["default"].createElement("div",{className:"row"},c["default"].createElement("div",{className:"col-md-12"},c["default"].createElement(f["default"],{attachments:this.state.attachments,canProtect:this.state.canProtect,loading:this.state.isLoading,onAttachmentsChange:this.onAttachmentsChange,onCancel:this.onCancel,onChange:this.onPostChange,onProtect:this.onProtect,onUnprotect:this.onUnprotect,protect:this.state.protect,submitLabel:gettext("Edit reply"),value:this.state.post}))))):this.state.isErrored?c["default"].createElement(y["default"],{message:this.state.isErrored}):c["default"].createElement(_["default"],null)}}]),t}(m["default"]);a["default"]=S},{"../../services/ajax":365,"../../services/posting":375,"../../services/snackbar":376,"../editor":52,"../form":56,"./utils/attachments":138,"./utils/container":139,"./utils/loader":140,"./utils/message":141,"./utils/validators":144,react:"react"}],134:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return"START"===e.mode?o["default"].createElement(s["default"],e):"START_PRIVATE"===e.mode?o["default"].createElement(u["default"],e):"REPLY"===e.mode?o["default"].createElement(d["default"],e):"EDIT"===e.mode?o["default"].createElement(p["default"],e):null};var r=e("react"),o=n(r),l=e("./start"),s=n(l),i=e("./start-private"),u=n(i),c=e("./reply"),d=n(c),f=e("./edit"),p=n(f)},{"./edit":133,"./reply":135,"./start":137,"./start-private":136,react:"react"}],135:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../editor"),f=r(d),p=e("../form"),m=r(p),h=e("./utils/container"),b=r(h),v=e("./utils/loader"),_=r(v),g=e("./utils/message"),y=r(g),E=e("./utils/attachments"),w=n(E),O=e("./utils/validators"),k=e("../../services/ajax"),N=r(k),x=e("../../services/posting"),P=r(x),j=e("../../services/snackbar"),C=r(j),S=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.loadSuccess=function(e){a.setState({isReady:!0,post:e.post?'[quote="@'+e.poster+'"]\n'+e.post+"\n[/quote]":""})},a.loadError=function(e){a.setState({isErrored:e.detail})},a.appendData=function(e){var t=e.post?'[quote="@'+e.poster+'"]\n'+e.post+"\n[/quote]\n\n":"";a.setState(function(e,a){return e.post.length>0?{post:e.post+"\n\n"+t}:{post:t}})},a.onCancel=function(){var e=confirm(gettext("Are you sure you want to discard your reply?"));e&&P["default"].close()},a.onPostChange=function(e){a.changeValue("post",e.target.value)},a.onAttachmentsChange=function(e){a.setState({attachments:e})},a.state={isReady:!1,isLoading:!1,isErrored:!1,post:"",attachments:[],validators:{post:(0,O.getPostValidators)()},errors:{}},a}return s(t,e),i(t,[{key:"componentDidMount",value:function(){N["default"].get(this.props.config,this.props.context||null).then(this.loadSuccess,this.loadError)}},{key:"componentWillReceiveProps",value:function(e){var t=this.props.context,a=e.context;t&&a&&t.reply===a.reply||N["default"].get(e.config,e.context||null).then(this.appendData,C["default"].apiError)}},{key:"clean",value:function(){if(!this.state.post.trim().length)return C["default"].error(gettext("You have to enter a message.")),!1;var e=this.validate();return!e.post||(C["default"].error(e.post[0]),!1)}},{key:"send",value:function(){return N["default"].post(this.props.submit,{post:this.state.post,attachments:w.clean(this.state.attachments)})}},{key:"handleSuccess",value:function(e){C["default"].success(gettext("Your reply has been posted.")),window.location=e.url.index,this.setState({isLoading:!0})}},{key:"handleError",value:function(e){if(400===e.status){var t=[].concat(e.non_field_errors||[],e.post||[],e.attachments||[]);C["default"].error(t[0])}else C["default"].apiError(e)}},{key:"render",value:function(){return this.state.isReady?c["default"].createElement(b["default"],{className:"posting-form"},c["default"].createElement("form",{onSubmit:this.handleSubmit,method:"POST"},c["default"].createElement("div",{className:"row"},c["default"].createElement("div",{className:"col-md-12"},c["default"].createElement(f["default"],{attachments:this.state.attachments,loading:this.state.isLoading,onAttachmentsChange:this.onAttachmentsChange,onCancel:this.onCancel,onChange:this.onPostChange,submitLabel:gettext("Post reply"),value:this.state.post}))))):this.state.isErrored?c["default"].createElement(y["default"],{message:this.state.isErrored}):c["default"].createElement(_["default"],null)}}]),t}(m["default"]);a["default"]=S},{"../../services/ajax":365,"../../services/posting":375,"../../services/snackbar":376,"../editor":52,"../form":56,"./utils/attachments":138,"./utils/container":139,"./utils/loader":140,"./utils/message":141,"./utils/validators":144,react:"react"}],136:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../editor"),f=r(d),p=e("../form"),m=r(p),h=e("./utils/container"),b=r(h),v=e("./utils/message"),_=(r(v),e("./utils/attachments")),g=n(_),y=e("./utils/usernames"),E=r(y),w=e("./utils/validators"),O=e("../../services/ajax"),k=r(O),N=e("../../services/posting"),x=r(N),P=e("../../services/snackbar"),j=r(P),C=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));a.onCancel=function(){var e=confirm(gettext("Are you sure you want to discard private thread?"));e&&x["default"].close()},a.onToChange=function(e){a.changeValue("to",e.target.value)},a.onTitleChange=function(e){a.changeValue("title",e.target.value)},a.onPostChange=function(e){a.changeValue("post",e.target.value)},a.onAttachmentsChange=function(e){a.setState({attachments:e})};var n=(e.to||[]).map(function(e){return e.username}).join(", ");return a.state={isLoading:!1,to:n,title:"",post:"",attachments:[],validators:{title:(0,w.getTitleValidators)(),post:(0,w.getPostValidators)()},errors:{}},a}return s(t,e),i(t,[{key:"clean",value:function(){if(!(0,E["default"])(this.state.to).length)return j["default"].error(gettext("You have to enter at least one recipient.")),!1;if(!this.state.title.trim().length)return j["default"].error(gettext("You have to enter thread title.")),!1;if(!this.state.post.trim().length)return j["default"].error(gettext("You have to enter a message.")),!1;var e=this.validate();return e.title?(j["default"].error(e.title[0]),!1):!e.post||(j["default"].error(e.post[0]),!1)}},{key:"send",value:function(){return k["default"].post(this.props.submit,{to:(0,E["default"])(this.state.to),title:this.state.title,post:this.state.post,attachments:g.clean(this.state.attachments)})}},{key:"handleSuccess",value:function(e){j["default"].success(gettext("Your thread has been posted.")),window.location=e.url,this.setState({isLoading:!0})}},{key:"handleError",value:function(e){if(400===e.status){var t=[].concat(e.non_field_errors||[],e.to||[],e.title||[],e.post||[],e.attachments||[]);j["default"].error(t[0])}else j["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement(b["default"],{className:"posting-form",withFirstRow:!0},c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"row first-row"},c["default"].createElement("div",{className:"col-xs-12"},c["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,onChange:this.onToChange,placeholder:gettext("Comma separated list of user names, eg.: Danny, Lisa"),type:"text",value:this.state.to}))),c["default"].createElement("div",{className:"row first-row"},c["default"].createElement("div",{className:"col-xs-12"},c["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,onChange:this.onTitleChange,placeholder:gettext("Thread title"),type:"text",value:this.state.title}))),c["default"].createElement("div",{className:"row"},c["default"].createElement("div",{className:"col-xs-12"},c["default"].createElement(f["default"],{attachments:this.state.attachments,loading:this.state.isLoading,onAttachmentsChange:this.onAttachmentsChange,onCancel:this.onCancel,onChange:this.onPostChange,submitLabel:gettext("Post thread"),value:this.state.post})))))}}]),t}(m["default"]);a["default"]=C},{"../../services/ajax":365,"../../services/posting":375,"../../services/snackbar":376,"../editor":52,"../form":56,"./utils/attachments":138,"./utils/container":139,"./utils/message":141,"./utils/usernames":143,"./utils/validators":144,react:"react"}],137:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../category-select"),f=r(d),p=e("../editor"),m=r(p),h=e("../form"),b=r(h),v=e("./utils/container"),_=r(v),g=e("./utils/loader"),y=r(g),E=e("./utils/message"),w=r(E),O=e("./utils/options"),k=r(O),N=e("./utils/attachments"),x=n(N),P=e("./utils/validators"),j=e("../../services/ajax"),C=r(j),S=e("../../services/posting"),M=r(S),T=e("../../services/snackbar"),L=r(T),A=function(e){function t(e){
|
|
o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.loadSuccess=function(e){var t=null,n=!1,r=null,o=e.map(function(e){return e.post===!1||t&&e.id!=a.state.category||(t=e.id,r=e.post),e.post&&(e.post.close||e.post.hide||e.post.pin)&&(n=!0),Object.assign(e,{disabled:e.post===!1,label:e.name,value:e.id})});a.setState({isReady:!0,showOptions:n,categories:o,category:t,categoryOptions:r})},a.loadError=function(e){a.setState({isErrored:e.detail})},a.onCancel=function(){var e=confirm(gettext("Are you sure you want to discard thread?"));e&&M["default"].close()},a.onTitleChange=function(e){a.changeValue("title",e.target.value)},a.onCategoryChange=function(e){var t=a.state.categories.find(function(t){return e.target.value==t.value}),n=a.state.pin;t.post.pin&&t.post.pin<n&&(n=t.post.pin),a.setState({category:t.id,categoryOptions:t.post,pin:n})},a.onPostChange=function(e){a.changeValue("post",e.target.value)},a.onAttachmentsChange=function(e){a.setState({attachments:e})},a.onClose=function(){a.changeValue("close",!0)},a.onOpen=function(){a.changeValue("close",!1)},a.onPinGlobally=function(){a.changeValue("pin",2)},a.onPinLocally=function(){a.changeValue("pin",1)},a.onUnpin=function(){a.changeValue("pin",0)},a.onHide=function(){a.changeValue("hide",!0)},a.onUnhide=function(){a.changeValue("hide",!1)},a.state={isReady:!1,isLoading:!1,isErrored:!1,showOptions:!1,categoryOptions:null,title:"",category:e.category||null,categories:[],post:"",attachments:[],close:!1,hide:!1,pin:0,validators:{title:(0,P.getTitleValidators)(),post:(0,P.getPostValidators)()},errors:{}},a}return s(t,e),i(t,[{key:"componentDidMount",value:function(){C["default"].get(this.props.config).then(this.loadSuccess,this.loadError)}},{key:"clean",value:function(){if(!this.state.title.trim().length)return L["default"].error(gettext("You have to enter thread title.")),!1;if(!this.state.post.trim().length)return L["default"].error(gettext("You have to enter a message.")),!1;var e=this.validate();return e.title?(L["default"].error(e.title[0]),!1):!e.post||(L["default"].error(e.post[0]),!1)}},{key:"send",value:function(){return C["default"].post(this.props.submit,{title:this.state.title,category:this.state.category,post:this.state.post,attachments:x.clean(this.state.attachments),close:this.state.close,hide:this.state.hide,pin:this.state.pin})}},{key:"handleSuccess",value:function(e){L["default"].success(gettext("Your thread has been posted.")),window.location=e.url,this.setState({isLoading:!0})}},{key:"handleError",value:function(e){if(400===e.status){var t=[].concat(e.non_field_errors||[],e.category||[],e.title||[],e.post||[],e.attachments||[]);L["default"].error(t[0])}else L["default"].apiError(e)}},{key:"render",value:function(){if(this.state.isErrored)return c["default"].createElement(w["default"],{message:this.state.isErrored});if(!this.state.isReady)return c["default"].createElement(y["default"],null);var e=0;this.state.categoryOptions.close&&(e+=1),this.state.categoryOptions.hide&&(e+=1),this.state.categoryOptions.pin&&(e+=1);var t=null;return t=1===e?"col-sm-6":"col-sm-8",t+=3===e?" col-md-6":e?" col-md-7":" col-md-9",c["default"].createElement(_["default"],{className:"posting-form",withFirstRow:!0},c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"row first-row"},c["default"].createElement("div",{className:t},c["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,onChange:this.onTitleChange,placeholder:gettext("Thread title"),type:"text",value:this.state.title})),c["default"].createElement("div",{className:"col-xs-12 col-sm-4 col-md-3 xs-margin-top"},c["default"].createElement(f["default"],{choices:this.state.categories,disabled:this.state.isLoading,onChange:this.onCategoryChange,value:this.state.category})),c["default"].createElement(k["default"],{close:this.state.close,columns:e,disabled:this.state.isLoading,hide:this.state.hide,onClose:this.onClose,onHide:this.onHide,onOpen:this.onOpen,onPinGlobally:this.onPinGlobally,onPinLocally:this.onPinLocally,onUnhide:this.onUnhide,onUnpin:this.onUnpin,options:this.state.categoryOptions,pin:this.state.pin,showOptions:this.state.showOptions})),c["default"].createElement("div",{className:"row"},c["default"].createElement("div",{className:"col-md-12"},c["default"].createElement(m["default"],{attachments:this.state.attachments,loading:this.state.isLoading,onAttachmentsChange:this.onAttachmentsChange,onCancel:this.onCancel,onChange:this.onPostChange,submitLabel:gettext("Post thread"),value:this.state.post})))))}}]),t}(b["default"]);a["default"]=A},{"../../services/ajax":365,"../../services/posting":375,"../../services/snackbar":376,"../category-select":21,"../editor":52,"../form":56,"./utils/attachments":138,"./utils/container":139,"./utils/loader":140,"./utils/message":141,"./utils/options":142,"./utils/validators":144,react:"react"}],138:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.filter(function(e){return e.id&&!e.isRemoved});return t.map(function(e){return e.id})}function o(e){return e.map(function(e){return Object.assign({},e,{uploaded_on:(0,s["default"])(e.uploaded_on)})})}Object.defineProperty(a,"__esModule",{value:!0}),a.clean=r,a.hydrate=o;var l=e("moment"),s=n(l)},{moment:"moment"}],139:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("div",{className:e.className},o["default"].createElement("div",{className:"container"},e.children))};var r=e("react"),o=n(r)},{react:"react"}],140:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement(s["default"],{className:"posting-loader"},o["default"].createElement(u["default"],null))};var r=e("react"),o=n(r),l=e("./container"),s=n(l),i=e("../../loader"),u=n(i)},{"../../loader":58,"./container":139,react:"react"}],141:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement(s["default"],{className:"posting-message"},o["default"].createElement("div",{className:"message-body"},o["default"].createElement("p",null,o["default"].createElement("span",{className:"material-icon"},"error_outline"),e.message),o["default"].createElement("button",{type:"button",className:"btn btn-default",onClick:u["default"].close},gettext("Dismiss"))))};var r=e("react"),o=n(r),l=e("./container"),s=n(l),i=e("../../../services/posting"),u=n(i)},{"../../../services/posting":375,"./container":139,react:"react"}],142:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){if(!e.show)return null;var t=e.close?gettext("Closed"):gettext("Open");return i["default"].createElement("div",{className:e.className},i["default"].createElement("button",{className:"btn btn-default btn-block",disabled:e.disabled,onClick:e.close?e.onOpen:e.onClose,title:t,type:"button"},i["default"].createElement("span",{className:"material-icon"},e.close?"lock":"lock_outline"),i["default"].createElement("span",{className:e.textClassName},t)))}function o(e){if(!e.show)return null;var t=e.hide?gettext("Hidden"):gettext("Not hidden");return i["default"].createElement("div",{className:e.className},i["default"].createElement("button",{className:"btn btn-default btn-block",disabled:e.disabled,onClick:e.hide?e.onUnhide:e.onHide,title:t,type:"button"},i["default"].createElement("span",{className:"material-icon"},e.hide?"visibility_off":"visibility"),i["default"].createElement("span",{className:e.textClassName},t)))}function l(e){if(!e.show)return null;var t=null,a=null,n=null;switch(e.pin){case 0:t="radio_button_unchecked",a=e.onPinLocally,n=gettext("Unpinned");break;case 1:t="bookmark_outline",a=e.onPinGlobally,n=gettext("Pinned locally"),a=2==e.show?e.onPinGlobally:e.onUnpin;break;case 2:t="bookmark",a=e.onUnpin,n=gettext("Pinned globally")}return i["default"].createElement("div",{className:e.className},i["default"].createElement("button",{className:"btn btn-default btn-block",disabled:e.disabled,onClick:a,title:n,type:"button"},i["default"].createElement("span",{className:"material-icon"},t),i["default"].createElement("span",{className:e.textClassName},n)))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){if(!e.showOptions)return null;var t=e.columns,a="col-xs-12 xs-margin-top";a+=1===t?" col-sm-2":" sm-margin-top",a+=3===t?" col-md-3":" col-md-2",a+=" posting-options";var n="col-xs-"+12/t,s="btn-text";return s+=3===t?" visible-sm-inline-block":2===t?" hidden-md hidden-lg":" hidden-sm",i["default"].createElement("div",{className:a},i["default"].createElement("div",{className:"row"},i["default"].createElement(l,{className:n,disabled:e.disabled,onPinGlobally:e.onPinGlobally,onPinLocally:e.onPinLocally,onUnpin:e.onUnpin,pin:e.pin,show:e.options.pin,textClassName:s}),i["default"].createElement(o,{className:n,disabled:e.disabled,hide:e.hide,onHide:e.onHide,onUnhide:e.onUnhide,show:e.options.hide,textClassName:s}),i["default"].createElement(r,{className:n,close:e.close,disabled:e.disabled,onClose:e.onClose,onOpen:e.onOpen,show:e.options.close,textClassName:s})))},a.CloseOptions=r,a.HideOptions=o,a.PinOptions=l;var s=e("react"),i=n(s)},{react:"react"}],143:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.split(",").map(function(e){return e.trim().toLowerCase()}),a=t.filter(function(e){return e.length>0}),n=a.filter(function(e,t){return a.indexOf(e)==t});return n}},{}],144:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){return[l(),s()]}function o(){return f["default"].get("SETTINGS").post_length_max?[i(),u()]:[i()]}function l(){return(0,c.minLength)(f["default"].get("SETTINGS").thread_title_length_min,function(e,t){var a=ngettext("Thread title should be at least %(limit_value)s character long (it has %(show_value)s).","Thread title should be at least %(limit_value)s characters long (it has %(show_value)s).",e);return interpolate(a,{limit_value:e,show_value:t},!0)})}function s(){return(0,c.maxLength)(f["default"].get("SETTINGS").thread_title_length_max,function(e,t){var a=ngettext("Thread title cannot be longer than %(limit_value)s character (it has %(show_value)s).","Thread title cannot be longer than %(limit_value)s characters (it has %(show_value)s).",e);return interpolate(a,{limit_value:e,show_value:t},!0)})}function i(){return(0,c.minLength)(f["default"].get("SETTINGS").post_length_min,function(e,t){var a=ngettext("Posted message should be at least %(limit_value)s character long (it has %(show_value)s).","Posted message should be at least %(limit_value)s characters long (it has %(show_value)s).",e);return interpolate(a,{limit_value:e,show_value:t},!0)})}function u(){return(0,c.maxLength)(f["default"].get("SETTINGS").post_length_max||1e6,function(e,t){var a=ngettext("Posted message cannot be longer than %(limit_value)s character (it has %(show_value)s).","Posted message cannot be longer than %(limit_value)s characters (it has %(show_value)s).",e);return interpolate(a,{limit_value:e,show_value:t},!0)})}Object.defineProperty(a,"__esModule",{value:!0}),a.getTitleValidators=r,a.getPostValidators=o,a.getTitleLengthMin=l,a.getTitleLengthMax=s,a.validatePostLengthMin=i,a.validatePostLengthMax=u;var c=e("../../../utils/validators"),d=e("../../.."),f=n(d)},{"../../..":302,"../../../utils/validators":393}],145:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){return e.can_hide}Object.defineProperty(a,"__esModule",{value:!0}),a.Delete=a.Unhide=a.Hide=void 0;var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a["default"]=function(e){return i(e.post.acl)?d["default"].createElement("li",{className:"event-controls"},d["default"].createElement(w,e),d["default"].createElement(O,e),d["default"].createElement(k,e)):null},a.isVisible=i;var c=e("react"),d=r(c),f=e("moment"),p=r(f),m=e("../../../reducers/post"),h=n(m),b=e("../../../services/ajax"),v=r(b),_=e("../../../services/snackbar"),g=r(_),y=e("../../../services/store"),E=r(y),w=a.Hide=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){E["default"].dispatch(h.patch(n.props.post,{is_hidden:!0,hidden_on:(0,p["default"])(),hidden_by_name:n.props.user.username,url:Object.assign(n.props.post.url,{hidden_by:n.props.user.url})}));var e={op:"replace",path:"is-hidden",value:!0};v["default"].patch(n.props.post.api.index,[e]).then(function(e){E["default"].dispatch(h.patch(n.props.post,e))},function(e){400===e.status?g["default"].error(e.detail[0]):g["default"].apiError(e),E["default"].dispatch(h.patch(n.props.post,{is_hidden:!1}))})},r=a,l(n,r)}return s(t,e),u(t,[{key:"render",value:function(){return this.props.post.is_hidden?null:d["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Hide"))}}]),t}(d["default"].Component),O=a.Unhide=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){E["default"].dispatch(h.patch(n.props.post,{is_hidden:!1}));var e={op:"replace",path:"is-hidden",value:!1};v["default"].patch(n.props.post.api.index,[e]).then(function(e){E["default"].dispatch(h.patch(n.props.post,e))},function(e){400===e.status?g["default"].error(e.detail[0]):g["default"].apiError(e),E["default"].dispatch(h.patch(n.props.post,{is_hidden:!0}))})},r=a,l(n,r)}return s(t,e),u(t,[{key:"render",value:function(){return this.props.post.is_hidden?d["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Unhide")):null}}]),t}(d["default"].Component),k=a.Delete=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){var e=confirm(gettext("Are you sure you wish to delete this event? This action is not reversible!"));e&&n["delete"]()},n["delete"]=function(){E["default"].dispatch(h.patch(n.props.post,{isDeleted:!0})),v["default"]["delete"](n.props.post.api.index).then(function(){g["default"].success(gettext("Event has been deleted."))},function(e){400===e.status?g["default"].error(e.detail[0]):g["default"].apiError(e),E["default"].dispatch(h.patch(n.props.post,{isDeleted:!1}))})},r=a,l(n,r)}return s(t,e),u(t,[{key:"render",value:function(){return d["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Delete"))}}]),t}(d["default"].Component)},{"../../../reducers/post":353,"../../../services/ajax":365,"../../../services/snackbar":376,"../../../services/store":377,moment:"moment",react:"react"}],146:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("div",{className:"post-avatar"},o["default"].createElement("span",{className:"material-icon"},l[e.post.event_type]))};var r=e("react"),o=n(r),l={changed_title:"edit",pinned_globally:"bookmark",pinned_locally:"bookmark_border",unpinned:"panorama_fish_eye",moved:"arrow_forward",merged:"call_merge",approved:"done",opened:"lock_open",closed:"lock_outline",unhid:"visibility",hid:"visibility_off",changed_owner:"grade",tookover:"grade",added_participant:"person_add",owner_left:"person_outline",participant_left:"person_outline",removed_participant:"remove_circle_outline"}},{react:"react"}],147:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t="event";return e.post.isDeleted?t="hide":e.post.is_hidden&&(t="event post-hidden"),o["default"].createElement("li",{id:"post-"+e.post.id,className:t},o["default"].createElement(p["default"],{post:e.post}),o["default"].createElement("div",{className:"row"},o["default"].createElement("div",{className:"col-xs-2 col-sm-3 text-right"},o["default"].createElement(s["default"],e)),o["default"].createElement("div",{className:"col-xs-10 col-sm-9 text-left"},o["default"].createElement(h["default"],{post:e.post},o["default"].createElement(d["default"],e),o["default"].createElement(u["default"],e)))))};var r=e("react"),o=n(r),l=e("./icon"),s=n(l),i=e("./info"),u=n(i),c=e("./message"),d=n(c),f=e("./unread-label"),p=n(f),m=e("../waypoint"),h=n(m)},{"../waypoint":173,"./icon":146,"./info":148,"./message":149,"./unread-label":150,react:"react"}],148:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){if(e.post.is_hidden){var t=null;t=e.post.url.hidden_by?interpolate(h,{url:(0,u["default"])(e.post.url.hidden_by),user:(0,u["default"])(e.post.hidden_by_name)},!0):interpolate(m,{user:(0,u["default"])(e.post.hidden_by_name)},!0);var a=interpolate(f,{absolute:(0,u["default"])(e.post.hidden_on.format("LLL")),relative:(0,u["default"])(e.post.hidden_on.fromNow())},!0),n=interpolate((0,u["default"])(gettext("Hidden by %(event_by)s %(event_on)s.")),{event_by:t,event_on:a},!0);return s["default"].createElement("li",{className:"event-hidden-message",dangerouslySetInnerHTML:{__html:n}})}return null}function o(e){var t=null;t=e.post.poster?interpolate(h,{url:(0,u["default"])(e.post.poster.url),user:(0,u["default"])(e.post.poster_name)},!0):interpolate(m,{user:(0,u["default"])(e.post.poster_name)},!0);var a=interpolate(p,{url:(0,u["default"])(e.post.url.index),absolute:(0,u["default"])(e.post.posted_on.format("LLL")),relative:(0,u["default"])(e.post.posted_on.fromNow())},!0),n=interpolate((0,u["default"])(gettext("By %(event_by)s %(event_on)s.")),{event_by:t,event_on:a},!0);return s["default"].createElement("li",{className:"event-posters",dangerouslySetInnerHTML:{__html:n}})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return s["default"].createElement("ul",{className:"list-inline event-info"},s["default"].createElement(r,e),s["default"].createElement(o,e),s["default"].createElement(d["default"],e))},a.Hidden=r,a.Poster=o;var l=e("react"),s=n(l),i=e("../../../utils/escape-html"),u=n(i),c=e("./controls"),d=n(c),f='<abbr title="%(absolute)s">%(relative)s</abbr>',p='<a href="%(url)s" title="%(absolute)s">%(relative)s</a>',m='<span class="item-title">%(user)s</span>',h='<a href="%(url)s" class="item-title">%(user)s</a>'},{"../../../utils/escape-html":383,"./controls":145,react:"react"}],149:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=(0,p["default"])(gettext("Thread title has been changed from %(old_title)s.")),a=interpolate(b,{name:(0,p["default"])(e.post.event_context.old_title)},!0),n=interpolate(t,{old_title:a},!0);return d["default"].createElement("p",{className:"event-message",dangerouslySetInnerHTML:{__html:n}})}function o(e){var t=(0,p["default"])(gettext("Thread has been moved from %(from_category)s.")),a=interpolate(h,{url:(0,p["default"])(e.post.event_context.from_category.url),name:(0,p["default"])(e.post.event_context.from_category.name)},!0),n=interpolate(t,{from_category:a},!0);return d["default"].createElement("p",{className:"event-message",dangerouslySetInnerHTML:{__html:n}})}function l(e){var t=(0,p["default"])(gettext("The %(merged_thread)s thread has been merged into this thread.")),a=interpolate(b,{name:(0,p["default"])(e.post.event_context.merged_thread)},!0),n=interpolate(t,{merged_thread:a},!0);return d["default"].createElement("p",{className:"event-message",dangerouslySetInnerHTML:{__html:n}})}function s(e){var t=(0,p["default"])(gettext("Changed thread owner to %(user)s.")),a=interpolate(h,{url:(0,p["default"])(e.post.event_context.user.url),name:(0,p["default"])(e.post.event_context.user.username)},!0),n=interpolate(t,{user:a},!0);return d["default"].createElement("p",{className:"event-message",dangerouslySetInnerHTML:{__html:n}})}function i(e){var t=(0,p["default"])(gettext("Added %(user)s to thread.")),a=interpolate(h,{url:(0,p["default"])(e.post.event_context.user.url),name:(0,p["default"])(e.post.event_context.user.username)},!0),n=interpolate(t,{user:a},!0);return d["default"].createElement("p",{className:"event-message",dangerouslySetInnerHTML:{__html:n}})}function u(e){var t=(0,p["default"])(gettext("Removed %(user)s from thread.")),a=interpolate(h,{url:(0,p["default"])(e.post.event_context.user.url),name:(0,p["default"])(e.post.event_context.user.username)},!0),n=interpolate(t,{user:a},!0);return d["default"].createElement("p",{className:"event-message",dangerouslySetInnerHTML:{__html:n}})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return m[e.post.event_type]?d["default"].createElement("p",{className:"event-message"},m[e.post.event_type]):"changed_title"===e.post.event_type?d["default"].createElement(r,e):"moved"===e.post.event_type?d["default"].createElement(o,e):"merged"===e.post.event_type?d["default"].createElement(l,e):"changed_owner"===e.post.event_type?d["default"].createElement(s,e):"added_participant"===e.post.event_type?d["default"].createElement(i,e):"removed_participant"===e.post.event_type?d["default"].createElement(u,e):null},a.ChangedTitle=r,a.Moved=o,a.Merged=l,a.ChangedOwner=s,a.AddedParticipant=i,a.RemovedParticipant=u;var c=e("react"),d=n(c),f=e("../../../utils/escape-html"),p=n(f),m={pinned_globally:gettext("Thread has been pinned globally."),pinned_locally:gettext("Thread has been pinned locally."),unpinned:gettext("Thread has been unpinned."),approved:gettext("Thread has been approved."),opened:gettext("Thread has been opened."),closed:gettext("Thread has been closed."),unhid:gettext("Thread has been revealed."),hid:gettext("Thread has been made hidden."),tookover:gettext("Took thread over."),owner_left:gettext("Owner has left thread. This thread is now closed."),participant_left:gettext("Participant has left thread.")},h='<a href="%(url)s" class="item-title">%(name)s</a>',b='<span class="item-title">%(name)s</span>'},{"../../../utils/escape-html":383,react:"react"}],150:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.post;return t.is_read?null:o["default"].createElement("div",{className:"row"},o["default"].createElement("div",{className:"col-xs-10 col-xs-offset-2 col-sm-9 col-sm-offset-3 text-left"},o["default"].createElement("div",{className:"event-label"},o["default"].createElement("span",{className:"label label-unread"},gettext("New event")))))};var r=e("react"),o=n(r)},{react:"react"}],151:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.post.is_event?s["default"].createElement(u["default"],e):s["default"].createElement(d["default"],e)}Object.defineProperty(a,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e};a["default"]=function(e){return e.posts.isLoaded?s["default"].createElement("ul",{className:"posts-list ui-ready"},e.posts.results.map(function(t){return s["default"].createElement(r,o({key:t.id,post:t},e))})):s["default"].createElement("ul",{className:"posts-list ui-preview"},s["default"].createElement(p["default"],null))},a.ListItem=r;var l=e("react"),s=n(l),i=e("./event"),u=n(i),c=e("./post"),d=n(c),f=e("./post/preview"),p=n(f)},{"./event":147,"./post":163,"./post/preview":171,react:"react"}],152:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.attachment.is_image?u["default"].createElement("div",{className:"post-attachment-preview"},u["default"].createElement(l,e)):u["default"].createElement("div",{className:"post-attachment-preview"},u["default"].createElement(o,e))}function o(e){return u["default"].createElement("a",{href:e.attachment.url.index,className:"material-icon"},"insert_drive_file")}function l(e){var t=e.attachment.url.thumb||e.attachment.url.index;return u["default"].createElement("a",{className:"post-thumbnail",href:e.attachment.url.index,style:{backgroundImage:'url("'+(0,f["default"])(t)+'")'}})}function s(e){var t=null;t=e.attachment.url.uploader?interpolate(v,{url:(0,f["default"])(e.attachment.url.uploader),user:(0,f["default"])(e.attachment.uploader_name)},!0):interpolate(b,{user:(0,f["default"])(e.attachment.uploader_name)},!0);var a=interpolate(h,{absolute:(0,f["default"])(e.attachment.uploaded_on.format("LLL")),relative:(0,f["default"])(e.attachment.uploaded_on.fromNow())},!0),n=interpolate((0,f["default"])(gettext("%(filetype)s, %(size)s, uploaded by %(uploader)s %(uploaded_on)s.")),{filetype:e.attachment.filetype,size:(0,m["default"])(e.attachment.size),uploader:t,uploaded_on:a},!0);return u["default"].createElement("p",{className:"post-attachment-description",dangerouslySetInnerHTML:{__html:n}})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return u["default"].createElement("div",{className:"col-xs-12 col-md-6"},u["default"].createElement(r,e),u["default"].createElement("div",{className:"post-attachment"},u["default"].createElement("a",{href:e.attachment.url.index,className:"attachment-name item-title"},e.attachment.filename),u["default"].createElement(s,e)))},a.AttachmentPreview=r,a.AttachmentIcon=o,a.AttachmentThumbnail=l,a.AttachmentDetails=s;var i=e("react"),u=n(i),c=e("../../../.."),d=(n(c),e("../../../../utils/escape-html")),f=n(d),p=e("../../../../utils/file-size"),m=n(p),h='<abbr title="%(absolute)s">%(relative)s</abbr>',b='<span class="item-title">%(user)s</span>',v='<a href="%(url)s" class="item-title">%(user)s</a>'},{"../../../..":302,"../../../../utils/escape-html":383,"../../../../utils/file-size":384,react:"react"}],153:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return(!e.is_hidden||e.acl.can_see_hidden)&&e.attachments}function o(e){return s["default"].createElement("div",{className:"row"},e.row.map(function(e){return s["default"].createElement(d["default"],{attachment:e,key:e?e.id:0})}))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return r(e.post)?s["default"].createElement("div",{className:"post-attachments"},(0,u["default"])(e.post.attachments,2).map(function(e){var t=e.map(function(e){return e?e.id:0}).join("_");return s["default"].createElement(o,{key:t,row:e})})):null},a.isVisible=r,a.Row=o;var l=e("react"),s=n(l),i=e("../../../../utils/batch"),u=n(i),c=e("./attachment"),d=n(c)},{"../../../../utils/batch":380,"./attachment":152,react:"react"}],154:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return i["default"].createElement(c["default"],{className:"post-body",post:e.post},i["default"].createElement(f["default"],{markup:e.post.content}))}function o(e){var t=null;t=e.post.hidden_by?interpolate(h,{url:(0,m["default"])(e.post.url.hidden_by),user:(0,m["default"])(e.post.hidden_by_name)},!0):interpolate(b,{user:(0,m["default"])(e.post.hidden_by_name)},!0);var a=interpolate(v,{absolute:(0,m["default"])(e.post.hidden_on.format("LLL")),relative:(0,m["default"])(e.post.hidden_on.fromNow())},!0),n=interpolate((0,m["default"])(gettext("Hidden by %(hidden_by)s %(hidden_on)s.")),{hidden_by:t,hidden_on:a},!0);return i["default"].createElement(c["default"],{className:"post-body post-body-hidden",post:e.post},i["default"].createElement("p",{className:"lead"},gettext("This post is hidden. You cannot see its contents.")),i["default"].createElement("p",{className:"text-muted",dangerouslySetInnerHTML:{__html:n}}))}function l(e){return i["default"].createElement(c["default"],{className:"post-body post-body-invalid",post:e.post},i["default"].createElement("p",{className:"lead"},gettext("This post's contents cannot be displayed.")),i["default"].createElement("p",{className:"text-muted"},gettext("This error is caused by invalid post content manipulation.")))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return e.post.is_hidden&&!e.post.acl.can_see_hidden?i["default"].createElement(o,e):e.post.content?i["default"].createElement(r,e):i["default"].createElement(l,e)},a.Default=r,a.Hidden=o,a.Invalid=l;var s=e("react"),i=n(s),u=e("../waypoint"),c=n(u),d=e("../../misago-markup"),f=n(d),p=e("../../../utils/escape-html"),m=n(p),h='<a href="%(url)s" class="item-title">%(user)s</a>',b='<span class="item-title">%(user)s</span>',v='<abbr class="last-title" title="%(absolute)s">%(relative)s</abbr>'},{"../../../utils/escape-html":383,"../../misago-markup":60,"../waypoint":173,react:"react"}],155:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e){j["default"].dispatch(w.patch(e.post,{is_unapproved:!1}));var t=[{op:"replace",path:"is-unapproved",value:!1}],a={is_unapproved:e.post.is_unapproved};f(e,t,a)}function l(e){j["default"].dispatch(w.patch(e.post,{is_protected:!0}));var t=[{op:"replace",path:"is-protected",value:!0}],a={is_protected:e.post.is_protected};f(e,t,a)}function s(e){j["default"].dispatch(w.patch(e.post,{is_protected:!1}));var t=[{op:"replace",path:"is-protected",value:!1}],a={is_protected:e.post.is_protected};f(e,t,a)}function i(e){j["default"].dispatch(w.patch(e.post,{is_hidden:!0,hidden_on:(0,_["default"])(),hidden_by_name:e.user.username,url:Object.assign(e.post.url,{hidden_by:e.user.url})}));var t=[{op:"replace",path:"is-hidden",value:!0}],a={is_hidden:e.post.is_hidden,hidden_on:e.post.hidden_on,hidden_by_name:e.post.hidden_by_name,url:e.post.url};f(e,t,a)}function u(e){j["default"].dispatch(w.patch(e.post,{is_hidden:!1}));var t=[{op:"replace",path:"is-hidden",value:!1}],a={is_hidden:e.post.is_hidden};f(e,t,a)}function c(e){var t=e.post.last_likes||[],a=[e.user].concat(t),n=a.length>3?a.slice(0,-1):a;j["default"].dispatch(w.patch(e.post,{is_liked:!0,likes:e.post.likes+1,last_likes:n}));var r=[{op:"replace",path:"is-liked",value:!0}],o={is_liked:e.post.is_liked,likes:e.post.likes,last_likes:e.post.last_likes};f(e,r,o)}function d(e){j["default"].dispatch(w.patch(e.post,{is_liked:!1,likes:e.post.likes-1,last_likes:e.post.last_likes.filter(function(t){return!t.id||t.id!==e.user.id})}));var t=[{op:"replace",path:"is-liked",value:!1}],a={is_liked:e.post.is_liked,
|
|
o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.loadSuccess=function(e){var t=null,n=!1,r=null,o=e.map(function(e){return e.post===!1||t&&e.id!=a.state.category||(t=e.id,r=e.post),e.post&&(e.post.close||e.post.hide||e.post.pin)&&(n=!0),Object.assign(e,{disabled:e.post===!1,label:e.name,value:e.id})});a.setState({isReady:!0,showOptions:n,categories:o,category:t,categoryOptions:r})},a.loadError=function(e){a.setState({isErrored:e.detail})},a.onCancel=function(){var e=confirm(gettext("Are you sure you want to discard thread?"));e&&M["default"].close()},a.onTitleChange=function(e){a.changeValue("title",e.target.value)},a.onCategoryChange=function(e){var t=a.state.categories.find(function(t){return e.target.value==t.value}),n=a.state.pin;t.post.pin&&t.post.pin<n&&(n=t.post.pin),a.setState({category:t.id,categoryOptions:t.post,pin:n})},a.onPostChange=function(e){a.changeValue("post",e.target.value)},a.onAttachmentsChange=function(e){a.setState({attachments:e})},a.onClose=function(){a.changeValue("close",!0)},a.onOpen=function(){a.changeValue("close",!1)},a.onPinGlobally=function(){a.changeValue("pin",2)},a.onPinLocally=function(){a.changeValue("pin",1)},a.onUnpin=function(){a.changeValue("pin",0)},a.onHide=function(){a.changeValue("hide",!0)},a.onUnhide=function(){a.changeValue("hide",!1)},a.state={isReady:!1,isLoading:!1,isErrored:!1,showOptions:!1,categoryOptions:null,title:"",category:e.category||null,categories:[],post:"",attachments:[],close:!1,hide:!1,pin:0,validators:{title:(0,P.getTitleValidators)(),post:(0,P.getPostValidators)()},errors:{}},a}return s(t,e),i(t,[{key:"componentDidMount",value:function(){C["default"].get(this.props.config).then(this.loadSuccess,this.loadError)}},{key:"clean",value:function(){if(!this.state.title.trim().length)return L["default"].error(gettext("You have to enter thread title.")),!1;if(!this.state.post.trim().length)return L["default"].error(gettext("You have to enter a message.")),!1;var e=this.validate();return e.title?(L["default"].error(e.title[0]),!1):!e.post||(L["default"].error(e.post[0]),!1)}},{key:"send",value:function(){return C["default"].post(this.props.submit,{title:this.state.title,category:this.state.category,post:this.state.post,attachments:x.clean(this.state.attachments),close:this.state.close,hide:this.state.hide,pin:this.state.pin})}},{key:"handleSuccess",value:function(e){L["default"].success(gettext("Your thread has been posted.")),window.location=e.url,this.setState({isLoading:!0})}},{key:"handleError",value:function(e){if(400===e.status){var t=[].concat(e.non_field_errors||[],e.category||[],e.title||[],e.post||[],e.attachments||[]);L["default"].error(t[0])}else L["default"].apiError(e)}},{key:"render",value:function(){if(this.state.isErrored)return c["default"].createElement(w["default"],{message:this.state.isErrored});if(!this.state.isReady)return c["default"].createElement(y["default"],null);var e=0;this.state.categoryOptions.close&&(e+=1),this.state.categoryOptions.hide&&(e+=1),this.state.categoryOptions.pin&&(e+=1);var t=null;return t=1===e?"col-sm-6":"col-sm-8",t+=3===e?" col-md-6":e?" col-md-7":" col-md-9",c["default"].createElement(_["default"],{className:"posting-form",withFirstRow:!0},c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"row first-row"},c["default"].createElement("div",{className:t},c["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,onChange:this.onTitleChange,placeholder:gettext("Thread title"),type:"text",value:this.state.title})),c["default"].createElement("div",{className:"col-xs-12 col-sm-4 col-md-3 xs-margin-top"},c["default"].createElement(f["default"],{choices:this.state.categories,disabled:this.state.isLoading,onChange:this.onCategoryChange,value:this.state.category})),c["default"].createElement(k["default"],{close:this.state.close,columns:e,disabled:this.state.isLoading,hide:this.state.hide,onClose:this.onClose,onHide:this.onHide,onOpen:this.onOpen,onPinGlobally:this.onPinGlobally,onPinLocally:this.onPinLocally,onUnhide:this.onUnhide,onUnpin:this.onUnpin,options:this.state.categoryOptions,pin:this.state.pin,showOptions:this.state.showOptions})),c["default"].createElement("div",{className:"row"},c["default"].createElement("div",{className:"col-md-12"},c["default"].createElement(m["default"],{attachments:this.state.attachments,loading:this.state.isLoading,onAttachmentsChange:this.onAttachmentsChange,onCancel:this.onCancel,onChange:this.onPostChange,submitLabel:gettext("Post thread"),value:this.state.post})))))}}]),t}(b["default"]);a["default"]=A},{"../../services/ajax":365,"../../services/posting":375,"../../services/snackbar":376,"../category-select":21,"../editor":52,"../form":56,"./utils/attachments":138,"./utils/container":139,"./utils/loader":140,"./utils/message":141,"./utils/options":142,"./utils/validators":144,react:"react"}],138:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.filter(function(e){return e.id&&!e.isRemoved});return t.map(function(e){return e.id})}function o(e){return e.map(function(e){return Object.assign({},e,{uploaded_on:(0,s["default"])(e.uploaded_on)})})}Object.defineProperty(a,"__esModule",{value:!0}),a.clean=r,a.hydrate=o;var l=e("moment"),s=n(l)},{moment:"moment"}],139:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("div",{className:e.className},o["default"].createElement("div",{className:"container"},e.children))};var r=e("react"),o=n(r)},{react:"react"}],140:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement(s["default"],{className:"posting-loader"},o["default"].createElement(u["default"],null))};var r=e("react"),o=n(r),l=e("./container"),s=n(l),i=e("../../loader"),u=n(i)},{"../../loader":58,"./container":139,react:"react"}],141:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement(s["default"],{className:"posting-message"},o["default"].createElement("div",{className:"message-body"},o["default"].createElement("p",null,o["default"].createElement("span",{className:"material-icon"},"error_outline"),e.message),o["default"].createElement("button",{type:"button",className:"btn btn-default",onClick:u["default"].close},gettext("Dismiss"))))};var r=e("react"),o=n(r),l=e("./container"),s=n(l),i=e("../../../services/posting"),u=n(i)},{"../../../services/posting":375,"./container":139,react:"react"}],142:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){if(!e.show)return null;var t=e.close?gettext("Closed"):gettext("Open");return i["default"].createElement("div",{className:e.className},i["default"].createElement("button",{className:"btn btn-default btn-block",disabled:e.disabled,onClick:e.close?e.onOpen:e.onClose,title:t,type:"button"},i["default"].createElement("span",{className:"material-icon"},e.close?"lock":"lock_outline"),i["default"].createElement("span",{className:e.textClassName},t)))}function o(e){if(!e.show)return null;var t=e.hide?gettext("Hidden"):gettext("Not hidden");return i["default"].createElement("div",{className:e.className},i["default"].createElement("button",{className:"btn btn-default btn-block",disabled:e.disabled,onClick:e.hide?e.onUnhide:e.onHide,title:t,type:"button"},i["default"].createElement("span",{className:"material-icon"},e.hide?"visibility_off":"visibility"),i["default"].createElement("span",{className:e.textClassName},t)))}function l(e){if(!e.show)return null;var t=null,a=null,n=null;switch(e.pin){case 0:t="radio_button_unchecked",a=e.onPinLocally,n=gettext("Unpinned");break;case 1:t="bookmark_outline",a=e.onPinGlobally,n=gettext("Pinned locally"),a=2==e.show?e.onPinGlobally:e.onUnpin;break;case 2:t="bookmark",a=e.onUnpin,n=gettext("Pinned globally")}return i["default"].createElement("div",{className:e.className},i["default"].createElement("button",{className:"btn btn-default btn-block",disabled:e.disabled,onClick:a,title:n,type:"button"},i["default"].createElement("span",{className:"material-icon"},t),i["default"].createElement("span",{className:e.textClassName},n)))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){if(!e.showOptions)return null;var t=e.columns,a="col-xs-12 xs-margin-top";a+=1===t?" col-sm-2":" sm-margin-top",a+=3===t?" col-md-3":" col-md-2",a+=" posting-options";var n="col-xs-"+12/t,s="btn-text";return s+=3===t?" visible-sm-inline-block":2===t?" hidden-md hidden-lg":" hidden-sm",i["default"].createElement("div",{className:a},i["default"].createElement("div",{className:"row"},i["default"].createElement(l,{className:n,disabled:e.disabled,onPinGlobally:e.onPinGlobally,onPinLocally:e.onPinLocally,onUnpin:e.onUnpin,pin:e.pin,show:e.options.pin,textClassName:s}),i["default"].createElement(o,{className:n,disabled:e.disabled,hide:e.hide,onHide:e.onHide,onUnhide:e.onUnhide,show:e.options.hide,textClassName:s}),i["default"].createElement(r,{className:n,close:e.close,disabled:e.disabled,onClose:e.onClose,onOpen:e.onOpen,show:e.options.close,textClassName:s})))},a.CloseOptions=r,a.HideOptions=o,a.PinOptions=l;var s=e("react"),i=n(s)},{react:"react"}],143:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.split(",").map(function(e){return e.trim().toLowerCase()}),a=t.filter(function(e){return e.length>0}),n=a.filter(function(e,t){return a.indexOf(e)==t});return n}},{}],144:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){return[l(),s()]}function o(){return f["default"].get("SETTINGS").post_length_max?[i(),u()]:[i()]}function l(){return(0,c.minLength)(f["default"].get("SETTINGS").thread_title_length_min,function(e,t){var a=ngettext("Thread title should be at least %(limit_value)s character long (it has %(show_value)s).","Thread title should be at least %(limit_value)s characters long (it has %(show_value)s).",e);return interpolate(a,{limit_value:e,show_value:t},!0)})}function s(){return(0,c.maxLength)(f["default"].get("SETTINGS").thread_title_length_max,function(e,t){var a=ngettext("Thread title cannot be longer than %(limit_value)s character (it has %(show_value)s).","Thread title cannot be longer than %(limit_value)s characters (it has %(show_value)s).",e);return interpolate(a,{limit_value:e,show_value:t},!0)})}function i(){return(0,c.minLength)(f["default"].get("SETTINGS").post_length_min,function(e,t){var a=ngettext("Posted message should be at least %(limit_value)s character long (it has %(show_value)s).","Posted message should be at least %(limit_value)s characters long (it has %(show_value)s).",e);return interpolate(a,{limit_value:e,show_value:t},!0)})}function u(){return(0,c.maxLength)(f["default"].get("SETTINGS").post_length_max||1e6,function(e,t){var a=ngettext("Posted message cannot be longer than %(limit_value)s character (it has %(show_value)s).","Posted message cannot be longer than %(limit_value)s characters (it has %(show_value)s).",e);return interpolate(a,{limit_value:e,show_value:t},!0)})}Object.defineProperty(a,"__esModule",{value:!0}),a.getTitleValidators=r,a.getPostValidators=o,a.getTitleLengthMin=l,a.getTitleLengthMax=s,a.validatePostLengthMin=i,a.validatePostLengthMax=u;var c=e("../../../utils/validators"),d=e("../../.."),f=n(d)},{"../../..":302,"../../../utils/validators":393}],145:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){return e.can_hide}Object.defineProperty(a,"__esModule",{value:!0}),a.Delete=a.Unhide=a.Hide=void 0;var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a["default"]=function(e){return i(e.post.acl)?d["default"].createElement("li",{className:"event-controls"},d["default"].createElement(w,e),d["default"].createElement(O,e),d["default"].createElement(k,e)):null},a.isVisible=i;var c=e("react"),d=r(c),f=e("moment"),p=r(f),m=e("../../../reducers/post"),h=n(m),b=e("../../../services/ajax"),v=r(b),_=e("../../../services/snackbar"),g=r(_),y=e("../../../services/store"),E=r(y),w=a.Hide=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){E["default"].dispatch(h.patch(n.props.post,{is_hidden:!0,hidden_on:(0,p["default"])(),hidden_by_name:n.props.user.username,url:Object.assign(n.props.post.url,{hidden_by:n.props.user.url})}));var e={op:"replace",path:"is-hidden",value:!0};v["default"].patch(n.props.post.api.index,[e]).then(function(e){E["default"].dispatch(h.patch(n.props.post,e))},function(e){400===e.status?g["default"].error(e.detail[0]):g["default"].apiError(e),E["default"].dispatch(h.patch(n.props.post,{is_hidden:!1}))})},r=a,l(n,r)}return s(t,e),u(t,[{key:"render",value:function(){return this.props.post.is_hidden?null:d["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Hide"))}}]),t}(d["default"].Component),O=a.Unhide=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){E["default"].dispatch(h.patch(n.props.post,{is_hidden:!1}));var e={op:"replace",path:"is-hidden",value:!1};v["default"].patch(n.props.post.api.index,[e]).then(function(e){E["default"].dispatch(h.patch(n.props.post,e))},function(e){400===e.status?g["default"].error(e.detail[0]):g["default"].apiError(e),E["default"].dispatch(h.patch(n.props.post,{is_hidden:!0}))})},r=a,l(n,r)}return s(t,e),u(t,[{key:"render",value:function(){return this.props.post.is_hidden?d["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Unhide")):null}}]),t}(d["default"].Component),k=a.Delete=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){var e=confirm(gettext("Are you sure you wish to delete this event? This action is not reversible!"));e&&n["delete"]()},n["delete"]=function(){E["default"].dispatch(h.patch(n.props.post,{isDeleted:!0})),v["default"]["delete"](n.props.post.api.index).then(function(){g["default"].success(gettext("Event has been deleted."))},function(e){400===e.status?g["default"].error(e.detail[0]):g["default"].apiError(e),E["default"].dispatch(h.patch(n.props.post,{isDeleted:!1}))})},r=a,l(n,r)}return s(t,e),u(t,[{key:"render",value:function(){return d["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Delete"))}}]),t}(d["default"].Component)},{"../../../reducers/post":353,"../../../services/ajax":365,"../../../services/snackbar":376,"../../../services/store":377,moment:"moment",react:"react"}],146:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("div",{className:"post-avatar"},o["default"].createElement("span",{className:"material-icon"},l[e.post.event_type]))};var r=e("react"),o=n(r),l={changed_title:"edit",pinned_globally:"bookmark",pinned_locally:"bookmark_border",unpinned:"panorama_fish_eye",moved:"arrow_forward",merged:"call_merge",approved:"done",opened:"lock_open",closed:"lock_outline",unhid:"visibility",hid:"visibility_off",changed_owner:"grade",tookover:"grade",added_participant:"person_add",owner_left:"person_outline",participant_left:"person_outline",removed_participant:"remove_circle_outline"}},{react:"react"}],147:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t="event";return e.post.isDeleted?t="hide":e.post.is_hidden&&(t="event post-hidden"),o["default"].createElement("li",{id:"post-"+e.post.id,className:t},o["default"].createElement(p["default"],{post:e.post}),o["default"].createElement("div",{className:"row"},o["default"].createElement("div",{className:"col-xs-2 col-sm-3 text-right"},o["default"].createElement(s["default"],e)),o["default"].createElement("div",{className:"col-xs-10 col-sm-9 text-left"},o["default"].createElement(h["default"],{post:e.post},o["default"].createElement(d["default"],e),o["default"].createElement(u["default"],e)))))};var r=e("react"),o=n(r),l=e("./icon"),s=n(l),i=e("./info"),u=n(i),c=e("./message"),d=n(c),f=e("./unread-label"),p=n(f),m=e("../waypoint"),h=n(m)},{"../waypoint":173,"./icon":146,"./info":148,"./message":149,"./unread-label":150,react:"react"}],148:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){if(e.post.is_hidden){var t=null;t=e.post.url.hidden_by?interpolate(h,{url:(0,u["default"])(e.post.url.hidden_by),user:(0,u["default"])(e.post.hidden_by_name)},!0):interpolate(m,{user:(0,u["default"])(e.post.hidden_by_name)},!0);var a=interpolate(f,{absolute:(0,u["default"])(e.post.hidden_on.format("LLL")),relative:(0,u["default"])(e.post.hidden_on.fromNow())},!0),n=interpolate((0,u["default"])(gettext("Hidden by %(event_by)s %(event_on)s.")),{event_by:t,event_on:a},!0);return s["default"].createElement("li",{className:"event-hidden-message",dangerouslySetInnerHTML:{__html:n}})}return null}function o(e){var t=null;t=e.post.poster?interpolate(h,{url:(0,u["default"])(e.post.poster.url),user:(0,u["default"])(e.post.poster_name)},!0):interpolate(m,{user:(0,u["default"])(e.post.poster_name)},!0);var a=interpolate(p,{url:(0,u["default"])(e.post.url.index),absolute:(0,u["default"])(e.post.posted_on.format("LLL")),relative:(0,u["default"])(e.post.posted_on.fromNow())},!0),n=interpolate((0,u["default"])(gettext("By %(event_by)s %(event_on)s.")),{event_by:t,event_on:a},!0);return s["default"].createElement("li",{className:"event-posters",dangerouslySetInnerHTML:{__html:n}})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return s["default"].createElement("ul",{className:"list-inline event-info"},s["default"].createElement(r,e),s["default"].createElement(o,e),s["default"].createElement(d["default"],e))},a.Hidden=r,a.Poster=o;var l=e("react"),s=n(l),i=e("../../../utils/escape-html"),u=n(i),c=e("./controls"),d=n(c),f='<abbr title="%(absolute)s">%(relative)s</abbr>',p='<a href="%(url)s" title="%(absolute)s">%(relative)s</a>',m='<span class="item-title">%(user)s</span>',h='<a href="%(url)s" class="item-title">%(user)s</a>'},{"../../../utils/escape-html":383,"./controls":145,react:"react"}],149:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=(0,p["default"])(gettext("Thread title has been changed from %(old_title)s.")),a=interpolate(b,{name:(0,p["default"])(e.post.event_context.old_title)},!0),n=interpolate(t,{old_title:a},!0);return d["default"].createElement("p",{className:"event-message",dangerouslySetInnerHTML:{__html:n}})}function o(e){var t=(0,p["default"])(gettext("Thread has been moved from %(from_category)s.")),a=interpolate(h,{url:(0,p["default"])(e.post.event_context.from_category.url),name:(0,p["default"])(e.post.event_context.from_category.name)},!0),n=interpolate(t,{from_category:a},!0);return d["default"].createElement("p",{className:"event-message",dangerouslySetInnerHTML:{__html:n}})}function l(e){var t=(0,p["default"])(gettext("The %(merged_thread)s thread has been merged into this thread.")),a=interpolate(b,{name:(0,p["default"])(e.post.event_context.merged_thread)},!0),n=interpolate(t,{merged_thread:a},!0);return d["default"].createElement("p",{className:"event-message",dangerouslySetInnerHTML:{__html:n}})}function s(e){var t=(0,p["default"])(gettext("Changed thread owner to %(user)s.")),a=interpolate(h,{url:(0,p["default"])(e.post.event_context.user.url),name:(0,p["default"])(e.post.event_context.user.username)},!0),n=interpolate(t,{user:a},!0);return d["default"].createElement("p",{className:"event-message",dangerouslySetInnerHTML:{__html:n}})}function i(e){var t=(0,p["default"])(gettext("Added %(user)s to thread.")),a=interpolate(h,{url:(0,p["default"])(e.post.event_context.user.url),name:(0,p["default"])(e.post.event_context.user.username)},!0),n=interpolate(t,{user:a},!0);return d["default"].createElement("p",{className:"event-message",dangerouslySetInnerHTML:{__html:n}})}function u(e){var t=(0,p["default"])(gettext("Removed %(user)s from thread.")),a=interpolate(h,{url:(0,p["default"])(e.post.event_context.user.url),name:(0,p["default"])(e.post.event_context.user.username)},!0),n=interpolate(t,{user:a},!0);return d["default"].createElement("p",{className:"event-message",dangerouslySetInnerHTML:{__html:n}})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return m[e.post.event_type]?d["default"].createElement("p",{className:"event-message"},m[e.post.event_type]):"changed_title"===e.post.event_type?d["default"].createElement(r,e):"moved"===e.post.event_type?d["default"].createElement(o,e):"merged"===e.post.event_type?d["default"].createElement(l,e):"changed_owner"===e.post.event_type?d["default"].createElement(s,e):"added_participant"===e.post.event_type?d["default"].createElement(i,e):"removed_participant"===e.post.event_type?d["default"].createElement(u,e):null},a.ChangedTitle=r,a.Moved=o,a.Merged=l,a.ChangedOwner=s,a.AddedParticipant=i,a.RemovedParticipant=u;var c=e("react"),d=n(c),f=e("../../../utils/escape-html"),p=n(f),m={pinned_globally:gettext("Thread has been pinned globally."),pinned_locally:gettext("Thread has been pinned locally."),unpinned:gettext("Thread has been unpinned."),approved:gettext("Thread has been approved."),opened:gettext("Thread has been opened."),closed:gettext("Thread has been closed."),unhid:gettext("Thread has been revealed."),hid:gettext("Thread has been made hidden."),tookover:gettext("Took thread over."),owner_left:gettext("Owner has left thread. This thread is now closed."),participant_left:gettext("Participant has left thread.")},h='<a href="%(url)s" class="item-title">%(name)s</a>',b='<span class="item-title">%(name)s</span>'},{"../../../utils/escape-html":383,react:"react"}],150:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.post;return t.is_read?null:o["default"].createElement("div",{className:"row"},o["default"].createElement("div",{className:"col-xs-10 col-xs-offset-2 col-sm-9 col-sm-offset-3 text-left"},o["default"].createElement("div",{className:"event-label"},o["default"].createElement("span",{className:"label label-unread"},gettext("New event")))))};var r=e("react"),o=n(r)},{react:"react"}],151:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.post.is_event?s["default"].createElement(u["default"],e):s["default"].createElement(d["default"],e)}Object.defineProperty(a,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e};a["default"]=function(e){return e.posts.isLoaded?s["default"].createElement("ul",{className:"posts-list ui-ready"},e.posts.results.map(function(t){return s["default"].createElement(r,o({key:t.id,post:t},e))})):s["default"].createElement("ul",{className:"posts-list ui-preview"},s["default"].createElement(p["default"],null))},a.ListItem=r;var l=e("react"),s=n(l),i=e("./event"),u=n(i),c=e("./post"),d=n(c),f=e("./post/preview"),p=n(f)},{"./event":147,"./post":163,"./post/preview":171,react:"react"}],152:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.attachment.is_image?u["default"].createElement("div",{className:"post-attachment-preview"},u["default"].createElement(l,e)):u["default"].createElement("div",{className:"post-attachment-preview"},u["default"].createElement(o,e))}function o(e){return u["default"].createElement("a",{href:e.attachment.url.index,className:"material-icon"},"insert_drive_file")}function l(e){var t=e.attachment.url.thumb||e.attachment.url.index;return u["default"].createElement("a",{className:"post-thumbnail",href:e.attachment.url.index,style:{backgroundImage:'url("'+(0,f["default"])(t)+'")'}})}function s(e){var t=null;t=e.attachment.url.uploader?interpolate(v,{url:(0,f["default"])(e.attachment.url.uploader),user:(0,f["default"])(e.attachment.uploader_name)},!0):interpolate(b,{user:(0,f["default"])(e.attachment.uploader_name)},!0);var a=interpolate(h,{absolute:(0,f["default"])(e.attachment.uploaded_on.format("LLL")),relative:(0,f["default"])(e.attachment.uploaded_on.fromNow())},!0),n=interpolate((0,f["default"])(gettext("%(filetype)s, %(size)s, uploaded by %(uploader)s %(uploaded_on)s.")),{filetype:e.attachment.filetype,size:(0,m["default"])(e.attachment.size),uploader:t,uploaded_on:a},!0);return u["default"].createElement("p",{className:"post-attachment-description",dangerouslySetInnerHTML:{__html:n}})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return u["default"].createElement("div",{className:"col-xs-12 col-md-6"},u["default"].createElement(r,e),u["default"].createElement("div",{className:"post-attachment"},u["default"].createElement("a",{href:e.attachment.url.index,className:"attachment-name item-title"},e.attachment.filename),u["default"].createElement(s,e)))},a.AttachmentPreview=r,a.AttachmentIcon=o,a.AttachmentThumbnail=l,a.AttachmentDetails=s;var i=e("react"),u=n(i),c=e("../../../.."),d=(n(c),e("../../../../utils/escape-html")),f=n(d),p=e("../../../../utils/file-size"),m=n(p),h='<abbr title="%(absolute)s">%(relative)s</abbr>',b='<span class="item-title">%(user)s</span>',v='<a href="%(url)s" class="item-title">%(user)s</a>'},{"../../../..":302,"../../../../utils/escape-html":383,"../../../../utils/file-size":384,react:"react"}],153:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return(!e.is_hidden||e.acl.can_see_hidden)&&e.attachments}function o(e){return s["default"].createElement("div",{className:"row"},e.row.map(function(e){return s["default"].createElement(d["default"],{attachment:e,key:e?e.id:0})}))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return r(e.post)?s["default"].createElement("div",{className:"post-attachments"},(0,u["default"])(e.post.attachments,2).map(function(e){var t=e.map(function(e){return e?e.id:0}).join("_");return s["default"].createElement(o,{key:t,row:e})})):null},a.isVisible=r,a.Row=o;var l=e("react"),s=n(l),i=e("../../../../utils/batch"),u=n(i),c=e("./attachment"),d=n(c)},{"../../../../utils/batch":380,"./attachment":152,react:"react"}],154:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return i["default"].createElement(c["default"],{className:"post-body",post:e.post},i["default"].createElement(f["default"],{markup:e.post.content}))}function o(e){var t=null;t=e.post.hidden_by?interpolate(h,{url:(0,m["default"])(e.post.url.hidden_by),user:(0,m["default"])(e.post.hidden_by_name)},!0):interpolate(b,{user:(0,m["default"])(e.post.hidden_by_name)},!0);var a=interpolate(v,{absolute:(0,m["default"])(e.post.hidden_on.format("LLL")),relative:(0,m["default"])(e.post.hidden_on.fromNow())},!0),n=interpolate((0,m["default"])(gettext("Hidden by %(hidden_by)s %(hidden_on)s.")),{hidden_by:t,hidden_on:a},!0);return i["default"].createElement(c["default"],{className:"post-body post-body-hidden",post:e.post},i["default"].createElement("p",{className:"lead"},gettext("This post is hidden. You cannot see its contents.")),i["default"].createElement("p",{className:"text-muted",dangerouslySetInnerHTML:{__html:n}}))}function l(e){return i["default"].createElement(c["default"],{className:"post-body post-body-invalid",post:e.post},i["default"].createElement("p",{className:"lead"},gettext("This post's contents cannot be displayed.")),i["default"].createElement("p",{className:"text-muted"},gettext("This error is caused by invalid post content manipulation.")))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return e.post.is_hidden&&!e.post.acl.can_see_hidden?i["default"].createElement(o,e):e.post.content?i["default"].createElement(r,e):i["default"].createElement(l,e)},a.Default=r,a.Hidden=o,a.Invalid=l;var s=e("react"),i=n(s),u=e("../waypoint"),c=n(u),d=e("../../misago-markup"),f=n(d),p=e("../../../utils/escape-html"),m=n(p),h='<a href="%(url)s" class="item-title">%(user)s</a>',b='<span class="item-title">%(user)s</span>',v='<abbr class="last-title" title="%(absolute)s">%(relative)s</abbr>'},{"../../../utils/escape-html":383,"../../misago-markup":60,"../waypoint":173,react:"react"}],155:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e){j["default"].dispatch(w.patch(e.post,{is_unapproved:!1}));var t=[{op:"replace",path:"is-unapproved",value:!1}],a={is_unapproved:e.post.is_unapproved};f(e,t,a)}function l(e){j["default"].dispatch(w.patch(e.post,{is_protected:!0}));var t=[{op:"replace",path:"is-protected",value:!0}],a={is_protected:e.post.is_protected};f(e,t,a)}function s(e){j["default"].dispatch(w.patch(e.post,{is_protected:!1}));var t=[{op:"replace",path:"is-protected",value:!1}],a={is_protected:e.post.is_protected};f(e,t,a)}function i(e){j["default"].dispatch(w.patch(e.post,{is_hidden:!0,hidden_on:(0,_["default"])(),hidden_by_name:e.user.username,url:Object.assign(e.post.url,{hidden_by:e.user.url})}));var t=[{op:"replace",path:"is-hidden",value:!0}],a={is_hidden:e.post.is_hidden,hidden_on:e.post.hidden_on,hidden_by_name:e.post.hidden_by_name,url:e.post.url};f(e,t,a)}function u(e){j["default"].dispatch(w.patch(e.post,{is_hidden:!1}));var t=[{op:"replace",path:"is-hidden",value:!1}],a={is_hidden:e.post.is_hidden};f(e,t,a)}function c(e){var t=e.post.last_likes||[],a=[e.user].concat(t),n=a.length>3?a.slice(0,-1):a;j["default"].dispatch(w.patch(e.post,{is_liked:!0,likes:e.post.likes+1,last_likes:n}));var r=[{op:"replace",path:"is-liked",value:!0}],o={is_liked:e.post.is_liked,likes:e.post.likes,last_likes:e.post.last_likes};f(e,r,o)}function d(e){j["default"].dispatch(w.patch(e.post,{is_liked:!1,likes:e.post.likes-1,last_likes:e.post.last_likes.filter(function(t){return!t.id||t.id!==e.user.id})}));var t=[{op:"replace",path:"is-liked",value:!1}],a={is_liked:e.post.is_liked,
|
|
likes:e.post.likes,last_likes:e.post.last_likes};f(e,t,a)}function f(e,t,a){k["default"].patch(e.post.api.index,t).then(function(t){j["default"].dispatch(w.patch(e.post,t))},function(t){400===t.status?x["default"].error(t.detail[0]):x["default"].apiError(t),j["default"].dispatch(w.patch(e.post,a))})}function p(e){var t=confirm(gettext("Are you sure you want to delete this post? This action is not reversible!"));t&&(j["default"].dispatch(w.patch(e.post,{isDeleted:!0})),k["default"]["delete"](e.post.api.index).then(function(){x["default"].success(gettext("Post has been deleted."))},function(t){400===t.status?x["default"].error(t.detail):x["default"].apiError(t),j["default"].dispatch(w.patch(e.post,{isDeleted:!1}))}))}function m(e){var t=e.post,a=e.user;j["default"].dispatch(y.update({best_answer:t.id,best_answer_is_protected:t.is_protected,best_answer_marked_on:(0,_["default"])(),best_answer_marked_by:a.id,best_answer_marked_by_name:a.username,best_answer_marked_by_slug:a.slug}));var n=[{op:"replace",path:"best-answer",value:t.id},{op:"add",path:"acl",value:!0}],r={best_answer:e.thread.best_answer,best_answer_is_protected:e.thread.best_answer_is_protected,best_answer_marked_on:e.thread.best_answer_marked_on,best_answer_marked_by:e.thread.best_answer_marked_by,best_answer_marked_by_name:e.thread.best_answer_marked_by_name,best_answer_marked_by_slug:e.thread.best_answer_marked_by_slug};b(e,n,r)}function h(e){var t=e.post;j["default"].dispatch(y.update({best_answer:null,best_answer_is_protected:!1,best_answer_marked_on:null,best_answer_marked_by:null,best_answer_marked_by_name:null,best_answer_marked_by_slug:null}));var a=[{op:"remove",path:"best-answer",value:t.id},{op:"add",path:"acl",value:!0}],n={best_answer:e.thread.best_answer,best_answer_is_protected:e.thread.best_answer_is_protected,best_answer_marked_on:e.thread.best_answer_marked_on,best_answer_marked_by:e.thread.best_answer_marked_by,best_answer_marked_by_name:e.thread.best_answer_marked_by_name,best_answer_marked_by_slug:e.thread.best_answer_marked_by_slug};b(e,a,n)}function b(e,t,a){k["default"].patch(e.thread.api.index,t).then(function(e){e.best_answer_marked_on&&(e.best_answer_marked_on=(0,_["default"])(e.best_answer_marked_on)),j["default"].dispatch(y.update(e))},function(e){400===e.status?x["default"].error(e.detail[0]):x["default"].apiError(e),j["default"].dispatch(y.update(a))})}Object.defineProperty(a,"__esModule",{value:!0}),a.approve=o,a.protect=l,a.unprotect=s,a.hide=i,a.unhide=u,a.like=c,a.unlike=d,a.patch=f,a.remove=p,a.markAsBestAnswer=m,a.unmarkBestAnswer=h,a.patchThread=b;var v=e("moment"),_=r(v),g=e("../../../../reducers/thread"),y=n(g),E=e("../../../../reducers/post"),w=n(E),O=e("../../../../services/ajax"),k=r(O),N=e("../../../../services/snackbar"),x=r(N),P=e("../../../../services/store"),j=r(P)},{"../../../../reducers/post":353,"../../../../reducers/thread":360,"../../../../services/ajax":365,"../../../../services/snackbar":376,"../../../../services/store":377,moment:"moment"}],156:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.Delete=a.Unhide=a.Hide=a.Unprotect=a.Protect=a.Split=a.Move=a.Approve=a.PostEdits=a.UnmarkMarkBestAnswer=a.MarkAsBestAnswer=a.Edit=a.Permalink=void 0;var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a["default"]=function(e){return c["default"].createElement("ul",{className:"dropdown-menu dropdown-menu-right stick-to-bottom"},c["default"].createElement(O,e),c["default"].createElement(k,e),c["default"].createElement(N,e),c["default"].createElement(x,e),c["default"].createElement(P,e),c["default"].createElement(j,e),c["default"].createElement(C,e),c["default"].createElement(S,e),c["default"].createElement(M,e),c["default"].createElement(T,e),c["default"].createElement(L,e),c["default"].createElement(A,e),c["default"].createElement(R,e))};var u=e("react"),c=r(u),d=e("../../../../services/modal"),f=r(d),p=e("../../../../services/posting"),m=r(p),h=e("./actions"),b=n(h),v=e("./move"),_=r(v),g=e("../../../post-changelog"),y=r(g),E=e("./split"),w=r(E),O=a.Permalink=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){var e=window.location.protocol+"//";e+=window.location.host,e+=n.props.post.url.index,prompt(gettext("Permament link to this post:"),e)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"link"),gettext("Permament link")))}}]),t}(c["default"].Component),k=a.Edit=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){m["default"].open({mode:"EDIT",config:n.props.post.api.editor,submit:n.props.post.api.index})},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_edit?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"edit"),gettext("Edit"))):null}}]),t}(c["default"].Component),N=a.MarkAsBestAnswer=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){b.markAsBestAnswer(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props,t=e.post,a=e.thread;return a.acl.can_mark_best_answer&&t.acl.can_mark_as_best_answer?t.id===a.best_answer?null:a.best_answer&&!a.acl.can_change_best_answer?null:c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"check_box"),gettext("Mark as best answer"))):null}}]),t}(c["default"].Component),x=a.UnmarkMarkBestAnswer=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){b.unmarkBestAnswer(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props,t=e.post,a=e.thread;return t.id!==a.best_answer?null:a.acl.can_unmark_best_answer?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"check_box_outline_blank"),gettext("Unmark best answer"))):null}}]),t}(c["default"].Component),P=a.PostEdits=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){f["default"].show(c["default"].createElement(y["default"],{post:n.props.post}))},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.post.is_hidden&&!this.props.post.acl.can_see_hidden,t=0===this.props.post.edits;if(e||t)return null;var a=ngettext("This post was edited %(edits)s time.","This post was edited %(edits)s times.",this.props.post.edits);interpolate(a,{edits:this.props.post.edits},!0);return c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"edit"),gettext("Changes history")))}}]),t}(c["default"].Component),j=a.Approve=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){b.approve(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_approve&&this.props.post.is_unapproved?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"done"),gettext("Approve"))):null}}]),t}(c["default"].Component),C=a.Move=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){f["default"].show(c["default"].createElement(_["default"],n.props))},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_move?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"arrow_forward"),gettext("Move"))):null}}]),t}(c["default"].Component),S=a.Split=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){f["default"].show(c["default"].createElement(w["default"],n.props))},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_move?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"call_split"),gettext("Split"))):null}}]),t}(c["default"].Component),M=a.Protect=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){b.protect(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_protect?this.props.post.is_protected?null:c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"lock_outline"),gettext("Protect"))):null}}]),t}(c["default"].Component),T=a.Unprotect=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){b.unprotect(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_protect&&this.props.post.is_protected?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"lock_open"),gettext("Remove protection"))):null}}]),t}(c["default"].Component),L=a.Hide=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){b.hide(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props,t=e.post,a=e.thread;return t.id===a.best_answer?null:t.acl.can_hide?t.is_hidden?null:c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"visibility_off"),gettext("Hide"))):null}}]),t}(c["default"].Component),A=a.Unhide=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){b.unhide(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_unhide&&this.props.post.is_hidden?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"visibility"),gettext("Unhide"))):null}}]),t}(c["default"].Component),R=a.Delete=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){b.remove(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props,t=e.post,a=e.thread;return t.id===a.best_answer?null:t.acl.can_delete?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"clear"),gettext("Delete"))):null}}]),t}(c["default"].Component)},{"../../../../services/modal":371,"../../../../services/posting":375,"../../../post-changelog":119,"./actions":155,"./move":158,"./split":159,react:"react"}],157:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("div",{className:"pull-right dropdown"},o["default"].createElement("button",{"aria-expanded":"true","aria-haspopup":"true",className:"btn btn-default btn-icon dropdown-toggle","data-toggle":"dropdown",type:"button"},o["default"].createElement("span",{className:"material-icon"},"expand_more")),o["default"].createElement(s["default"],e))};var r=e("react"),o=n(r),l=e("./dropdown"),s=n(l)},{"./dropdown":156,react:"react"}],158:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){return d["default"].createElement("div",{className:"modal-header"},d["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},d["default"].createElement("span",{"aria-hidden":"true"},"×")),d["default"].createElement("h4",{className:"modal-title"},gettext("Move post")))}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.ModalHeader=i;var c=e("react"),d=r(c),f=e("../../../button"),p=(r(f),e("../../../form")),m=r(p),h=e("../../../form-group"),b=r(h),v=e("../../../../reducers/post"),_=n(v),g=e("../../../../services/ajax"),y=r(g),E=e("../../../../services/modal"),w=r(E),O=e("../../../../services/snackbar"),k=r(O),N=e("../../../../services/store"),x=r(N),P=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onUrlChange=function(e){a.changeValue("url",e.target.value)},a.state={isLoading:!1,url:"",validators:{url:[]},errors:{}},a}return s(t,e),u(t,[{key:"clean",value:function(){return!!this.state.url.trim().length||(k["default"].error(gettext("You have to enter link to the other thread.")),!1)}},{key:"send",value:function(){return y["default"].post(this.props.thread.api.posts.move,{new_thread:this.state.url,posts:[this.props.post.id]})}},{key:"handleSuccess",value:function(e){x["default"].dispatch(_.patch(this.props.post,{isDeleted:!0})),w["default"].hide(),k["default"].success(gettext("Selected post was moved to the other thread."))}},{key:"handleError",value:function(e){400===e.status?k["default"].error(e.detail):k["default"].apiError(e)}},{key:"render",value:function(){return d["default"].createElement("div",{className:"modal-dialog",role:"document"},d["default"].createElement("form",{onSubmit:this.handleSubmit},d["default"].createElement("div",{className:"modal-content"},d["default"].createElement(i,null),d["default"].createElement("div",{className:"modal-body"},d["default"].createElement(b["default"],{"for":"id_url",label:gettext("Link to thread you want to move post to")},d["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,id:"id_url",onChange:this.onUrlChange,value:this.state.url}))),d["default"].createElement("div",{className:"modal-footer"},d["default"].createElement("button",{className:"btn btn-primary",loading:this.state.isLoading},gettext("Move post"))))))}}]),t}(m["default"]);a["default"]=P},{"../../../../reducers/post":353,"../../../../services/ajax":365,"../../../../services/modal":371,"../../../../services/snackbar":376,"../../../../services/store":377,"../../../button":8,"../../../form":56,"../../../form-group":55,react:"react"}],159:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(){return m["default"].createElement(c,{className:"modal-dialog"},m["default"].createElement(k["default"],null))}function u(e){return m["default"].createElement(c,{className:"modal-dialog modal-message"},m["default"].createElement("div",{className:"message-icon"},m["default"].createElement("span",{className:"material-icon"},"info_outline")),m["default"].createElement("div",{className:"message-body"},m["default"].createElement("p",{className:"lead"},gettext("You can't move this post at the moment.")),m["default"].createElement("p",null,e.message)))}function c(e){return m["default"].createElement("div",{className:e.className,role:"document"},m["default"].createElement("div",{className:"modal-content"},m["default"].createElement("div",{className:"modal-header"},m["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},m["default"].createElement("span",{"aria-hidden":"true"},"×")),m["default"].createElement("h4",{className:"modal-title"},gettext("Split post into new thread"))),e.children))}Object.defineProperty(a,"__esModule",{value:!0}),a.ModerationForm=a.PostingConfig=void 0;var d=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e};a["default"]=function(e){return m["default"].createElement(B,f({},e,{Form:H}))},a.Loader=i,a.Error=u,a.Modal=c;var p=e("react"),m=r(p),h=e("../../../button"),b=r(h),v=e("../../../form"),_=r(v),g=e("../../../form-group"),y=r(g),E=e("../../../category-select"),w=r(E),O=e("../../../modal-loader"),k=r(O),N=e("../../../select"),x=r(N),P=e("../../../../reducers/post"),j=n(P),C=e("../../../../services/ajax"),S=r(C),M=e("../../../../services/modal"),T=r(M),L=e("../../../../services/snackbar"),A=r(L),R=e("../../../../services/store"),I=r(R),D=e("../../../../utils/validators"),U=n(D),B=a.PostingConfig=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={isLoaded:!1,isError:!1,categories:[]},a}return s(t,e),d(t,[{key:"componentDidMount",value:function(){var e=this;S["default"].get(misago.get("THREAD_EDITOR_API")).then(function(t){var a=t.map(function(e){return Object.assign(e,{disabled:e.post===!1,label:e.name,value:e.id,post:e.post})});e.setState({isLoaded:!0,categories:a})},function(t){e.setState({isError:t.detail})})}},{key:"render",value:function(){return this.state.isError?m["default"].createElement(u,{message:this.state.isError}):this.state.isLoaded?m["default"].createElement(H,f({},this.props,{categories:this.state.categories})):m["default"].createElement(i,null)}}]),t}(m["default"].Component),H=a.ModerationForm=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onCategoryChange=function(e){var t=e.target.value,n={category:t};a.acl[t].can_pin_threads<n.weight&&(n.weight=0),a.acl[t].can_hide_threads||(n.is_hidden=0),a.acl[t].can_close_threads||(n.is_closed=!1),a.setState(n)},a.state={isLoading:!1,title:"",category:null,categories:e.categories,weight:0,is_hidden:0,is_closed:!1,validators:{title:[U.required()]},errors:{}},a.isHiddenChoices=[{value:0,icon:"visibility",label:gettext("No")},{value:1,icon:"visibility_off",label:gettext("Yes")}],a.isClosedChoices=[{value:!1,icon:"lock_outline",label:gettext("No")},{value:!0,icon:"lock",label:gettext("Yes")}],a.acl={},a.props.categories.forEach(function(e){e.post&&(a.state.category||(a.state.category=e.id),a.acl[e.id]={can_pin_threads:e.post.pin,can_close_threads:e.post.close,can_hide_threads:e.post.hide})}),a}return s(t,e),d(t,[{key:"clean",value:function(){return!!this.isValid()||(A["default"].error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return S["default"].post(this.props.thread.api.posts.split,{title:this.state.title,category:this.state.category,weight:this.state.weight,is_hidden:this.state.is_hidden,is_closed:this.state.is_closed,posts:[this.props.post.id]})}},{key:"handleSuccess",value:function(e){I["default"].dispatch(j.patch(this.props.post,{isDeleted:!0})),T["default"].hide(),A["default"].success(gettext("Selected post was split into new thread."))}},{key:"handleError",value:function(e){400===e.status?(this.setState({errors:Object.assign({},this.state.errors,e)}),A["default"].error(gettext("Form contains errors."))):403===e.status&&Array.isArray(e)?T["default"].show(m["default"].createElement(ErrorsModal,{errors:e})):A["default"].apiError(e)}},{key:"getWeightChoices",value:function(){var e=[{value:0,icon:"remove",label:gettext("Not pinned")},{value:1,icon:"bookmark_border",label:gettext("Pinned locally")}];return 2==this.acl[this.state.category].can_pin_threads&&e.push({value:2,icon:"bookmark",label:gettext("Pinned globally")}),e}},{key:"renderWeightField",value:function(){return this.acl[this.state.category].can_pin_threads?m["default"].createElement(y["default"],{label:gettext("Thread weight"),"for":"id_weight",labelClass:"col-sm-4",controlClass:"col-sm-8"},m["default"].createElement(x["default"],{id:"id_weight",onChange:this.bindInput("weight"),value:this.state.weight,choices:this.getWeightChoices()})):null}},{key:"renderHiddenField",value:function(){return this.acl[this.state.category].can_hide_threads?m["default"].createElement(y["default"],{label:gettext("Hide thread"),"for":"id_is_hidden",labelClass:"col-sm-4",controlClass:"col-sm-8"},m["default"].createElement(x["default"],{id:"id_is_closed",onChange:this.bindInput("is_hidden"),value:this.state.is_hidden,choices:this.isHiddenChoices})):null}},{key:"renderClosedField",value:function(){return this.acl[this.state.category].can_close_threads?m["default"].createElement(y["default"],{label:gettext("Close thread"),"for":"id_is_closed",labelClass:"col-sm-4",controlClass:"col-sm-8"},m["default"].createElement(x["default"],{id:"id_is_closed",onChange:this.bindInput("is_closed"),value:this.state.is_closed,choices:this.isClosedChoices})):null}},{key:"render",value:function(){return m["default"].createElement(c,{className:"modal-dialog"},m["default"].createElement("form",{onSubmit:this.handleSubmit},m["default"].createElement("div",{className:"modal-body"},m["default"].createElement(y["default"],{label:gettext("Thread title"),"for":"id_title",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.title},m["default"].createElement("input",{id:"id_title",className:"form-control",type:"text",onChange:this.bindInput("title"),value:this.state.title})),m["default"].createElement("div",{className:"clearfix"}),m["default"].createElement(y["default"],{label:gettext("Category"),"for":"id_category",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.category},m["default"].createElement(w["default"],{id:"id_category",onChange:this.onCategoryChange,value:this.state.category,choices:this.state.categories})),m["default"].createElement("div",{className:"clearfix"}),this.renderWeightField(),this.renderHiddenField(),this.renderClosedField()),m["default"].createElement("div",{className:"modal-footer"},m["default"].createElement(b["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Split post")))))}}]),t}(_["default"])},{"../../../../reducers/post":353,"../../../../services/ajax":365,"../../../../services/modal":371,"../../../../services/snackbar":376,"../../../../services/store":377,"../../../../utils/validators":393,"../../../button":8,"../../../category-select":21,"../../../form":56,"../../../form-group":55,"../../../modal-loader":61,"../../../select":210,react:"react"}],160:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.post,a=e.thread,n=e.user;if(!i(t)||t.id!==a.best_answer)return null;var r=null;return r=n.id&&a.best_answer_marked_by===n.id?interpolate(gettext("Marked as best answer by you %(marked_on)s."),{marked_on:a.best_answer_marked_on.fromNow()},!0):interpolate(gettext("Marked as best answer by %(marked_by)s %(marked_on)s."),{marked_by:a.best_answer_marked_by_name,marked_on:a.best_answer_marked_on.fromNow()},!0),c["default"].createElement("div",{className:"post-status-message post-status-best-answer"},c["default"].createElement("span",{className:"material-icon"},"check_box"),c["default"].createElement("p",null,r))}function o(e){return i(e.post)&&e.post.is_hidden?c["default"].createElement("div",{className:"post-status-message post-status-hidden"},c["default"].createElement("span",{className:"material-icon"},"visibility_off"),c["default"].createElement("p",null,gettext("This post is hidden. Only users with permission may see its contents."))):null}function l(e){return i(e.post)&&e.post.is_unapproved?c["default"].createElement("div",{className:"post-status-message post-status-unapproved"},c["default"].createElement("span",{className:"material-icon"},"remove_circle_outline"),c["default"].createElement("p",null,gettext("This post is unapproved. Only users with permission to approve posts and its author may see its contents."))):null}function s(e){return i(e.post)&&e.post.is_protected?c["default"].createElement("div",{className:"post-status-message post-status-protected visible-xs-block"},c["default"].createElement("span",{className:"material-icon"},"lock_outline"),c["default"].createElement("p",null,gettext("This post is protected. Only moderators may change it."))):null}function i(e){return!e.is_hidden||e.acl.can_see_hidden}Object.defineProperty(a,"__esModule",{value:!0}),a.FlagBestAnswer=r,a.FlagHidden=o,a.FlagUnapproved=l,a.FlagProtected=s,a.isVisible=i;var u=e("react"),c=n(u)},{react:"react"}],161:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){return(!e.is_hidden||e.acl.can_see_hidden)&&(e.acl.can_reply||e.acl.can_edit||e.acl.can_see_likes&&(e.last_likes||[]).length||e.acl.can_like)}function u(e,t){var a=t.slice(0,3).map(function(e){return e.username});if(1==a.length)return interpolate(gettext("%(user)s likes this."),{user:a[0]},!0);var n=e-a.length,r=a.slice(0,-1).join(", "),o=a.slice(-1)[0],l=interpolate(gettext("%(users)s and %(last_user)s"),{users:r,last_user:o},!0);if(0===n)return interpolate(gettext("%(users)s like this."),{users:l},!0);var s=ngettext("%(users)s and %(likes)s other user like this.","%(users)s and %(likes)s other users like this.",n);return interpolate(s,{users:a.join(", "),likes:n},!0)}Object.defineProperty(a,"__esModule",{value:!0}),a.Edit=a.Reply=a.LikesCompact=a.Likes=a.Like=a.MarkAsBestAnswerCompact=a.MarkAsBestAnswer=void 0;var c=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e};a["default"]=function(e){return i(e.post)?p["default"].createElement("div",{className:"post-footer"},p["default"].createElement(w,e),p["default"].createElement(O,e),p["default"].createElement(k,e),p["default"].createElement(N,d({lastLikes:e.post.last_likes,likes:e.post.likes},e)),p["default"].createElement(x,d({likes:e.post.likes},e)),p["default"].createElement(P,e),p["default"].createElement(j,e)):null},a.isVisible=i,a.getLikesMessage=u;var f=e("react"),p=r(f),m=e("./controls/actions"),h=n(m),b=e("../../post-likes"),v=r(b),_=e("../../../services/modal"),g=r(_),y=e("../../../services/posting"),E=r(y),w=a.MarkAsBestAnswer=function(e){
|
|
likes:e.post.likes,last_likes:e.post.last_likes};f(e,t,a)}function f(e,t,a){k["default"].patch(e.post.api.index,t).then(function(t){j["default"].dispatch(w.patch(e.post,t))},function(t){400===t.status?x["default"].error(t.detail[0]):x["default"].apiError(t),j["default"].dispatch(w.patch(e.post,a))})}function p(e){var t=confirm(gettext("Are you sure you want to delete this post? This action is not reversible!"));t&&(j["default"].dispatch(w.patch(e.post,{isDeleted:!0})),k["default"]["delete"](e.post.api.index).then(function(){x["default"].success(gettext("Post has been deleted."))},function(t){400===t.status?x["default"].error(t.detail):x["default"].apiError(t),j["default"].dispatch(w.patch(e.post,{isDeleted:!1}))}))}function m(e){var t=e.post,a=e.user;j["default"].dispatch(y.update({best_answer:t.id,best_answer_is_protected:t.is_protected,best_answer_marked_on:(0,_["default"])(),best_answer_marked_by:a.id,best_answer_marked_by_name:a.username,best_answer_marked_by_slug:a.slug}));var n=[{op:"replace",path:"best-answer",value:t.id},{op:"add",path:"acl",value:!0}],r={best_answer:e.thread.best_answer,best_answer_is_protected:e.thread.best_answer_is_protected,best_answer_marked_on:e.thread.best_answer_marked_on,best_answer_marked_by:e.thread.best_answer_marked_by,best_answer_marked_by_name:e.thread.best_answer_marked_by_name,best_answer_marked_by_slug:e.thread.best_answer_marked_by_slug};b(e,n,r)}function h(e){var t=e.post;j["default"].dispatch(y.update({best_answer:null,best_answer_is_protected:!1,best_answer_marked_on:null,best_answer_marked_by:null,best_answer_marked_by_name:null,best_answer_marked_by_slug:null}));var a=[{op:"remove",path:"best-answer",value:t.id},{op:"add",path:"acl",value:!0}],n={best_answer:e.thread.best_answer,best_answer_is_protected:e.thread.best_answer_is_protected,best_answer_marked_on:e.thread.best_answer_marked_on,best_answer_marked_by:e.thread.best_answer_marked_by,best_answer_marked_by_name:e.thread.best_answer_marked_by_name,best_answer_marked_by_slug:e.thread.best_answer_marked_by_slug};b(e,a,n)}function b(e,t,a){k["default"].patch(e.thread.api.index,t).then(function(e){e.best_answer_marked_on&&(e.best_answer_marked_on=(0,_["default"])(e.best_answer_marked_on)),j["default"].dispatch(y.update(e))},function(e){400===e.status?x["default"].error(e.detail[0]):x["default"].apiError(e),j["default"].dispatch(y.update(a))})}Object.defineProperty(a,"__esModule",{value:!0}),a.approve=o,a.protect=l,a.unprotect=s,a.hide=i,a.unhide=u,a.like=c,a.unlike=d,a.patch=f,a.remove=p,a.markAsBestAnswer=m,a.unmarkBestAnswer=h,a.patchThread=b;var v=e("moment"),_=r(v),g=e("../../../../reducers/thread"),y=n(g),E=e("../../../../reducers/post"),w=n(E),O=e("../../../../services/ajax"),k=r(O),N=e("../../../../services/snackbar"),x=r(N),P=e("../../../../services/store"),j=r(P)},{"../../../../reducers/post":353,"../../../../reducers/thread":360,"../../../../services/ajax":365,"../../../../services/snackbar":376,"../../../../services/store":377,moment:"moment"}],156:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.Delete=a.Unhide=a.Hide=a.Unprotect=a.Protect=a.Split=a.Move=a.Approve=a.PostEdits=a.UnmarkMarkBestAnswer=a.MarkAsBestAnswer=a.Edit=a.Permalink=void 0;var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a["default"]=function(e){return c["default"].createElement("ul",{className:"dropdown-menu dropdown-menu-right stick-to-bottom"},c["default"].createElement(O,e),c["default"].createElement(k,e),c["default"].createElement(N,e),c["default"].createElement(x,e),c["default"].createElement(P,e),c["default"].createElement(j,e),c["default"].createElement(C,e),c["default"].createElement(S,e),c["default"].createElement(M,e),c["default"].createElement(T,e),c["default"].createElement(L,e),c["default"].createElement(A,e),c["default"].createElement(R,e))};var u=e("react"),c=r(u),d=e("../../../../services/modal"),f=r(d),p=e("../../../../services/posting"),m=r(p),h=e("./actions"),b=n(h),v=e("./move"),_=r(v),g=e("../../../post-changelog"),y=r(g),E=e("./split"),w=r(E),O=a.Permalink=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){var e=window.location.protocol+"//";e+=window.location.host,e+=n.props.post.url.index,prompt(gettext("Permament link to this post:"),e)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"link"),gettext("Permament link")))}}]),t}(c["default"].Component),k=a.Edit=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){m["default"].open({mode:"EDIT",config:n.props.post.api.editor,submit:n.props.post.api.index})},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_edit?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"edit"),gettext("Edit"))):null}}]),t}(c["default"].Component),N=a.MarkAsBestAnswer=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){b.markAsBestAnswer(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props,t=e.post,a=e.thread;return a.acl.can_mark_best_answer&&t.acl.can_mark_as_best_answer?t.id===a.best_answer?null:a.best_answer&&!a.acl.can_change_best_answer?null:c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"check_box"),gettext("Mark as best answer"))):null}}]),t}(c["default"].Component),x=a.UnmarkMarkBestAnswer=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){b.unmarkBestAnswer(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props,t=e.post,a=e.thread;return t.id!==a.best_answer?null:a.acl.can_unmark_best_answer?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"check_box_outline_blank"),gettext("Unmark best answer"))):null}}]),t}(c["default"].Component),P=a.PostEdits=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){f["default"].show(c["default"].createElement(y["default"],{post:n.props.post}))},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.post.is_hidden&&!this.props.post.acl.can_see_hidden,t=0===this.props.post.edits;if(e||t)return null;var a=ngettext("This post was edited %(edits)s time.","This post was edited %(edits)s times.",this.props.post.edits);interpolate(a,{edits:this.props.post.edits},!0);return c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"edit"),gettext("Changes history")))}}]),t}(c["default"].Component),j=a.Approve=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){b.approve(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_approve&&this.props.post.is_unapproved?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"done"),gettext("Approve"))):null}}]),t}(c["default"].Component),C=a.Move=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){f["default"].show(c["default"].createElement(_["default"],n.props))},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_move?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"arrow_forward"),gettext("Move"))):null}}]),t}(c["default"].Component),S=a.Split=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){f["default"].show(c["default"].createElement(w["default"],n.props))},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_move?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"call_split"),gettext("Split"))):null}}]),t}(c["default"].Component),M=a.Protect=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){b.protect(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_protect?this.props.post.is_protected?null:c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"lock_outline"),gettext("Protect"))):null}}]),t}(c["default"].Component),T=a.Unprotect=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){b.unprotect(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_protect&&this.props.post.is_protected?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"lock_open"),gettext("Remove protection"))):null}}]),t}(c["default"].Component),L=a.Hide=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){b.hide(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props,t=e.post,a=e.thread;return t.id===a.best_answer?null:t.acl.can_hide?t.is_hidden?null:c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"visibility_off"),gettext("Hide"))):null}}]),t}(c["default"].Component),A=a.Unhide=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){b.unhide(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_unhide&&this.props.post.is_hidden?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"visibility"),gettext("Unhide"))):null}}]),t}(c["default"].Component),R=a.Delete=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){b.remove(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props,t=e.post,a=e.thread;return t.id===a.best_answer?null:t.acl.can_delete?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"clear"),gettext("Delete"))):null}}]),t}(c["default"].Component)},{"../../../../services/modal":371,"../../../../services/posting":375,"../../../post-changelog":119,"./actions":155,"./move":158,"./split":159,react:"react"}],157:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("div",{className:"pull-right dropdown"},o["default"].createElement("button",{"aria-expanded":"true","aria-haspopup":"true",className:"btn btn-default btn-icon dropdown-toggle","data-toggle":"dropdown",type:"button"},o["default"].createElement("span",{className:"material-icon"},"expand_more")),o["default"].createElement(s["default"],e))};var r=e("react"),o=n(r),l=e("./dropdown"),s=n(l)},{"./dropdown":156,react:"react"}],158:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){return d["default"].createElement("div",{className:"modal-header"},d["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},d["default"].createElement("span",{"aria-hidden":"true"},"×")),d["default"].createElement("h4",{className:"modal-title"},gettext("Move post")))}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.ModalHeader=i;var c=e("react"),d=r(c),f=e("../../../button"),p=(r(f),e("../../../form")),m=r(p),h=e("../../../form-group"),b=r(h),v=e("../../../../reducers/post"),_=n(v),g=e("../../../../services/ajax"),y=r(g),E=e("../../../../services/modal"),w=r(E),O=e("../../../../services/snackbar"),k=r(O),N=e("../../../../services/store"),x=r(N),P=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onUrlChange=function(e){a.changeValue("url",e.target.value)},a.state={isLoading:!1,url:"",validators:{url:[]},errors:{}},a}return s(t,e),u(t,[{key:"clean",value:function(){return!!this.state.url.trim().length||(k["default"].error(gettext("You have to enter link to the other thread.")),!1)}},{key:"send",value:function(){return y["default"].post(this.props.thread.api.posts.move,{new_thread:this.state.url,posts:[this.props.post.id]})}},{key:"handleSuccess",value:function(e){x["default"].dispatch(_.patch(this.props.post,{isDeleted:!0})),w["default"].hide(),k["default"].success(gettext("Selected post was moved to the other thread."))}},{key:"handleError",value:function(e){400===e.status?k["default"].error(e.detail):k["default"].apiError(e)}},{key:"render",value:function(){return d["default"].createElement("div",{className:"modal-dialog",role:"document"},d["default"].createElement("form",{onSubmit:this.handleSubmit},d["default"].createElement("div",{className:"modal-content"},d["default"].createElement(i,null),d["default"].createElement("div",{className:"modal-body"},d["default"].createElement(b["default"],{"for":"id_url",label:gettext("Link to thread you want to move post to")},d["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,id:"id_url",onChange:this.onUrlChange,value:this.state.url}))),d["default"].createElement("div",{className:"modal-footer"},d["default"].createElement("button",{className:"btn btn-primary",loading:this.state.isLoading},gettext("Move post"))))))}}]),t}(m["default"]);a["default"]=P},{"../../../../reducers/post":353,"../../../../services/ajax":365,"../../../../services/modal":371,"../../../../services/snackbar":376,"../../../../services/store":377,"../../../button":8,"../../../form":56,"../../../form-group":55,react:"react"}],159:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(){return m["default"].createElement(c,{className:"modal-dialog"},m["default"].createElement(k["default"],null))}function u(e){return m["default"].createElement(c,{className:"modal-dialog modal-message"},m["default"].createElement("div",{className:"message-icon"},m["default"].createElement("span",{className:"material-icon"},"info_outline")),m["default"].createElement("div",{className:"message-body"},m["default"].createElement("p",{className:"lead"},gettext("You can't move this post at the moment.")),m["default"].createElement("p",null,e.message)))}function c(e){return m["default"].createElement("div",{className:e.className,role:"document"},m["default"].createElement("div",{className:"modal-content"},m["default"].createElement("div",{className:"modal-header"},m["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},m["default"].createElement("span",{"aria-hidden":"true"},"×")),m["default"].createElement("h4",{className:"modal-title"},gettext("Split post into new thread"))),e.children))}Object.defineProperty(a,"__esModule",{value:!0}),a.ModerationForm=a.PostingConfig=void 0;var d=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e};a["default"]=function(e){return m["default"].createElement(B,f({},e,{Form:H}))},a.Loader=i,a.Error=u,a.Modal=c;var p=e("react"),m=r(p),h=e("../../../button"),b=r(h),v=e("../../../form"),_=r(v),g=e("../../../form-group"),y=r(g),E=e("../../../category-select"),w=r(E),O=e("../../../modal-loader"),k=r(O),N=e("../../../select"),x=r(N),P=e("../../../../reducers/post"),j=n(P),C=e("../../../../services/ajax"),S=r(C),M=e("../../../../services/modal"),T=r(M),L=e("../../../../services/snackbar"),A=r(L),R=e("../../../../services/store"),I=r(R),D=e("../../../../utils/validators"),U=n(D),B=a.PostingConfig=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={isLoaded:!1,isError:!1,categories:[]},a}return s(t,e),d(t,[{key:"componentDidMount",value:function(){var e=this;S["default"].get(misago.get("THREAD_EDITOR_API")).then(function(t){var a=t.map(function(e){return Object.assign(e,{disabled:e.post===!1,label:e.name,value:e.id,post:e.post})});e.setState({isLoaded:!0,categories:a})},function(t){e.setState({isError:t.detail})})}},{key:"render",value:function(){return this.state.isError?m["default"].createElement(u,{message:this.state.isError}):this.state.isLoaded?m["default"].createElement(H,f({},this.props,{categories:this.state.categories})):m["default"].createElement(i,null)}}]),t}(m["default"].Component),H=a.ModerationForm=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onCategoryChange=function(e){var t=e.target.value,n={category:t};a.acl[t].can_pin_threads<n.weight&&(n.weight=0),a.acl[t].can_hide_threads||(n.is_hidden=0),a.acl[t].can_close_threads||(n.is_closed=!1),a.setState(n)},a.state={isLoading:!1,title:"",category:null,categories:e.categories,weight:0,is_hidden:0,is_closed:!1,validators:{title:[U.required()]},errors:{}},a.isHiddenChoices=[{value:0,icon:"visibility",label:gettext("No")},{value:1,icon:"visibility_off",label:gettext("Yes")}],a.isClosedChoices=[{value:!1,icon:"lock_outline",label:gettext("No")},{value:!0,icon:"lock",label:gettext("Yes")}],a.acl={},a.props.categories.forEach(function(e){e.post&&(a.state.category||(a.state.category=e.id),a.acl[e.id]={can_pin_threads:e.post.pin,can_close_threads:e.post.close,can_hide_threads:e.post.hide})}),a}return s(t,e),d(t,[{key:"clean",value:function(){return!!this.isValid()||(A["default"].error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return S["default"].post(this.props.thread.api.posts.split,{title:this.state.title,category:this.state.category,weight:this.state.weight,is_hidden:this.state.is_hidden,is_closed:this.state.is_closed,posts:[this.props.post.id]})}},{key:"handleSuccess",value:function(e){I["default"].dispatch(j.patch(this.props.post,{isDeleted:!0})),T["default"].hide(),A["default"].success(gettext("Selected post was split into new thread."))}},{key:"handleError",value:function(e){400===e.status?(this.setState({errors:Object.assign({},this.state.errors,e)}),A["default"].error(gettext("Form contains errors."))):403===e.status&&Array.isArray(e)?T["default"].show(m["default"].createElement(ErrorsModal,{errors:e})):A["default"].apiError(e)}},{key:"getWeightChoices",value:function(){var e=[{value:0,icon:"remove",label:gettext("Not pinned")},{value:1,icon:"bookmark_border",label:gettext("Pinned locally")}];return 2==this.acl[this.state.category].can_pin_threads&&e.push({value:2,icon:"bookmark",label:gettext("Pinned globally")}),e}},{key:"renderWeightField",value:function(){return this.acl[this.state.category].can_pin_threads?m["default"].createElement(y["default"],{label:gettext("Thread weight"),"for":"id_weight",labelClass:"col-sm-4",controlClass:"col-sm-8"},m["default"].createElement(x["default"],{id:"id_weight",onChange:this.bindInput("weight"),value:this.state.weight,choices:this.getWeightChoices()})):null}},{key:"renderHiddenField",value:function(){return this.acl[this.state.category].can_hide_threads?m["default"].createElement(y["default"],{label:gettext("Hide thread"),"for":"id_is_hidden",labelClass:"col-sm-4",controlClass:"col-sm-8"},m["default"].createElement(x["default"],{id:"id_is_closed",onChange:this.bindInput("is_hidden"),value:this.state.is_hidden,choices:this.isHiddenChoices})):null}},{key:"renderClosedField",value:function(){return this.acl[this.state.category].can_close_threads?m["default"].createElement(y["default"],{label:gettext("Close thread"),"for":"id_is_closed",labelClass:"col-sm-4",controlClass:"col-sm-8"},m["default"].createElement(x["default"],{id:"id_is_closed",onChange:this.bindInput("is_closed"),value:this.state.is_closed,choices:this.isClosedChoices})):null}},{key:"render",value:function(){return m["default"].createElement(c,{className:"modal-dialog"},m["default"].createElement("form",{onSubmit:this.handleSubmit},m["default"].createElement("div",{className:"modal-body"},m["default"].createElement(y["default"],{label:gettext("Thread title"),"for":"id_title",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.title},m["default"].createElement("input",{id:"id_title",className:"form-control",type:"text",onChange:this.bindInput("title"),value:this.state.title})),m["default"].createElement("div",{className:"clearfix"}),m["default"].createElement(y["default"],{label:gettext("Category"),"for":"id_category",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.category},m["default"].createElement(w["default"],{id:"id_category",onChange:this.onCategoryChange,value:this.state.category,choices:this.state.categories})),m["default"].createElement("div",{className:"clearfix"}),this.renderWeightField(),this.renderHiddenField(),this.renderClosedField()),m["default"].createElement("div",{className:"modal-footer"},m["default"].createElement(b["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Split post")))))}}]),t}(_["default"])},{"../../../../reducers/post":353,"../../../../services/ajax":365,"../../../../services/modal":371,"../../../../services/snackbar":376,"../../../../services/store":377,"../../../../utils/validators":393,"../../../button":8,"../../../category-select":21,"../../../form":56,"../../../form-group":55,"../../../modal-loader":61,"../../../select":210,react:"react"}],160:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.post,a=e.thread,n=e.user;if(!i(t)||t.id!==a.best_answer)return null;var r=null;return r=n.id&&a.best_answer_marked_by===n.id?interpolate(gettext("Marked as best answer by you %(marked_on)s."),{marked_on:a.best_answer_marked_on.fromNow()},!0):interpolate(gettext("Marked as best answer by %(marked_by)s %(marked_on)s."),{marked_by:a.best_answer_marked_by_name,marked_on:a.best_answer_marked_on.fromNow()},!0),c["default"].createElement("div",{className:"post-status-message post-status-best-answer"},c["default"].createElement("span",{className:"material-icon"},"check_box"),c["default"].createElement("p",null,r))}function o(e){return i(e.post)&&e.post.is_hidden?c["default"].createElement("div",{className:"post-status-message post-status-hidden"},c["default"].createElement("span",{className:"material-icon"},"visibility_off"),c["default"].createElement("p",null,gettext("This post is hidden. Only users with permission may see its contents."))):null}function l(e){return i(e.post)&&e.post.is_unapproved?c["default"].createElement("div",{className:"post-status-message post-status-unapproved"},c["default"].createElement("span",{className:"material-icon"},"remove_circle_outline"),c["default"].createElement("p",null,gettext("This post is unapproved. Only users with permission to approve posts and its author may see its contents."))):null}function s(e){return i(e.post)&&e.post.is_protected?c["default"].createElement("div",{className:"post-status-message post-status-protected visible-xs-block"},c["default"].createElement("span",{className:"material-icon"},"lock_outline"),c["default"].createElement("p",null,gettext("This post is protected. Only moderators may change it."))):null}function i(e){return!e.is_hidden||e.acl.can_see_hidden}Object.defineProperty(a,"__esModule",{value:!0}),a.FlagBestAnswer=r,a.FlagHidden=o,a.FlagUnapproved=l,a.FlagProtected=s,a.isVisible=i;var u=e("react"),c=n(u)},{react:"react"}],161:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){return(!e.is_hidden||e.acl.can_see_hidden)&&(e.acl.can_reply||e.acl.can_edit||e.acl.can_see_likes&&(e.last_likes||[]).length||e.acl.can_like)}function u(e,t){var a=t.slice(0,3).map(function(e){return e.username});if(1==a.length)return interpolate(gettext("%(user)s likes this."),{user:a[0]},!0);var n=e-a.length,r=a.slice(0,-1).join(", "),o=a.slice(-1)[0],l=interpolate(gettext("%(users)s and %(last_user)s"),{users:r,last_user:o},!0);if(0===n)return interpolate(gettext("%(users)s like this."),{users:l},!0);var s=ngettext("%(users)s and %(likes)s other user like this.","%(users)s and %(likes)s other users like this.",n);return interpolate(s,{users:a.join(", "),likes:n},!0)}Object.defineProperty(a,"__esModule",{value:!0}),a.Edit=a.Reply=a.LikesCompact=a.Likes=a.Like=a.MarkAsBestAnswerCompact=a.MarkAsBestAnswer=void 0;var c=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e};a["default"]=function(e){return i(e.post)?p["default"].createElement("div",{className:"post-footer"},p["default"].createElement(w,e),p["default"].createElement(O,e),p["default"].createElement(k,e),p["default"].createElement(N,d({lastLikes:e.post.last_likes,likes:e.post.likes},e)),p["default"].createElement(x,d({likes:e.post.likes},e)),p["default"].createElement(P,e),p["default"].createElement(j,e)):null},a.isVisible=i,a.getLikesMessage=u;var f=e("react"),p=r(f),m=e("./controls/actions"),h=n(m),b=e("../../post-likes"),v=r(b),_=e("../../../services/modal"),g=r(_),y=e("../../../services/posting"),E=r(y),w=a.MarkAsBestAnswer=function(e){
|