|
@@ -6,13 +6,13 @@ return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("funct
|
|
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":88,"./cards-list":91,"./utils":95,react:"react"}],95:[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},{}],96:[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":365,react:"react"}],97:[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"}],98:[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),v=e("../../form"),b=r(v),y=e("../../form-group"),g=r(y),_=e("../../yes-no-switch"),E=r(_),w=e("../../../reducers/poll"),O=n(w),k=e("../../../services/ajax"),N=r(k),x=e("../../../services/posting"),j=r(x),P=e("../../../services/snackbar"),C=r(P),M=e("../../../services/store"),S=r(M),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&&j["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){S["default"].dispatch(O.replace(e)),this.state.isEdit?C["default"].success(gettext("Poll has been edited.")):C["default"].success(gettext("Poll has been posted.")),j["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}(b["default"]);a["default"]=T},{"../../../reducers/poll":339,"../../../services/ajax":352,"../../../services/posting":362,"../../../services/snackbar":363,"../../../services/store":364,"../../button":5,"../../form":52,"../../form-group":51,"../../yes-no-switch":289,"./choices-control":97,react:"react"}],99:[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":98,"./poll":101}],100:[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(b,{url:(0,m["default"])(e.url.poster),user:(0,m["default"])(e.poster_name)},!0):interpolate(v,{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>',v='<span class="item-title">%(user)s</span>',b='<a href="%(url)s" class="item-title">%(user)s</a>'},{"../../utils/escape-html":370,react:"react"}],101:[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),v=e("./voting"),b=n(v),y=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(b["default"],i({showResults:this.showResults},this.props))}}]),t}(d["default"].Component);a["default"]=y},{"./results":103,"./voting":107,moment:"moment",react:"react"}],102:[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"}],103:[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":100,"./chart":102,"./options":105,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(e){return e.isLoading?b["default"].createElement(O["default"],null):e.error?b["default"].createElement(E["default"],{icon:"error_outline",message:e.error}):b["default"].createElement(i,{data:e.data})}function i(e){return b["default"].createElement("div",{className:"modal-body modal-poll-votes"},b["default"].createElement("ul",{className:"list-unstyled votes-details"},e.data.map(function(e){return b["default"].createElement(u,m({key:e.hash},e))})))}function u(e){return b["default"].createElement("li",null,b["default"].createElement("h4",null,e.label),b["default"].createElement(c,{votes:e.votes}),b["default"].createElement(d,{voters:e.voters}),b["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 b["default"].createElement("p",null,a)}function d(e){return e.voters.length?b["default"].createElement("ul",{className:"list-unstyled"},e.voters.map(function(e){return b["default"].createElement(f,m({key:e.username},e))})):null}function f(e){return e.url?b["default"].createElement("li",null,b["default"].createElement("a",{className:"item-title",href:e.url},e.username)," ",b["default"].createElement(p,{voted_on:e.voted_on})):b["default"].createElement("li",null,b["default"].createElement("strong",null,e.username)," ",b["default"].createElement(p,{voted_on:e.voted_on}))}function p(e){return b["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 v=e("react"),b=n(v),y=e("moment"),g=n(y),_=e("../../modal-message"),E=n(_),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 b["default"].createElement("div",{className:"modal-dialog"+(this.state.error?" modal-message":" modal-sm"),role:"document"},b["default"].createElement("div",{className:"modal-content"},b["default"].createElement("div",{className:"modal-header"},b["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},b["default"].createElement("span",{"aria-hidden":"true"},"×")),b["default"].createElement("h4",{className:"modal-title"},gettext("Poll votes"))),b["default"].createElement(s,{data:this.state.data,error:this.state.error,isLoading:this.state.isLoading})))}}]),t}(b["default"].Component);a["default"]=x},{"../../../services/ajax":352,"../../modal-loader":57,"../../modal-message":58,moment:"moment",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,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},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(M,{controls:o,poll:a}),p["default"].createElement(S,{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),v=e("../../../reducers/poll"),b=n(v),y=e("../../../reducers/thread"),g=n(y),_=e("../../../services/ajax"),E=r(_),w=e("../../../services/modal"),O=r(w),k=e("../../../services/posting"),N=r(k),x=e("../../../services/snackbar"),j=r(x),P=e("../../../services/store"),C=r(P),M=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},gettext("See votes"))):null}}]),t}(p["default"].Component),S=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},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(b.busy()),void E["default"]["delete"](n.props.poll.api.index).then(n.handleSuccess,n.handleError))},n.handleSuccess=function(e){j["default"].success("Poll has been deleted"),C["default"].dispatch(b.remove()),C["default"].dispatch(g.updateAcl(e))},n.handleError=function(e){j["default"].apiError(e),C["default"].dispatch(b.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},gettext("Delete"))):null}}]),t}(p["default"].Component)},{"../../../reducers/poll":339,"../../../reducers/thread":347,"../../../services/ajax":352,"../../../services/modal":358,"../../../services/posting":362,"../../../services/snackbar":363,"../../../services/store":364,"./modal":104,react:"react"}],106:[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":370,react:"react"}],107:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};
|
|
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":88,"./cards-list":91,"./utils":95,react:"react"}],95:[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},{}],96:[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":365,react:"react"}],97:[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"}],98:[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),v=e("../../form"),b=r(v),y=e("../../form-group"),g=r(y),_=e("../../yes-no-switch"),E=r(_),w=e("../../../reducers/poll"),O=n(w),k=e("../../../services/ajax"),N=r(k),x=e("../../../services/posting"),j=r(x),P=e("../../../services/snackbar"),C=r(P),M=e("../../../services/store"),S=r(M),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&&j["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){S["default"].dispatch(O.replace(e)),this.state.isEdit?C["default"].success(gettext("Poll has been edited.")):C["default"].success(gettext("Poll has been posted.")),j["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}(b["default"]);a["default"]=T},{"../../../reducers/poll":339,"../../../services/ajax":352,"../../../services/posting":362,"../../../services/snackbar":363,"../../../services/store":364,"../../button":5,"../../form":52,"../../form-group":51,"../../yes-no-switch":289,"./choices-control":97,react:"react"}],99:[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":98,"./poll":101}],100:[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(b,{url:(0,m["default"])(e.url.poster),user:(0,m["default"])(e.poster_name)},!0):interpolate(v,{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>',v='<span class="item-title">%(user)s</span>',b='<a href="%(url)s" class="item-title">%(user)s</a>'},{"../../utils/escape-html":370,react:"react"}],101:[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),v=e("./voting"),b=n(v),y=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(b["default"],i({showResults:this.showResults},this.props))}}]),t}(d["default"].Component);a["default"]=y},{"./results":103,"./voting":107,moment:"moment",react:"react"}],102:[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"}],103:[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":100,"./chart":102,"./options":105,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(e){return e.isLoading?b["default"].createElement(O["default"],null):e.error?b["default"].createElement(E["default"],{icon:"error_outline",message:e.error}):b["default"].createElement(i,{data:e.data})}function i(e){return b["default"].createElement("div",{className:"modal-body modal-poll-votes"},b["default"].createElement("ul",{className:"list-unstyled votes-details"},e.data.map(function(e){return b["default"].createElement(u,m({key:e.hash},e))})))}function u(e){return b["default"].createElement("li",null,b["default"].createElement("h4",null,e.label),b["default"].createElement(c,{votes:e.votes}),b["default"].createElement(d,{voters:e.voters}),b["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 b["default"].createElement("p",null,a)}function d(e){return e.voters.length?b["default"].createElement("ul",{className:"list-unstyled"},e.voters.map(function(e){return b["default"].createElement(f,m({key:e.username},e))})):null}function f(e){return e.url?b["default"].createElement("li",null,b["default"].createElement("a",{className:"item-title",href:e.url},e.username)," ",b["default"].createElement(p,{voted_on:e.voted_on})):b["default"].createElement("li",null,b["default"].createElement("strong",null,e.username)," ",b["default"].createElement(p,{voted_on:e.voted_on}))}function p(e){return b["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 v=e("react"),b=n(v),y=e("moment"),g=n(y),_=e("../../modal-message"),E=n(_),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 b["default"].createElement("div",{className:"modal-dialog"+(this.state.error?" modal-message":" modal-sm"),role:"document"},b["default"].createElement("div",{className:"modal-content"},b["default"].createElement("div",{className:"modal-header"},b["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},b["default"].createElement("span",{"aria-hidden":"true"},"×")),b["default"].createElement("h4",{className:"modal-title"},gettext("Poll votes"))),b["default"].createElement(s,{data:this.state.data,error:this.state.error,isLoading:this.state.isLoading})))}}]),t}(b["default"].Component);a["default"]=x},{"../../../services/ajax":352,"../../modal-loader":57,"../../modal-message":58,moment:"moment",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,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},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(M,{controls:o,poll:a}),p["default"].createElement(S,{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),v=e("../../../reducers/poll"),b=n(v),y=e("../../../reducers/thread"),g=n(y),_=e("../../../services/ajax"),E=r(_),w=e("../../../services/modal"),O=r(w),k=e("../../../services/posting"),N=r(k),x=e("../../../services/snackbar"),j=r(x),P=e("../../../services/store"),C=r(P),M=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},gettext("See votes"))):null}}]),t}(p["default"].Component),S=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},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(b.busy()),void E["default"]["delete"](n.props.poll.api.index).then(n.handleSuccess,n.handleError))},n.handleSuccess=function(e){j["default"].success("Poll has been deleted"),C["default"].dispatch(b.remove()),C["default"].dispatch(g.updateAcl(e))},n.handleError=function(e){j["default"].apiError(e),C["default"].dispatch(b.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},gettext("Delete"))):null}}]),t}(p["default"].Component)},{"../../../reducers/poll":339,"../../../reducers/thread":347,"../../../services/ajax":352,"../../../services/modal":358,"../../../services/posting":362,"../../../services/snackbar":363,"../../../services/store":364,"./modal":104,react:"react"}],106:[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":370,react:"react"}],107:[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"),v=e("../info"),b=r(v),y=e("../../button"),g=r(y),_=e("../../form"),E=r(_),w=e("../../../reducers/poll"),O=n(w),k=e("../../../services/ajax"),N=r(k),x=e("../../../services/snackbar"),j=r(x),P=e("../../../services/store"),C=r(P),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 N["default"].post(this.props.poll.api.votes,e)}},{key:"handleSuccess",value:function(e){C["default"].dispatch(O.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(){return 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(b["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:"col-xs-6 col-sm-4 col-md-2"},c["default"].createElement(g["default"],{className:"btn-primary btn-block btn-sm",loading:this.state.isLoading},gettext("Save your vote"))),c["default"].createElement("div",{className:"col-xs-6 col-sm-4 col-md-2"},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")))))))}}]),t}(E["default"]);a["default"]=M},{"../../../reducers/poll":339,"../../../services/ajax":352,"../../../services/snackbar":363,"../../../services/store":364,"../../button":5,"../../form":52,"../info":100,"./help":106,"./select":108,"./utils":109,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)}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"}],109:[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},{}],110:[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"}],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)}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":5,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){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),v=e("./toolbar"),b=r(v),y=e("./utils"),g=e("../modal-message"),_=r(g),E=e("../modal-loader"),w=r(E),O=e("../../reducers/post"),k=n(O),N=e("../../services/ajax"),x=r(N),j=e("../../services/modal"),P=r(j),C=e("../../services/snackbar"),M=r(C),S=e("../../services/store"),T=r(S),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,y.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)),M["default"].success(gettext("Post has been reverted to previous state.")),P["default"].hide()},function(e){M["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(_["default"],{message:this.state.error})):this.state.isReady?d["default"].createElement(i,null,d["default"].createElement(b["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":340,"../../services/ajax":352,"../../services/modal":358,"../../services/snackbar":363,"../../services/store":364,"../modal-loader":57,"../modal-message":58,"./diff":110,"./footer":111,"./toolbar":113,"./utils":114,react:"react"}],113:[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(v["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(v["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"},"chevron_right"))}function u(e){return m["default"].createElement(v["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(v["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,y["default"])(e.edit.url.editor),user:(0,y["default"])(e.edit.editor_name)},!0):interpolate(_,{user:(0,y["default"])(e.edit.editor_name)},!0);var a=interpolate(g,{absolute:(0,y["default"])(e.edit.edited_on.format("LLL")),relative:(0,y["default"])(e.edit.edited_on.fromNow())},!0),n=interpolate((0,y["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"),v=n(h),b=e("../../utils/escape-html"),y=n(b),g='<abbr title="%(absolute)s">%(relative)s</abbr>',_='<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":370,"../button":5,react:"react"}],114:[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"}],115:[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":118,"./preview":124,react:"react"}],116:[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":370,"../../misago-markup":56,react:"react"}],117:[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"}],118:[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":116,"./header":117,"./post-side":121,react:"react"}],119:[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":3,"./button":120,react:"react"}],120:[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"}],121:[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":119,"./registered":122,react:"react"}],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.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":3,"./button":120,"./user-title":123,react:"react"}],123:[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"}],124:[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":375,"../avatar":3,react:"react"}],125:[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,b["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),v=e("moment"),b=n(v),y=e("./avatar"),g=n(y),_=e("./modal-message"),E=n(_),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":352,"./avatar":3,"./modal-loader":57,"./modal-message":58,moment:"moment",react:"react"}],126:[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){
|
|
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"),v=e("../info"),b=r(v),y=e("../../button"),g=r(y),_=e("../../form"),E=r(_),w=e("../../../reducers/poll"),O=n(w),k=e("../../../services/ajax"),N=r(k),x=e("../../../services/snackbar"),j=r(x),P=e("../../../services/store"),C=r(P),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 N["default"].post(this.props.poll.api.votes,e)}},{key:"handleSuccess",value:function(e){C["default"].dispatch(O.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(){return 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(b["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:"col-xs-6 col-sm-4 col-md-2"},c["default"].createElement(g["default"],{className:"btn-primary btn-block btn-sm",loading:this.state.isLoading},gettext("Save your vote"))),c["default"].createElement("div",{className:"col-xs-6 col-sm-4 col-md-2"},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")))))))}}]),t}(E["default"]);a["default"]=M},{"../../../reducers/poll":339,"../../../services/ajax":352,"../../../services/snackbar":363,"../../../services/store":364,"../../button":5,"../../form":52,"../info":100,"./help":106,"./select":108,"./utils":109,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)}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"}],109:[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},{}],110:[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"}],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)}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":5,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){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),v=e("./toolbar"),b=r(v),y=e("./utils"),g=e("../modal-message"),_=r(g),E=e("../modal-loader"),w=r(E),O=e("../../reducers/post"),k=n(O),N=e("../../services/ajax"),x=r(N),j=e("../../services/modal"),P=r(j),C=e("../../services/snackbar"),M=r(C),S=e("../../services/store"),T=r(S),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,y.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)),M["default"].success(gettext("Post has been reverted to previous state.")),P["default"].hide()},function(e){M["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(_["default"],{message:this.state.error})):this.state.isReady?d["default"].createElement(i,null,d["default"].createElement(b["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":340,"../../services/ajax":352,"../../services/modal":358,"../../services/snackbar":363,"../../services/store":364,"../modal-loader":57,"../modal-message":58,"./diff":110,"./footer":111,"./toolbar":113,"./utils":114,react:"react"}],113:[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(v["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(v["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"},"chevron_right"))}function u(e){return m["default"].createElement(v["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(v["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,y["default"])(e.edit.url.editor),user:(0,y["default"])(e.edit.editor_name)},!0):interpolate(_,{user:(0,y["default"])(e.edit.editor_name)},!0);var a=interpolate(g,{absolute:(0,y["default"])(e.edit.edited_on.format("LLL")),relative:(0,y["default"])(e.edit.edited_on.fromNow())},!0),n=interpolate((0,y["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"),v=n(h),b=e("../../utils/escape-html"),y=n(b),g='<abbr title="%(absolute)s">%(relative)s</abbr>',_='<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":370,"../button":5,react:"react"}],114:[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"}],115:[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":118,"./preview":124,react:"react"}],116:[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":370,"../../misago-markup":56,react:"react"}],117:[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"}],118:[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":116,"./header":117,"./post-side":121,react:"react"}],119:[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":3,"./button":120,react:"react"}],120:[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"}],121:[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":119,"./registered":122,react:"react"}],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.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":3,"./button":120,"./user-title":123,react:"react"}],123:[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"}],124:[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":375,"../avatar":3,react:"react"}],125:[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,b["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),v=e("moment"),b=n(v),y=e("./avatar"),g=n(y),_=e("./modal-message"),E=n(_),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":352,"./avatar":3,"./modal-loader":57,"./modal-message":58,moment:"moment",react:"react"}],126:[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"),v=r(h),b=e("./utils/loader"),y=r(b),g=e("./utils/message"),_=r(g),E=e("./utils/attachments"),w=n(E),O=e("./utils/validators"),k=e("../../services/ajax"),N=r(k),x=e("../../services/posting"),j=r(x),P=e("../../services/snackbar"),C=r(P),M=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&&j["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||[]);C["default"].error(t[0])}else C["default"].apiError(e)}},{key:"render",value:function(){return this.state.isReady?c["default"].createElement(v["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(_["default"],{message:this.state.isErrored}):c["default"].createElement(y["default"],null)}}]),t}(m["default"]);a["default"]=M},{"../../services/ajax":352,"../../services/posting":362,"../../services/snackbar":363,"../editor":48,"../form":52,"./utils/attachments":131,"./utils/container":132,"./utils/loader":133,"./utils/message":134,"./utils/validators":137,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){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":126,"./reply":128,"./start":130,"./start-private":129,react:"react"}],128:[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"),v=r(h),b=e("./utils/loader"),y=r(b),g=e("./utils/message"),_=r(g),E=e("./utils/attachments"),w=n(E),O=e("./utils/validators"),k=e("../../services/ajax"),N=r(k),x=e("../../services/posting"),j=r(x),P=e("../../services/snackbar"),C=r(P),M=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&&j["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||[]);C["default"].error(t[0])}else C["default"].apiError(e)}},{key:"render",value:function(){return this.state.isReady?c["default"].createElement(v["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(_["default"],{message:this.state.isErrored}):c["default"].createElement(y["default"],null)}}]),t}(m["default"]);a["default"]=M},{"../../services/ajax":352,"../../services/posting":362,"../../services/snackbar":363,"../editor":48,"../form":52,"./utils/attachments":131,"./utils/container":132,"./utils/loader":133,"./utils/message":134,"./utils/validators":137,react:"react"}],129:[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"),v=r(h),b=e("./utils/message"),y=(r(b),e("./utils/attachments")),g=n(y),_=e("./utils/usernames"),E=r(_),w=e("./utils/validators"),O=e("../../services/ajax"),k=r(O),N=e("../../services/posting"),x=r(N),j=e("../../services/snackbar"),P=r(j),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 P["default"].error(gettext("You have to enter at least one recipient.")),!1;if(!this.state.title.trim().length)return P["default"].error(gettext("You have to enter thread title.")),!1;if(!this.state.post.trim().length)return P["default"].error(gettext("You have to enter a message.")),!1;var e=this.validate();return e.title?(P["default"].error(e.title[0]),!1):!e.post||(P["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){P["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||[]);P["default"].error(t[0])}else P["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement(v["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":352,"../../services/posting":362,"../../services/snackbar":363,"../editor":48,"../form":52,"./utils/attachments":131,"./utils/container":132,"./utils/message":134,"./utils/usernames":136,"./utils/validators":137,react:"react"}],130:[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"),v=r(h),b=e("./utils/container"),y=r(b),g=e("./utils/loader"),_=r(g),E=e("./utils/message"),w=r(E),O=e("./utils/options"),k=r(O),N=e("./utils/attachments"),x=n(N),j=e("./utils/validators"),P=e("../../services/ajax"),C=r(P),M=e("../../services/posting"),S=r(M),T=e("../../services/snackbar"),L=r(T),R=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&&S["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,j.getTitleValidators)(),post:(0,j.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||[]);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(_["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(y["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}(v["default"]);a["default"]=R},{"../../services/ajax":352,"../../services/posting":362,"../../services/snackbar":363,"../category-select":18,"../editor":48,"../form":52,"./utils/attachments":131,"./utils/container":132,"./utils/loader":133,"./utils/message":134,"./utils/options":135,"./utils/validators":137,react:"react"}],131:[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"}],132:[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"}],133:[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":54,"./container":132,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 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":362,"./container":132,react:"react"}],135:[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"}],136:[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}},{}],137:[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)},{"../../..":291,"../../../utils/validators":380}],138:[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),v=e("../../../services/ajax"),b=r(v),y=e("../../../services/snackbar"),g=r(y),_=e("../../../services/store"),E=r(_),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};b["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};b["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})),b["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":340,"../../../services/ajax":352,"../../../services/snackbar":363,"../../../services/store":364,moment:"moment",react:"react"}],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:"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"}],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){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)))));
|
|
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"),v=r(h),b=e("./utils/loader"),y=r(b),g=e("./utils/message"),_=r(g),E=e("./utils/attachments"),w=n(E),O=e("./utils/validators"),k=e("../../services/ajax"),N=r(k),x=e("../../services/posting"),j=r(x),P=e("../../services/snackbar"),C=r(P),M=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&&j["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||[]);C["default"].error(t[0])}else C["default"].apiError(e)}},{key:"render",value:function(){return this.state.isReady?c["default"].createElement(v["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(_["default"],{message:this.state.isErrored}):c["default"].createElement(y["default"],null)}}]),t}(m["default"]);a["default"]=M},{"../../services/ajax":352,"../../services/posting":362,"../../services/snackbar":363,"../editor":48,"../form":52,"./utils/attachments":131,"./utils/container":132,"./utils/loader":133,"./utils/message":134,"./utils/validators":137,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){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":126,"./reply":128,"./start":130,"./start-private":129,react:"react"}],128:[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"),v=r(h),b=e("./utils/loader"),y=r(b),g=e("./utils/message"),_=r(g),E=e("./utils/attachments"),w=n(E),O=e("./utils/validators"),k=e("../../services/ajax"),N=r(k),x=e("../../services/posting"),j=r(x),P=e("../../services/snackbar"),C=r(P),M=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&&j["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||[]);C["default"].error(t[0])}else C["default"].apiError(e)}},{key:"render",value:function(){return this.state.isReady?c["default"].createElement(v["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(_["default"],{message:this.state.isErrored}):c["default"].createElement(y["default"],null)}}]),t}(m["default"]);a["default"]=M},{"../../services/ajax":352,"../../services/posting":362,"../../services/snackbar":363,"../editor":48,"../form":52,"./utils/attachments":131,"./utils/container":132,"./utils/loader":133,"./utils/message":134,"./utils/validators":137,react:"react"}],129:[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"),v=r(h),b=e("./utils/message"),y=(r(b),e("./utils/attachments")),g=n(y),_=e("./utils/usernames"),E=r(_),w=e("./utils/validators"),O=e("../../services/ajax"),k=r(O),N=e("../../services/posting"),x=r(N),j=e("../../services/snackbar"),P=r(j),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 P["default"].error(gettext("You have to enter at least one recipient.")),!1;if(!this.state.title.trim().length)return P["default"].error(gettext("You have to enter thread title.")),!1;if(!this.state.post.trim().length)return P["default"].error(gettext("You have to enter a message.")),!1;var e=this.validate();return e.title?(P["default"].error(e.title[0]),!1):!e.post||(P["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){P["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||[]);P["default"].error(t[0])}else P["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement(v["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":352,"../../services/posting":362,"../../services/snackbar":363,"../editor":48,"../form":52,"./utils/attachments":131,"./utils/container":132,"./utils/message":134,"./utils/usernames":136,"./utils/validators":137,react:"react"}],130:[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"),v=r(h),b=e("./utils/container"),y=r(b),g=e("./utils/loader"),_=r(g),E=e("./utils/message"),w=r(E),O=e("./utils/options"),k=r(O),N=e("./utils/attachments"),x=n(N),j=e("./utils/validators"),P=e("../../services/ajax"),C=r(P),M=e("../../services/posting"),S=r(M),T=e("../../services/snackbar"),L=r(T),R=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&&S["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,j.getTitleValidators)(),post:(0,j.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||[]);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(_["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(y["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}(v["default"]);a["default"]=R},{"../../services/ajax":352,"../../services/posting":362,"../../services/snackbar":363,"../category-select":18,"../editor":48,"../form":52,"./utils/attachments":131,"./utils/container":132,"./utils/loader":133,"./utils/message":134,"./utils/options":135,"./utils/validators":137,react:"react"}],131:[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"}],132:[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"}],133:[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":54,"./container":132,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 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":362,"./container":132,react:"react"}],135:[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"}],136:[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}},{}],137:[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)},{"../../..":291,"../../../utils/validators":380}],138:[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),v=e("../../../services/ajax"),b=r(v),y=e("../../../services/snackbar"),g=r(y),_=e("../../../services/store"),E=r(_),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};b["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};b["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})),b["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":340,"../../../services/ajax":352,"../../../services/snackbar":363,"../../../services/store":364,moment:"moment",react:"react"}],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:"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"}],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){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":166,"./icon":139,"./info":141,"./message":142,"./unread-label":143,react:"react"}],141:[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(v,{url:(0,c["default"])(e.post.url.hidden_by),user:(0,c["default"])(e.post.hidden_by_name)},!0):interpolate(h,{user:(0,c["default"])(e.post.hidden_by_name)},!0);var a=interpolate(p,{absolute:(0,c["default"])(e.post.hidden_on.format("LLL")),relative:(0,c["default"])(e.post.hidden_on.fromNow())},!0),n=interpolate((0,c["default"])(gettext("Hidden by %(event_by)s %(event_on)s.")),{event_by:t,event_on:a},!0);return i["default"].createElement("li",{className:"event-hidden-message",dangerouslySetInnerHTML:{__html:n}})}return null}function o(e){var t=null;t=e.post.poster?interpolate(v,{url:(0,c["default"])(e.post.poster.url),user:(0,c["default"])(e.post.poster_name)},!0):interpolate(h,{user:(0,c["default"])(e.post.poster_name)},!0);var a=interpolate(m,{url:(0,c["default"])(e.post.url.index),absolute:(0,c["default"])(e.post.posted_on.format("LLL")),relative:(0,c["default"])(e.post.posted_on.fromNow())},!0),n=interpolate((0,c["default"])(gettext("By %(event_by)s %(event_on)s.")),{event_by:t,event_on:a},!0);return i["default"].createElement("li",{className:"event-posters",dangerouslySetInnerHTML:{__html:n}})}function l(e){return e.user.acl.can_see_users_ips?i["default"].createElement("li",{className:"event-ip"},i["default"].createElement("abbr",{title:e.post.poster_ip},gettext("IP recorded"))):null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return i["default"].createElement("ul",{className:"list-inline event-info"},i["default"].createElement(r,e),i["default"].createElement(o,e),i["default"].createElement(l,e),i["default"].createElement(f["default"],e))},a.Hidden=r,a.Poster=o,a.Ip=l;var s=e("react"),i=n(s),u=e("../../../utils/escape-html"),c=n(u),d=e("./controls"),f=n(d),p='<abbr title="%(absolute)s">%(relative)s</abbr>',m='<a href="%(url)s" title="%(absolute)s">%(relative)s</a>',h='<span class="item-title">%(user)s</span>',v='<a href="%(url)s" class="item-title">%(user)s</a>'},{"../../../utils/escape-html":370,"./controls":138,react:"react"}],142:[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(v,{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(v,{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>',v='<span class="item-title">%(name)s</span>'},{"../../../utils/escape-html":370,react:"react"}],143:[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"}],144:[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":140,"./post":156,"./post/preview":164,react:"react"}],145:[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(b,{url:(0,f["default"])(e.attachment.url.uploader),user:(0,f["default"])(e.attachment.uploader_name)},!0):interpolate(v,{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>',v='<span class="item-title">%(user)s</span>',b='<a href="%(url)s" class="item-title">%(user)s</a>'},{"../../../..":291,"../../../../utils/escape-html":370,"../../../../utils/file-size":371,react:"react"}],146:[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":367,"./attachment":145,react:"react"}],147:[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(v,{user:(0,m["default"])(e.post.hidden_by_name)},!0);var a=interpolate(b,{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>',v='<span class="item-title">%(user)s</span>',b='<abbr class="last-title" title="%(absolute)s">%(relative)s</abbr>'},{"../../../utils/escape-html":370,"../../misago-markup":56,"../waypoint":166,react:"react"}],148:[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){O["default"].dispatch(b.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){O["default"].dispatch(b.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){O["default"].dispatch(b.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){O["default"].dispatch(b.patch(e.post,{is_hidden:!0,hidden_on:(0,h["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){O["default"].dispatch(b.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;O["default"].dispatch(b.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){O["default"].dispatch(b.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){g["default"].patch(e.post.api.index,t).then(function(t){O["default"].dispatch(b.patch(e.post,t))},function(t){400===t.status?E["default"].error(t.detail[0]):E["default"].apiError(t),O["default"].dispatch(b.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&&(O["default"].dispatch(b.patch(e.post,{isDeleted:!0})),g["default"]["delete"](e.post.api.index).then(function(){E["default"].success(gettext("Post has been deleted."))},function(t){400===t.status?E["default"].error(t.detail):E["default"].apiError(t),O["default"].dispatch(b.patch(e.post,{isDeleted:!1}))}))}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;var m=e("moment"),h=r(m),v=e("../../../../reducers/post"),b=n(v),y=e("../../../../services/ajax"),g=r(y),_=e("../../../../services/snackbar"),E=r(_),w=e("../../../../services/store"),O=r(w)},{"../../../../reducers/post":340,"../../../../services/ajax":352,"../../../../services/snackbar":363,"../../../../services/store":364,moment:"moment"}],149:[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.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(E,e),c["default"].createElement(w,e),c["default"].createElement(O,e),c["default"].createElement(k,e),c["default"].createElement(N,e),c["default"].createElement(x,e),c["default"].createElement(j,e),c["default"].createElement(P,e),c["default"].createElement(C,e),c["default"].createElement(M,e))};var u=e("react"),c=r(u),d=e("../../../../services/modal"),f=r(d),p=e("./actions"),m=n(p),h=e("./move"),v=r(h),b=e("../../../post-changelog"),y=r(b),g=e("./split"),_=r(g),E=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),w=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),O=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(){m.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),k=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(v["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),N=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(_["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),x=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(){m.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),j=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(){m.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),P=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(){m.hide(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_hide?this.props.post.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),C=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(){m.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),M=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(){m.remove(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return this.props.post.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":358,"../../../post-changelog":112,"./actions":148,"./move":151,"./split":152,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){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":149,react:"react"}],151:[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"),v=r(h),b=e("../../../../reducers/post"),y=n(b),g=e("../../../../services/ajax"),_=r(g),E=e("../../../../services/modal"),w=r(E),O=e("../../../../services/snackbar"),k=r(O),N=e("../../../../services/store"),x=r(N),j=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 _["default"].post(this.props.thread.api.posts.move,{thread_url:this.state.url,posts:[this.props.post.id]})}},{key:"handleSuccess",value:function(e){x["default"].dispatch(y.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(v["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"]=j},{"../../../../reducers/post":340,"../../../../services/ajax":352,"../../../../services/modal":358,"../../../../services/snackbar":363,"../../../../services/store":364,"../../../button":5,"../../../form":52,"../../../form-group":51,react:"react"}],152:[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"),v=r(h),b=e("../../../form"),y=r(b),g=e("../../../form-group"),_=r(g),E=e("../../../category-select"),w=r(E),O=e("../../../modal-loader"),k=r(O),N=e("../../../select"),x=r(N),j=e("../../../../reducers/post"),P=n(j),C=e("../../../../services/ajax"),M=r(C),S=e("../../../../services/modal"),T=r(S),L=e("../../../../services/snackbar"),R=r(L),A=e("../../../../services/store"),I=r(A),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,
|
|
|
|
|
|
+};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":166,"./icon":139,"./info":141,"./message":142,"./unread-label":143,react:"react"}],141:[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(v,{url:(0,c["default"])(e.post.url.hidden_by),user:(0,c["default"])(e.post.hidden_by_name)},!0):interpolate(h,{user:(0,c["default"])(e.post.hidden_by_name)},!0);var a=interpolate(p,{absolute:(0,c["default"])(e.post.hidden_on.format("LLL")),relative:(0,c["default"])(e.post.hidden_on.fromNow())},!0),n=interpolate((0,c["default"])(gettext("Hidden by %(event_by)s %(event_on)s.")),{event_by:t,event_on:a},!0);return i["default"].createElement("li",{className:"event-hidden-message",dangerouslySetInnerHTML:{__html:n}})}return null}function o(e){var t=null;t=e.post.poster?interpolate(v,{url:(0,c["default"])(e.post.poster.url),user:(0,c["default"])(e.post.poster_name)},!0):interpolate(h,{user:(0,c["default"])(e.post.poster_name)},!0);var a=interpolate(m,{url:(0,c["default"])(e.post.url.index),absolute:(0,c["default"])(e.post.posted_on.format("LLL")),relative:(0,c["default"])(e.post.posted_on.fromNow())},!0),n=interpolate((0,c["default"])(gettext("By %(event_by)s %(event_on)s.")),{event_by:t,event_on:a},!0);return i["default"].createElement("li",{className:"event-posters",dangerouslySetInnerHTML:{__html:n}})}function l(e){return e.user.acl.can_see_users_ips?i["default"].createElement("li",{className:"event-ip"},i["default"].createElement("abbr",{title:e.post.poster_ip},gettext("IP recorded"))):null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return i["default"].createElement("ul",{className:"list-inline event-info"},i["default"].createElement(r,e),i["default"].createElement(o,e),i["default"].createElement(l,e),i["default"].createElement(f["default"],e))},a.Hidden=r,a.Poster=o,a.Ip=l;var s=e("react"),i=n(s),u=e("../../../utils/escape-html"),c=n(u),d=e("./controls"),f=n(d),p='<abbr title="%(absolute)s">%(relative)s</abbr>',m='<a href="%(url)s" title="%(absolute)s">%(relative)s</a>',h='<span class="item-title">%(user)s</span>',v='<a href="%(url)s" class="item-title">%(user)s</a>'},{"../../../utils/escape-html":370,"./controls":138,react:"react"}],142:[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(v,{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(v,{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>',v='<span class="item-title">%(name)s</span>'},{"../../../utils/escape-html":370,react:"react"}],143:[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"}],144:[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":140,"./post":156,"./post/preview":164,react:"react"}],145:[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(b,{url:(0,f["default"])(e.attachment.url.uploader),user:(0,f["default"])(e.attachment.uploader_name)},!0):interpolate(v,{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>',v='<span class="item-title">%(user)s</span>',b='<a href="%(url)s" class="item-title">%(user)s</a>'},{"../../../..":291,"../../../../utils/escape-html":370,"../../../../utils/file-size":371,react:"react"}],146:[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":367,"./attachment":145,react:"react"}],147:[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(v,{user:(0,m["default"])(e.post.hidden_by_name)},!0);var a=interpolate(b,{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>',v='<span class="item-title">%(user)s</span>',b='<abbr class="last-title" title="%(absolute)s">%(relative)s</abbr>'},{"../../../utils/escape-html":370,"../../misago-markup":56,"../waypoint":166,react:"react"}],148:[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){O["default"].dispatch(b.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){O["default"].dispatch(b.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){O["default"].dispatch(b.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){O["default"].dispatch(b.patch(e.post,{is_hidden:!0,hidden_on:(0,h["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){O["default"].dispatch(b.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;O["default"].dispatch(b.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){O["default"].dispatch(b.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){g["default"].patch(e.post.api.index,t).then(function(t){O["default"].dispatch(b.patch(e.post,t))},function(t){400===t.status?E["default"].error(t.detail[0]):E["default"].apiError(t),O["default"].dispatch(b.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&&(O["default"].dispatch(b.patch(e.post,{isDeleted:!0})),g["default"]["delete"](e.post.api.index).then(function(){E["default"].success(gettext("Post has been deleted."))},function(t){400===t.status?E["default"].error(t.detail):E["default"].apiError(t),O["default"].dispatch(b.patch(e.post,{isDeleted:!1}))}))}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;var m=e("moment"),h=r(m),v=e("../../../../reducers/post"),b=n(v),y=e("../../../../services/ajax"),g=r(y),_=e("../../../../services/snackbar"),E=r(_),w=e("../../../../services/store"),O=r(w)},{"../../../../reducers/post":340,"../../../../services/ajax":352,"../../../../services/snackbar":363,"../../../../services/store":364,moment:"moment"}],149:[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.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(E,e),c["default"].createElement(w,e),c["default"].createElement(O,e),c["default"].createElement(k,e),c["default"].createElement(N,e),c["default"].createElement(x,e),c["default"].createElement(j,e),c["default"].createElement(P,e),c["default"].createElement(C,e),c["default"].createElement(M,e))};var u=e("react"),c=r(u),d=e("../../../../services/modal"),f=r(d),p=e("./actions"),m=n(p),h=e("./move"),v=r(h),b=e("../../../post-changelog"),y=r(b),g=e("./split"),_=r(g),E=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),w=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),O=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(){m.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),k=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(v["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),N=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(_["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),x=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(){m.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),j=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(){m.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),P=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(){m.hide(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_hide?this.props.post.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),C=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(){m.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),M=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(){m.remove(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return this.props.post.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":358,"../../../post-changelog":112,"./actions":148,"./move":151,"./split":152,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){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":149,react:"react"}],151:[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"),v=r(h),b=e("../../../../reducers/post"),y=n(b),g=e("../../../../services/ajax"),_=r(g),E=e("../../../../services/modal"),w=r(E),O=e("../../../../services/snackbar"),k=r(O),N=e("../../../../services/store"),x=r(N),j=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 _["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(y.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(v["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"]=j},{"../../../../reducers/post":340,"../../../../services/ajax":352,"../../../../services/modal":358,"../../../../services/snackbar":363,"../../../../services/store":364,"../../../button":5,"../../../form":52,"../../../form-group":51,react:"react"}],152:[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"),v=r(h),b=e("../../../form"),y=r(b),g=e("../../../form-group"),_=r(g),E=e("../../../category-select"),w=r(E),O=e("../../../modal-loader"),k=r(O),N=e("../../../select"),x=r(N),j=e("../../../../reducers/post"),P=n(j),C=e("../../../../services/ajax"),M=r(C),S=e("../../../../services/modal"),T=r(S),L=e("../../../../services/snackbar"),R=r(L),A=e("../../../../services/store"),I=r(A),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;M["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()||(R["default"].error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return M["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(P.patch(this.props.post,{isDeleted:!0})),T["default"].hide(),R["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)}),R["default"].error(gettext("Form contains errors."))):403===e.status&&Array.isArray(e)?T["default"].show(m["default"].createElement(ErrorsModal,{errors:e})):R["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(_["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(_["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(_["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(_["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(_["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(v["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Split post")))))}}]),t}(y["default"])},{"../../../../reducers/post":340,"../../../../services/ajax":352,"../../../../services/modal":358,"../../../../services/snackbar":363,"../../../../services/store":364,"../../../../utils/validators":380,"../../../button":5,"../../../category-select":18,"../../../form":52,"../../../form-group":51,"../../../modal-loader":57,"../../../select":203,react:"react"}],153:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return s(e.post)&&e.post.is_hidden?u["default"].createElement("div",{className:"post-status-message post-status-hidden"},u["default"].createElement("span",{className:"material-icon"},"visibility_off"),u["default"].createElement("p",null,gettext("This post is hidden. Only users with permission may see its contents."))):null}function o(e){return s(e.post)&&e.post.is_unapproved?u["default"].createElement("div",{className:"post-status-message post-status-unapproved"},u["default"].createElement("span",{className:"material-icon"},"remove_circle_outline"),u["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 l(e){return s(e.post)&&e.post.is_protected?u["default"].createElement("div",{className:"post-status-message post-status-protected visible-xs-block"},u["default"].createElement("span",{className:"material-icon"},"lock_outline"),u["default"].createElement("p",null,gettext("This post is protected. Only moderators may change it."))):null}function s(e){return!e.is_hidden||e.acl.can_see_hidden}Object.defineProperty(a,"__esModule",{value:!0}),a.FlagHidden=r,a.FlagUnapproved=o,a.FlagProtected=l,a.isVisible=s;var i=e("react"),u=n(i)},{react:"react"}],154:[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=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,d({lastLikes:e.post.last_likes,likes:e.post.likes},e)),p["default"].createElement(k,d({likes:e.post.likes},e)),p["default"].createElement(N,e),p["default"].createElement(x,e)):null},a.isVisible=i,a.getLikesMessage=u;var f=e("react"),p=r(f),m=e("./controls/actions"),h=n(m),v=e("../../post-likes"),b=r(v),y=e("../../../services/modal"),g=r(y),_=e("../../../services/posting"),E=r(_),w=a.Like=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.props.post.is_liked?h.unlike(n.props):h.like(n.props)},r=a,l(n,r)}return s(t,e),c(t,[{key:"render",value:function(){if(!this.props.post.acl.can_like)return null;var e="btn btn-default btn-sm pull-left";return this.props.post.is_liked&&(e="btn btn-success btn-sm pull-left"),p["default"].createElement("button",{className:e,disabled:this.props.post.isBusy,onClick:this.onClick,type:"button"},this.props.post.is_liked?gettext("Liked"):gettext("Like"))}}]),t}(p["default"].Component),O=a.Likes=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(){g["default"].show(p["default"].createElement(b["default"],{post:n.props.post}))},r=a,l(n,r)}return s(t,e),c(t,[{key:"render",value:function(){var e=(this.props.post.last_likes||[]).length>0;return this.props.post.acl.can_see_likes&&e?2===this.props.post.acl.can_see_likes?p["default"].createElement("button",{className:"btn btn-link btn-sm pull-left hidden-xs",onClick:this.onClick,type:"button"},u(this.props.likes,this.props.lastLikes)):p["default"].createElement("p",{className:"pull-left hidden-xs"},u(this.props.likes,this.props.lastLikes)):null}}]),t}(p["default"].Component),k=a.LikesCompact=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),c(t,[{key:"render",value:function(){var e=(this.props.post.last_likes||[]).length>0;return this.props.post.acl.can_see_likes&&e?2===this.props.post.acl.can_see_likes?p["default"].createElement("button",{className:"btn btn-link btn-sm likes-compact pull-left visible-xs-block",onClick:this.onClick,type:"button"},p["default"].createElement("span",{className:"material-icon"},"favorite"),this.props.likes):p["default"].createElement("p",{className:"likes-compact pull-left visible-xs-block"},p["default"].createElement("span",{className:"material-icon"},"favorite"),this.props.likes):null}}]),t}(O),N=a.Reply=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"].open({mode:"REPLY",config:n.props.thread.api.editor,submit:n.props.thread.api.posts.index,context:{reply:n.props.post.id}})},r=a,l(n,r)}return s(t,e),c(t,[{key:"render",value:function(){return this.props.post.acl.can_reply?p["default"].createElement("button",{className:"btn btn-primary btn-sm pull-right",type:"button",onClick:this.onClick},gettext("Reply")):null}}]),t}(p["default"].Component),x=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(){E["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),c(t,[{key:"render",value:function(){return this.props.post.acl.can_edit?p["default"].createElement("button",{className:"btn btn-default btn-sm pull-right",type:"button",onClick:this.onClick},gettext("Edit")):null}}]),t}(p["default"].Component)},{"../../../services/modal":358,"../../../services/posting":362,"../../post-likes":125,"./controls/actions":148,react:"react"}],155:[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.post.is_read?null:m["default"].createElement("span",{className:"label label-unread hidden-xs"},gettext("New post"))}function i(e){return e.post.is_read?null:m["default"].createElement("span",{className:"label label-unread visible-xs-inline-block"},gettext("New"))}function u(e){var t=interpolate(gettext("posted %(posted_on)s"),{posted_on:e.post.posted_on.format("LL, LT")},!0);return m["default"].createElement("a",{href:e.post.url.index,className:"btn btn-link posted-on hidden-xs",title:t},e.post.posted_on.fromNow())}function c(e){return m["default"].createElement("a",{href:e.post.url.index,className:"btn btn-link posted-on visible-xs-inline-block"},e.post.posted_on.fromNow(!0))}function d(e){var t=e.post.poster&&e.post.poster.id===e.user.id,a=e.post.acl.can_protect,n=e.user.id&&e.post.is_protected&&(t||a);return n?m["default"].createElement("span",{className:"label label-protected hidden-xs",title:gettext("This post is protected and may not be edited.")},m["default"].createElement("span",{className:"material-icon"},"lock_outline"),gettext("protected")):null}Object.defineProperty(a,"__esModule",{value:!0}),a.PostEditsCompacts=a.PostEdits=void 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["default"]=function(e){return m["default"].createElement("div",{className:"post-heading"},m["default"].createElement(s,e),m["default"].createElement(i,e),m["default"].createElement(u,e),m["default"].createElement(c,e),m["default"].createElement(O,e),m["default"].createElement(k,e),m["default"].createElement(d,e),m["default"].createElement(y["default"],e),m["default"].createElement(v["default"],e))},a.UnreadLabel=s,a.UnreadCompact=i,a.PostedOn=u,a.PostedOnCompact=c,a.ProtectedLabel=d;var p=e("react"),m=n(p),h=e("./controls"),v=n(h),b=e("./select"),y=n(b),g=(e("../../user-status"),e("../../post-changelog")),_=n(g),E=e("../../../services/modal"),w=n(E),O=a.PostEdits=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(){w["default"].show(m["default"].createElement(_["default"],{post:n.props.post}))},l=a,o(n,l)}return l(t,e),f(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),n=interpolate(a,{edits:this.props.post.edits},!0),r=ngettext("edited %(edits)s time","edited %(edits)s times",this.props.post.edits);return m["default"].createElement("button",{className:"btn btn-link btn-see-edits hidden-xs",onClick:this.onClick,title:n,type:"button"},interpolate(r,{edits:this.props.post.edits},!0))}}]),t}(m["default"].Component),k=a.PostEditsCompacts=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),f(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("%(edits)s edit","%(edits)s edits",this.props.post.edits);return m["default"].createElement("button",{className:"btn btn-link btn-see-edits visible-xs-inline-block",onClick:this.onClick,type:"button"},interpolate(a,{edits:this.props.post.edits},!0))}}]),t}(O)},{"../../../services/modal":358,"../../post-changelog":112,"../../user-status":263,"./controls":150,"./select":165,react:"react"}],156:[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="post";return e.post.isDeleted?t="hide":e.post.is_hidden&&!e.post.acl.can_see_hidden&&(t="post post-hidden"),e.post.poster&&e.post.poster.rank.css_class&&(t+=" post-"+e.post.poster.rank.css_class),e.post.is_read||(t+=" post-new"),o["default"].createElement("li",{id:"post-"+e.post.id,className:t},o["default"].createElement("div",{className:"panel panel-default panel-post"},o["default"].createElement("div",{className:"panel-body"},o["default"].createElement("div",{className:"row"},o["default"].createElement(v["default"],e),o["default"].createElement("div",{className:"col-xs-12 col-md-9"},o["default"].createElement(m["default"],e),o["default"].createElement(c.FlagUnapproved,e),o["default"].createElement(c.FlagProtected,e),o["default"].createElement(c.FlagHidden,e),o["default"].createElement(u["default"],e),o["default"].createElement(s["default"],e),o["default"].createElement(f["default"],e))))))};var r=e("react"),o=n(r),l=e("./attachments"),s=n(l),i=e("./body"),u=n(i),c=e("./flags"),d=e("./footer"),f=n(d),p=e("./header"),m=n(p),h=e("./post-side"),v=n(h)},{"./attachments":146,"./body":147,"./flags":153,"./footer":154,"./header":155,"./post-side":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){var t=e.post;return o["default"].createElement("div",{className:"col-xs-12 col-md-3 post-side post-side-anonymous"},o["default"].createElement(Select,{post:t,thread:thread}),o["default"].createElement(Controls,{post:t,thread:thread}),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:100}))),o["default"].createElement("div",{className:"media-body"},o["default"].createElement("span",{className:"media-heading 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("../../../user-status"),u=(n(i),e("./user-postcount")),c=(n(u),e("./user-title"));n(c)},{"../../../avatar":3,"../../../user-status":263,"./user-postcount":161,"./user-title":163,react:"react"}],158:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.title,a=e.rank;return a.is_tab||!!t||!!a.title}},{}],159:[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 e.post.poster?o["default"].createElement(u["default"],e):o["default"].createElement(s["default"],e)};var r=e("react"),o=n(r),l=e("./anonymous"),s=n(l),i=e("./registered"),u=n(i)},{"./anonymous":157,"./registered":160,react:"react"}],160:[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.thread,n=t.poster;return o["default"].createElement("div",{className:"col-xs-12 col-md-3 post-side post-side-registered"},o["default"].createElement(d["default"],{post:t,thread:a}),o["default"].createElement(u["default"],{post:t,thread:a}),o["default"].createElement("div",{className:"media"},o["default"].createElement("div",{className:"media-left"},o["default"].createElement("a",{href:n.url},o["default"].createElement(s["default"],{className:"poster-avatar",size:100,user:n}))),o["default"].createElement("div",{className:"media-body"},o["default"].createElement("div",{className:"media-heading"},o["default"].createElement("a",{className:"item-title",href:n.url},n.username),o["default"].createElement(p["default"],{status:n.status},o["default"].createElement(f.StatusIcon,{status:n.status}))),o["default"].createElement(g["default"],{rank:n.rank,title:n.title}),o["default"].createElement(b["default"],{poster:n}),o["default"].createElement(h["default"],{poster:n}))))};var r=e("react"),o=n(r),l=e("../../../avatar"),s=n(l),i=e("../controls"),u=n(i),c=e("../select"),d=n(c),f=e("../../../user-status"),p=n(f),m=e("./user-postcount"),h=n(m),v=e("./user-status"),b=n(v),y=e("./user-title"),g=n(y)},{"../../../avatar":3,"../../../user-status":263,"../controls":150,"../select":165,"./user-postcount":161,"./user-status":162,"./user-title":163,react:"react"}],161:[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.poster,a=ngettext("%(posts)s post","%(posts)s posts",t.posts),n="user-postcount";return(0,s["default"])(t)&&(n+=" hidden-xs hidden-sm"),o["default"].createElement("span",{className:n},interpolate(a,{posts:t.posts},!0))};var r=e("react"),o=n(r),l=e("./has-visible-title"),s=n(l)},{"./has-visible-title":158,react:"react"}],162:[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.poster,a="hidden-xs";return(0,u["default"])(t)&&(a+=" hidden-sm"),o["default"].createElement("span",{className:a},o["default"].createElement(s["default"],{status:t.status},o["default"].createElement(l.StatusLabel,{status:t.status,user:t})))};var r=e("react"),o=n(r),l=e("../../../user-status"),s=n(l),i=e("./has-visible-title"),u=n(i)},{"../../../user-status":263,"./has-visible-title":158,react:"react"}],163:[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;if(!n&&t.is_tab&&(n=t.name),!n)return null;var r="user-title";return t.css_class&&(r+=" user-title-"+t.css_class),t.is_tab?o["default"].createElement("div",{className:r},o["default"].createElement("a",{href:t.url},n)):o["default"].createElement("div",{className:r},n)};var r=e("react"),o=n(r)},{react:"react"}],164:[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(e){return l["default"].createElement("li",{className:"post"},l["default"].createElement("div",{className:"post-border"},l["default"].createElement("div",{className:"post-avatar"},l["default"].createElement(i["default"],{size:"100"})),l["default"].createElement("div",{className:"post-body"},l["default"].createElement("div",{className:"panel panel-default panel-post"},l["default"].createElement("div",{className:"panel-heading post-heading"},l["default"].createElement("span",{className:"ui-preview-text",style:{width:c["int"](30,100)+"px"}}," "),l["default"].createElement("span",{className:"ui-preview-text",style:{width:c["int"](30,100)+"px"}}," ")),l["default"].createElement("div",{className:"panel-body"},l["default"].createElement("article",{className:"misago-markup"},l["default"].createElement("p",{className:"ui-preview-text",style:{width:c["int"](50,100)+"%"}}," "),l["default"].createElement("p",{className:"ui-preview-text",style:{width:c["int"](50,100)+"%"}}," "),l["default"].createElement("p",{className:"ui-preview-text",style:{width:c["int"](50,100)+"%"}}," ")))))))};var o=e("react"),l=r(o),s=e("../../avatar"),i=r(s),u=e("../../../utils/random"),c=n(u)},{"../../../utils/random":375,"../../avatar":3,react:"react"}],165:[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_approve||e.can_hide||e.can_protect||e.can_unhide||e.can_delete||e.can_move}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.isVisible=i;var c=e("react"),d=r(c),f=e("../../../reducers/posts"),p=n(f),m=e("../../../services/store"),h=r(m),v=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.props.post.isSelected?h["default"].dispatch(p.deselect(n.props.post)):h["default"].dispatch(p.select(n.props.post))},r=a,l(n,r)}return s(t,e),u(t,[{key:"render",value:function(){return this.props.thread.acl.can_merge_posts||i(this.props.post.acl)?d["default"].createElement("div",{className:"pull-right hidden-xs"},d["default"].createElement("button",{className:"btn btn-default btn-icon",onClick:this.onClick,type:"button"},d["default"].createElement("span",{className:"material-icon"},this.props.post.isSelected?"check_box":"check_box_outline_blank"))):null}}]),t}(d["default"].Component);a["default"]=v},{"../../../reducers/posts":341,"../../../services/store":364,react:"react"}],166:[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("../../reducers/post"),f=n(d),p=e("../../services/ajax"),m=r(p),h=e("../../services/store"),v=r(h),b=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"componentDidMount",value:function(){var e=this;this.props.post.is_read||$("#post-"+this.props.post.id).waypoint({handler:function(t){"down"!==t||e.props.post.is_read||window.setTimeout(function(){v["default"].dispatch(f.patch(e.props.post,{is_read:!0})),m["default"].post(e.props.post.api.read)},1e3)},offset:"bottom-in-view"})}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.props.className},this.props.children)}}]),t}(c["default"].Component);a["default"]=b},{"../../reducers/post":340,"../../services/ajax":352,"../../services/store":364,react:"react"}],167:[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("../panel-loader"),p=n(f),m=e("../panel-message"),h=n(m),v=e("../../index"),b=n(v),y=e("../../services/polls"),g=n(y),_=e("../../services/page-title"),E=n(_),w=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.update=function(e){e.expires_on&&(e.expires_on=(0,u["default"])(e.expires_on)),a.setState({isLoaded:!0,error:null,ban:e})},a.error=function(e){a.setState({isLoaded:!0,error:e.detail,ban:null})},b["default"].has("PROFILE_BAN")?a.initWithPreloadedData(b["default"].pop("PROFILE_BAN")):a.initWithoutPreloadedData(),a.startPolling(e.profile.api.ban),a}return l(t,e),s(t,[{key:"initWithPreloadedData",value:function(e){e.expires_on&&(e.expires_on=(0,u["default"])(e.expires_on)),this.state={isLoaded:!0,ban:e}}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1}}},{key:"startPolling",value:function(e){g["default"].start({poll:"ban-details",url:e,frequency:9e4,update:this.update,error:this.error})}},{key:"componentDidMount",value:function(){E["default"].set({title:gettext("Ban details"),parent:this.props.profile.username})}},{key:"componentWillUnmount",value:function(){g["default"].stop("ban-details")}},{key:"getUserMessage",value:function(){return this.state.ban.user_message?d["default"].createElement("div",{className:"panel-body ban-message ban-user-message"},d["default"].createElement("h4",null,gettext("User-shown ban message")),d["default"].createElement("div",{
|
|
categories:[]},a}return s(t,e),d(t,[{key:"componentDidMount",value:function(){var e=this;M["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()||(R["default"].error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return M["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(P.patch(this.props.post,{isDeleted:!0})),T["default"].hide(),R["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)}),R["default"].error(gettext("Form contains errors."))):403===e.status&&Array.isArray(e)?T["default"].show(m["default"].createElement(ErrorsModal,{errors:e})):R["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(_["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(_["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(_["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(_["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(_["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(v["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Split post")))))}}]),t}(y["default"])},{"../../../../reducers/post":340,"../../../../services/ajax":352,"../../../../services/modal":358,"../../../../services/snackbar":363,"../../../../services/store":364,"../../../../utils/validators":380,"../../../button":5,"../../../category-select":18,"../../../form":52,"../../../form-group":51,"../../../modal-loader":57,"../../../select":203,react:"react"}],153:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return s(e.post)&&e.post.is_hidden?u["default"].createElement("div",{className:"post-status-message post-status-hidden"},u["default"].createElement("span",{className:"material-icon"},"visibility_off"),u["default"].createElement("p",null,gettext("This post is hidden. Only users with permission may see its contents."))):null}function o(e){return s(e.post)&&e.post.is_unapproved?u["default"].createElement("div",{className:"post-status-message post-status-unapproved"},u["default"].createElement("span",{className:"material-icon"},"remove_circle_outline"),u["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 l(e){return s(e.post)&&e.post.is_protected?u["default"].createElement("div",{className:"post-status-message post-status-protected visible-xs-block"},u["default"].createElement("span",{className:"material-icon"},"lock_outline"),u["default"].createElement("p",null,gettext("This post is protected. Only moderators may change it."))):null}function s(e){return!e.is_hidden||e.acl.can_see_hidden}Object.defineProperty(a,"__esModule",{value:!0}),a.FlagHidden=r,a.FlagUnapproved=o,a.FlagProtected=l,a.isVisible=s;var i=e("react"),u=n(i)},{react:"react"}],154:[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=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,d({lastLikes:e.post.last_likes,likes:e.post.likes},e)),p["default"].createElement(k,d({likes:e.post.likes},e)),p["default"].createElement(N,e),p["default"].createElement(x,e)):null},a.isVisible=i,a.getLikesMessage=u;var f=e("react"),p=r(f),m=e("./controls/actions"),h=n(m),v=e("../../post-likes"),b=r(v),y=e("../../../services/modal"),g=r(y),_=e("../../../services/posting"),E=r(_),w=a.Like=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.props.post.is_liked?h.unlike(n.props):h.like(n.props)},r=a,l(n,r)}return s(t,e),c(t,[{key:"render",value:function(){if(!this.props.post.acl.can_like)return null;var e="btn btn-default btn-sm pull-left";return this.props.post.is_liked&&(e="btn btn-success btn-sm pull-left"),p["default"].createElement("button",{className:e,disabled:this.props.post.isBusy,onClick:this.onClick,type:"button"},this.props.post.is_liked?gettext("Liked"):gettext("Like"))}}]),t}(p["default"].Component),O=a.Likes=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(){g["default"].show(p["default"].createElement(b["default"],{post:n.props.post}))},r=a,l(n,r)}return s(t,e),c(t,[{key:"render",value:function(){var e=(this.props.post.last_likes||[]).length>0;return this.props.post.acl.can_see_likes&&e?2===this.props.post.acl.can_see_likes?p["default"].createElement("button",{className:"btn btn-link btn-sm pull-left hidden-xs",onClick:this.onClick,type:"button"},u(this.props.likes,this.props.lastLikes)):p["default"].createElement("p",{className:"pull-left hidden-xs"},u(this.props.likes,this.props.lastLikes)):null}}]),t}(p["default"].Component),k=a.LikesCompact=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),c(t,[{key:"render",value:function(){var e=(this.props.post.last_likes||[]).length>0;return this.props.post.acl.can_see_likes&&e?2===this.props.post.acl.can_see_likes?p["default"].createElement("button",{className:"btn btn-link btn-sm likes-compact pull-left visible-xs-block",onClick:this.onClick,type:"button"},p["default"].createElement("span",{className:"material-icon"},"favorite"),this.props.likes):p["default"].createElement("p",{className:"likes-compact pull-left visible-xs-block"},p["default"].createElement("span",{className:"material-icon"},"favorite"),this.props.likes):null}}]),t}(O),N=a.Reply=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"].open({mode:"REPLY",config:n.props.thread.api.editor,submit:n.props.thread.api.posts.index,context:{reply:n.props.post.id}})},r=a,l(n,r)}return s(t,e),c(t,[{key:"render",value:function(){return this.props.post.acl.can_reply?p["default"].createElement("button",{className:"btn btn-primary btn-sm pull-right",type:"button",onClick:this.onClick},gettext("Reply")):null}}]),t}(p["default"].Component),x=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(){E["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),c(t,[{key:"render",value:function(){return this.props.post.acl.can_edit?p["default"].createElement("button",{className:"btn btn-default btn-sm pull-right",type:"button",onClick:this.onClick},gettext("Edit")):null}}]),t}(p["default"].Component)},{"../../../services/modal":358,"../../../services/posting":362,"../../post-likes":125,"./controls/actions":148,react:"react"}],155:[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.post.is_read?null:m["default"].createElement("span",{className:"label label-unread hidden-xs"},gettext("New post"))}function i(e){return e.post.is_read?null:m["default"].createElement("span",{className:"label label-unread visible-xs-inline-block"},gettext("New"))}function u(e){var t=interpolate(gettext("posted %(posted_on)s"),{posted_on:e.post.posted_on.format("LL, LT")},!0);return m["default"].createElement("a",{href:e.post.url.index,className:"btn btn-link posted-on hidden-xs",title:t},e.post.posted_on.fromNow())}function c(e){return m["default"].createElement("a",{href:e.post.url.index,className:"btn btn-link posted-on visible-xs-inline-block"},e.post.posted_on.fromNow(!0))}function d(e){var t=e.post.poster&&e.post.poster.id===e.user.id,a=e.post.acl.can_protect,n=e.user.id&&e.post.is_protected&&(t||a);return n?m["default"].createElement("span",{className:"label label-protected hidden-xs",title:gettext("This post is protected and may not be edited.")},m["default"].createElement("span",{className:"material-icon"},"lock_outline"),gettext("protected")):null}Object.defineProperty(a,"__esModule",{value:!0}),a.PostEditsCompacts=a.PostEdits=void 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["default"]=function(e){return m["default"].createElement("div",{className:"post-heading"},m["default"].createElement(s,e),m["default"].createElement(i,e),m["default"].createElement(u,e),m["default"].createElement(c,e),m["default"].createElement(O,e),m["default"].createElement(k,e),m["default"].createElement(d,e),m["default"].createElement(y["default"],e),m["default"].createElement(v["default"],e))},a.UnreadLabel=s,a.UnreadCompact=i,a.PostedOn=u,a.PostedOnCompact=c,a.ProtectedLabel=d;var p=e("react"),m=n(p),h=e("./controls"),v=n(h),b=e("./select"),y=n(b),g=(e("../../user-status"),e("../../post-changelog")),_=n(g),E=e("../../../services/modal"),w=n(E),O=a.PostEdits=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(){w["default"].show(m["default"].createElement(_["default"],{post:n.props.post}))},l=a,o(n,l)}return l(t,e),f(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),n=interpolate(a,{edits:this.props.post.edits},!0),r=ngettext("edited %(edits)s time","edited %(edits)s times",this.props.post.edits);return m["default"].createElement("button",{className:"btn btn-link btn-see-edits hidden-xs",onClick:this.onClick,title:n,type:"button"},interpolate(r,{edits:this.props.post.edits},!0))}}]),t}(m["default"].Component),k=a.PostEditsCompacts=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),f(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("%(edits)s edit","%(edits)s edits",this.props.post.edits);return m["default"].createElement("button",{className:"btn btn-link btn-see-edits visible-xs-inline-block",onClick:this.onClick,type:"button"},interpolate(a,{edits:this.props.post.edits},!0))}}]),t}(O)},{"../../../services/modal":358,"../../post-changelog":112,"../../user-status":263,"./controls":150,"./select":165,react:"react"}],156:[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="post";return e.post.isDeleted?t="hide":e.post.is_hidden&&!e.post.acl.can_see_hidden&&(t="post post-hidden"),e.post.poster&&e.post.poster.rank.css_class&&(t+=" post-"+e.post.poster.rank.css_class),e.post.is_read||(t+=" post-new"),o["default"].createElement("li",{id:"post-"+e.post.id,className:t},o["default"].createElement("div",{className:"panel panel-default panel-post"},o["default"].createElement("div",{className:"panel-body"},o["default"].createElement("div",{className:"row"},o["default"].createElement(v["default"],e),o["default"].createElement("div",{className:"col-xs-12 col-md-9"},o["default"].createElement(m["default"],e),o["default"].createElement(c.FlagUnapproved,e),o["default"].createElement(c.FlagProtected,e),o["default"].createElement(c.FlagHidden,e),o["default"].createElement(u["default"],e),o["default"].createElement(s["default"],e),o["default"].createElement(f["default"],e))))))};var r=e("react"),o=n(r),l=e("./attachments"),s=n(l),i=e("./body"),u=n(i),c=e("./flags"),d=e("./footer"),f=n(d),p=e("./header"),m=n(p),h=e("./post-side"),v=n(h)},{"./attachments":146,"./body":147,"./flags":153,"./footer":154,"./header":155,"./post-side":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){var t=e.post;return o["default"].createElement("div",{className:"col-xs-12 col-md-3 post-side post-side-anonymous"},o["default"].createElement(Select,{post:t,thread:thread}),o["default"].createElement(Controls,{post:t,thread:thread}),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:100}))),o["default"].createElement("div",{className:"media-body"},o["default"].createElement("span",{className:"media-heading 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("../../../user-status"),u=(n(i),e("./user-postcount")),c=(n(u),e("./user-title"));n(c)},{"../../../avatar":3,"../../../user-status":263,"./user-postcount":161,"./user-title":163,react:"react"}],158:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.title,a=e.rank;return a.is_tab||!!t||!!a.title}},{}],159:[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 e.post.poster?o["default"].createElement(u["default"],e):o["default"].createElement(s["default"],e)};var r=e("react"),o=n(r),l=e("./anonymous"),s=n(l),i=e("./registered"),u=n(i)},{"./anonymous":157,"./registered":160,react:"react"}],160:[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.thread,n=t.poster;return o["default"].createElement("div",{className:"col-xs-12 col-md-3 post-side post-side-registered"},o["default"].createElement(d["default"],{post:t,thread:a}),o["default"].createElement(u["default"],{post:t,thread:a}),o["default"].createElement("div",{className:"media"},o["default"].createElement("div",{className:"media-left"},o["default"].createElement("a",{href:n.url},o["default"].createElement(s["default"],{className:"poster-avatar",size:100,user:n}))),o["default"].createElement("div",{className:"media-body"},o["default"].createElement("div",{className:"media-heading"},o["default"].createElement("a",{className:"item-title",href:n.url},n.username),o["default"].createElement(p["default"],{status:n.status},o["default"].createElement(f.StatusIcon,{status:n.status}))),o["default"].createElement(g["default"],{rank:n.rank,title:n.title}),o["default"].createElement(b["default"],{poster:n}),o["default"].createElement(h["default"],{poster:n}))))};var r=e("react"),o=n(r),l=e("../../../avatar"),s=n(l),i=e("../controls"),u=n(i),c=e("../select"),d=n(c),f=e("../../../user-status"),p=n(f),m=e("./user-postcount"),h=n(m),v=e("./user-status"),b=n(v),y=e("./user-title"),g=n(y)},{"../../../avatar":3,"../../../user-status":263,"../controls":150,"../select":165,"./user-postcount":161,"./user-status":162,"./user-title":163,react:"react"}],161:[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.poster,a=ngettext("%(posts)s post","%(posts)s posts",t.posts),n="user-postcount";return(0,s["default"])(t)&&(n+=" hidden-xs hidden-sm"),o["default"].createElement("span",{className:n},interpolate(a,{posts:t.posts},!0))};var r=e("react"),o=n(r),l=e("./has-visible-title"),s=n(l)},{"./has-visible-title":158,react:"react"}],162:[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.poster,a="hidden-xs";return(0,u["default"])(t)&&(a+=" hidden-sm"),o["default"].createElement("span",{className:a},o["default"].createElement(s["default"],{status:t.status},o["default"].createElement(l.StatusLabel,{status:t.status,user:t})))};var r=e("react"),o=n(r),l=e("../../../user-status"),s=n(l),i=e("./has-visible-title"),u=n(i)},{"../../../user-status":263,"./has-visible-title":158,react:"react"}],163:[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;if(!n&&t.is_tab&&(n=t.name),!n)return null;var r="user-title";return t.css_class&&(r+=" user-title-"+t.css_class),t.is_tab?o["default"].createElement("div",{className:r},o["default"].createElement("a",{href:t.url},n)):o["default"].createElement("div",{className:r},n)};var r=e("react"),o=n(r)},{react:"react"}],164:[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(e){return l["default"].createElement("li",{className:"post"},l["default"].createElement("div",{className:"post-border"},l["default"].createElement("div",{className:"post-avatar"},l["default"].createElement(i["default"],{size:"100"})),l["default"].createElement("div",{className:"post-body"},l["default"].createElement("div",{className:"panel panel-default panel-post"},l["default"].createElement("div",{className:"panel-heading post-heading"},l["default"].createElement("span",{className:"ui-preview-text",style:{width:c["int"](30,100)+"px"}}," "),l["default"].createElement("span",{className:"ui-preview-text",style:{width:c["int"](30,100)+"px"}}," ")),l["default"].createElement("div",{className:"panel-body"},l["default"].createElement("article",{className:"misago-markup"},l["default"].createElement("p",{className:"ui-preview-text",style:{width:c["int"](50,100)+"%"}}," "),l["default"].createElement("p",{className:"ui-preview-text",style:{width:c["int"](50,100)+"%"}}," "),l["default"].createElement("p",{className:"ui-preview-text",style:{width:c["int"](50,100)+"%"}}," ")))))))};var o=e("react"),l=r(o),s=e("../../avatar"),i=r(s),u=e("../../../utils/random"),c=n(u)},{"../../../utils/random":375,"../../avatar":3,react:"react"}],165:[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_approve||e.can_hide||e.can_protect||e.can_unhide||e.can_delete||e.can_move}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.isVisible=i;var c=e("react"),d=r(c),f=e("../../../reducers/posts"),p=n(f),m=e("../../../services/store"),h=r(m),v=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.props.post.isSelected?h["default"].dispatch(p.deselect(n.props.post)):h["default"].dispatch(p.select(n.props.post))},r=a,l(n,r)}return s(t,e),u(t,[{key:"render",value:function(){return this.props.thread.acl.can_merge_posts||i(this.props.post.acl)?d["default"].createElement("div",{className:"pull-right hidden-xs"},d["default"].createElement("button",{className:"btn btn-default btn-icon",onClick:this.onClick,type:"button"},d["default"].createElement("span",{className:"material-icon"},this.props.post.isSelected?"check_box":"check_box_outline_blank"))):null}}]),t}(d["default"].Component);a["default"]=v},{"../../../reducers/posts":341,"../../../services/store":364,react:"react"}],166:[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("../../reducers/post"),f=n(d),p=e("../../services/ajax"),m=r(p),h=e("../../services/store"),v=r(h),b=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"componentDidMount",value:function(){var e=this;this.props.post.is_read||$("#post-"+this.props.post.id).waypoint({handler:function(t){"down"!==t||e.props.post.is_read||window.setTimeout(function(){v["default"].dispatch(f.patch(e.props.post,{is_read:!0})),m["default"].post(e.props.post.api.read)},1e3)},offset:"bottom-in-view"})}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.props.className},this.props.children)}}]),t}(c["default"].Component);a["default"]=b},{"../../reducers/post":340,"../../services/ajax":352,"../../services/store":364,react:"react"}],167:[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("../panel-loader"),p=n(f),m=e("../panel-message"),h=n(m),v=e("../../index"),b=n(v),y=e("../../services/polls"),g=n(y),_=e("../../services/page-title"),E=n(_),w=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.update=function(e){e.expires_on&&(e.expires_on=(0,u["default"])(e.expires_on)),a.setState({isLoaded:!0,error:null,ban:e})},a.error=function(e){a.setState({isLoaded:!0,error:e.detail,ban:null})},b["default"].has("PROFILE_BAN")?a.initWithPreloadedData(b["default"].pop("PROFILE_BAN")):a.initWithoutPreloadedData(),a.startPolling(e.profile.api.ban),a}return l(t,e),s(t,[{key:"initWithPreloadedData",value:function(e){e.expires_on&&(e.expires_on=(0,u["default"])(e.expires_on)),this.state={isLoaded:!0,ban:e}}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1}}},{key:"startPolling",value:function(e){g["default"].start({poll:"ban-details",url:e,frequency:9e4,update:this.update,error:this.error})}},{key:"componentDidMount",value:function(){E["default"].set({title:gettext("Ban details"),parent:this.props.profile.username})}},{key:"componentWillUnmount",value:function(){g["default"].stop("ban-details")}},{key:"getUserMessage",value:function(){return this.state.ban.user_message?d["default"].createElement("div",{className:"panel-body ban-message ban-user-message"},d["default"].createElement("h4",null,gettext("User-shown ban message")),d["default"].createElement("div",{
|
|
className:"lead",dangerouslySetInnerHTML:{__html:this.state.ban.user_message.html}})):null}},{key:"getStaffMessage",value:function(){return this.state.ban.staff_message?d["default"].createElement("div",{className:"panel-body ban-message ban-staff-message"},d["default"].createElement("h4",null,gettext("Team-shown ban message")),d["default"].createElement("div",{className:"lead",dangerouslySetInnerHTML:{__html:this.state.ban.staff_message.html}})):null}},{key:"getExpirationMessage",value:function(){if(this.state.ban.expires_on){if(this.state.ban.expires_on.isAfter((0,u["default"])())){var e=interpolate(gettext("This ban expires on %(expires_on)s."),{expires_on:this.state.ban.expires_on.format("LL, LT")},!0),t=interpolate(gettext("This ban expires %(expires_on)s."),{expires_on:this.state.ban.expires_on.fromNow()},!0);return d["default"].createElement("abbr",{title:e},t)}return gettext("This ban has expired.")}return interpolate(gettext("%(username)s's ban is permanent."),{username:this.props.profile.username},!0)}},{key:"getPanelBody",value:function(){return this.state.ban?Object.keys(this.state.ban).length?d["default"].createElement("div",null,this.getUserMessage(),this.getStaffMessage(),d["default"].createElement("div",{className:"panel-body ban-expires"},d["default"].createElement("h4",null,gettext("Ban expiration")),d["default"].createElement("p",{className:"lead"},this.getExpirationMessage()))):d["default"].createElement("div",null,d["default"].createElement(h["default"],{message:gettext("No ban is active at the moment.")})):this.state.error?d["default"].createElement("div",null,d["default"].createElement(h["default"],{icon:"error_outline",message:this.state.error})):d["default"].createElement("div",null,d["default"].createElement(p["default"],null))}},{key:"render",value:function(){return d["default"].createElement("div",{className:"profile-ban-details"},d["default"].createElement("div",{className:"panel panel-default"},d["default"].createElement("div",{className:"panel-heading"},d["default"].createElement("h3",{className:"panel-title"},gettext("Ban details"))),this.getPanelBody()))}}]),t}(d["default"].Component);a["default"]=w},{"../../index":291,"../../services/page-title":360,"../../services/polls":361,"../panel-loader":86,"../panel-message":87,moment:"moment",react:"react"}],168:[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.isAuthenticated,a=e.profile,n=null;return n=t?gettext("You are not sharing any details with others."):interpolate(gettext("%(username)s is not sharing any details with others."),{username:a.username},!0),o["default"].createElement("div",{className:"panel panel-default"},o["default"].createElement("div",{className:"panel-body text-center lead"},n))};var r=e("react"),o=n(r)},{react:"react"}],169:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.text,a=e.url;return a?l["default"].createElement("p",null,l["default"].createElement("a",{href:a,target:"_blank",rel:"nofollow"},t||a)):t?l["default"].createElement("p",null,t):null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.html,a=e.text,n=e.url;return t?l["default"].createElement("div",{className:"form-control-static col-md-9",dangerouslySetInnerHTML:{__html:t}}):l["default"].createElement("div",{className:"form-control-static col-md-9"},l["default"].createElement(r,{text:a,url:n}))},a.SafeValue=r;var o=e("react"),l=n(o)},{react:"react"}],170:[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:"form-group"},o["default"].createElement("strong",{className:"control-label col-md-3"},e.name,":"),o["default"].createElement(s["default"],e))};var r=e("react"),o=n(r),l=e("./field-value"),s=n(l)},{"./field-value":169,react:"react"}],171:[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.api,a=e.display,n=e.onCancel,r=e.onSuccess;return a?o["default"].createElement(s["default"],{api:t,onCancel:n,onSuccess:r}):null};var r=e("react"),o=n(r),l=e("../../edit-details"),s=n(l)},{"../../edit-details":29,react:"react"}],172:[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.fields,a=e.name;return o["default"].createElement("div",{className:"panel panel-default panel-profile-details-group"},o["default"].createElement("div",{className:"panel-heading"},o["default"].createElement("h3",{className:"panel-title"},a)),o["default"].createElement("div",{className:"panel-body"},o["default"].createElement("div",{className:"form-horizontal"},t.map(function(e){var t=e.fieldname,a=e.html,n=e.name,r=e.text,l=e.url;return o["default"].createElement(s["default"],{key:t,name:n,html:a,text:r,url:l})}))))};var r=e("react"),o=n(r),l=e("./field"),s=n(l)},{"./field":170,react:"react"}],173:[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.display,a=e.groups,n=e.isAuthenticated,r=e.loading,l=e.profile;return t?r?o["default"].createElement(d["default"],null):a.length?o["default"].createElement("div",null,a.map(function(e,t){return o["default"].createElement(u["default"],{fields:e.fields,key:t,name:e.name})})):o["default"].createElement(s["default"],{isAuthenticated:n,profile:l}):null};var r=e("react"),o=n(r),l=e("./empty-message"),s=n(l),i=e("./group"),u=n(i),c=e("../../loader"),d=n(c)},{"../../loader":54,"./empty-message":168,"./group":172,react:"react"}],174:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.onEdit,a=e.showEditButton;return a?l["default"].createElement("div",{className:"col-sm-4 col-md-2"},l["default"].createElement("button",{className:"btn btn-default btn-outline btn-block",onClick:t,type:"button"},gettext("Edit"))):null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.onEdit,a=e.showEditButton;return l["default"].createElement("div",null,l["default"].createElement("nav",{className:"toolbar"},l["default"].createElement("div",{className:"row"},l["default"].createElement("div",{className:"col-sm-8 col-md-10"},l["default"].createElement("h3",{className:"md-margin-top-no"},gettext("Details"))),l["default"].createElement(r,{onEdit:t,showEditButton:a}))))},a.EditButton=r;var o=e("react"),l=n(o)},{react:"react"}],175:[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("./form"),d=n(c),f=e("./groups-list"),p=n(f),m=e("./header"),h=n(m),v=e("../../../data/profile-details"),b=n(v),y=e("../../../reducers/profile-details"),g=e("../../../services/page-title"),_=n(g),E=e("../../../services/snackbar"),w=n(E),O=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onCancel=function(){a.setState({editing:!1})},a.onEdit=function(){a.setState({editing:!0})},a.onSuccess=function(e){var t=a.props,n=t.dispatch,r=t.isAuthenticated,o=t.profile,l=null;l=r?gettext("Your details have been updated."):interpolate(gettext("%(username)s's details have been updated."),{username:o.username},!0),w["default"].info(l),n((0,y.load)(e)),a.setState({editing:!1})},a.state={editing:!1},a}return l(t,e),s(t,[{key:"componentDidMount",value:function(){_["default"].set({title:gettext("Details"),parent:this.props.profile.username})}},{key:"render",value:function(){var e=this.props,t=e.dispatch,a=e.isAuthenticated,n=e.profile,r=e.profileDetails,o=r.id!==n.id;return u["default"].createElement(b["default"],{data:r,dispatch:t,user:n},u["default"].createElement("div",{className:"profile-details"},u["default"].createElement(h["default"],{onEdit:this.onEdit,showEditButton:!!r.edit&&!this.state.editing}),u["default"].createElement(p["default"],{display:!this.state.editing,groups:r.groups,isAuthenticated:a,loading:o,profile:n}),u["default"].createElement(d["default"],{api:n.api.edit_details,dispatch:t,display:this.state.editing,onCancel:this.onCancel,onSuccess:this.onSuccess})))}}]),t}(u["default"].Component);a["default"]=O},{"../../../data/profile-details":290,"../../../reducers/profile-details":342,"../../../services/page-title":360,"../../../services/snackbar":363,"./form":171,"./groups-list":173,"./header":174,react:"react"}],176:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=null;t=e.user.id===e.profile.id?gettext("You have no started threads."):interpolate(gettext("%(username)s started no threads."),{username:e.profile.username},!0);var a=null;if(e.posts.isLoaded)if(e.profile.id===e.user.id){var n=ngettext("You have started %(threads)s thread.","You have started %(threads)s threads.",e.posts.count);a=interpolate(n,{threads:e.posts.count},!0)}else{var r=ngettext("%(username)s has started %(threads)s thread.","%(username)s has started %(threads)s threads.",e.posts.count);a=interpolate(r,{username:e.profile.username,threads:e.posts.count},!0)}else a=gettext("Loading...");return i["default"].createElement(c["default"],l({api:e.profile.api.threads,emptyMessage:t,header:a,title:gettext("Threads")},e))}function o(e){var t=null;t=e.user.id===e.profile.id?gettext("You have posted no messages."):interpolate(gettext("%(username)s posted no messages."),{username:e.profile.username},!0);var a=null;if(e.posts.isLoaded)if(e.profile.id===e.user.id){var n=ngettext("You have posted %(posts)s message.","You have posted %(posts)s messages.",e.posts.count);a=interpolate(n,{posts:e.posts.count},!0)}else{var r=ngettext("%(username)s has posted %(posts)s message.","%(username)s has posted %(posts)s messages.",e.posts.count);a=interpolate(r,{username:e.profile.username,posts:e.posts.count},!0)}else a=gettext("Loading...");return i["default"].createElement(c["default"],l({api:e.profile.api.posts,emptyMessage:t,header:a,title:gettext("Posts")},e))}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.Threads=r,a.Posts=o;var s=e("react"),i=n(s),u=e("./route"),c=n(u)},{"./route":177,react:"react"}],177:[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.posts.count?p["default"].createElement("div",null,p["default"].createElement(h["default"],{isReady:e.posts.isLoaded,posts:e.posts.results,poster:e.profile}),p["default"].createElement(u,{isLoading:e.isLoading,loadMore:e.loadMore,more:e.posts.more})):p["default"].createElement("p",{className:"lead"},e.emptyMessage)}function u(e){return e.more?p["default"].createElement("div",{className:"pager-more"},p["default"].createElement(b["default"],{className:"btn btn-default btn-outline",loading:e.isLoading,onClick:e.loadMore},interpolate(gettext("Show more (%(more)s)"),{more:e.more},!0))):null}Object.defineProperty(a,"__esModule",{value:!0});var c=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},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.Feed=i,a.LoadMoreButton=u;var f=e("react"),p=r(f),m=e("../../post-feed"),h=r(m),v=e("../../button"),b=r(v),y=e("../../../reducers/posts"),g=n(y),_=e("../../../services/page-title"),E=r(_),w=e("../../../services/ajax"),O=r(w),k=e("../../../services/snackbar"),N=r(k),x=e("../../../services/store"),j=r(x),P=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.loadMore=function(){a.setState({isLoading:!0}),a.loadItems(a.props.posts.page+1)},a.state={isLoading:!1},a}return s(t,e),d(t,[{key:"loadItems",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;O["default"].get(this.props.api,{page:t||1}).then(function(a){1===t?j["default"].dispatch(g.load(a)):j["default"].dispatch(g.append(a)),e.setState({isLoading:!1})},function(t){e.setState({isLoading:!1}),N["default"].apiError(t)})}},{key:"componentDidMount",value:function(){E["default"].set({title:this.props.title,parent:this.props.profile.username}),this.loadItems()}},{key:"render",value:function(){return p["default"].createElement("div",{className:"profile-feed"},p["default"].createElement("nav",{className:"toolbar"},p["default"].createElement("h3",{className:"toolbar-left"},this.props.header)),p["default"].createElement(i,c({isLoading:this.state.isLoading,loadMore:this.loadMore},this.props)))}}]),t}(p["default"].Component);a["default"]=P},{"../../../reducers/posts":341,"../../../services/ajax":352,"../../../services/page-title":360,"../../../services/snackbar":363,"../../../services/store":364,"../../button":5,"../../post-feed":115,react:"react"}],178:[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("../../reducers/profile"),p=e("../../services/ajax"),m=n(p),h=e("../../services/snackbar"),v=n(h),b=e("../../services/store"),y=n(b),g=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.action=function(){a.setState({isLoading:!0}),a.props.profile.is_followed?y["default"].dispatch((0,f.patch)({is_followed:!1,followers:a.props.profile.followers-1})):y["default"].dispatch((0,f.patch)({is_followed:!0,followers:a.props.profile.followers+1})),m["default"].post(a.props.profile.api.follow).then(function(e){a.setState({isLoading:!1}),y["default"].dispatch((0,f.patch)(e))},function(e){a.setState({isLoading:!1}),v["default"].apiError(e)})},a.state={isLoading:!1},a}return l(t,e),s(t,[{key:"getClassName",value:function(){return this.props.profile.is_followed?this.props.className+" btn-default btn-following":this.props.className+" btn-default btn-follow"}},{key:"getIcon",value:function(){return this.props.profile.is_followed?"favorite":"favorite_border"}},{key:"getLabel",value:function(){return this.props.profile.is_followed?gettext("Following"):gettext("Follow")}},{key:"render",value:function(){return u["default"].createElement(d["default"],{className:this.getClassName(),disabled:this.state.isLoading,onClick:this.action},u["default"].createElement("span",{className:"material-icon"},this.getIcon()),this.getLabel())}}]),t}(u["default"].Component);a["default"]=g},{"../../reducers/profile":343,"../../services/ajax":352,"../../services/snackbar":363,"../../services/store":364,"../button":5,react:"react"}],179:[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("../quick-search"),p=n(f),m=e("../users-list"),h=n(m),v=e("../../index"),b=n(v),y=e("../../reducers/users"),g=e("../../services/ajax"),_=n(g),E=e("../../services/snackbar"),w=n(E),O=e("../../services/store"),k=n(O),N=e("../../services/page-title"),x=n(N),j=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.loadMore=function(){a.setState({isBusy:!0}),a.loadUsers(a.state.page+1,a.state.search)},a.search=function(e){a.setState({isLoaded:!1,isBusy:!0,search:e.target.value,count:0,more:0,page:1,pages:1}),a.loadUsers(1,e.target.value)},a.setSpecialProps(),b["default"].has(a.PRELOADED_DATA_KEY)?a.initWithPreloadedData(b["default"].pop(a.PRELOADED_DATA_KEY)):a.initWithoutPreloadedData(),a}return l(t,e),s(t,[{key:"setSpecialProps",value:function(){this.PRELOADED_DATA_KEY="PROFILE_FOLLOWERS",this.TITLE=gettext("Followers"),this.API_FILTER="followers"}},{key:"initWithPreloadedData",value:function(e){this.state={isLoaded:!0,isBusy:!1,search:"",count:e.count,more:e.more,page:e.page,pages:e.pages},k["default"].dispatch((0,y.hydrate)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1,isBusy:!1,search:"",count:0,more:0,page:1,pages:1},this.loadUsers()}},{key:"loadUsers",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=this.props.profile.api[this.API_FILTER];_["default"].get(n,{search:a,page:t||1},"user-"+this.API_FILTER).then(function(a){1===t?k["default"].dispatch((0,y.hydrate)(a.results)):k["default"].dispatch((0,y.append)(a.results)),e.setState({isLoaded:!0,isBusy:!1,count:a.count,more:a.more,page:a.page,pages:a.pages})},function(e){w["default"].apiError(e)})}},{key:"componentDidMount",value:function(){x["default"].set({title:this.TITLE,parent:this.props.profile.username})}},{key:"getLabel",value:function(){if(this.state.isLoaded){if(this.state.search){var e=ngettext("Found %(users)s user.","Found %(users)s users.",this.state.count);return interpolate(e,{users:this.state.count},!0)}if(this.props.profile.id===this.props.user.id){var t=ngettext("You have %(users)s follower.","You have %(users)s followers.",this.state.count);return interpolate(t,{users:this.state.count},!0)}var a=ngettext("%(username)s has %(users)s follower.","%(username)s has %(users)s followers.",this.state.count);return interpolate(a,{username:this.props.profile.username,users:this.state.count},!0)}return gettext("Loading...")}},{key:"getEmptyMessage",value:function(){return this.state.search?gettext("Search returned no users matching specified criteria."):this.props.user.id===this.props.profile.id?gettext("You have no followers."):interpolate(gettext("%(username)s has no followers."),{username:this.props.profile.username},!0)}},{key:"getMoreButton",value:function(){return this.state.more?u["default"].createElement("div",{className:"pager-more"},u["default"].createElement(d["default"],{className:"btn btn-default btn-outline",loading:this.state.isBusy,onClick:this.loadMore},interpolate(gettext("Show more (%(more)s)"),{more:this.state.more},!0))):null}},{key:"getListBody",value:function(){return this.state.isLoaded&&0===this.state.count?u["default"].createElement("p",{className:"lead"},this.getEmptyMessage()):u["default"].createElement("div",null,u["default"].createElement(h["default"],{cols:3,isReady:this.state.isLoaded,users:this.props.users}),this.getMoreButton())}},{key:"getClassName",value:function(){return"profile-"+this.API_FILTER}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName()},u["default"].createElement("nav",{className:"toolbar"},u["default"].createElement("h3",{className:"toolbar-left"},this.getLabel()),u["default"].createElement(p["default"],{className:"toolbar-right",value:this.state.search,onChange:this.search,placeholder:gettext("Search users...")})),this.getListBody())}}]),t}(u["default"].Component);a["default"]=j},{"../../index":291,"../../reducers/users":351,"../../services/ajax":352,"../../services/page-title":360,"../../services/snackbar":363,"../../services/store":364,"../button":5,"../quick-search":190,"../users-list":273,react:"react"}],180:[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),e("./followers")),c=n(u),d=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:"setSpecialProps",value:function(){this.PRELOADED_DATA_KEY="PROFILE_FOLLOWS",this.TITLE=gettext("Follows"),this.API_FILTER="follows"}},{key:"getLabel",value:function(){if(this.state.isLoaded){if(this.state.search){var e=ngettext("Found %(users)s user.","Found %(users)s users.",this.state.count);return interpolate(e,{users:this.state.count},!0)}if(this.props.profile.id===this.props.user.id){var t=ngettext("You are following %(users)s user.","You are following %(users)s users.",this.state.count);return interpolate(t,{users:this.state.count},!0)}var a=ngettext("%(username)s is following %(users)s user.","%(username)s is following %(users)s users.",this.state.count);return interpolate(a,{username:this.props.profile.username,users:this.state.count},!0)}return gettext("Loading...")}},{key:"getEmptyMessage",value:function(){return this.state.search?gettext("Search returned no users matching specified criteria."):this.props.user.id===this.props.profile.id?gettext("You are not following any users."):interpolate(gettext("%(username)s is not following any users."),{username:this.props.profile.username},!0)}}]),t}(c["default"]);a["default"]=d},{"./followers":179,react:"react"}],181:[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.isActive!==!1?null:d["default"].createElement("div",{className:"alert alert-danger"},d["default"].createElement("p",null,gettext("This user's account has been disabled by administrator.")))}function i(e,t){var a="";return 1==e&&(a="col-xs-12"),2==e&&(a="col-xs-6 col-sm-6"),3==e&&(2==t?a="col-xs-12 col-sm-4 xs-margin-top":a+="col-xs-6 col-sm-4"),a}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.IsDisabledMessage=s,a.getColStyle=i;var c=e("react"),d=n(c),f=e("../avatar"),p=n(f),m=e("../dropdown-toggle"),h=(n(m),e("./follow-button")),v=n(h),b=e("./message-button"),y=n(b),g=e("./moderation/nav"),_=n(g),E=e("./navs"),w=e("../user-status"),O=n(w),k=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:"getUserStatus",value:function(){return d["default"].createElement("li",{className:"user-status-display"},d["default"].createElement(O["default"],{user:this.props.profile,status:this.props.profile.status},d["default"].createElement(w.StatusIcon,{user:this.props.profile,status:this.props.profile.status}),d["default"].createElement(w.StatusLabel,{user:this.props.profile,status:this.props.profile.status,className:"status-label"})))}},{key:"getUserRank",value:function(){return this.props.profile.rank.is_tab?d["default"].createElement("li",{className:"user-rank"},d["default"].createElement("a",{href:this.props.profile.rank.url,className:"item-title"},this.props.profile.rank.name)):d["default"].createElement("li",{className:"user-rank"},d["default"].createElement("span",{className:"item-title"},this.props.profile.rank.name))}},{key:"getUserTitle",value:function(){return this.props.profile.title?d["default"].createElement("li",{className:"user-title"},this.props.profile.title):this.props.profile.rank.title?d["default"].createElement("li",{className:"user-title"},this.props.profile.rank.title):null}},{key:"getJoinedOn",value:function(){var e=interpolate(gettext("Joined on %(joined_on)s"),{joined_on:this.props.profile.joined_on.format("LL, LT")},!0),t=interpolate(gettext("Joined %(joined_on)s"),{joined_on:this.props.profile.joined_on.fromNow()},!0);return d["default"].createElement("li",{className:"user-joined-on"},d["default"].createElement("abbr",{title:e},t))}},{key:"getEmail",value:function(){return this.props.profile.email?d["default"].createElement("li",{className:"user-email"},d["default"].createElement("a",{href:"mailto:"+this.props.profile.email,className:"item-title"},this.props.profile.email)):null}},{key:"getFollowButton",value:function(){return this.props.profile.acl.can_follow?d["default"].createElement(v["default"],{className:"btn btn-block btn-outline",profile:this.props.profile}):null}},{key:"getModerationButton",value:function(){return this.props.profile.acl.can_moderate?d["default"].createElement("div",{className:"btn-group btn-group-justified"},d["default"].createElement("div",{className:"btn-group"},d["default"].createElement("button",{className:"btn btn-default btn-moderate btn-outline dropdown-toggle",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},d["default"].createElement("span",{className:"material-icon"},"tonality"),gettext("Moderation")),d["default"].createElement(_["default"],{profile:this.props.profile}))):null}},{key:"render",value:function(){var e=this.props.profile.acl.can_follow,t=this.props.profile.acl.can_moderate,a=this.props.user.id===this.props.profile.id,n=!a&&this.props.user.acl.can_start_private_threads,r=0;e&&(r+=1),t&&(r+=1),n&&(r+=1);var o=r?2*r+1:0,l="page-header";return this.props.profile.rank.css_class&&(l+=" page-header-rank-"+this.props.profile.rank.css_class),d["default"].createElement("div",{className:"page-header-bg"},d["default"].createElement("div",{className:l},d["default"].createElement("div",{className:"container"},d["default"].createElement(s,{isActive:this.props.profile.is_active}),d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-md-9 col-md-offset-3"},d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-sm-"+(12-o)},d["default"].createElement(p["default"],{className:"user-avatar user-avatar-sm",user:this.props.profile,size:"100",size2x:"200"}),d["default"].createElement("h1",null,this.props.profile.username)),!!r&&d["default"].createElement("div",{className:"col-sm-"+o},d["default"].createElement("div",{className:"row xs-margin-top sm-margin-top"},!!n&&d["default"].createElement("div",{className:i(r,0)},d["default"].createElement(y["default"],{className:"btn btn-default btn-block btn-outline",profile:this.props.profile,user:this.props.user})),!!e&&d["default"].createElement("div",{className:i(r,1)},this.getFollowButton()),!!t&&d["default"].createElement("div",{className:i(r,2)},this.getModerationButton()))))))),d["default"].createElement("div",{className:"header-stats"},d["default"].createElement("div",{className:"container"},d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-md-9 col-md-offset-3"},d["default"].createElement("ul",{className:"list-inline"},this.getUserStatus(),this.getUserRank(),this.getUserTitle(),this.getJoinedOn(),this.getEmail()))))),d["default"].createElement(E.CompactNav,{baseUrl:this.props.baseUrl,pages:this.props.pages,profile:this.props.profile})))}}]),t}(d["default"].Component);a["default"]=k},{"../avatar":3,"../dropdown-toggle":24,"../user-status":263,"./follow-button":178,"./message-button":182,"./moderation/nav":186,"./navs":187,react:"react"}],182:[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);
|
|
className:"lead",dangerouslySetInnerHTML:{__html:this.state.ban.user_message.html}})):null}},{key:"getStaffMessage",value:function(){return this.state.ban.staff_message?d["default"].createElement("div",{className:"panel-body ban-message ban-staff-message"},d["default"].createElement("h4",null,gettext("Team-shown ban message")),d["default"].createElement("div",{className:"lead",dangerouslySetInnerHTML:{__html:this.state.ban.staff_message.html}})):null}},{key:"getExpirationMessage",value:function(){if(this.state.ban.expires_on){if(this.state.ban.expires_on.isAfter((0,u["default"])())){var e=interpolate(gettext("This ban expires on %(expires_on)s."),{expires_on:this.state.ban.expires_on.format("LL, LT")},!0),t=interpolate(gettext("This ban expires %(expires_on)s."),{expires_on:this.state.ban.expires_on.fromNow()},!0);return d["default"].createElement("abbr",{title:e},t)}return gettext("This ban has expired.")}return interpolate(gettext("%(username)s's ban is permanent."),{username:this.props.profile.username},!0)}},{key:"getPanelBody",value:function(){return this.state.ban?Object.keys(this.state.ban).length?d["default"].createElement("div",null,this.getUserMessage(),this.getStaffMessage(),d["default"].createElement("div",{className:"panel-body ban-expires"},d["default"].createElement("h4",null,gettext("Ban expiration")),d["default"].createElement("p",{className:"lead"},this.getExpirationMessage()))):d["default"].createElement("div",null,d["default"].createElement(h["default"],{message:gettext("No ban is active at the moment.")})):this.state.error?d["default"].createElement("div",null,d["default"].createElement(h["default"],{icon:"error_outline",message:this.state.error})):d["default"].createElement("div",null,d["default"].createElement(p["default"],null))}},{key:"render",value:function(){return d["default"].createElement("div",{className:"profile-ban-details"},d["default"].createElement("div",{className:"panel panel-default"},d["default"].createElement("div",{className:"panel-heading"},d["default"].createElement("h3",{className:"panel-title"},gettext("Ban details"))),this.getPanelBody()))}}]),t}(d["default"].Component);a["default"]=w},{"../../index":291,"../../services/page-title":360,"../../services/polls":361,"../panel-loader":86,"../panel-message":87,moment:"moment",react:"react"}],168:[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.isAuthenticated,a=e.profile,n=null;return n=t?gettext("You are not sharing any details with others."):interpolate(gettext("%(username)s is not sharing any details with others."),{username:a.username},!0),o["default"].createElement("div",{className:"panel panel-default"},o["default"].createElement("div",{className:"panel-body text-center lead"},n))};var r=e("react"),o=n(r)},{react:"react"}],169:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.text,a=e.url;return a?l["default"].createElement("p",null,l["default"].createElement("a",{href:a,target:"_blank",rel:"nofollow"},t||a)):t?l["default"].createElement("p",null,t):null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.html,a=e.text,n=e.url;return t?l["default"].createElement("div",{className:"form-control-static col-md-9",dangerouslySetInnerHTML:{__html:t}}):l["default"].createElement("div",{className:"form-control-static col-md-9"},l["default"].createElement(r,{text:a,url:n}))},a.SafeValue=r;var o=e("react"),l=n(o)},{react:"react"}],170:[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:"form-group"},o["default"].createElement("strong",{className:"control-label col-md-3"},e.name,":"),o["default"].createElement(s["default"],e))};var r=e("react"),o=n(r),l=e("./field-value"),s=n(l)},{"./field-value":169,react:"react"}],171:[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.api,a=e.display,n=e.onCancel,r=e.onSuccess;return a?o["default"].createElement(s["default"],{api:t,onCancel:n,onSuccess:r}):null};var r=e("react"),o=n(r),l=e("../../edit-details"),s=n(l)},{"../../edit-details":29,react:"react"}],172:[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.fields,a=e.name;return o["default"].createElement("div",{className:"panel panel-default panel-profile-details-group"},o["default"].createElement("div",{className:"panel-heading"},o["default"].createElement("h3",{className:"panel-title"},a)),o["default"].createElement("div",{className:"panel-body"},o["default"].createElement("div",{className:"form-horizontal"},t.map(function(e){var t=e.fieldname,a=e.html,n=e.name,r=e.text,l=e.url;return o["default"].createElement(s["default"],{key:t,name:n,html:a,text:r,url:l})}))))};var r=e("react"),o=n(r),l=e("./field"),s=n(l)},{"./field":170,react:"react"}],173:[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.display,a=e.groups,n=e.isAuthenticated,r=e.loading,l=e.profile;return t?r?o["default"].createElement(d["default"],null):a.length?o["default"].createElement("div",null,a.map(function(e,t){return o["default"].createElement(u["default"],{fields:e.fields,key:t,name:e.name})})):o["default"].createElement(s["default"],{isAuthenticated:n,profile:l}):null};var r=e("react"),o=n(r),l=e("./empty-message"),s=n(l),i=e("./group"),u=n(i),c=e("../../loader"),d=n(c)},{"../../loader":54,"./empty-message":168,"./group":172,react:"react"}],174:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.onEdit,a=e.showEditButton;return a?l["default"].createElement("div",{className:"col-sm-4 col-md-2"},l["default"].createElement("button",{className:"btn btn-default btn-outline btn-block",onClick:t,type:"button"},gettext("Edit"))):null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.onEdit,a=e.showEditButton;return l["default"].createElement("div",null,l["default"].createElement("nav",{className:"toolbar"},l["default"].createElement("div",{className:"row"},l["default"].createElement("div",{className:"col-sm-8 col-md-10"},l["default"].createElement("h3",{className:"md-margin-top-no"},gettext("Details"))),l["default"].createElement(r,{onEdit:t,showEditButton:a}))))},a.EditButton=r;var o=e("react"),l=n(o)},{react:"react"}],175:[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("./form"),d=n(c),f=e("./groups-list"),p=n(f),m=e("./header"),h=n(m),v=e("../../../data/profile-details"),b=n(v),y=e("../../../reducers/profile-details"),g=e("../../../services/page-title"),_=n(g),E=e("../../../services/snackbar"),w=n(E),O=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onCancel=function(){a.setState({editing:!1})},a.onEdit=function(){a.setState({editing:!0})},a.onSuccess=function(e){var t=a.props,n=t.dispatch,r=t.isAuthenticated,o=t.profile,l=null;l=r?gettext("Your details have been updated."):interpolate(gettext("%(username)s's details have been updated."),{username:o.username},!0),w["default"].info(l),n((0,y.load)(e)),a.setState({editing:!1})},a.state={editing:!1},a}return l(t,e),s(t,[{key:"componentDidMount",value:function(){_["default"].set({title:gettext("Details"),parent:this.props.profile.username})}},{key:"render",value:function(){var e=this.props,t=e.dispatch,a=e.isAuthenticated,n=e.profile,r=e.profileDetails,o=r.id!==n.id;return u["default"].createElement(b["default"],{data:r,dispatch:t,user:n},u["default"].createElement("div",{className:"profile-details"},u["default"].createElement(h["default"],{onEdit:this.onEdit,showEditButton:!!r.edit&&!this.state.editing}),u["default"].createElement(p["default"],{display:!this.state.editing,groups:r.groups,isAuthenticated:a,loading:o,profile:n}),u["default"].createElement(d["default"],{api:n.api.edit_details,dispatch:t,display:this.state.editing,onCancel:this.onCancel,onSuccess:this.onSuccess})))}}]),t}(u["default"].Component);a["default"]=O},{"../../../data/profile-details":290,"../../../reducers/profile-details":342,"../../../services/page-title":360,"../../../services/snackbar":363,"./form":171,"./groups-list":173,"./header":174,react:"react"}],176:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=null;t=e.user.id===e.profile.id?gettext("You have no started threads."):interpolate(gettext("%(username)s started no threads."),{username:e.profile.username},!0);var a=null;if(e.posts.isLoaded)if(e.profile.id===e.user.id){var n=ngettext("You have started %(threads)s thread.","You have started %(threads)s threads.",e.posts.count);a=interpolate(n,{threads:e.posts.count},!0)}else{var r=ngettext("%(username)s has started %(threads)s thread.","%(username)s has started %(threads)s threads.",e.posts.count);a=interpolate(r,{username:e.profile.username,threads:e.posts.count},!0)}else a=gettext("Loading...");return i["default"].createElement(c["default"],l({api:e.profile.api.threads,emptyMessage:t,header:a,title:gettext("Threads")},e))}function o(e){var t=null;t=e.user.id===e.profile.id?gettext("You have posted no messages."):interpolate(gettext("%(username)s posted no messages."),{username:e.profile.username},!0);var a=null;if(e.posts.isLoaded)if(e.profile.id===e.user.id){var n=ngettext("You have posted %(posts)s message.","You have posted %(posts)s messages.",e.posts.count);a=interpolate(n,{posts:e.posts.count},!0)}else{var r=ngettext("%(username)s has posted %(posts)s message.","%(username)s has posted %(posts)s messages.",e.posts.count);a=interpolate(r,{username:e.profile.username,posts:e.posts.count},!0)}else a=gettext("Loading...");return i["default"].createElement(c["default"],l({api:e.profile.api.posts,emptyMessage:t,header:a,title:gettext("Posts")},e))}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.Threads=r,a.Posts=o;var s=e("react"),i=n(s),u=e("./route"),c=n(u)},{"./route":177,react:"react"}],177:[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.posts.count?p["default"].createElement("div",null,p["default"].createElement(h["default"],{isReady:e.posts.isLoaded,posts:e.posts.results,poster:e.profile}),p["default"].createElement(u,{isLoading:e.isLoading,loadMore:e.loadMore,more:e.posts.more})):p["default"].createElement("p",{className:"lead"},e.emptyMessage)}function u(e){return e.more?p["default"].createElement("div",{className:"pager-more"},p["default"].createElement(b["default"],{className:"btn btn-default btn-outline",loading:e.isLoading,onClick:e.loadMore},interpolate(gettext("Show more (%(more)s)"),{more:e.more},!0))):null}Object.defineProperty(a,"__esModule",{value:!0});var c=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},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.Feed=i,a.LoadMoreButton=u;var f=e("react"),p=r(f),m=e("../../post-feed"),h=r(m),v=e("../../button"),b=r(v),y=e("../../../reducers/posts"),g=n(y),_=e("../../../services/page-title"),E=r(_),w=e("../../../services/ajax"),O=r(w),k=e("../../../services/snackbar"),N=r(k),x=e("../../../services/store"),j=r(x),P=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.loadMore=function(){a.setState({isLoading:!0}),a.loadItems(a.props.posts.page+1)},a.state={isLoading:!1},a}return s(t,e),d(t,[{key:"loadItems",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;O["default"].get(this.props.api,{page:t||1}).then(function(a){1===t?j["default"].dispatch(g.load(a)):j["default"].dispatch(g.append(a)),e.setState({isLoading:!1})},function(t){e.setState({isLoading:!1}),N["default"].apiError(t)})}},{key:"componentDidMount",value:function(){E["default"].set({title:this.props.title,parent:this.props.profile.username}),this.loadItems()}},{key:"render",value:function(){return p["default"].createElement("div",{className:"profile-feed"},p["default"].createElement("nav",{className:"toolbar"},p["default"].createElement("h3",{className:"toolbar-left"},this.props.header)),p["default"].createElement(i,c({isLoading:this.state.isLoading,loadMore:this.loadMore},this.props)))}}]),t}(p["default"].Component);a["default"]=P},{"../../../reducers/posts":341,"../../../services/ajax":352,"../../../services/page-title":360,"../../../services/snackbar":363,"../../../services/store":364,"../../button":5,"../../post-feed":115,react:"react"}],178:[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("../../reducers/profile"),p=e("../../services/ajax"),m=n(p),h=e("../../services/snackbar"),v=n(h),b=e("../../services/store"),y=n(b),g=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.action=function(){a.setState({isLoading:!0}),a.props.profile.is_followed?y["default"].dispatch((0,f.patch)({is_followed:!1,followers:a.props.profile.followers-1})):y["default"].dispatch((0,f.patch)({is_followed:!0,followers:a.props.profile.followers+1})),m["default"].post(a.props.profile.api.follow).then(function(e){a.setState({isLoading:!1}),y["default"].dispatch((0,f.patch)(e))},function(e){a.setState({isLoading:!1}),v["default"].apiError(e)})},a.state={isLoading:!1},a}return l(t,e),s(t,[{key:"getClassName",value:function(){return this.props.profile.is_followed?this.props.className+" btn-default btn-following":this.props.className+" btn-default btn-follow"}},{key:"getIcon",value:function(){return this.props.profile.is_followed?"favorite":"favorite_border"}},{key:"getLabel",value:function(){return this.props.profile.is_followed?gettext("Following"):gettext("Follow")}},{key:"render",value:function(){return u["default"].createElement(d["default"],{className:this.getClassName(),disabled:this.state.isLoading,onClick:this.action},u["default"].createElement("span",{className:"material-icon"},this.getIcon()),this.getLabel())}}]),t}(u["default"].Component);a["default"]=g},{"../../reducers/profile":343,"../../services/ajax":352,"../../services/snackbar":363,"../../services/store":364,"../button":5,react:"react"}],179:[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("../quick-search"),p=n(f),m=e("../users-list"),h=n(m),v=e("../../index"),b=n(v),y=e("../../reducers/users"),g=e("../../services/ajax"),_=n(g),E=e("../../services/snackbar"),w=n(E),O=e("../../services/store"),k=n(O),N=e("../../services/page-title"),x=n(N),j=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.loadMore=function(){a.setState({isBusy:!0}),a.loadUsers(a.state.page+1,a.state.search)},a.search=function(e){a.setState({isLoaded:!1,isBusy:!0,search:e.target.value,count:0,more:0,page:1,pages:1}),a.loadUsers(1,e.target.value)},a.setSpecialProps(),b["default"].has(a.PRELOADED_DATA_KEY)?a.initWithPreloadedData(b["default"].pop(a.PRELOADED_DATA_KEY)):a.initWithoutPreloadedData(),a}return l(t,e),s(t,[{key:"setSpecialProps",value:function(){this.PRELOADED_DATA_KEY="PROFILE_FOLLOWERS",this.TITLE=gettext("Followers"),this.API_FILTER="followers"}},{key:"initWithPreloadedData",value:function(e){this.state={isLoaded:!0,isBusy:!1,search:"",count:e.count,more:e.more,page:e.page,pages:e.pages},k["default"].dispatch((0,y.hydrate)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1,isBusy:!1,search:"",count:0,more:0,page:1,pages:1},this.loadUsers()}},{key:"loadUsers",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=this.props.profile.api[this.API_FILTER];_["default"].get(n,{search:a,page:t||1},"user-"+this.API_FILTER).then(function(a){1===t?k["default"].dispatch((0,y.hydrate)(a.results)):k["default"].dispatch((0,y.append)(a.results)),e.setState({isLoaded:!0,isBusy:!1,count:a.count,more:a.more,page:a.page,pages:a.pages})},function(e){w["default"].apiError(e)})}},{key:"componentDidMount",value:function(){x["default"].set({title:this.TITLE,parent:this.props.profile.username})}},{key:"getLabel",value:function(){if(this.state.isLoaded){if(this.state.search){var e=ngettext("Found %(users)s user.","Found %(users)s users.",this.state.count);return interpolate(e,{users:this.state.count},!0)}if(this.props.profile.id===this.props.user.id){var t=ngettext("You have %(users)s follower.","You have %(users)s followers.",this.state.count);return interpolate(t,{users:this.state.count},!0)}var a=ngettext("%(username)s has %(users)s follower.","%(username)s has %(users)s followers.",this.state.count);return interpolate(a,{username:this.props.profile.username,users:this.state.count},!0)}return gettext("Loading...")}},{key:"getEmptyMessage",value:function(){return this.state.search?gettext("Search returned no users matching specified criteria."):this.props.user.id===this.props.profile.id?gettext("You have no followers."):interpolate(gettext("%(username)s has no followers."),{username:this.props.profile.username},!0)}},{key:"getMoreButton",value:function(){return this.state.more?u["default"].createElement("div",{className:"pager-more"},u["default"].createElement(d["default"],{className:"btn btn-default btn-outline",loading:this.state.isBusy,onClick:this.loadMore},interpolate(gettext("Show more (%(more)s)"),{more:this.state.more},!0))):null}},{key:"getListBody",value:function(){return this.state.isLoaded&&0===this.state.count?u["default"].createElement("p",{className:"lead"},this.getEmptyMessage()):u["default"].createElement("div",null,u["default"].createElement(h["default"],{cols:3,isReady:this.state.isLoaded,users:this.props.users}),this.getMoreButton())}},{key:"getClassName",value:function(){return"profile-"+this.API_FILTER}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName()},u["default"].createElement("nav",{className:"toolbar"},u["default"].createElement("h3",{className:"toolbar-left"},this.getLabel()),u["default"].createElement(p["default"],{className:"toolbar-right",value:this.state.search,onChange:this.search,placeholder:gettext("Search users...")})),this.getListBody())}}]),t}(u["default"].Component);a["default"]=j},{"../../index":291,"../../reducers/users":351,"../../services/ajax":352,"../../services/page-title":360,"../../services/snackbar":363,"../../services/store":364,"../button":5,"../quick-search":190,"../users-list":273,react:"react"}],180:[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),e("./followers")),c=n(u),d=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:"setSpecialProps",value:function(){this.PRELOADED_DATA_KEY="PROFILE_FOLLOWS",this.TITLE=gettext("Follows"),this.API_FILTER="follows"}},{key:"getLabel",value:function(){if(this.state.isLoaded){if(this.state.search){var e=ngettext("Found %(users)s user.","Found %(users)s users.",this.state.count);return interpolate(e,{users:this.state.count},!0)}if(this.props.profile.id===this.props.user.id){var t=ngettext("You are following %(users)s user.","You are following %(users)s users.",this.state.count);return interpolate(t,{users:this.state.count},!0)}var a=ngettext("%(username)s is following %(users)s user.","%(username)s is following %(users)s users.",this.state.count);return interpolate(a,{username:this.props.profile.username,users:this.state.count},!0)}return gettext("Loading...")}},{key:"getEmptyMessage",value:function(){return this.state.search?gettext("Search returned no users matching specified criteria."):this.props.user.id===this.props.profile.id?gettext("You are not following any users."):interpolate(gettext("%(username)s is not following any users."),{username:this.props.profile.username},!0)}}]),t}(c["default"]);a["default"]=d},{"./followers":179,react:"react"}],181:[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.isActive!==!1?null:d["default"].createElement("div",{className:"alert alert-danger"},d["default"].createElement("p",null,gettext("This user's account has been disabled by administrator.")))}function i(e,t){var a="";return 1==e&&(a="col-xs-12"),2==e&&(a="col-xs-6 col-sm-6"),3==e&&(2==t?a="col-xs-12 col-sm-4 xs-margin-top":a+="col-xs-6 col-sm-4"),a}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.IsDisabledMessage=s,a.getColStyle=i;var c=e("react"),d=n(c),f=e("../avatar"),p=n(f),m=e("../dropdown-toggle"),h=(n(m),e("./follow-button")),v=n(h),b=e("./message-button"),y=n(b),g=e("./moderation/nav"),_=n(g),E=e("./navs"),w=e("../user-status"),O=n(w),k=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:"getUserStatus",value:function(){return d["default"].createElement("li",{className:"user-status-display"},d["default"].createElement(O["default"],{user:this.props.profile,status:this.props.profile.status},d["default"].createElement(w.StatusIcon,{user:this.props.profile,status:this.props.profile.status}),d["default"].createElement(w.StatusLabel,{user:this.props.profile,status:this.props.profile.status,className:"status-label"})))}},{key:"getUserRank",value:function(){return this.props.profile.rank.is_tab?d["default"].createElement("li",{className:"user-rank"},d["default"].createElement("a",{href:this.props.profile.rank.url,className:"item-title"},this.props.profile.rank.name)):d["default"].createElement("li",{className:"user-rank"},d["default"].createElement("span",{className:"item-title"},this.props.profile.rank.name))}},{key:"getUserTitle",value:function(){return this.props.profile.title?d["default"].createElement("li",{className:"user-title"},this.props.profile.title):this.props.profile.rank.title?d["default"].createElement("li",{className:"user-title"},this.props.profile.rank.title):null}},{key:"getJoinedOn",value:function(){var e=interpolate(gettext("Joined on %(joined_on)s"),{joined_on:this.props.profile.joined_on.format("LL, LT")},!0),t=interpolate(gettext("Joined %(joined_on)s"),{joined_on:this.props.profile.joined_on.fromNow()},!0);return d["default"].createElement("li",{className:"user-joined-on"},d["default"].createElement("abbr",{title:e},t))}},{key:"getEmail",value:function(){return this.props.profile.email?d["default"].createElement("li",{className:"user-email"},d["default"].createElement("a",{href:"mailto:"+this.props.profile.email,className:"item-title"},this.props.profile.email)):null}},{key:"getFollowButton",value:function(){return this.props.profile.acl.can_follow?d["default"].createElement(v["default"],{className:"btn btn-block btn-outline",profile:this.props.profile}):null}},{key:"getModerationButton",value:function(){return this.props.profile.acl.can_moderate?d["default"].createElement("div",{className:"btn-group btn-group-justified"},d["default"].createElement("div",{className:"btn-group"},d["default"].createElement("button",{className:"btn btn-default btn-moderate btn-outline dropdown-toggle",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},d["default"].createElement("span",{className:"material-icon"},"tonality"),gettext("Moderation")),d["default"].createElement(_["default"],{profile:this.props.profile}))):null}},{key:"render",value:function(){var e=this.props.profile.acl.can_follow,t=this.props.profile.acl.can_moderate,a=this.props.user.id===this.props.profile.id,n=!a&&this.props.user.acl.can_start_private_threads,r=0;e&&(r+=1),t&&(r+=1),n&&(r+=1);var o=r?2*r+1:0,l="page-header";return this.props.profile.rank.css_class&&(l+=" page-header-rank-"+this.props.profile.rank.css_class),d["default"].createElement("div",{className:"page-header-bg"},d["default"].createElement("div",{className:l},d["default"].createElement("div",{className:"container"},d["default"].createElement(s,{isActive:this.props.profile.is_active}),d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-md-9 col-md-offset-3"},d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-sm-"+(12-o)},d["default"].createElement(p["default"],{className:"user-avatar user-avatar-sm",user:this.props.profile,size:"100",size2x:"200"}),d["default"].createElement("h1",null,this.props.profile.username)),!!r&&d["default"].createElement("div",{className:"col-sm-"+o},d["default"].createElement("div",{className:"row xs-margin-top sm-margin-top"},!!n&&d["default"].createElement("div",{className:i(r,0)},d["default"].createElement(y["default"],{className:"btn btn-default btn-block btn-outline",profile:this.props.profile,user:this.props.user})),!!e&&d["default"].createElement("div",{className:i(r,1)},this.getFollowButton()),!!t&&d["default"].createElement("div",{className:i(r,2)},this.getModerationButton()))))))),d["default"].createElement("div",{className:"header-stats"},d["default"].createElement("div",{className:"container"},d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-md-9 col-md-offset-3"},d["default"].createElement("ul",{className:"list-inline"},this.getUserStatus(),this.getUserRank(),this.getUserTitle(),this.getJoinedOn(),this.getEmail()))))),d["default"].createElement(E.CompactNav,{baseUrl:this.props.baseUrl,pages:this.props.pages,profile:this.props.profile})))}}]),t}(d["default"].Component);a["default"]=k},{"../avatar":3,"../dropdown-toggle":24,"../user-status":263,"./follow-button":178,"./message-button":182,"./moderation/nav":186,"./navs":187,react:"react"}],182:[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/posting"),d=n(c),f=e("../.."),p=n(f),m=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(){d["default"].open({mode:"START_PRIVATE",submit:p["default"].get("PRIVATE_THREADS_API"),to:[n.props.profile]})},l=a,o(n,l)}return l(t,e),s(t,[{key:"render",value:function(){var e=this.props.user.acl.can_start_private_threads,t=this.props.user.id===this.props.profile.id;return!e||t?null:u["default"].createElement("button",{className:this.props.className,onClick:this.onClick,type:"button"},u["default"].createElement("span",{className:"material-icon"},"comment"),gettext("Message"))}}]),t}(u["default"].Component);a["default"]=m},{"../..":291,"../../services/posting":362,react:"react"}],183:[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),v=e("../../modal-loader"),b=n(v),y=e("../../yes-no-switch"),g=n(y),_=e("../../modal-message"),E=n(_),w=e("../../../reducers/users"),O=e("../../../services/ajax"),k=n(O),N=e("../../../services/snackbar"),x=n(N),j=e("../../../services/store"),P=n(j),C=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={isLoaded:!1,isLoading:!1,error:null,is_avatar_locked:"",avatar_lock_user_message:"",avatar_lock_staff_message:""},a}return l(t,e),s(t,[{key:"componentDidMount",value:function(){var e=this;k["default"].get(this.props.profile.api.moderate_avatar).then(function(t){e.setState({isLoaded:!0,is_avatar_locked:t.is_avatar_locked,avatar_lock_user_message:t.avatar_lock_user_message||"",avatar_lock_staff_message:t.avatar_lock_staff_message||""})},function(t){e.setState({isLoaded:!0,error:t.detail})})}},{key:"clean",value:function(){return!!this.isValid()||(x["default"].error(this.validate().username[0]),!1)}},{key:"send",value:function(){return k["default"].post(this.props.profile.api.moderate_avatar,{is_avatar_locked:this.state.is_avatar_locked,avatar_lock_user_message:this.state.avatar_lock_user_message,avatar_lock_staff_message:this.state.avatar_lock_staff_message})}},{key:"handleSuccess",value:function(e){P["default"].dispatch((0,w.updateAvatar)(this.props.profile,e.avatar_hash)),x["default"].success(gettext("Avatar controls have been changed."))}},{key:"getFormBody",value:function(){return u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("div",{className:"modal-body"},u["default"].createElement(h["default"],{label:gettext("Lock avatar"),helpText:gettext("Locking user avatar will prohibit user from changing his avatar and will reset his/her avatar to default one."),"for":"id_is_avatar_locked"},u["default"].createElement(g["default"],{id:"id_is_avatar_locked",disabled:this.state.isLoading,iconOn:"lock_outline",iconOff:"lock_open",labelOn:gettext("Disallow user from changing avatar"),labelOff:gettext("Allow user to change avatar"),onChange:this.bindInput("is_avatar_locked"),value:this.state.is_avatar_locked})),u["default"].createElement(h["default"],{label:gettext("User message"),helpText:gettext("Optional message for user explaining why he/she is prohibited form changing avatar."),"for":"id_avatar_lock_user_message"},u["default"].createElement("textarea",{id:"id_avatar_lock_user_message",className:"form-control",rows:"4",disabled:this.state.isLoading,onChange:this.bindInput("avatar_lock_user_message"),value:this.state.avatar_lock_user_message})),u["default"].createElement(h["default"],{label:gettext("Staff message"),helpText:gettext("Optional message for forum team members explaining why user is prohibited form changing avatar."),"for":"id_avatar_lock_staff_message"},u["default"].createElement("textarea",{id:"id_avatar_lock_staff_message",className:"form-control",rows:"4",disabled:this.state.isLoading,onChange:this.bindInput("avatar_lock_staff_message"),value:this.state.avatar_lock_staff_message}))),u["default"].createElement("div",{className:"modal-footer"},u["default"].createElement("button",{type:"button",className:"btn btn-default","data-dismiss":"modal"},gettext("Close")),u["default"].createElement(d["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Save changes"))))}},{key:"getModalBody",value:function(){return this.state.error?u["default"].createElement(E["default"],{icon:"remove_circle_outline",message:this.state.error}):this.state.isLoaded?this.getFormBody():u["default"].createElement(b["default"],null)}},{key:"getClassName",value:function(){return this.state.error?"modal-dialog modal-message modal-avatar-controls":"modal-dialog modal-avatar-controls"}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName(),role:"document"},u["default"].createElement("div",{className:"modal-content"},u["default"].createElement("div",{className:"modal-header"},u["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},u["default"].createElement("span",{"aria-hidden":"true"},"×")),u["default"].createElement("h4",{className:"modal-title"},gettext("Avatar controls"))),this.getModalBody()))}}]),t}(p["default"]);a["default"]=C},{"../../../reducers/users":351,"../../../services/ajax":352,"../../../services/snackbar":363,"../../../services/store":364,"../../button":5,"../../form":52,"../../form-group":51,"../../modal-loader":57,"../../modal-message":58,"../../yes-no-switch":289,react:"react"}],184:[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"),v=r(h),b=e("../../modal-loader"),y=r(b),g=e("../../modal-message"),_=r(g),E=e("../../../reducers/username-history"),w=e("../../../reducers/users"),O=e("../../../services/ajax"),k=r(O),N=e("../../../services/snackbar"),x=r(N),j=e("../../../services/store"),P=r(j),C=e("../../../utils/validators"),M=n(C),S=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,isLoading:!1,error:null,username:"",validators:{username:[M.usernameContent()]}},a}return s(t,e),i(t,[{key:"componentDidMount",value:function(){var e=this;k["default"].get(this.props.profile.api.moderate_username).then(function(){e.setState({isLoaded:!0})},function(t){e.setState({isLoaded:!0,error:t.detail})})}},{key:"clean",value:function(){return!!this.isValid()||(x["default"].error(this.validate().username[0]),!1)}},{key:"send",value:function(){return k["default"].post(this.props.profile.api.moderate_username,{username:this.state.username})}},{key:"handleSuccess",value:function(e){this.setState({username:""}),P["default"].dispatch((0,E.addNameChange)(e,this.props.profile,this.props.user)),P["default"].dispatch((0,w.updateUsername)(this.props.profile,e.username,e.slug)),x["default"].success(gettext("Username has been changed."))}},{key:"getFormBody",value:function(){return c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"modal-body"},c["default"].createElement(v["default"],{label:gettext("New username"),"for":"id_username"},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:"modal-footer"},c["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},gettext("Cancel")),c["default"].createElement(f["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Change username"))))}},{key:"getModalBody",value:function(){return this.state.error?c["default"].createElement(_["default"],{icon:"remove_circle_outline",message:this.state.error}):this.state.isLoaded?this.getFormBody():c["default"].createElement(y["default"],null)}},{key:"getClassName",value:function(){return this.state.error?"modal-dialog modal-message modal-rename-user":"modal-dialog modal-rename-user"}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName(),role:"document"},c["default"].createElement("div",{className:"modal-content"},c["default"].createElement("div",{className:"modal-header"},c["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},c["default"].createElement("span",{"aria-hidden":"true"},"×")),c["default"].createElement("h4",{className:"modal-title"},gettext("Change username"))),this.getModalBody()))}}]),t}(m["default"]);a["default"]=S},{"../../../reducers/username-history":350,"../../../reducers/users":351,"../../../services/ajax":352,"../../../services/snackbar":363,"../../../services/store":364,"../../../utils/validators":380,"../../button":5,"../../form":52,"../../form-group":51,"../../modal-loader":57,"../../modal-message":58,react:"react"}],185:[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),v=e("../../modal-loader"),b=n(v),y=e("../../modal-message"),g=n(y),_=e("../../yes-no-switch"),E=n(_),w=e("../../../index"),O=n(w),k=e("../../../services/ajax"),N=n(k),x=e("../../../services/polls"),j=n(x),P=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.countdown=function(){window.setTimeout(function(){a.state.countdown>1?(a.setState({countdown:a.state.countdown-1}),a.countdown()):a.state.confirm||a.setState({confirm:!0})},1e3)},a.state={isLoaded:!1,isLoading:!1,isDeleted:!1,error:null,countdown:5,confirm:!1,with_content:!1},a}return l(t,e),s(t,[{key:"componentDidMount",value:function(){var e=this;N["default"].get(this.props.profile.api["delete"]).then(function(){e.setState({isLoaded:!0}),e.countdown()},function(t){e.setState({isLoaded:!0,error:t.detail})})}},{key:"send",value:function(){return N["default"].post(this.props.profile.api["delete"],{with_content:this.state.with_content})}},{key:"handleSuccess",value:function(){j["default"].stop("user-profile"),this.state.with_content?this.setState({isDeleted:interpolate(gettext("%(username)s's account, threads, posts and other content has been deleted."),{username:this.props.profile.username},!0)}):this.setState({isDeleted:interpolate(gettext("%(username)s's account has been deleted and other content has been hidden."),{username:this.props.profile.username},!0)})}},{key:"getButtonLabel",value:function(){return this.state.confirm?interpolate(gettext("Delete %(username)s"),{username:this.props.profile.username},!0):interpolate(gettext("Please wait... (%(countdown)ss)"),{countdown:this.state.countdown},!0)}},{key:"getForm",value:function(){return u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("div",{className:"modal-body"},u["default"].createElement(h["default"],{label:gettext("User content"),"for":"id_with_content"},u["default"].createElement(E["default"],{id:"id_with_content",disabled:this.state.isLoading,labelOn:gettext("Delete together with user's account"),labelOff:gettext("Hide after deleting user's account"),onChange:this.bindInput("with_content"),value:this.state.with_content}))),u["default"].createElement("div",{className:"modal-footer"},u["default"].createElement("button",{type:"button",className:"btn btn-default","data-dismiss":"modal"},gettext("Cancel")),u["default"].createElement(d["default"],{className:"btn-danger",loading:this.state.isLoading,disabled:!this.state.confirm},this.getButtonLabel())))}},{key:"getDeletedBody",value:function(){return u["default"].createElement("div",{className:"modal-body"},u["default"].createElement("div",{className:"message-icon"},u["default"].createElement("span",{className:"material-icon"},"info_outline")),u["default"].createElement("div",{className:"message-body"},u["default"].createElement("p",{className:"lead"},this.state.isDeleted),u["default"].createElement("p",null,u["default"].createElement("a",{href:O["default"].get("USERS_LIST_URL")},gettext("Return to users list")))))}},{key:"getModalBody",value:function(){return this.state.error?u["default"].createElement(g["default"],{icon:"remove_circle_outline",message:this.state.error}):this.state.isLoaded?this.state.isDeleted?this.getDeletedBody():this.getForm():u["default"].createElement(b["default"],null)}},{key:"getClassName",value:function(){return this.state.error||this.state.isDeleted?"modal-dialog modal-message modal-delete-account":"modal-dialog modal-delete-account"}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName(),role:"document"},u["default"].createElement("div",{className:"modal-content"},u["default"].createElement("div",{className:"modal-header"},u["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},u["default"].createElement("span",{"aria-hidden":"true"},"×")),u["default"].createElement("h4",{className:"modal-title"},gettext("Delete user account"))),this.getModalBody()))}}]),t}(p["default"]);a["default"]=P},{"../../../index":291,"../../../services/ajax":352,"../../../services/polls":361,"../../button":5,"../../form":52,"../../form-group":51,"../../modal-loader":57,"../../modal-message":58,"../../yes-no-switch":289,react:"react"}],186:[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("react-redux"),d=e("./avatar-controls"),f=n(d),p=e("./change-username"),m=n(p),h=e("./delete-account"),v=n(h),b=e("../../../services/modal"),y=n(b),g=function(e){return{tick:e.tick,user:e.auth,profile:e.profile}},_=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.showAvatarDialog=function(){y["default"].show((0,c.connect)(g)(f["default"]))},n.showRenameDialog=function(){y["default"].show((0,c.connect)(g)(m["default"]))},n.showDeleteDialog=function(){y["default"].show((0,c.connect)(g)(v["default"]))},l=a,o(n,l)}return l(t,e),s(t,[{key:"getAvatarButton",value:function(){return this.props.profile.acl.can_moderate_avatar?u["default"].createElement("li",null,u["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.showAvatarDialog},u["default"].createElement("span",{className:"material-icon"},"portrait"),gettext("Avatar controls"))):null}},{key:"getRenameButton",value:function(){return this.props.profile.acl.can_rename?u["default"].createElement("li",null,u["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.showRenameDialog},u["default"].createElement("span",{className:"material-icon"},"credit_card"),gettext("Change username"))):null}},{key:"getDeleteButton",value:function(){return this.props.profile.acl.can_delete?u["default"].createElement("li",null,u["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.showDeleteDialog},u["default"].createElement("span",{className:"material-icon"},"clear"),gettext("Delete account"))):null}},{key:"render",value:function(){return u["default"].createElement("ul",{className:"dropdown-menu dropdown-menu-right stick-to-bottom",role:"menu"},this.getAvatarButton(),this.getRenameButton(),this.getDeleteButton())}}]),t}(u["default"].Component);a["default"]=_},{"../../../services/modal":358,"./avatar-controls":183,"./change-username":184,"./delete-account":185,react:"react","react-redux":"react-redux"}],187:[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 c["default"].createElement("div",{className:"page-tabs hidden-md hidden-lg"},c["default"].createElement("div",{className:"container"},c["default"].createElement("ul",{className:"nav nav-pills",role:"menu"},e.pages.map(function(t){return c["default"].createElement(p["default"],{path:e.baseUrl+t.component+"/",key:t.component},c["default"].createElement(d.Link,{to:e.baseUrl+t.component+"/",onClick:e.hideNav},c["default"].createElement("span",{className:"material-icon"},t.icon),t.name))}))))}Object.defineProperty(a,"__esModule",{value:!0}),a.SideNav=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.CompactNav=s;var u=e("react"),c=n(u),d=e("react-router"),f=e("../li"),p=n(f),m=e("./follow-button"),h=(n(m),e("../../index"));n(h),a.SideNav=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:"render",value:function(){var e=this;return c["default"].createElement("div",{className:"list-group nav-side"},this.props.pages.map(function(t){return c["default"].createElement(d.Link,{to:e.props.baseUrl+t.component+"/",className:"list-group-item",activeClassName:"active",key:t.component},c["default"].createElement("span",{className:"material-icon"},t.icon),t.name)}))}}]),t}(c["default"].Component)},{"../../index":291,"../li":53,"./follow-button":178,react:"react","react-router":"react-router"}],188:[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{isAuthenticated:e.auth.user.id===e.profile.id,tick:e.tick.tick,user:e.auth.user,users:e.users,posts:e.posts,profile:e.profile,profileDetails:e["profile-details"],"username-history":e["username-history"]}}function i(){var e=[];return L["default"].get("PROFILE_PAGES").forEach(function(t){e.push(Object.assign({},t,{path:L["default"].get("PROFILE").url+t.component+"/",component:(0,f.connect)(s)(H[t.component])}))}),e}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("./ban-details"),m=n(p),h=e("./details"),v=n(h),b=e("./feed"),y=e("./followers"),g=n(y),_=e("./follows"),E=n(_),w=e("./username-history"),O=n(w),k=e("./header"),N=n(k),x=e("./moderation/nav"),j=(n(x),e("./navs")),P=e("../avatar"),C=n(P),M=e("../with-dropdown"),S=n(M),T=e("../.."),L=n(T),R=e("../../reducers/profile"),A=e("../../services/polls"),I=n(A),D=e("../../services/store"),U=n(D),B=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.update=function(e){U["default"].dispatch((0,R.hydrate)(e))},a.startPolling(e.profile.api.index),a}return l(t,e),u(t,[{key:"startPolling",value:function(e){I["default"].start({poll:"user-profile",url:e,frequency:9e4,update:this.update})}},{key:"render",value:function(){var e=L["default"].get("PROFILE").url,t=L["default"].get("PROFILE_PAGES");return d["default"].createElement("div",{className:"page page-user-profile"},d["default"].createElement(N["default"],{baseUrl:e,pages:t,profile:this.props.profile,toggleNav:this.toggleNav,toggleModeration:this.toggleModeration,user:this.props.user}),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("div",{className:"profile-side-avatar"},d["default"].createElement(C["default"],{user:this.props.profile,size:"400"})),d["default"].createElement(j.SideNav,{baseUrl:e,pages:t,profile:this.props.profile})),d["default"].createElement("div",{className:"col-md-9"},this.props.children))))}}]),t}(S["default"]);a["default"]=B;var H={posts:b.Posts,threads:b.Threads,followers:g["default"],follows:E["default"],details:v["default"],"username-history":O["default"],"ban-details":m["default"]}},{"../..":291,"../../reducers/profile":343,"../../services/polls":361,"../../services/store":364,"../avatar":3,"../with-dropdown":288,"./ban-details":167,"./details":175,"./feed":176,"./followers":179,"./follows":180,"./header":181,"./moderation/nav":186,"./navs":187,"./username-history":189,react:"react","react-redux":"react-redux"}],189:[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("../quick-search"),p=n(f),m=e("../username-history/root"),h=n(m),v=e("../../index"),b=n(v),y=e("../../reducers/username-history"),g=e("../../services/ajax"),_=n(g),E=e("../../services/snackbar"),w=n(E),O=e("../../services/store"),k=n(O),N=e("../../services/page-title"),x=n(N),j=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.loadMore=function(){a.setState({isBusy:!0}),a.loadChanges(a.state.page+1,a.state.search)},a.search=function(e){a.setState({isLoaded:!1,isBusy:!0,search:e.target.value,count:0,more:0,page:1,pages:1}),a.loadChanges(1,e.target.value)},b["default"].has("PROFILE_NAME_HISTORY")?a.initWithPreloadedData(b["default"].pop("PROFILE_NAME_HISTORY")):a.initWithoutPreloadedData(),a}return l(t,e),s(t,[{key:"initWithPreloadedData",value:function(e){this.state={isLoaded:!0,isBusy:!1,search:"",count:e.count,more:e.more,page:e.page,pages:e.pages},k["default"].dispatch((0,y.hydrate)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1,isBusy:!1,search:"",count:0,more:0,page:1,pages:1},this.loadChanges()}},{key:"loadChanges",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;_["default"].get(b["default"].get("USERNAME_CHANGES_API"),{user:this.props.profile.id,search:a,page:t||1},"search-username-history").then(function(a){1===t?k["default"].dispatch((0,y.hydrate)(a.results)):k["default"].dispatch((0,y.append)(a.results)),e.setState({isLoaded:!0,isBusy:!1,count:a.count,more:a.more,page:a.page,pages:a.pages})},function(e){w["default"].apiError(e)})}},{key:"componentDidMount",value:function(){x["default"].set({title:gettext("Username history"),parent:this.props.profile.username})}},{key:"getLabel",value:function(){if(this.state.isLoaded){if(this.state.search){var e=ngettext("Found %(changes)s username change.","Found %(changes)s username changes.",this.state.count);return interpolate(e,{changes:this.state.count},!0)}if(this.props.profile.id===this.props.user.id){var t=ngettext("Your username was changed %(changes)s time.","Your username was changed %(changes)s times.",this.state.count);return interpolate(t,{changes:this.state.count},!0)}var a=ngettext("%(username)s's username was changed %(changes)s time.","%(username)s's username was changed %(changes)s times.",this.state.count);return interpolate(a,{username:this.props.profile.username,changes:this.state.count},!0)}return gettext("Loading...")}},{key:"getEmptyMessage",value:function(){return this.state.search?gettext("Search returned no username changes matching specified criteria."):this.props.user.id===this.props.profile.id?gettext("No name changes have been recorded for your account."):interpolate(gettext("%(username)s's username was never changed."),{username:this.props.profile.username},!0)}},{key:"getMoreButton",value:function(){return this.state.more?u["default"].createElement("div",{className:"pager-more"},u["default"].createElement(d["default"],{className:"btn btn-default btn-outline",loading:this.state.isBusy,onClick:this.loadMore},interpolate(gettext("Show older (%(more)s)"),{more:this.state.more},!0))):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"profile-username-history"},u["default"].createElement("nav",{className:"toolbar"},u["default"].createElement("h3",{className:"toolbar-left"},this.getLabel()),u["default"].createElement(p["default"],{className:"toolbar-right",value:this.state.search,onChange:this.search,placeholder:gettext("Search history...")})),u["default"].createElement(h["default"],{isLoaded:this.state.isLoaded,emptyMessage:this.getEmptyMessage(),changes:this.props["username-history"]}),this.getMoreButton())}}]),t}(u["default"].Component);a["default"]=j},{"../../index":291,"../../reducers/username-history":350,"../../services/ajax":352,"../../services/page-title":360,"../../services/snackbar":363,"../../services/store":364,"../button":5,"../quick-search":190,"../username-history/root":269,react:"react"}],190:[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));
|
|
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/posting"),d=n(c),f=e("../.."),p=n(f),m=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(){d["default"].open({mode:"START_PRIVATE",submit:p["default"].get("PRIVATE_THREADS_API"),to:[n.props.profile]})},l=a,o(n,l)}return l(t,e),s(t,[{key:"render",value:function(){var e=this.props.user.acl.can_start_private_threads,t=this.props.user.id===this.props.profile.id;return!e||t?null:u["default"].createElement("button",{className:this.props.className,onClick:this.onClick,type:"button"},u["default"].createElement("span",{className:"material-icon"},"comment"),gettext("Message"))}}]),t}(u["default"].Component);a["default"]=m},{"../..":291,"../../services/posting":362,react:"react"}],183:[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),v=e("../../modal-loader"),b=n(v),y=e("../../yes-no-switch"),g=n(y),_=e("../../modal-message"),E=n(_),w=e("../../../reducers/users"),O=e("../../../services/ajax"),k=n(O),N=e("../../../services/snackbar"),x=n(N),j=e("../../../services/store"),P=n(j),C=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={isLoaded:!1,isLoading:!1,error:null,is_avatar_locked:"",avatar_lock_user_message:"",avatar_lock_staff_message:""},a}return l(t,e),s(t,[{key:"componentDidMount",value:function(){var e=this;k["default"].get(this.props.profile.api.moderate_avatar).then(function(t){e.setState({isLoaded:!0,is_avatar_locked:t.is_avatar_locked,avatar_lock_user_message:t.avatar_lock_user_message||"",avatar_lock_staff_message:t.avatar_lock_staff_message||""})},function(t){e.setState({isLoaded:!0,error:t.detail})})}},{key:"clean",value:function(){return!!this.isValid()||(x["default"].error(this.validate().username[0]),!1)}},{key:"send",value:function(){return k["default"].post(this.props.profile.api.moderate_avatar,{is_avatar_locked:this.state.is_avatar_locked,avatar_lock_user_message:this.state.avatar_lock_user_message,avatar_lock_staff_message:this.state.avatar_lock_staff_message})}},{key:"handleSuccess",value:function(e){P["default"].dispatch((0,w.updateAvatar)(this.props.profile,e.avatar_hash)),x["default"].success(gettext("Avatar controls have been changed."))}},{key:"getFormBody",value:function(){return u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("div",{className:"modal-body"},u["default"].createElement(h["default"],{label:gettext("Lock avatar"),helpText:gettext("Locking user avatar will prohibit user from changing his avatar and will reset his/her avatar to default one."),"for":"id_is_avatar_locked"},u["default"].createElement(g["default"],{id:"id_is_avatar_locked",disabled:this.state.isLoading,iconOn:"lock_outline",iconOff:"lock_open",labelOn:gettext("Disallow user from changing avatar"),labelOff:gettext("Allow user to change avatar"),onChange:this.bindInput("is_avatar_locked"),value:this.state.is_avatar_locked})),u["default"].createElement(h["default"],{label:gettext("User message"),helpText:gettext("Optional message for user explaining why he/she is prohibited form changing avatar."),"for":"id_avatar_lock_user_message"},u["default"].createElement("textarea",{id:"id_avatar_lock_user_message",className:"form-control",rows:"4",disabled:this.state.isLoading,onChange:this.bindInput("avatar_lock_user_message"),value:this.state.avatar_lock_user_message})),u["default"].createElement(h["default"],{label:gettext("Staff message"),helpText:gettext("Optional message for forum team members explaining why user is prohibited form changing avatar."),"for":"id_avatar_lock_staff_message"},u["default"].createElement("textarea",{id:"id_avatar_lock_staff_message",className:"form-control",rows:"4",disabled:this.state.isLoading,onChange:this.bindInput("avatar_lock_staff_message"),value:this.state.avatar_lock_staff_message}))),u["default"].createElement("div",{className:"modal-footer"},u["default"].createElement("button",{type:"button",className:"btn btn-default","data-dismiss":"modal"},gettext("Close")),u["default"].createElement(d["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Save changes"))))}},{key:"getModalBody",value:function(){return this.state.error?u["default"].createElement(E["default"],{icon:"remove_circle_outline",message:this.state.error}):this.state.isLoaded?this.getFormBody():u["default"].createElement(b["default"],null)}},{key:"getClassName",value:function(){return this.state.error?"modal-dialog modal-message modal-avatar-controls":"modal-dialog modal-avatar-controls"}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName(),role:"document"},u["default"].createElement("div",{className:"modal-content"},u["default"].createElement("div",{className:"modal-header"},u["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},u["default"].createElement("span",{"aria-hidden":"true"},"×")),u["default"].createElement("h4",{className:"modal-title"},gettext("Avatar controls"))),this.getModalBody()))}}]),t}(p["default"]);a["default"]=C},{"../../../reducers/users":351,"../../../services/ajax":352,"../../../services/snackbar":363,"../../../services/store":364,"../../button":5,"../../form":52,"../../form-group":51,"../../modal-loader":57,"../../modal-message":58,"../../yes-no-switch":289,react:"react"}],184:[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"),v=r(h),b=e("../../modal-loader"),y=r(b),g=e("../../modal-message"),_=r(g),E=e("../../../reducers/username-history"),w=e("../../../reducers/users"),O=e("../../../services/ajax"),k=r(O),N=e("../../../services/snackbar"),x=r(N),j=e("../../../services/store"),P=r(j),C=e("../../../utils/validators"),M=n(C),S=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,isLoading:!1,error:null,username:"",validators:{username:[M.usernameContent()]}},a}return s(t,e),i(t,[{key:"componentDidMount",value:function(){var e=this;k["default"].get(this.props.profile.api.moderate_username).then(function(){e.setState({isLoaded:!0})},function(t){e.setState({isLoaded:!0,error:t.detail})})}},{key:"clean",value:function(){return!!this.isValid()||(x["default"].error(this.validate().username[0]),!1)}},{key:"send",value:function(){return k["default"].post(this.props.profile.api.moderate_username,{username:this.state.username})}},{key:"handleSuccess",value:function(e){this.setState({username:""}),P["default"].dispatch((0,E.addNameChange)(e,this.props.profile,this.props.user)),P["default"].dispatch((0,w.updateUsername)(this.props.profile,e.username,e.slug)),x["default"].success(gettext("Username has been changed."))}},{key:"getFormBody",value:function(){return c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"modal-body"},c["default"].createElement(v["default"],{label:gettext("New username"),"for":"id_username"},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:"modal-footer"},c["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},gettext("Cancel")),c["default"].createElement(f["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Change username"))))}},{key:"getModalBody",value:function(){return this.state.error?c["default"].createElement(_["default"],{icon:"remove_circle_outline",message:this.state.error}):this.state.isLoaded?this.getFormBody():c["default"].createElement(y["default"],null)}},{key:"getClassName",value:function(){return this.state.error?"modal-dialog modal-message modal-rename-user":"modal-dialog modal-rename-user"}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName(),role:"document"},c["default"].createElement("div",{className:"modal-content"},c["default"].createElement("div",{className:"modal-header"},c["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},c["default"].createElement("span",{"aria-hidden":"true"},"×")),c["default"].createElement("h4",{className:"modal-title"},gettext("Change username"))),this.getModalBody()))}}]),t}(m["default"]);a["default"]=S},{"../../../reducers/username-history":350,"../../../reducers/users":351,"../../../services/ajax":352,"../../../services/snackbar":363,"../../../services/store":364,"../../../utils/validators":380,"../../button":5,"../../form":52,"../../form-group":51,"../../modal-loader":57,"../../modal-message":58,react:"react"}],185:[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),v=e("../../modal-loader"),b=n(v),y=e("../../modal-message"),g=n(y),_=e("../../yes-no-switch"),E=n(_),w=e("../../../index"),O=n(w),k=e("../../../services/ajax"),N=n(k),x=e("../../../services/polls"),j=n(x),P=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.countdown=function(){window.setTimeout(function(){a.state.countdown>1?(a.setState({countdown:a.state.countdown-1}),a.countdown()):a.state.confirm||a.setState({confirm:!0})},1e3)},a.state={isLoaded:!1,isLoading:!1,isDeleted:!1,error:null,countdown:5,confirm:!1,with_content:!1},a}return l(t,e),s(t,[{key:"componentDidMount",value:function(){var e=this;N["default"].get(this.props.profile.api["delete"]).then(function(){e.setState({isLoaded:!0}),e.countdown()},function(t){e.setState({isLoaded:!0,error:t.detail})})}},{key:"send",value:function(){return N["default"].post(this.props.profile.api["delete"],{with_content:this.state.with_content})}},{key:"handleSuccess",value:function(){j["default"].stop("user-profile"),this.state.with_content?this.setState({isDeleted:interpolate(gettext("%(username)s's account, threads, posts and other content has been deleted."),{username:this.props.profile.username},!0)}):this.setState({isDeleted:interpolate(gettext("%(username)s's account has been deleted and other content has been hidden."),{username:this.props.profile.username},!0)})}},{key:"getButtonLabel",value:function(){return this.state.confirm?interpolate(gettext("Delete %(username)s"),{username:this.props.profile.username},!0):interpolate(gettext("Please wait... (%(countdown)ss)"),{countdown:this.state.countdown},!0)}},{key:"getForm",value:function(){return u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("div",{className:"modal-body"},u["default"].createElement(h["default"],{label:gettext("User content"),"for":"id_with_content"},u["default"].createElement(E["default"],{id:"id_with_content",disabled:this.state.isLoading,labelOn:gettext("Delete together with user's account"),labelOff:gettext("Hide after deleting user's account"),onChange:this.bindInput("with_content"),value:this.state.with_content}))),u["default"].createElement("div",{className:"modal-footer"},u["default"].createElement("button",{type:"button",className:"btn btn-default","data-dismiss":"modal"},gettext("Cancel")),u["default"].createElement(d["default"],{className:"btn-danger",loading:this.state.isLoading,disabled:!this.state.confirm},this.getButtonLabel())))}},{key:"getDeletedBody",value:function(){return u["default"].createElement("div",{className:"modal-body"},u["default"].createElement("div",{className:"message-icon"},u["default"].createElement("span",{className:"material-icon"},"info_outline")),u["default"].createElement("div",{className:"message-body"},u["default"].createElement("p",{className:"lead"},this.state.isDeleted),u["default"].createElement("p",null,u["default"].createElement("a",{href:O["default"].get("USERS_LIST_URL")},gettext("Return to users list")))))}},{key:"getModalBody",value:function(){return this.state.error?u["default"].createElement(g["default"],{icon:"remove_circle_outline",message:this.state.error}):this.state.isLoaded?this.state.isDeleted?this.getDeletedBody():this.getForm():u["default"].createElement(b["default"],null)}},{key:"getClassName",value:function(){return this.state.error||this.state.isDeleted?"modal-dialog modal-message modal-delete-account":"modal-dialog modal-delete-account"}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName(),role:"document"},u["default"].createElement("div",{className:"modal-content"},u["default"].createElement("div",{className:"modal-header"},u["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},u["default"].createElement("span",{"aria-hidden":"true"},"×")),u["default"].createElement("h4",{className:"modal-title"},gettext("Delete user account"))),this.getModalBody()))}}]),t}(p["default"]);a["default"]=P},{"../../../index":291,"../../../services/ajax":352,"../../../services/polls":361,"../../button":5,"../../form":52,"../../form-group":51,"../../modal-loader":57,"../../modal-message":58,"../../yes-no-switch":289,react:"react"}],186:[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("react-redux"),d=e("./avatar-controls"),f=n(d),p=e("./change-username"),m=n(p),h=e("./delete-account"),v=n(h),b=e("../../../services/modal"),y=n(b),g=function(e){return{tick:e.tick,user:e.auth,profile:e.profile}},_=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.showAvatarDialog=function(){y["default"].show((0,c.connect)(g)(f["default"]))},n.showRenameDialog=function(){y["default"].show((0,c.connect)(g)(m["default"]))},n.showDeleteDialog=function(){y["default"].show((0,c.connect)(g)(v["default"]))},l=a,o(n,l)}return l(t,e),s(t,[{key:"getAvatarButton",value:function(){return this.props.profile.acl.can_moderate_avatar?u["default"].createElement("li",null,u["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.showAvatarDialog},u["default"].createElement("span",{className:"material-icon"},"portrait"),gettext("Avatar controls"))):null}},{key:"getRenameButton",value:function(){return this.props.profile.acl.can_rename?u["default"].createElement("li",null,u["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.showRenameDialog},u["default"].createElement("span",{className:"material-icon"},"credit_card"),gettext("Change username"))):null}},{key:"getDeleteButton",value:function(){return this.props.profile.acl.can_delete?u["default"].createElement("li",null,u["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.showDeleteDialog},u["default"].createElement("span",{className:"material-icon"},"clear"),gettext("Delete account"))):null}},{key:"render",value:function(){return u["default"].createElement("ul",{className:"dropdown-menu dropdown-menu-right stick-to-bottom",role:"menu"},this.getAvatarButton(),this.getRenameButton(),this.getDeleteButton())}}]),t}(u["default"].Component);a["default"]=_},{"../../../services/modal":358,"./avatar-controls":183,"./change-username":184,"./delete-account":185,react:"react","react-redux":"react-redux"}],187:[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 c["default"].createElement("div",{className:"page-tabs hidden-md hidden-lg"},c["default"].createElement("div",{className:"container"},c["default"].createElement("ul",{className:"nav nav-pills",role:"menu"},e.pages.map(function(t){return c["default"].createElement(p["default"],{path:e.baseUrl+t.component+"/",key:t.component},c["default"].createElement(d.Link,{to:e.baseUrl+t.component+"/",onClick:e.hideNav},c["default"].createElement("span",{className:"material-icon"},t.icon),t.name))}))))}Object.defineProperty(a,"__esModule",{value:!0}),a.SideNav=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.CompactNav=s;var u=e("react"),c=n(u),d=e("react-router"),f=e("../li"),p=n(f),m=e("./follow-button"),h=(n(m),e("../../index"));n(h),a.SideNav=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:"render",value:function(){var e=this;return c["default"].createElement("div",{className:"list-group nav-side"},this.props.pages.map(function(t){return c["default"].createElement(d.Link,{to:e.props.baseUrl+t.component+"/",className:"list-group-item",activeClassName:"active",key:t.component},c["default"].createElement("span",{className:"material-icon"},t.icon),t.name)}))}}]),t}(c["default"].Component)},{"../../index":291,"../li":53,"./follow-button":178,react:"react","react-router":"react-router"}],188:[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{isAuthenticated:e.auth.user.id===e.profile.id,tick:e.tick.tick,user:e.auth.user,users:e.users,posts:e.posts,profile:e.profile,profileDetails:e["profile-details"],"username-history":e["username-history"]}}function i(){var e=[];return L["default"].get("PROFILE_PAGES").forEach(function(t){e.push(Object.assign({},t,{path:L["default"].get("PROFILE").url+t.component+"/",component:(0,f.connect)(s)(H[t.component])}))}),e}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("./ban-details"),m=n(p),h=e("./details"),v=n(h),b=e("./feed"),y=e("./followers"),g=n(y),_=e("./follows"),E=n(_),w=e("./username-history"),O=n(w),k=e("./header"),N=n(k),x=e("./moderation/nav"),j=(n(x),e("./navs")),P=e("../avatar"),C=n(P),M=e("../with-dropdown"),S=n(M),T=e("../.."),L=n(T),R=e("../../reducers/profile"),A=e("../../services/polls"),I=n(A),D=e("../../services/store"),U=n(D),B=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.update=function(e){U["default"].dispatch((0,R.hydrate)(e))},a.startPolling(e.profile.api.index),a}return l(t,e),u(t,[{key:"startPolling",value:function(e){I["default"].start({poll:"user-profile",url:e,frequency:9e4,update:this.update})}},{key:"render",value:function(){var e=L["default"].get("PROFILE").url,t=L["default"].get("PROFILE_PAGES");return d["default"].createElement("div",{className:"page page-user-profile"},d["default"].createElement(N["default"],{baseUrl:e,pages:t,profile:this.props.profile,toggleNav:this.toggleNav,toggleModeration:this.toggleModeration,user:this.props.user}),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("div",{className:"profile-side-avatar"},d["default"].createElement(C["default"],{user:this.props.profile,size:"400"})),d["default"].createElement(j.SideNav,{baseUrl:e,pages:t,profile:this.props.profile})),d["default"].createElement("div",{className:"col-md-9"},this.props.children))))}}]),t}(S["default"]);a["default"]=B;var H={posts:b.Posts,threads:b.Threads,followers:g["default"],follows:E["default"],details:v["default"],"username-history":O["default"],"ban-details":m["default"]}},{"../..":291,"../../reducers/profile":343,"../../services/polls":361,"../../services/store":364,"../avatar":3,"../with-dropdown":288,"./ban-details":167,"./details":175,"./feed":176,"./followers":179,"./follows":180,"./header":181,"./moderation/nav":186,"./navs":187,"./username-history":189,react:"react","react-redux":"react-redux"}],189:[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("../quick-search"),p=n(f),m=e("../username-history/root"),h=n(m),v=e("../../index"),b=n(v),y=e("../../reducers/username-history"),g=e("../../services/ajax"),_=n(g),E=e("../../services/snackbar"),w=n(E),O=e("../../services/store"),k=n(O),N=e("../../services/page-title"),x=n(N),j=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.loadMore=function(){a.setState({isBusy:!0}),a.loadChanges(a.state.page+1,a.state.search)},a.search=function(e){a.setState({isLoaded:!1,isBusy:!0,search:e.target.value,count:0,more:0,page:1,pages:1}),a.loadChanges(1,e.target.value)},b["default"].has("PROFILE_NAME_HISTORY")?a.initWithPreloadedData(b["default"].pop("PROFILE_NAME_HISTORY")):a.initWithoutPreloadedData(),a}return l(t,e),s(t,[{key:"initWithPreloadedData",value:function(e){this.state={isLoaded:!0,isBusy:!1,search:"",count:e.count,more:e.more,page:e.page,pages:e.pages},k["default"].dispatch((0,y.hydrate)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1,isBusy:!1,search:"",count:0,more:0,page:1,pages:1},this.loadChanges()}},{key:"loadChanges",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;_["default"].get(b["default"].get("USERNAME_CHANGES_API"),{user:this.props.profile.id,search:a,page:t||1},"search-username-history").then(function(a){1===t?k["default"].dispatch((0,y.hydrate)(a.results)):k["default"].dispatch((0,y.append)(a.results)),e.setState({isLoaded:!0,isBusy:!1,count:a.count,more:a.more,page:a.page,pages:a.pages})},function(e){w["default"].apiError(e)})}},{key:"componentDidMount",value:function(){x["default"].set({title:gettext("Username history"),parent:this.props.profile.username})}},{key:"getLabel",value:function(){if(this.state.isLoaded){if(this.state.search){var e=ngettext("Found %(changes)s username change.","Found %(changes)s username changes.",this.state.count);return interpolate(e,{changes:this.state.count},!0)}if(this.props.profile.id===this.props.user.id){var t=ngettext("Your username was changed %(changes)s time.","Your username was changed %(changes)s times.",this.state.count);return interpolate(t,{changes:this.state.count},!0)}var a=ngettext("%(username)s's username was changed %(changes)s time.","%(username)s's username was changed %(changes)s times.",this.state.count);return interpolate(a,{username:this.props.profile.username,changes:this.state.count},!0)}return gettext("Loading...")}},{key:"getEmptyMessage",value:function(){return this.state.search?gettext("Search returned no username changes matching specified criteria."):this.props.user.id===this.props.profile.id?gettext("No name changes have been recorded for your account."):interpolate(gettext("%(username)s's username was never changed."),{username:this.props.profile.username},!0)}},{key:"getMoreButton",value:function(){return this.state.more?u["default"].createElement("div",{className:"pager-more"},u["default"].createElement(d["default"],{className:"btn btn-default btn-outline",loading:this.state.isBusy,onClick:this.loadMore},interpolate(gettext("Show older (%(more)s)"),{more:this.state.more},!0))):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"profile-username-history"},u["default"].createElement("nav",{className:"toolbar"},u["default"].createElement("h3",{className:"toolbar-left"},this.getLabel()),u["default"].createElement(p["default"],{className:"toolbar-right",value:this.state.search,onChange:this.search,placeholder:gettext("Search history...")})),u["default"].createElement(h["default"],{isLoaded:this.state.isLoaded,emptyMessage:this.getEmptyMessage(),changes:this.props["username-history"]}),this.getMoreButton())}}]),t}(u["default"].Component);a["default"]=j},{"../../index":291,"../../reducers/username-history":350,"../../services/ajax":352,"../../services/page-title":360,"../../services/snackbar":363,"../../services/store":364,"../button":5,"../quick-search":190,"../username-history/root":269,react:"react"}],190:[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:"getClassName",value:function(){return this.props.className?"form-search "+this.props.className:"form-search"}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName()},u["default"].createElement("input",{type:"text",className:"form-control",value:this.props.value,onChange:this.props.onChange,placeholder:this.props.placeholder||gettext("Search...")}),u["default"].createElement("span",{className:"material-icon"},"search"))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],191:[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=e("./register.js"),p=n(f),m=e("../services/ajax"),h=n(m),v=e("../services/captcha"),b=n(v),y=e("../services/modal"),g=n(y),_=e("../services/snackbar"),E=n(_),w=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.showRegisterForm=function(){"closed"===misago.get("SETTINGS").account_activation?E["default"].info(gettext("New registrations are currently disabled.")):a.state.isLoaded?g["default"].show(u["default"].createElement(p["default"],{criteria:a.state.criteria})):(a.setState({isLoading:!0}),Promise.all([b["default"].load(),h["default"].get(misago.get("AUTH_CRITERIA_API"))]).then(function(e){a.setState({isLoading:!1,isLoaded:!0,criteria:e[1]}),g["default"].show(u["default"].createElement(p["default"],{criteria:e[1]}))},function(){a.setState({isLoading:!1}),E["default"].error(gettext("Registration is currently unavailable due to an error."))}))},a.state={isLoading:!1,isLoaded:!1,criteria:null},a}return l(t,e),s(t,[{key:"getClassName",value:function(){return this.props.className+(this.state.isLoading?" btn-loading":"")}},{key:"render",value:function(){return u["default"].createElement("button",{className:"btn "+this.getClassName(),disabled:this.state.isLoading,onClick:this.showRegisterForm,type:"button"},gettext("Register"),this.state.isLoading?u["default"].createElement(d["default"],null):null)}}]),t}(u["default"].Component);a["default"]=w},{"../services/ajax":352,"../services/captcha":354,"../services/modal":358,"../services/snackbar":363,"./loader":54,"./register.js":192,react:"react"}],192:[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.RegisterComplete=a.RegisterForm=void 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}}(),c=e("react"),d=r(c),f=e("./button"),p=r(f),m=e("./form"),h=r(m),v=e("./form-group"),b=r(v),y=e("./password-strength"),g=r(y),_=e(".."),E=r(_),w=e("../services/ajax"),O=r(w),k=e("../services/auth"),N=r(k),x=e("../services/captcha"),j=r(x),P=e("../services/modal"),C=r(P),M=e("../services/snackbar"),S=r(M),T=e("../utils/banned-page"),L=r(T),R=e("../utils/validators"),A=n(R),I=a.RegisterForm=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e)),n=a.props.criteria,r=n.username,s=n.password,i=0;return s.forEach(function(e){"MinimumLengthValidator"===e.name&&(i=e.min_length)}),a.state={isLoading:!1,username:"",email:"",password:"",captcha:"",validators:{username:[A.usernameContent(),A.usernameMinLength(r.min_length),A.usernameMaxLength(r.max_length)],email:[A.email()],password:[A.passwordMinLength(i)],captcha:j["default"].validator()},errors:{}},a}return s(t,e),u(t,[{key:"clean",value:function(){return!!this.isValid()||(S["default"].error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return O["default"].post(E["default"].get("USERS_API"),{username:this.state.username,email:this.state.email,password:this.state.password,captcha:this.state.captcha})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){400===e.status?(this.setState({errors:Object.assign({},this.state.errors,e)}),e.__all__&&e.__all__.length>0?S["default"].error(e.__all__[0]):S["default"].error(gettext("Form contains errors."))):403===e.status&&e.ban?((0,L["default"])(e.ban),C["default"].hide()):S["default"].apiError(e)}},{key:"getLegalFootNote",value:function(){return E["default"].get("TERMS_OF_SERVICE_URL")?d["default"].createElement("p",{className:"legal-footnote"},d["default"].createElement("span",{className:"material-icon"},"info_outline"),d["default"].createElement("a",{href:E["default"].get("TERMS_OF_SERVICE_URL"),target:"_blank"},gettext("By registering you agree to site's terms and conditions."))):null}},{key:"render",value:function(){return d["default"].createElement("div",{className:"modal-dialog modal-register",role:"document"},d["default"].createElement("div",{className:"modal-content"},d["default"].createElement("div",{className:"modal-header"},d["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},d["default"].createElement("span",{"aria-hidden":"true"},"×")),d["default"].createElement("h4",{className:"modal-title"},gettext("Register"))),d["default"].createElement("form",{onSubmit:this.handleSubmit},d["default"].createElement("input",{type:"type",style:{display:"none"}}),d["default"].createElement("input",{type:"password",style:{display:"none"}}),d["default"].createElement("div",{className:"modal-body"},d["default"].createElement(b["default"],{label:gettext("Username"),"for":"id_username",validation:this.state.errors.username},d["default"].createElement("input",{type:"text",id:"id_username",className:"form-control","aria-describedby":"id_username_status",disabled:this.state.isLoading,onChange:this.bindInput("username"),value:this.state.username})),d["default"].createElement(b["default"],{label:gettext("E-mail"),"for":"id_email",validation:this.state.errors.email},d["default"].createElement("input",{type:"text",id:"id_email",className:"form-control","aria-describedby":"id_email_status",disabled:this.state.isLoading,onChange:this.bindInput("email"),value:this.state.email})),d["default"].createElement(b["default"],{label:gettext("Password"),"for":"id_password",validation:this.state.errors.password,extra:d["default"].createElement(g["default"],{password:this.state.password,inputs:[this.state.username,this.state.email]})},d["default"].createElement("input",{type:"password",id:"id_password",className:"form-control","aria-describedby":"id_password_status",disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password})),j["default"].component({form:this}),this.getLegalFootNote()),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("Register account"))))))}}]),t}(h["default"]),D=a.RegisterComplete=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),u(t,[{key:"getLead",value:function(){return"user"===this.props.activation?gettext("%(username)s, your account has been created but you need to activate it before you will be able to sign in."):"admin"===this.props.activation?gettext("%(username)s, your account has been created but board administrator will have to activate it before you will be able to sign in."):void 0}},{key:"getSubscript",value:function(){return"user"===this.props.activation?gettext("We have sent an e-mail to %(email)s with link that you have to click to activate your account."):"admin"===this.props.activation?gettext("We will send an e-mail to %(email)s when this takes place."):void 0}},{key:"render",value:function(){return d["default"].createElement("div",{className:"modal-dialog modal-message modal-register",role:"document"},d["default"].createElement("div",{className:"modal-content"},d["default"].createElement("div",{className:"modal-header"},d["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},d["default"].createElement("span",{"aria-hidden":"true"},"×")),d["default"].createElement("h4",{className:"modal-title"},gettext("Registration complete"))),d["default"].createElement("div",{className:"modal-body"},d["default"].createElement("div",{className:"message-icon"},d["default"].createElement("span",{className:"material-icon"},"info_outline")),d["default"].createElement("div",{className:"message-body"},d["default"].createElement("p",{className:"lead"},interpolate(this.getLead(),{username:this.props.username},!0)),d["default"].createElement("p",null,interpolate(this.getSubscript(),{email:this.props.email},!0)),d["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},gettext("Ok"))))))}}]),t}(d["default"].Component),U=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.completeRegistration=function(e){"active"===e.activation?(C["default"].hide(),N["default"].signIn(e)):a.setState({complete:e})},a.state={complete:!1},a}return s(t,e),u(t,[{key:"render",value:function(){return this.state.complete?d["default"].createElement(D,{activation:this.state.complete.activation,email:this.state.complete.email,username:this.state.complete.username}):d["default"].createElement(I,i({callback:this.completeRegistration},this.props))}}]),t}(d["default"].Component);a["default"]=U},{"..":291,"../services/ajax":352,"../services/auth":353,"../services/captcha":354,"../services/modal":358,"../services/snackbar":363,"../utils/banned-page":366,"../utils/validators":380,"./button":5,"./form":52,"./form-group":51,"./password-strength":96,react:"react"}],193:[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.LinkSent=a.RequestLinkForm=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}}(),u=e("react"),c=r(u),d=e("../index"),f=r(d),p=e("./button"),m=r(p),h=e("./form"),v=r(h),b=e("../services/ajax"),y=r(b),g=e("../services/snackbar"),_=r(g),E=e("../utils/validators"),w=n(E),O=e("../utils/banned-page"),k=r(O),N=a.RequestLinkForm=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={isLoading:!1,email:"",validators:{email:[w.email()]}},a}return s(t,e),i(t,[{key:"clean",value:function(){return!!this.isValid()||(_["default"].error(gettext("Enter a valid email address.")),!1)}},{key:"send",value:function(){return y["default"].post(f["default"].get("SEND_ACTIVATION_API"),{email:this.state.email})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){["already_active","inactive_admin"].indexOf(e.code)>-1?_["default"].info(e.detail):403===e.status&&e.ban?(0,k["default"])(e.ban):_["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement("div",{className:"well well-form well-form-request-activation-link"},c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"form-group"},c["default"].createElement("div",{className:"control-input"},c["default"].createElement("input",{type:"text",className:"form-control",placeholder:gettext("Your e-mail address"),disabled:this.state.isLoading,onChange:this.bindInput("email"),value:this.state.email}))),c["default"].createElement(m["default"],{className:"btn-primary btn-block",loading:this.state.isLoading},gettext("Send link"))))}}]),t}(v["default"]),x=a.LinkSent=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"getMessage",value:function(){return interpolate(gettext("Activation link was sent to %(email)s"),{email:this.props.user.email},!0)}},{key:"render",value:function(){return c["default"].createElement("div",{className:"well well-form well-form-request-activation-link well-done"},c["default"].createElement("div",{className:"done-message"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"check")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",null,this.getMessage())),c["default"].createElement("button",{className:"btn btn-primary btn-block",type:"button",onClick:this.props.callback},gettext("Request another link"))))}}]),t}(c["default"].Component),j=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.complete=function(e){a.setState({complete:e})},a.reset=function(){a.setState({complete:!1})},a.state={complete:!1},a}return s(t,e),i(t,[{key:"render",value:function(){return this.state.complete?c["default"].createElement(x,{user:this.state.complete,callback:this.reset}):c["default"].createElement(N,{callback:this.complete})}}]),t}(c["default"].Component);a["default"]=j},{"../index":291,"../services/ajax":352,"../services/snackbar":363,"../utils/banned-page":366,"../utils/validators":380,"./button":5,"./form":52,react:"react"}],194:[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.AccountInactivePage=a.LinkSent=a.RequestResetForm=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}}(),u=e("react"),c=r(u),d=e("react-dom"),f=r(d),p=e("../index"),m=r(p),h=e("./button"),v=r(h),b=e("./form"),y=r(b),g=e("../services/ajax"),_=r(g),E=e("../services/snackbar"),w=r(E),O=e("../utils/validators"),k=n(O),N=e("../utils/banned-page"),x=r(N),j=a.RequestResetForm=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={isLoading:!1,email:"",validators:{email:[k.email()]}},a}return s(t,e),i(t,[{key:"clean",value:function(){return!!this.isValid()||(w["default"].error(gettext("Enter a valid email address.")),!1)}},{key:"send",value:function(){return _["default"].post(m["default"].get("SEND_PASSWORD_RESET_API"),{email:this.state.email})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){["inactive_user","inactive_admin"].indexOf(e.code)>-1?this.props.showInactivePage(e):403===e.status&&e.ban?(0,x["default"])(e.ban):w["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement("div",{className:"well well-form well-form-request-password-reset"},c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"form-group"},c["default"].createElement("div",{className:"control-input"},c["default"].createElement("input",{type:"text",className:"form-control",placeholder:gettext("Your e-mail address"),disabled:this.state.isLoading,onChange:this.bindInput("email"),value:this.state.email}))),c["default"].createElement(v["default"],{className:"btn-primary btn-block",loading:this.state.isLoading},gettext("Send link"))))}}]),t}(y["default"]),P=a.LinkSent=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"getMessage",value:function(){return interpolate(gettext("Reset password link was sent to %(email)s"),{email:this.props.user.email},!0)}},{key:"render",value:function(){return c["default"].createElement("div",{className:"well well-form well-form-request-password-reset well-done"},c["default"].createElement("div",{className:"done-message"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"check")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",null,this.getMessage())),c["default"].createElement("button",{type:"button",className:"btn btn-primary btn-block",onClick:this.props.callback},gettext("Request another link"))))}}]),t}(c["default"].Component),C=a.AccountInactivePage=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"getActivateButton",value:function(){return"inactive_user"===this.props.activation?c["default"].createElement("p",null,c["default"].createElement("a",{href:m["default"].get("REQUEST_ACTIVATION_URL")},gettext("Activate your account."))):null}},{key:"render",value:function(){return c["default"].createElement("div",{className:"page page-message page-message-info page-forgotten-password-inactive"},c["default"].createElement("div",{className:"container"},c["default"].createElement("div",{className:"message-panel"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"info_outline")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",{className:"lead"},gettext("Your account is inactive.")),c["default"].createElement("p",null,this.props.message),this.getActivateButton()))))}}]),t}(c["default"].Component),M=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.complete=function(e){a.setState({complete:e})},a.reset=function(){a.setState({complete:!1})},a.state={complete:!1},a}return s(t,e),i(t,[{key:"showInactivePage",value:function(e){f["default"].render(c["default"].createElement(C,{activation:e.code,message:e.detail}),document.getElementById("page-mount"))}},{key:"render",value:function(){return this.state.complete?c["default"].createElement(P,{callback:this.reset,user:this.state.complete}):c["default"].createElement(j,{callback:this.complete,showInactivePage:this.showInactivePage})}}]),t}(c["default"].Component);a["default"]=M},{"../index":291,"../services/ajax":352,"../services/snackbar":363,"../utils/banned-page":366,"../utils/validators":380,"./button":5,"./form":52,react:"react","react-dom":"react-dom"}],195:[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.PasswordChangedPage=a.ResetPasswordForm=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("react-dom"),d=n(c),f=e("../index"),p=n(f),m=e("./button"),h=n(m),v=e("./form"),b=n(v),y=e("./sign-in.js"),g=n(y),_=e("../services/ajax"),E=n(_),w=e("../services/auth"),O=n(w),k=e("../services/modal"),N=n(k),x=e("../services/snackbar"),j=n(x),P=e("../utils/banned-page"),C=n(P),M=a.ResetPasswordForm=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,password:""},a}return l(t,e),s(t,[{key:"clean",value:function(){return!!this.state.password.trim().length||(j["default"].error(gettext("Enter new password.")),!1)}},{key:"send",value:function(){return E["default"].post(p["default"].get("CHANGE_PASSWORD_API"),{password:this.state.password})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){403===e.status&&e.ban?(0,C["default"])(e.ban):j["default"].apiError(e)}},{key:"render",value:function(){return u["default"].createElement("div",{className:"well well-form well-form-reset-password"},u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("div",{className:"form-group"},u["default"].createElement("div",{className:"control-input"},u["default"].createElement("input",{type:"password",className:"form-control",placeholder:gettext("Enter new password"),disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password}))),u["default"].createElement(h["default"],{className:"btn-primary btn-block",loading:this.state.isLoading},gettext("Change password"))))}}]),t}(b["default"]),S=a.PasswordChangedPage=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:"getMessage",value:function(){return interpolate(gettext("%(username)s, your password has been changed successfully."),{username:this.props.user.username},!0)}},{key:"showSignIn",value:function(){N["default"].show(g["default"])}},{key:"render",value:function(){return u["default"].createElement("div",{className:"page page-message page-message-success page-forgotten-password-changed"},u["default"].createElement("div",{className:"container"},u["default"].createElement("div",{className:"message-panel"},u["default"].createElement("div",{className:"message-icon"},u["default"].createElement("span",{className:"material-icon"},"check")),u["default"].createElement("div",{className:"message-body"},u["default"].createElement("p",{className:"lead"},this.getMessage()),u["default"].createElement("p",null,gettext("You will have to sign in using new password before continuing.")),u["default"].createElement("p",null,u["default"].createElement("button",{type:"button",className:"btn btn-primary",onClick:this.showSignIn},gettext("Sign in")))))))}}]),t}(u["default"].Component),T=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.complete=function(e){O["default"].softSignOut(),$('#hidden-login-form input[name="redirect_to"]').remove(),d["default"].render(u["default"].createElement(S,{user:e}),document.getElementById("page-mount"))},l=a,o(n,l)}return l(t,e),s(t,[{key:"render",value:function(){return u["default"].createElement(M,{callback:this.complete})}}]),t}(u["default"].Component);a["default"]=T},{"../index":291,"../services/ajax":352,"../services/auth":353,"../services/modal":358,"../services/snackbar":363,"../utils/banned-page":366,"./button":5,"./form":52,"./sign-in.js":204,react:"react","react-dom":"react-dom"}],196:[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("../.."),d=n(c),f=e("../form"),p=n(f),m=e("../../reducers/posts"),h=e("../../reducers/search"),v=e("../../reducers/users"),b=e("../../services/ajax"),y=n(b),g=e("../../services/snackbar"),_=n(g),E=e("../../services/store"),w=n(E),O=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onQueryChange=function(e){a.changeValue("query",e.target.value)},a.state={isLoading:!1,query:e.search.query},a}return l(t,e),s(t,[{key:"componentDidMount",value:function(){this.state.query.length&&this.handleSubmit()}},{key:"clean",value:function(){return!!this.state.query.trim().length||(_["default"].error(gettext("You have to enter search query.")),!1)}},{key:"send",value:function(){return w["default"].dispatch((0,h.update)({isLoading:!0})),y["default"].get(d["default"].get("SEARCH_API"),{q:this.state.query.trim()})}},{key:"handleSuccess",value:function(e){w["default"].dispatch((0,h.update)({query:this.state.query.trim(),isLoading:!1,providers:e})),e.forEach(function(e){"users"===e.id?w["default"].dispatch((0,v.hydrate)(e.results.results)):"threads"===e.id&&w["default"].dispatch((0,m.load)(e.results))})}},{key:"handleError",value:function(e){_["default"].apiError(e),w["default"].dispatch((0,h.update)({isLoading:!1}))}},{key:"render",value:function(){return u["default"].createElement("div",{className:"page-header-bg"},u["default"].createElement("div",{className:"page-header page-search-form"},u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("div",{className:"container"},u["default"].createElement("div",{className:"row"},u["default"].createElement("div",{className:"col-xs-12 col-md-3"},u["default"].createElement("h1",null,gettext("Search"))),u["default"].createElement("div",{className:"col-xs-12 col-md-9"},u["default"].createElement("div",{className:"row xs-margin-top sm-margin-top"},u["default"].createElement("div",{className:"col-xs-12 col-sm-8 col-md-9"},u["default"].createElement("div",{className:"form-group"},u["default"].createElement("input",{className:"form-control",disabled:this.props.search.isLoading||this.state.isLoading,onChange:this.onQueryChange,type:"text",value:this.state.query}))),u["default"].createElement("div",{className:"col-xs-12 col-sm-4 col-md-3"},u["default"].createElement("button",{className:"btn btn-primary btn-block btn-outline",disabled:this.props.search.isLoading||this.state.isLoading},gettext("Search"))))))))))}}]),t}(p["default"]);a["default"]=O},{"../..":291,"../../reducers/posts":341,"../../reducers/search":344,"../../reducers/users":351,"../../services/ajax":352,"../../services/snackbar":363,"../../services/store":364,"../form":52,react:"react"}],197:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return{posts:e.posts,search:e.search,tick:e.tick.tick,user:e.auth.user,users:e.users}}Object.defineProperty(a,"__esModule",{value:!0}),a.select=r,a["default"]=function(e){return e.map(function(e){return{path:e.url,component:(0,o.connect)(r)(c[e.id]),provider:e}})};var o=e("react-redux"),l=e("./threads"),s=n(l),i=e("./users"),u=n(i),c={threads:s["default"],users:u["default"]}},{"./threads":200,"./users":202,"react-redux":"react-redux"}],198:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=null;if(e.search.providers.forEach(function(a){a.id===e.provider.id&&(t=a.time)}),null===t)return null;var a=gettext("Search took %(time)s s to complete");return l["default"].createElement("footer",{className:"search-footer"},l["default"].createElement("p",null,interpolate(a,{time:t},!0)))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return l["default"].createElement("div",{className:"page page-search"},l["default"].createElement(i["default"],{provider:e.provider,search:e.search}),l["default"].createElement("div",{className:"container"},l["default"].createElement("div",{className:"row"},l["default"].createElement("div",{className:"col-md-3"},l["default"].createElement(c["default"],{providers:e.search.providers})),l["default"].createElement("div",{className:"col-md-9"},e.children,l["default"].createElement(r,{provider:e.provider,search:e.search})))))},a.SearchTime=r;var o=e("react"),l=n(o),s=e("./form"),i=n(s),u=e("./sidenav"),c=n(u)},{"./form":196,"./sidenav":199,react:"react"}],199:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){if(!e.results)return null;var t=e.results.count;return t>1e6?t=Math.ceil(t/1e6)+"KK":t>1e3&&(t=Math.ceil(t/1e3)+"K"),l["default"].createElement("span",{
|
|
}return l(t,e),s(t,[{key:"getClassName",value:function(){return this.props.className?"form-search "+this.props.className:"form-search"}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName()},u["default"].createElement("input",{type:"text",className:"form-control",value:this.props.value,onChange:this.props.onChange,placeholder:this.props.placeholder||gettext("Search...")}),u["default"].createElement("span",{className:"material-icon"},"search"))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],191:[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=e("./register.js"),p=n(f),m=e("../services/ajax"),h=n(m),v=e("../services/captcha"),b=n(v),y=e("../services/modal"),g=n(y),_=e("../services/snackbar"),E=n(_),w=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.showRegisterForm=function(){"closed"===misago.get("SETTINGS").account_activation?E["default"].info(gettext("New registrations are currently disabled.")):a.state.isLoaded?g["default"].show(u["default"].createElement(p["default"],{criteria:a.state.criteria})):(a.setState({isLoading:!0}),Promise.all([b["default"].load(),h["default"].get(misago.get("AUTH_CRITERIA_API"))]).then(function(e){a.setState({isLoading:!1,isLoaded:!0,criteria:e[1]}),g["default"].show(u["default"].createElement(p["default"],{criteria:e[1]}))},function(){a.setState({isLoading:!1}),E["default"].error(gettext("Registration is currently unavailable due to an error."))}))},a.state={isLoading:!1,isLoaded:!1,criteria:null},a}return l(t,e),s(t,[{key:"getClassName",value:function(){return this.props.className+(this.state.isLoading?" btn-loading":"")}},{key:"render",value:function(){return u["default"].createElement("button",{className:"btn "+this.getClassName(),disabled:this.state.isLoading,onClick:this.showRegisterForm,type:"button"},gettext("Register"),this.state.isLoading?u["default"].createElement(d["default"],null):null)}}]),t}(u["default"].Component);a["default"]=w},{"../services/ajax":352,"../services/captcha":354,"../services/modal":358,"../services/snackbar":363,"./loader":54,"./register.js":192,react:"react"}],192:[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.RegisterComplete=a.RegisterForm=void 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}}(),c=e("react"),d=r(c),f=e("./button"),p=r(f),m=e("./form"),h=r(m),v=e("./form-group"),b=r(v),y=e("./password-strength"),g=r(y),_=e(".."),E=r(_),w=e("../services/ajax"),O=r(w),k=e("../services/auth"),N=r(k),x=e("../services/captcha"),j=r(x),P=e("../services/modal"),C=r(P),M=e("../services/snackbar"),S=r(M),T=e("../utils/banned-page"),L=r(T),R=e("../utils/validators"),A=n(R),I=a.RegisterForm=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e)),n=a.props.criteria,r=n.username,s=n.password,i=0;return s.forEach(function(e){"MinimumLengthValidator"===e.name&&(i=e.min_length)}),a.state={isLoading:!1,username:"",email:"",password:"",captcha:"",validators:{username:[A.usernameContent(),A.usernameMinLength(r.min_length),A.usernameMaxLength(r.max_length)],email:[A.email()],password:[A.passwordMinLength(i)],captcha:j["default"].validator()},errors:{}},a}return s(t,e),u(t,[{key:"clean",value:function(){return!!this.isValid()||(S["default"].error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return O["default"].post(E["default"].get("USERS_API"),{username:this.state.username,email:this.state.email,password:this.state.password,captcha:this.state.captcha})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){400===e.status?(this.setState({errors:Object.assign({},this.state.errors,e)}),e.__all__&&e.__all__.length>0?S["default"].error(e.__all__[0]):S["default"].error(gettext("Form contains errors."))):403===e.status&&e.ban?((0,L["default"])(e.ban),C["default"].hide()):S["default"].apiError(e)}},{key:"getLegalFootNote",value:function(){return E["default"].get("TERMS_OF_SERVICE_URL")?d["default"].createElement("p",{className:"legal-footnote"},d["default"].createElement("span",{className:"material-icon"},"info_outline"),d["default"].createElement("a",{href:E["default"].get("TERMS_OF_SERVICE_URL"),target:"_blank"},gettext("By registering you agree to site's terms and conditions."))):null}},{key:"render",value:function(){return d["default"].createElement("div",{className:"modal-dialog modal-register",role:"document"},d["default"].createElement("div",{className:"modal-content"},d["default"].createElement("div",{className:"modal-header"},d["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},d["default"].createElement("span",{"aria-hidden":"true"},"×")),d["default"].createElement("h4",{className:"modal-title"},gettext("Register"))),d["default"].createElement("form",{onSubmit:this.handleSubmit},d["default"].createElement("input",{type:"type",style:{display:"none"}}),d["default"].createElement("input",{type:"password",style:{display:"none"}}),d["default"].createElement("div",{className:"modal-body"},d["default"].createElement(b["default"],{label:gettext("Username"),"for":"id_username",validation:this.state.errors.username},d["default"].createElement("input",{type:"text",id:"id_username",className:"form-control","aria-describedby":"id_username_status",disabled:this.state.isLoading,onChange:this.bindInput("username"),value:this.state.username})),d["default"].createElement(b["default"],{label:gettext("E-mail"),"for":"id_email",validation:this.state.errors.email},d["default"].createElement("input",{type:"text",id:"id_email",className:"form-control","aria-describedby":"id_email_status",disabled:this.state.isLoading,onChange:this.bindInput("email"),value:this.state.email})),d["default"].createElement(b["default"],{label:gettext("Password"),"for":"id_password",validation:this.state.errors.password,extra:d["default"].createElement(g["default"],{password:this.state.password,inputs:[this.state.username,this.state.email]})},d["default"].createElement("input",{type:"password",id:"id_password",className:"form-control","aria-describedby":"id_password_status",disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password})),j["default"].component({form:this}),this.getLegalFootNote()),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("Register account"))))))}}]),t}(h["default"]),D=a.RegisterComplete=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),u(t,[{key:"getLead",value:function(){return"user"===this.props.activation?gettext("%(username)s, your account has been created but you need to activate it before you will be able to sign in."):"admin"===this.props.activation?gettext("%(username)s, your account has been created but board administrator will have to activate it before you will be able to sign in."):void 0}},{key:"getSubscript",value:function(){return"user"===this.props.activation?gettext("We have sent an e-mail to %(email)s with link that you have to click to activate your account."):"admin"===this.props.activation?gettext("We will send an e-mail to %(email)s when this takes place."):void 0}},{key:"render",value:function(){return d["default"].createElement("div",{className:"modal-dialog modal-message modal-register",role:"document"},d["default"].createElement("div",{className:"modal-content"},d["default"].createElement("div",{className:"modal-header"},d["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},d["default"].createElement("span",{"aria-hidden":"true"},"×")),d["default"].createElement("h4",{className:"modal-title"},gettext("Registration complete"))),d["default"].createElement("div",{className:"modal-body"},d["default"].createElement("div",{className:"message-icon"},d["default"].createElement("span",{className:"material-icon"},"info_outline")),d["default"].createElement("div",{className:"message-body"},d["default"].createElement("p",{className:"lead"},interpolate(this.getLead(),{username:this.props.username},!0)),d["default"].createElement("p",null,interpolate(this.getSubscript(),{email:this.props.email},!0)),d["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},gettext("Ok"))))))}}]),t}(d["default"].Component),U=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.completeRegistration=function(e){"active"===e.activation?(C["default"].hide(),N["default"].signIn(e)):a.setState({complete:e})},a.state={complete:!1},a}return s(t,e),u(t,[{key:"render",value:function(){return this.state.complete?d["default"].createElement(D,{activation:this.state.complete.activation,email:this.state.complete.email,username:this.state.complete.username}):d["default"].createElement(I,i({callback:this.completeRegistration},this.props))}}]),t}(d["default"].Component);a["default"]=U},{"..":291,"../services/ajax":352,"../services/auth":353,"../services/captcha":354,"../services/modal":358,"../services/snackbar":363,"../utils/banned-page":366,"../utils/validators":380,"./button":5,"./form":52,"./form-group":51,"./password-strength":96,react:"react"}],193:[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.LinkSent=a.RequestLinkForm=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}}(),u=e("react"),c=r(u),d=e("../index"),f=r(d),p=e("./button"),m=r(p),h=e("./form"),v=r(h),b=e("../services/ajax"),y=r(b),g=e("../services/snackbar"),_=r(g),E=e("../utils/validators"),w=n(E),O=e("../utils/banned-page"),k=r(O),N=a.RequestLinkForm=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={isLoading:!1,email:"",validators:{email:[w.email()]}},a}return s(t,e),i(t,[{key:"clean",value:function(){return!!this.isValid()||(_["default"].error(gettext("Enter a valid email address.")),!1)}},{key:"send",value:function(){return y["default"].post(f["default"].get("SEND_ACTIVATION_API"),{email:this.state.email})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){["already_active","inactive_admin"].indexOf(e.code)>-1?_["default"].info(e.detail):403===e.status&&e.ban?(0,k["default"])(e.ban):_["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement("div",{className:"well well-form well-form-request-activation-link"},c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"form-group"},c["default"].createElement("div",{className:"control-input"},c["default"].createElement("input",{type:"text",className:"form-control",placeholder:gettext("Your e-mail address"),disabled:this.state.isLoading,onChange:this.bindInput("email"),value:this.state.email}))),c["default"].createElement(m["default"],{className:"btn-primary btn-block",loading:this.state.isLoading},gettext("Send link"))))}}]),t}(v["default"]),x=a.LinkSent=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"getMessage",value:function(){return interpolate(gettext("Activation link was sent to %(email)s"),{email:this.props.user.email},!0)}},{key:"render",value:function(){return c["default"].createElement("div",{className:"well well-form well-form-request-activation-link well-done"},c["default"].createElement("div",{className:"done-message"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"check")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",null,this.getMessage())),c["default"].createElement("button",{className:"btn btn-primary btn-block",type:"button",onClick:this.props.callback},gettext("Request another link"))))}}]),t}(c["default"].Component),j=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.complete=function(e){a.setState({complete:e})},a.reset=function(){a.setState({complete:!1})},a.state={complete:!1},a}return s(t,e),i(t,[{key:"render",value:function(){return this.state.complete?c["default"].createElement(x,{user:this.state.complete,callback:this.reset}):c["default"].createElement(N,{callback:this.complete})}}]),t}(c["default"].Component);a["default"]=j},{"../index":291,"../services/ajax":352,"../services/snackbar":363,"../utils/banned-page":366,"../utils/validators":380,"./button":5,"./form":52,react:"react"}],194:[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.AccountInactivePage=a.LinkSent=a.RequestResetForm=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}}(),u=e("react"),c=r(u),d=e("react-dom"),f=r(d),p=e("../index"),m=r(p),h=e("./button"),v=r(h),b=e("./form"),y=r(b),g=e("../services/ajax"),_=r(g),E=e("../services/snackbar"),w=r(E),O=e("../utils/validators"),k=n(O),N=e("../utils/banned-page"),x=r(N),j=a.RequestResetForm=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={isLoading:!1,email:"",validators:{email:[k.email()]}},a}return s(t,e),i(t,[{key:"clean",value:function(){return!!this.isValid()||(w["default"].error(gettext("Enter a valid email address.")),!1)}},{key:"send",value:function(){return _["default"].post(m["default"].get("SEND_PASSWORD_RESET_API"),{email:this.state.email})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){["inactive_user","inactive_admin"].indexOf(e.code)>-1?this.props.showInactivePage(e):403===e.status&&e.ban?(0,x["default"])(e.ban):w["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement("div",{className:"well well-form well-form-request-password-reset"},c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"form-group"},c["default"].createElement("div",{className:"control-input"},c["default"].createElement("input",{type:"text",className:"form-control",placeholder:gettext("Your e-mail address"),disabled:this.state.isLoading,onChange:this.bindInput("email"),value:this.state.email}))),c["default"].createElement(v["default"],{className:"btn-primary btn-block",loading:this.state.isLoading},gettext("Send link"))))}}]),t}(y["default"]),P=a.LinkSent=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"getMessage",value:function(){return interpolate(gettext("Reset password link was sent to %(email)s"),{email:this.props.user.email},!0)}},{key:"render",value:function(){return c["default"].createElement("div",{className:"well well-form well-form-request-password-reset well-done"},c["default"].createElement("div",{className:"done-message"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"check")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",null,this.getMessage())),c["default"].createElement("button",{type:"button",className:"btn btn-primary btn-block",onClick:this.props.callback},gettext("Request another link"))))}}]),t}(c["default"].Component),C=a.AccountInactivePage=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"getActivateButton",value:function(){return"inactive_user"===this.props.activation?c["default"].createElement("p",null,c["default"].createElement("a",{href:m["default"].get("REQUEST_ACTIVATION_URL")},gettext("Activate your account."))):null}},{key:"render",value:function(){return c["default"].createElement("div",{className:"page page-message page-message-info page-forgotten-password-inactive"},c["default"].createElement("div",{className:"container"},c["default"].createElement("div",{className:"message-panel"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"info_outline")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",{className:"lead"},gettext("Your account is inactive.")),c["default"].createElement("p",null,this.props.message),this.getActivateButton()))))}}]),t}(c["default"].Component),M=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.complete=function(e){a.setState({complete:e})},a.reset=function(){a.setState({complete:!1})},a.state={complete:!1},a}return s(t,e),i(t,[{key:"showInactivePage",value:function(e){f["default"].render(c["default"].createElement(C,{activation:e.code,message:e.detail}),document.getElementById("page-mount"))}},{key:"render",value:function(){return this.state.complete?c["default"].createElement(P,{callback:this.reset,user:this.state.complete}):c["default"].createElement(j,{callback:this.complete,showInactivePage:this.showInactivePage})}}]),t}(c["default"].Component);a["default"]=M},{"../index":291,"../services/ajax":352,"../services/snackbar":363,"../utils/banned-page":366,"../utils/validators":380,"./button":5,"./form":52,react:"react","react-dom":"react-dom"}],195:[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.PasswordChangedPage=a.ResetPasswordForm=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("react-dom"),d=n(c),f=e("../index"),p=n(f),m=e("./button"),h=n(m),v=e("./form"),b=n(v),y=e("./sign-in.js"),g=n(y),_=e("../services/ajax"),E=n(_),w=e("../services/auth"),O=n(w),k=e("../services/modal"),N=n(k),x=e("../services/snackbar"),j=n(x),P=e("../utils/banned-page"),C=n(P),M=a.ResetPasswordForm=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,password:""},a}return l(t,e),s(t,[{key:"clean",value:function(){return!!this.state.password.trim().length||(j["default"].error(gettext("Enter new password.")),!1)}},{key:"send",value:function(){return E["default"].post(p["default"].get("CHANGE_PASSWORD_API"),{password:this.state.password})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){403===e.status&&e.ban?(0,C["default"])(e.ban):j["default"].apiError(e)}},{key:"render",value:function(){return u["default"].createElement("div",{className:"well well-form well-form-reset-password"},u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("div",{className:"form-group"},u["default"].createElement("div",{className:"control-input"},u["default"].createElement("input",{type:"password",className:"form-control",placeholder:gettext("Enter new password"),disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password}))),u["default"].createElement(h["default"],{className:"btn-primary btn-block",loading:this.state.isLoading},gettext("Change password"))))}}]),t}(b["default"]),S=a.PasswordChangedPage=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:"getMessage",value:function(){return interpolate(gettext("%(username)s, your password has been changed successfully."),{username:this.props.user.username},!0)}},{key:"showSignIn",value:function(){N["default"].show(g["default"])}},{key:"render",value:function(){return u["default"].createElement("div",{className:"page page-message page-message-success page-forgotten-password-changed"},u["default"].createElement("div",{className:"container"},u["default"].createElement("div",{className:"message-panel"},u["default"].createElement("div",{className:"message-icon"},u["default"].createElement("span",{className:"material-icon"},"check")),u["default"].createElement("div",{className:"message-body"},u["default"].createElement("p",{className:"lead"},this.getMessage()),u["default"].createElement("p",null,gettext("You will have to sign in using new password before continuing.")),u["default"].createElement("p",null,u["default"].createElement("button",{type:"button",className:"btn btn-primary",onClick:this.showSignIn},gettext("Sign in")))))))}}]),t}(u["default"].Component),T=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.complete=function(e){O["default"].softSignOut(),$('#hidden-login-form input[name="redirect_to"]').remove(),d["default"].render(u["default"].createElement(S,{user:e}),document.getElementById("page-mount"))},l=a,o(n,l)}return l(t,e),s(t,[{key:"render",value:function(){return u["default"].createElement(M,{callback:this.complete})}}]),t}(u["default"].Component);a["default"]=T},{"../index":291,"../services/ajax":352,"../services/auth":353,"../services/modal":358,"../services/snackbar":363,"../utils/banned-page":366,"./button":5,"./form":52,"./sign-in.js":204,react:"react","react-dom":"react-dom"}],196:[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("../.."),d=n(c),f=e("../form"),p=n(f),m=e("../../reducers/posts"),h=e("../../reducers/search"),v=e("../../reducers/users"),b=e("../../services/ajax"),y=n(b),g=e("../../services/snackbar"),_=n(g),E=e("../../services/store"),w=n(E),O=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onQueryChange=function(e){a.changeValue("query",e.target.value)},a.state={isLoading:!1,query:e.search.query},a}return l(t,e),s(t,[{key:"componentDidMount",value:function(){this.state.query.length&&this.handleSubmit()}},{key:"clean",value:function(){return!!this.state.query.trim().length||(_["default"].error(gettext("You have to enter search query.")),!1)}},{key:"send",value:function(){return w["default"].dispatch((0,h.update)({isLoading:!0})),y["default"].get(d["default"].get("SEARCH_API"),{q:this.state.query.trim()})}},{key:"handleSuccess",value:function(e){w["default"].dispatch((0,h.update)({query:this.state.query.trim(),isLoading:!1,providers:e})),e.forEach(function(e){"users"===e.id?w["default"].dispatch((0,v.hydrate)(e.results.results)):"threads"===e.id&&w["default"].dispatch((0,m.load)(e.results))})}},{key:"handleError",value:function(e){_["default"].apiError(e),w["default"].dispatch((0,h.update)({isLoading:!1}))}},{key:"render",value:function(){return u["default"].createElement("div",{className:"page-header-bg"},u["default"].createElement("div",{className:"page-header page-search-form"},u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("div",{className:"container"},u["default"].createElement("div",{className:"row"},u["default"].createElement("div",{className:"col-xs-12 col-md-3"},u["default"].createElement("h1",null,gettext("Search"))),u["default"].createElement("div",{className:"col-xs-12 col-md-9"},u["default"].createElement("div",{className:"row xs-margin-top sm-margin-top"},u["default"].createElement("div",{className:"col-xs-12 col-sm-8 col-md-9"},u["default"].createElement("div",{className:"form-group"},u["default"].createElement("input",{className:"form-control",disabled:this.props.search.isLoading||this.state.isLoading,onChange:this.onQueryChange,type:"text",value:this.state.query}))),u["default"].createElement("div",{className:"col-xs-12 col-sm-4 col-md-3"},u["default"].createElement("button",{className:"btn btn-primary btn-block btn-outline",disabled:this.props.search.isLoading||this.state.isLoading},gettext("Search"))))))))))}}]),t}(p["default"]);a["default"]=O},{"../..":291,"../../reducers/posts":341,"../../reducers/search":344,"../../reducers/users":351,"../../services/ajax":352,"../../services/snackbar":363,"../../services/store":364,"../form":52,react:"react"}],197:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return{posts:e.posts,search:e.search,tick:e.tick.tick,user:e.auth.user,users:e.users}}Object.defineProperty(a,"__esModule",{value:!0}),a.select=r,a["default"]=function(e){return e.map(function(e){return{path:e.url,component:(0,o.connect)(r)(c[e.id]),provider:e}})};var o=e("react-redux"),l=e("./threads"),s=n(l),i=e("./users"),u=n(i),c={threads:s["default"],users:u["default"]}},{"./threads":200,"./users":202,"react-redux":"react-redux"}],198:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=null;if(e.search.providers.forEach(function(a){a.id===e.provider.id&&(t=a.time)}),null===t)return null;var a=gettext("Search took %(time)s s to complete");return l["default"].createElement("footer",{className:"search-footer"},l["default"].createElement("p",null,interpolate(a,{time:t},!0)))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return l["default"].createElement("div",{className:"page page-search"},l["default"].createElement(i["default"],{provider:e.provider,search:e.search}),l["default"].createElement("div",{className:"container"},l["default"].createElement("div",{className:"row"},l["default"].createElement("div",{className:"col-md-3"},l["default"].createElement(c["default"],{providers:e.search.providers})),l["default"].createElement("div",{className:"col-md-9"},e.children,l["default"].createElement(r,{provider:e.provider,search:e.search})))))},a.SearchTime=r;var o=e("react"),l=n(o),s=e("./form"),i=n(s),u=e("./sidenav"),c=n(u)},{"./form":196,"./sidenav":199,react:"react"}],199:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){if(!e.results)return null;var t=e.results.count;return t>1e6?t=Math.ceil(t/1e6)+"KK":t>1e3&&(t=Math.ceil(t/1e3)+"K"),l["default"].createElement("span",{
|
|
className:"badge"},t)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return l["default"].createElement("div",{className:"list-group nav-side"},e.providers.map(function(e){return l["default"].createElement(s.Link,{activeClassName:"active",className:"list-group-item",key:e.id,to:e.url},l["default"].createElement("span",{className:"material-icon"},e.icon),e.name,l["default"].createElement(r,{results:e.results}))}))},a.Badge=r;var o=e("react"),l=n(o),s=e("react-router")},{react:"react","react-router":"react-router"}],200:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.posts&&e.posts.count?e.children:e.query.length?s["default"].createElement("p",{className:"lead"},gettext("No threads matching search query have been found.")):s["default"].createElement("p",{className:"lead"},gettext("Enter at least two characters to search threads."))}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 s["default"].createElement(u["default"],{provider:e.route.provider,search:e.search},s["default"].createElement(r,{query:e.search.query,posts:e.posts},s["default"].createElement(d["default"],o({provider:e.route.provider,query:e.search.query},e.posts))))},a.Blankslate=r;var l=e("react"),s=n(l),i=e("../page"),u=n(i),c=e("./results"),d=n(c)},{"../page":198,"./results":201,react:"react"}],201:[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.LoadMore=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("div",null,u["default"].createElement(d["default"],{isReady:!0,posts:e.results}),u["default"].createElement(O,e))};var i=e("react"),u=n(i),c=e("../../post-feed"),d=n(c),f=e("../../button"),p=n(f),m=e("../../misago-markup"),h=(n(m),e("../../../reducers/posts")),v=e("../../../reducers/search"),b=e("../../../services/ajax"),y=n(b),g=e("../../../services/snackbar"),_=n(g),E=e("../../../services/store"),w=n(E),O=a.LoadMore=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(){w["default"].dispatch((0,h.update)({isBusy:!0})),y["default"].get(n.props.provider.api,{q:n.props.query,page:n.props.next}).then(function(e){e.forEach(function(e){"threads"===e.id&&(w["default"].dispatch((0,h.append)(e.results)),w["default"].dispatch((0,v.updateProvider)(e)))}),w["default"].dispatch((0,h.update)({isBusy:!1}))},function(e){_["default"].apiError(e),w["default"].dispatch((0,h.update)({isBusy:!1}))})},l=a,o(n,l)}return l(t,e),s(t,[{key:"render",value:function(){return this.props.more?u["default"].createElement("div",{className:"pager-more"},u["default"].createElement(p["default"],{className:"btn btn-default btn-outline",loading:this.props.isBusy,onClick:this.onClick},gettext("Show more"))):null}}]),t}(u["default"].Component)},{"../../../reducers/posts":341,"../../../reducers/search":344,"../../../services/ajax":352,"../../../services/snackbar":363,"../../../services/store":364,"../../button":5,"../../misago-markup":56,"../../post-feed":115,react:"react"}],202:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.users.length?e.children:e.query.length?l["default"].createElement("p",{className:"lead"},gettext("No users matching search query have been found.")):l["default"].createElement("p",{className:"lead"},gettext("Enter at least two characters to search users."))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return l["default"].createElement(i["default"],{provider:e.route.provider,search:e.search},l["default"].createElement(r,{query:e.search.query,users:e.users},l["default"].createElement(c["default"],{cols:3,isReady:!0,users:e.users})))},a.Blankslate=r;var o=e("react"),l=n(o),s=e("../page"),i=n(s),u=e("../../users-list"),c=n(u)},{"../../users-list":273,"../page":198,react:"react"}],203:[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.icon;return t?c["default"].createElement("span",{className:"material-icon"},t):null}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}}();a.Icon=s;var u=e("react"),c=n(u),d=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.change=function(e){return function(){n.props.onChange({target:{value:e}})}},l=a,o(n,l)}return l(t,e),i(t,[{key:"getChoice",value:function(){var e=this,t=null;return this.props.choices.map(function(a){a.value===e.props.value&&(t=a)}),t}},{key:"getIcon",value:function(){return this.getChoice().icon}},{key:"getLabel",value:function(){return this.getChoice().label}},{key:"render",value:function(){var e=this;return c["default"].createElement("div",{className:"btn-group btn-select-group"},c["default"].createElement("button",{type:"button",className:"btn btn-select dropdown-toggle",id:this.props.id||null,"data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-describedby":this.props["aria-describedby"]||null,disabled:this.props.disabled||!1},c["default"].createElement(s,{icon:this.getIcon()}),this.getLabel()),c["default"].createElement("ul",{className:"dropdown-menu"},this.props.choices.map(function(t,a){return c["default"].createElement("li",{key:a},c["default"].createElement("button",{type:"button",className:"btn-link",onClick:e.change(t.value)},c["default"].createElement(s,{icon:t.icon}),t.label))})))}}]),t}(c["default"].Component);a["default"]=d},{react:"react"}],204:[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("../index"),d=n(c),f=e("./button"),p=n(f),m=e("./form"),h=n(m),v=e("../services/ajax"),b=n(v),y=e("../services/modal"),g=n(y),_=e("../services/snackbar"),E=n(_),w=e("../utils/banned-page"),O=n(w),k=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,showActivation:!1,username:"",password:"",validators:{username:[],password:[]}},a}return l(t,e),s(t,[{key:"clean",value:function(){return!!this.isValid()||(E["default"].error(gettext("Fill out both fields.")),!1)}},{key:"send",value:function(){return b["default"].post(d["default"].get("AUTH_API"),{username:this.state.username,password:this.state.password})}},{key:"handleSuccess",value:function(){var e=$("#hidden-login-form");e.append('<input type="text" name="username" />'),e.append('<input type="password" name="password" />'),e.find('input[type="hidden"]').val(b["default"].getCsrfToken()),e.find('input[name="redirect_to"]').val(window.location.pathname),e.find('input[name="username"]').val(this.state.username),e.find('input[name="password"]').val(this.state.password),e.submit(),this.setState({isLoading:!0})}},{key:"handleError",value:function(e){400===e.status?"inactive_admin"===e.code?E["default"].info(e.detail):"inactive_user"===e.code?(E["default"].info(e.detail),this.setState({showActivation:!0})):"banned"===e.code?((0,O["default"])(e.detail),g["default"].hide()):E["default"].error(e.detail):403===e.status&&e.ban?((0,O["default"])(e.ban),g["default"].hide()):E["default"].apiError(e)}},{key:"getActivationButton",value:function(){return this.state.showActivation?u["default"].createElement("a",{className:"btn btn-success btn-block",href:d["default"].get("REQUEST_ACTIVATION_URL")},gettext("Activate account")):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"modal-dialog modal-sm modal-sign-in",role:"document"},u["default"].createElement("div",{className:"modal-content"},u["default"].createElement("div",{className:"modal-header"},u["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},u["default"].createElement("span",{"aria-hidden":"true"},"×")),u["default"].createElement("h4",{className:"modal-title"},gettext("Sign in"))),u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("div",{className:"modal-body"},u["default"].createElement("div",{className:"form-group"},u["default"].createElement("div",{className:"control-input"},u["default"].createElement("input",{className:"form-control input-lg",disabled:this.state.isLoading,id:"id_username",onChange:this.bindInput("username"),placeholder:gettext("Username or e-mail"),type:"text",value:this.state.username}))),u["default"].createElement("div",{className:"form-group"},u["default"].createElement("div",{className:"control-input"},u["default"].createElement("input",{className:"form-control input-lg",disabled:this.state.isLoading,id:"id_password",onChange:this.bindInput("password"),placeholder:gettext("Password"),type:"password",value:this.state.password})))),u["default"].createElement("div",{className:"modal-footer"},this.getActivationButton(),u["default"].createElement(p["default"],{className:"btn-primary btn-block",loading:this.state.isLoading},gettext("Sign in")),u["default"].createElement("a",{className:"btn btn-default btn-block",href:d["default"].get("FORGOTTEN_PASSWORD_URL")},gettext("Forgot password?"))))))}}]),t}(h["default"]);a["default"]=k},{"../index":291,"../services/ajax":352,"../services/modal":358,"../services/snackbar":363,"../utils/banned-page":366,"./button":5,"./form":52,react:"react"}],205:[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.snackbar}Object.defineProperty(a,"__esModule",{value:!0}),a.Snackbar=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.select=s;var u=e("react"),c=n(u),d={info:"alert-info",success:"alert-success",warning:"alert-warning",error:"alert-danger"};a.Snackbar=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:"getSnackbarClass",value:function(){var e="alerts-snackbar";return e+=this.props.isVisible?" in":" out"}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getSnackbarClass()},c["default"].createElement("p",{className:"alert "+d[this.props.type]},this.props.message))}}]),t}(c["default"].Component)},{react:"react"}],206:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return s["default"].createElement("li",null,s["default"].createElement("a",{href:e.node.url.index},e.node.name))}function o(e){var t=e.path[e.path.length-1];return s["default"].createElement("a",{href:t.url.index,className:"go-back-sm visible-xs-block"},s["default"].createElement("span",{className:"material-icon"},"chevron_left"),t.name)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return s["default"].createElement("div",{className:"page-breadcrumbs"},s["default"].createElement("div",{className:"container"},s["default"].createElement("ol",{className:"breadcrumb hidden-xs"},e.path.map(function(e){return s["default"].createElement(r,{key:e.id,node:e})})),s["default"].createElement(o,e)))},a.Breadcrumb=r,a.GoBack=o;var l=e("react"),s=n(l)},{react:"react"}],207:[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 f["default"].createElement("div",{className:e.isSingle?"col-xs-12":"col-xs-6"},f["default"].createElement("div",{className:"btn-group btn-group-justified"},f["default"].createElement("div",{className:"btn-group"},f["default"].createElement("button",{"aria-expanded":"false","aria-haspopup":"true",className:"btn btn-default btn-outline dropdown-toggle","data-toggle":"dropdown",disabled:e.thread.isBusy,type:"button"},f["default"].createElement("span",{className:"material-icon"},"settings"),f["default"].createElement("span",{className:e.isSingle?"":"hidden-sm"},gettext("Moderation"))),f["default"].createElement(h.ModerationControls,{posts:e.posts,thread:e.thread,user:e.user}))))}Object.defineProperty(a,"__esModule",{value:!0});var u=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},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}}();a.Moderation=i;var d=e("react"),f=r(d),p=e("./breadcrumbs"),m=r(p),h=e("../moderation/thread"),v=e("./stats"),b=r(v),y=e("../../form"),g=r(y),_=e("../../posting/utils/validators"),E=e("../../../services/ajax"),w=r(E),O=e("../../../services/snackbar"),k=r(O),N=e("../../../services/store"),x=r(N),j=e("../../../reducers/thread"),P=n(j),C=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onChange=function(e){a.changeValue("title",e.target.value)},a.onEdit=function(){a.setState({isEditing:!0})},a.onCancel=function(){a.setState({title:a.props.thread.title,isEditing:!1})},a.state={isEditing:!1,isLoading:!1,title:e.thread.title,validators:{title:(0,_.getTitleValidators)()},errors:{}},a}return s(t,e),c(t,[{key:"clean",value:function(){if(!this.state.title.trim().length)return k["default"].error(gettext("You have to enter thread title.")),!1;var e=this.validate();return!e.title||(k["default"].error(e.title[0]),!1)}},{key:"send",value:function(){return w["default"].patch(this.props.thread.api.index,[{op:"replace",path:"title",value:this.state.title}])}},{key:"handleSuccess",value:function(e){x["default"].dispatch(P.update(e)),this.setState({isEditing:!1})}},{key:"handleError",value:function(e){400===e.status?k["default"].error(e.detail[0]):k["default"].apiError(e)}},{key:"render",value:function(){var e=this.props,t=e.thread,a=e.user,n=!!a.id&&(0,h.isModerationVisible)(t);return this.state.isEditing?f["default"].createElement("div",{className:"page-header"},f["default"].createElement(m["default"],{path:t.path}),f["default"].createElement("div",{className:"container"},f["default"].createElement("div",{className:"row xs-margin-top title-edit-form"},f["default"].createElement("form",{onSubmit:this.handleSubmit},f["default"].createElement("div",{className:"col-sm-6 col-md-6"},f["default"].createElement("input",{className:"form-control",type:"text",value:this.state.title,onChange:this.onChange})),f["default"].createElement("div",{className:"col-sm-6 col-md-4"},f["default"].createElement("div",{className:"row xs-margin-top-half sm-margin-top-no md-margin-top-no"},f["default"].createElement("div",{className:"col-xs-6"},f["default"].createElement("button",{className:"btn btn-primary btn-block btn-outline",disabled:this.state.isLoading,title:gettext("Change title")},gettext("Save changes"))),f["default"].createElement("div",{className:"col-xs-6"},f["default"].createElement("button",{className:"btn btn-default btn-block btn-outline",disabled:this.state.isLoading,onClick:this.onCancel,title:gettext("Cancel"),type:"button"},gettext("Cancel")))))))),f["default"].createElement(b["default"],{thread:t})):a.id&&t.acl.can_edit?f["default"].createElement("div",{className:"page-header"},f["default"].createElement(m["default"],{path:t.path}),f["default"].createElement("div",{className:"container"},f["default"].createElement("div",{className:"row"},f["default"].createElement("div",{className:n?"col-sm-9 col-md-8":"col-sm-10 col-md-10"},f["default"].createElement("h1",null,t.title)),f["default"].createElement("div",{className:n?"col-sm-3 col-md-4":"col-sm-3 col-md-2"},f["default"].createElement("div",{className:"row xs-margin-top md-margin-top-no"},f["default"].createElement("div",{className:n?"col-xs-6":"col-xs-12"},f["default"].createElement("button",{className:"btn btn-default btn-block btn-outline",onClick:this.onEdit,title:gettext("Edit title"),type:"button"},f["default"].createElement("span",{className:"material-icon"},"edit"),f["default"].createElement("span",{className:"hidden-sm"},gettext("Edit")))),n&&f["default"].createElement(i,this.props))))),f["default"].createElement(b["default"],{thread:t})):n?f["default"].createElement("div",{className:"page-header"},f["default"].createElement(m["default"],{path:t.path}),f["default"].createElement("div",{className:"container"},f["default"].createElement("div",{className:"row"},f["default"].createElement("div",{className:"col-sm-9 col-md-10"},f["default"].createElement("h1",null,t.title)),f["default"].createElement("div",{className:"col-sm-3 col-md-2"},f["default"].createElement("div",{className:"row xs-margin-top md-margin-top-no"},f["default"].createElement(i,u({isSingle:!0},this.props)))))),f["default"].createElement(b["default"],{thread:t})):f["default"].createElement("div",{className:"page-header"},f["default"].createElement(m["default"],{path:t.path}),f["default"].createElement("div",{className:"container"},f["default"].createElement("h1",null,t.title)),f["default"].createElement(b["default"],{thread:t}))}}]),t}(g["default"]);a["default"]=C},{"../../../reducers/thread":347,"../../../services/ajax":352,"../../../services/snackbar":363,"../../../services/store":364,"../../form":52,"../../posting/utils/validators":137,"../moderation/thread":216,"./breadcrumbs":206,"./stats":208,react:"react"}],208:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return 2==e.thread.weight?d["default"].createElement("li",{className:"thread-pinned-globally"},d["default"].createElement("span",{className:"material-icon"},"bookmark"),d["default"].createElement("span",{className:"icon-legend"},gettext("Pinned globally"))):1==e.thread.weight?d["default"].createElement("li",{className:"thread-pinned-locally"},d["default"].createElement("span",{className:"material-icon"},"bookmark_border"),d["default"].createElement("span",{className:"icon-legend"},gettext("Pinned locally"))):null}function o(e){return e.thread.is_unapproved?d["default"].createElement("li",{className:"thread-unapproved"},d["default"].createElement("span",{className:"material-icon"},"remove_circle"),d["default"].createElement("span",{className:"icon-legend"},gettext("Unapproved"))):e.thread.has_unapproved_posts?d["default"].createElement("li",{className:"thread-unapproved-posts"},d["default"].createElement("span",{className:"material-icon"},"remove_circle_outline"),d["default"].createElement("span",{className:"icon-legend"},gettext("Unapproved posts"))):null}function l(e){return e.thread.is_hidden?d["default"].createElement("li",{className:"thread-hidden"},d["default"].createElement("span",{className:"material-icon"},"visibility_off"),d["default"].createElement("span",{className:"icon-legend"},gettext("Hidden"))):null}function s(e){return e.thread.is_closed?d["default"].createElement("li",{className:"thread-closed"},d["default"].createElement("span",{className:"material-icon"},"lock_outline"),d["default"].createElement("span",{className:"icon-legend"},gettext("Closed"))):null}function i(e){var t=ngettext("%(replies)s reply","%(replies)s replies",e.thread.replies),a=interpolate(t,{replies:e.thread.replies},!0);return d["default"].createElement("li",{className:"thread-replies"},d["default"].createElement("span",{className:"material-icon"},"forum"),d["default"].createElement("span",{className:"icon-legend"},a))}function u(e){var t=null;t=e.thread.url.last_poster?interpolate(m,{url:(0,p["default"])(e.thread.url.last_poster),user:(0,p["default"])(e.thread.last_poster_name)},!0):interpolate(h,{user:(0,p["default"])(e.thread.last_poster_name)},!0);var a=interpolate(v,{absolute:(0,p["default"])(e.thread.last_post_on.format("LLL")),relative:(0,p["default"])(e.thread.last_post_on.fromNow())},!0),n=interpolate((0,p["default"])(gettext("last reply by %(user)s %(date)s")),{date:a,user:t},!0);return d["default"].createElement("li",{className:"thread-last-reply",dangerouslySetInnerHTML:{__html:n}})}Object.defineProperty(a,"__esModule",{value:!0}),a.Weight=r,a.Unapproved=o,a.IsHidden=l,a.IsClosed=s,a.Replies=i,a.LastReply=u,a["default"]=function(e){return d["default"].createElement("div",{className:"header-stats"},d["default"].createElement("div",{className:"container"},d["default"].createElement("ul",{className:"list-inline"},d["default"].createElement(r,{thread:e.thread}),d["default"].createElement(o,{thread:e.thread}),d["default"].createElement(l,{thread:e.thread}),d["default"].createElement(s,{thread:e.thread}),d["default"].createElement(i,{thread:e.thread}),d["default"].createElement(u,{thread:e.thread}))))};var c=e("react"),d=n(c),f=e("../../../utils/escape-html"),p=n(f),m='<a href="%(url)s" class="poster-title">%(user)s</a>',h='<span class="poster-title">%(user)s</span>',v='<abbr class="last-title" title="%(absolute)s">%(relative)s</abbr>'},{"../../../utils/escape-html":370,react:"react"}],209:[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){var t=e.selection,a=[{op:"replace",path:"is-unapproved",value:!1}],n=t.map(function(e){return{id:e.id,is_unapproved:!1}}),r=t.map(function(e){return{id:e.id,is_unapproved:e.is_unapproved}});c(e,a,n,r)}function l(e){var t=e.selection,a=[{op:"replace",path:"is-protected",value:!0}],n=t.map(function(e){return{id:e.id,is_protected:!0}}),r=t.map(function(e){return{id:e.id,is_protected:e.is_protected}});c(e,a,n,r)}function s(e){var t=e.selection,a=[{op:"replace",path:"is-protected",value:!1}],n=t.map(function(e){return{id:e.id,is_protected:!1}}),r=t.map(function(e){return{id:e.id,is_protected:e.is_protected}});c(e,a,n,r)}function i(e){var t=e.selection,a=[{op:"replace",path:"is-hidden",value:!0}],n=t.map(function(t){return{id:t.id,is_hidden:!0,hidden_on:(0,m["default"])(),hidden_by_name:e.user.username,url:Object.assign(t.url,{hidden_by:e.user.url})}}),r=t.map(function(e){return{id:e.id,is_hidden:e.is_hidden,hidden_on:e.hidden_on,hidden_by_name:e.hidden_by_name,url:e.url}});c(e,a,n,r)}function u(e){var t=e.selection,a=[{op:"replace",path:"is-hidden",value:!1}],n=t.map(function(t){return{id:t.id,is_hidden:!1,hidden_on:(0,m["default"])(),hidden_by_name:e.user.username,url:Object.assign(t.url,{hidden_by:e.user.url})}}),r=t.map(function(e){return{id:e.id,is_hidden:e.is_hidden,hidden_on:e.hidden_on,hidden_by_name:e.hidden_by_name,url:e.url}});c(e,a,n,r)}function c(e,t,a,n){var r=e.selection,o=e.thread;a.forEach(function(e){y.patch(e,e)}),P["default"].dispatch(_.deselectAll());var l={ops:t,ids:r.map(function(e){return e.id})};w["default"].patch(o.api.posts.index,l).then(function(e){e.forEach(function(e){P["default"].dispatch(y.patch(e,e))})},function(e){if(400!==e.status)return n.forEach(function(e){P["default"].dispatch(y.patch(e,e))}),x["default"].apiError(e);var t=[],a=[];e.forEach(function(e){e.detail?(t.push(e),a.push(e.id)):P["default"].dispatch(y.patch(e,e)),n.forEach(function(e){a.indexOf(e)!==-1&&P["default"].dispatch(y.patch(e,e))})});var o={};r.forEach(function(e){o[e.id]=e}),k["default"].show(v["default"].createElement(M["default"],{errors:t,posts:o}))})}function d(e){var t=confirm(gettext("Are you sure you want to merge selected posts? This action is not reversible!"));t&&(e.selection.slice(1).map(function(e){P["default"].dispatch(y.patch(e,{isDeleted:!0}))}),w["default"].post(e.thread.api.posts.merge,{posts:e.selection.map(function(e){return e.id})}).then(function(e){P["default"].dispatch(y.patch(e,y.hydrate(e)))},function(t){400===t.status?x["default"].error(t.detail):x["default"].apiError(t),e.selection.slice(1).map(function(e){P["default"].dispatch(y.patch(e,{isDeleted:!1}))})}),P["default"].dispatch(_.deselectAll()))}function f(e){var t=confirm(gettext("Are you sure you want to delete selected posts? This action is not reversible!"));if(t){e.selection.map(function(e){P["default"].dispatch(y.patch(e,{isDeleted:!0}))});var a=e.selection.map(function(e){return e.id});w["default"]["delete"](e.thread.api.posts.index,a).then(function(){},function(t){400===t.status?x["default"].error(t.detail):x["default"].apiError(t),e.selection.map(function(e){P["default"].dispatch(y.patch(e,{isDeleted:!1}))})}),P["default"].dispatch(_.deselectAll())}}Object.defineProperty(a,"__esModule",{value:!0}),a.approve=o,a.protect=l,a.unprotect=s,a.hide=i,a.unhide=u,a.patch=c,a.merge=d,a.remove=f;var p=e("moment"),m=r(p),h=e("react"),v=r(h),b=e("../../../../reducers/post"),y=n(b),g=e("../../../../reducers/posts"),_=n(g),E=e("../../../../services/ajax"),w=r(E),O=e("../../../../services/modal"),k=r(O),N=e("../../../../services/snackbar"),x=r(N),j=e("../../../../services/store"),P=r(j),C=e("./errors-list"),M=r(C)},{"../../../../reducers/post":340,"../../../../reducers/posts":341,"../../../../services/ajax":352,"../../../../services/modal":358,"../../../../services/snackbar":363,"../../../../services/store":364,"./errors-list":211,moment:"moment",react:"react"}],210:[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.Merge=a.Approve=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"},c["default"].createElement(g,e),c["default"].createElement(_,e),c["default"].createElement(E,e),c["default"].createElement(w,e),c["default"].createElement(O,e),c["default"].createElement(k,e),c["default"].createElement(x,e),c["default"].createElement(N,e),c["default"].createElement(j,e))};var u=e("react"),c=r(u),d=e("../../../../services/modal"),f=r(d),p=e("./actions"),m=n(p),h=e("./move"),v=r(h),b=e("./split"),y=r(b),g=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(){m.approve(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.acl.can_approve&&e.is_unapproved});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},c["default"].createElement("span",{className:"material-icon"},"done"),gettext("Approve"))):null}}]),t}(c["default"].Component),_=a.Merge=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.merge(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){
|
|
className:"badge"},t)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return l["default"].createElement("div",{className:"list-group nav-side"},e.providers.map(function(e){return l["default"].createElement(s.Link,{activeClassName:"active",className:"list-group-item",key:e.id,to:e.url},l["default"].createElement("span",{className:"material-icon"},e.icon),e.name,l["default"].createElement(r,{results:e.results}))}))},a.Badge=r;var o=e("react"),l=n(o),s=e("react-router")},{react:"react","react-router":"react-router"}],200:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.posts&&e.posts.count?e.children:e.query.length?s["default"].createElement("p",{className:"lead"},gettext("No threads matching search query have been found.")):s["default"].createElement("p",{className:"lead"},gettext("Enter at least two characters to search threads."))}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 s["default"].createElement(u["default"],{provider:e.route.provider,search:e.search},s["default"].createElement(r,{query:e.search.query,posts:e.posts},s["default"].createElement(d["default"],o({provider:e.route.provider,query:e.search.query},e.posts))))},a.Blankslate=r;var l=e("react"),s=n(l),i=e("../page"),u=n(i),c=e("./results"),d=n(c)},{"../page":198,"./results":201,react:"react"}],201:[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.LoadMore=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("div",null,u["default"].createElement(d["default"],{isReady:!0,posts:e.results}),u["default"].createElement(O,e))};var i=e("react"),u=n(i),c=e("../../post-feed"),d=n(c),f=e("../../button"),p=n(f),m=e("../../misago-markup"),h=(n(m),e("../../../reducers/posts")),v=e("../../../reducers/search"),b=e("../../../services/ajax"),y=n(b),g=e("../../../services/snackbar"),_=n(g),E=e("../../../services/store"),w=n(E),O=a.LoadMore=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(){w["default"].dispatch((0,h.update)({isBusy:!0})),y["default"].get(n.props.provider.api,{q:n.props.query,page:n.props.next}).then(function(e){e.forEach(function(e){"threads"===e.id&&(w["default"].dispatch((0,h.append)(e.results)),w["default"].dispatch((0,v.updateProvider)(e)))}),w["default"].dispatch((0,h.update)({isBusy:!1}))},function(e){_["default"].apiError(e),w["default"].dispatch((0,h.update)({isBusy:!1}))})},l=a,o(n,l)}return l(t,e),s(t,[{key:"render",value:function(){return this.props.more?u["default"].createElement("div",{className:"pager-more"},u["default"].createElement(p["default"],{className:"btn btn-default btn-outline",loading:this.props.isBusy,onClick:this.onClick},gettext("Show more"))):null}}]),t}(u["default"].Component)},{"../../../reducers/posts":341,"../../../reducers/search":344,"../../../services/ajax":352,"../../../services/snackbar":363,"../../../services/store":364,"../../button":5,"../../misago-markup":56,"../../post-feed":115,react:"react"}],202:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.users.length?e.children:e.query.length?l["default"].createElement("p",{className:"lead"},gettext("No users matching search query have been found.")):l["default"].createElement("p",{className:"lead"},gettext("Enter at least two characters to search users."))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return l["default"].createElement(i["default"],{provider:e.route.provider,search:e.search},l["default"].createElement(r,{query:e.search.query,users:e.users},l["default"].createElement(c["default"],{cols:3,isReady:!0,users:e.users})))},a.Blankslate=r;var o=e("react"),l=n(o),s=e("../page"),i=n(s),u=e("../../users-list"),c=n(u)},{"../../users-list":273,"../page":198,react:"react"}],203:[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.icon;return t?c["default"].createElement("span",{className:"material-icon"},t):null}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}}();a.Icon=s;var u=e("react"),c=n(u),d=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.change=function(e){return function(){n.props.onChange({target:{value:e}})}},l=a,o(n,l)}return l(t,e),i(t,[{key:"getChoice",value:function(){var e=this,t=null;return this.props.choices.map(function(a){a.value===e.props.value&&(t=a)}),t}},{key:"getIcon",value:function(){return this.getChoice().icon}},{key:"getLabel",value:function(){return this.getChoice().label}},{key:"render",value:function(){var e=this;return c["default"].createElement("div",{className:"btn-group btn-select-group"},c["default"].createElement("button",{type:"button",className:"btn btn-select dropdown-toggle",id:this.props.id||null,"data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-describedby":this.props["aria-describedby"]||null,disabled:this.props.disabled||!1},c["default"].createElement(s,{icon:this.getIcon()}),this.getLabel()),c["default"].createElement("ul",{className:"dropdown-menu"},this.props.choices.map(function(t,a){return c["default"].createElement("li",{key:a},c["default"].createElement("button",{type:"button",className:"btn-link",onClick:e.change(t.value)},c["default"].createElement(s,{icon:t.icon}),t.label))})))}}]),t}(c["default"].Component);a["default"]=d},{react:"react"}],204:[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("../index"),d=n(c),f=e("./button"),p=n(f),m=e("./form"),h=n(m),v=e("../services/ajax"),b=n(v),y=e("../services/modal"),g=n(y),_=e("../services/snackbar"),E=n(_),w=e("../utils/banned-page"),O=n(w),k=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,showActivation:!1,username:"",password:"",validators:{username:[],password:[]}},a}return l(t,e),s(t,[{key:"clean",value:function(){return!!this.isValid()||(E["default"].error(gettext("Fill out both fields.")),!1)}},{key:"send",value:function(){return b["default"].post(d["default"].get("AUTH_API"),{username:this.state.username,password:this.state.password})}},{key:"handleSuccess",value:function(){var e=$("#hidden-login-form");e.append('<input type="text" name="username" />'),e.append('<input type="password" name="password" />'),e.find('input[type="hidden"]').val(b["default"].getCsrfToken()),e.find('input[name="redirect_to"]').val(window.location.pathname),e.find('input[name="username"]').val(this.state.username),e.find('input[name="password"]').val(this.state.password),e.submit(),this.setState({isLoading:!0})}},{key:"handleError",value:function(e){400===e.status?"inactive_admin"===e.code?E["default"].info(e.detail):"inactive_user"===e.code?(E["default"].info(e.detail),this.setState({showActivation:!0})):"banned"===e.code?((0,O["default"])(e.detail),g["default"].hide()):E["default"].error(e.detail):403===e.status&&e.ban?((0,O["default"])(e.ban),g["default"].hide()):E["default"].apiError(e)}},{key:"getActivationButton",value:function(){return this.state.showActivation?u["default"].createElement("a",{className:"btn btn-success btn-block",href:d["default"].get("REQUEST_ACTIVATION_URL")},gettext("Activate account")):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"modal-dialog modal-sm modal-sign-in",role:"document"},u["default"].createElement("div",{className:"modal-content"},u["default"].createElement("div",{className:"modal-header"},u["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},u["default"].createElement("span",{"aria-hidden":"true"},"×")),u["default"].createElement("h4",{className:"modal-title"},gettext("Sign in"))),u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("div",{className:"modal-body"},u["default"].createElement("div",{className:"form-group"},u["default"].createElement("div",{className:"control-input"},u["default"].createElement("input",{className:"form-control input-lg",disabled:this.state.isLoading,id:"id_username",onChange:this.bindInput("username"),placeholder:gettext("Username or e-mail"),type:"text",value:this.state.username}))),u["default"].createElement("div",{className:"form-group"},u["default"].createElement("div",{className:"control-input"},u["default"].createElement("input",{className:"form-control input-lg",disabled:this.state.isLoading,id:"id_password",onChange:this.bindInput("password"),placeholder:gettext("Password"),type:"password",value:this.state.password})))),u["default"].createElement("div",{className:"modal-footer"},this.getActivationButton(),u["default"].createElement(p["default"],{className:"btn-primary btn-block",loading:this.state.isLoading},gettext("Sign in")),u["default"].createElement("a",{className:"btn btn-default btn-block",href:d["default"].get("FORGOTTEN_PASSWORD_URL")},gettext("Forgot password?"))))))}}]),t}(h["default"]);a["default"]=k},{"../index":291,"../services/ajax":352,"../services/modal":358,"../services/snackbar":363,"../utils/banned-page":366,"./button":5,"./form":52,react:"react"}],205:[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.snackbar}Object.defineProperty(a,"__esModule",{value:!0}),a.Snackbar=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.select=s;var u=e("react"),c=n(u),d={info:"alert-info",success:"alert-success",warning:"alert-warning",error:"alert-danger"};a.Snackbar=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:"getSnackbarClass",value:function(){var e="alerts-snackbar";return e+=this.props.isVisible?" in":" out"}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getSnackbarClass()},c["default"].createElement("p",{className:"alert "+d[this.props.type]},this.props.message))}}]),t}(c["default"].Component)},{react:"react"}],206:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return s["default"].createElement("li",null,s["default"].createElement("a",{href:e.node.url.index},e.node.name))}function o(e){var t=e.path[e.path.length-1];return s["default"].createElement("a",{href:t.url.index,className:"go-back-sm visible-xs-block"},s["default"].createElement("span",{className:"material-icon"},"chevron_left"),t.name)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return s["default"].createElement("div",{className:"page-breadcrumbs"},s["default"].createElement("div",{className:"container"},s["default"].createElement("ol",{className:"breadcrumb hidden-xs"},e.path.map(function(e){return s["default"].createElement(r,{key:e.id,node:e})})),s["default"].createElement(o,e)))},a.Breadcrumb=r,a.GoBack=o;var l=e("react"),s=n(l)},{react:"react"}],207:[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 f["default"].createElement("div",{className:e.isSingle?"col-xs-12":"col-xs-6"},f["default"].createElement("div",{className:"btn-group btn-group-justified"},f["default"].createElement("div",{className:"btn-group"},f["default"].createElement("button",{"aria-expanded":"false","aria-haspopup":"true",className:"btn btn-default btn-outline dropdown-toggle","data-toggle":"dropdown",disabled:e.thread.isBusy,type:"button"},f["default"].createElement("span",{className:"material-icon"},"settings"),f["default"].createElement("span",{className:e.isSingle?"":"hidden-sm"},gettext("Moderation"))),f["default"].createElement(h.ModerationControls,{posts:e.posts,thread:e.thread,user:e.user}))))}Object.defineProperty(a,"__esModule",{value:!0});var u=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},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}}();a.Moderation=i;var d=e("react"),f=r(d),p=e("./breadcrumbs"),m=r(p),h=e("../moderation/thread"),v=e("./stats"),b=r(v),y=e("../../form"),g=r(y),_=e("../../posting/utils/validators"),E=e("../../../services/ajax"),w=r(E),O=e("../../../services/snackbar"),k=r(O),N=e("../../../services/store"),x=r(N),j=e("../../../reducers/thread"),P=n(j),C=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onChange=function(e){a.changeValue("title",e.target.value)},a.onEdit=function(){a.setState({isEditing:!0})},a.onCancel=function(){a.setState({title:a.props.thread.title,isEditing:!1})},a.state={isEditing:!1,isLoading:!1,title:e.thread.title,validators:{title:(0,_.getTitleValidators)()},errors:{}},a}return s(t,e),c(t,[{key:"clean",value:function(){if(!this.state.title.trim().length)return k["default"].error(gettext("You have to enter thread title.")),!1;var e=this.validate();return!e.title||(k["default"].error(e.title[0]),!1)}},{key:"send",value:function(){return w["default"].patch(this.props.thread.api.index,[{op:"replace",path:"title",value:this.state.title}])}},{key:"handleSuccess",value:function(e){x["default"].dispatch(P.update(e)),this.setState({isEditing:!1})}},{key:"handleError",value:function(e){400===e.status?k["default"].error(e.detail[0]):k["default"].apiError(e)}},{key:"render",value:function(){var e=this.props,t=e.thread,a=e.user,n=!!a.id&&(0,h.isModerationVisible)(t);return this.state.isEditing?f["default"].createElement("div",{className:"page-header"},f["default"].createElement(m["default"],{path:t.path}),f["default"].createElement("div",{className:"container"},f["default"].createElement("div",{className:"row xs-margin-top title-edit-form"},f["default"].createElement("form",{onSubmit:this.handleSubmit},f["default"].createElement("div",{className:"col-sm-6 col-md-6"},f["default"].createElement("input",{className:"form-control",type:"text",value:this.state.title,onChange:this.onChange})),f["default"].createElement("div",{className:"col-sm-6 col-md-4"},f["default"].createElement("div",{className:"row xs-margin-top-half sm-margin-top-no md-margin-top-no"},f["default"].createElement("div",{className:"col-xs-6"},f["default"].createElement("button",{className:"btn btn-primary btn-block btn-outline",disabled:this.state.isLoading,title:gettext("Change title")},gettext("Save changes"))),f["default"].createElement("div",{className:"col-xs-6"},f["default"].createElement("button",{className:"btn btn-default btn-block btn-outline",disabled:this.state.isLoading,onClick:this.onCancel,title:gettext("Cancel"),type:"button"},gettext("Cancel")))))))),f["default"].createElement(b["default"],{thread:t})):a.id&&t.acl.can_edit?f["default"].createElement("div",{className:"page-header"},f["default"].createElement(m["default"],{path:t.path}),f["default"].createElement("div",{className:"container"},f["default"].createElement("div",{className:"row"},f["default"].createElement("div",{className:n?"col-sm-9 col-md-8":"col-sm-10 col-md-10"},f["default"].createElement("h1",null,t.title)),f["default"].createElement("div",{className:n?"col-sm-3 col-md-4":"col-sm-3 col-md-2"},f["default"].createElement("div",{className:"row xs-margin-top md-margin-top-no"},f["default"].createElement("div",{className:n?"col-xs-6":"col-xs-12"},f["default"].createElement("button",{className:"btn btn-default btn-block btn-outline",onClick:this.onEdit,title:gettext("Edit title"),type:"button"},f["default"].createElement("span",{className:"material-icon"},"edit"),f["default"].createElement("span",{className:"hidden-sm"},gettext("Edit")))),n&&f["default"].createElement(i,this.props))))),f["default"].createElement(b["default"],{thread:t})):n?f["default"].createElement("div",{className:"page-header"},f["default"].createElement(m["default"],{path:t.path}),f["default"].createElement("div",{className:"container"},f["default"].createElement("div",{className:"row"},f["default"].createElement("div",{className:"col-sm-9 col-md-10"},f["default"].createElement("h1",null,t.title)),f["default"].createElement("div",{className:"col-sm-3 col-md-2"},f["default"].createElement("div",{className:"row xs-margin-top md-margin-top-no"},f["default"].createElement(i,u({isSingle:!0},this.props)))))),f["default"].createElement(b["default"],{thread:t})):f["default"].createElement("div",{className:"page-header"},f["default"].createElement(m["default"],{path:t.path}),f["default"].createElement("div",{className:"container"},f["default"].createElement("h1",null,t.title)),f["default"].createElement(b["default"],{thread:t}))}}]),t}(g["default"]);a["default"]=C},{"../../../reducers/thread":347,"../../../services/ajax":352,"../../../services/snackbar":363,"../../../services/store":364,"../../form":52,"../../posting/utils/validators":137,"../moderation/thread":216,"./breadcrumbs":206,"./stats":208,react:"react"}],208:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return 2==e.thread.weight?d["default"].createElement("li",{className:"thread-pinned-globally"},d["default"].createElement("span",{className:"material-icon"},"bookmark"),d["default"].createElement("span",{className:"icon-legend"},gettext("Pinned globally"))):1==e.thread.weight?d["default"].createElement("li",{className:"thread-pinned-locally"},d["default"].createElement("span",{className:"material-icon"},"bookmark_border"),d["default"].createElement("span",{className:"icon-legend"},gettext("Pinned locally"))):null}function o(e){return e.thread.is_unapproved?d["default"].createElement("li",{className:"thread-unapproved"},d["default"].createElement("span",{className:"material-icon"},"remove_circle"),d["default"].createElement("span",{className:"icon-legend"},gettext("Unapproved"))):e.thread.has_unapproved_posts?d["default"].createElement("li",{className:"thread-unapproved-posts"},d["default"].createElement("span",{className:"material-icon"},"remove_circle_outline"),d["default"].createElement("span",{className:"icon-legend"},gettext("Unapproved posts"))):null}function l(e){return e.thread.is_hidden?d["default"].createElement("li",{className:"thread-hidden"},d["default"].createElement("span",{className:"material-icon"},"visibility_off"),d["default"].createElement("span",{className:"icon-legend"},gettext("Hidden"))):null}function s(e){return e.thread.is_closed?d["default"].createElement("li",{className:"thread-closed"},d["default"].createElement("span",{className:"material-icon"},"lock_outline"),d["default"].createElement("span",{className:"icon-legend"},gettext("Closed"))):null}function i(e){var t=ngettext("%(replies)s reply","%(replies)s replies",e.thread.replies),a=interpolate(t,{replies:e.thread.replies},!0);return d["default"].createElement("li",{className:"thread-replies"},d["default"].createElement("span",{className:"material-icon"},"forum"),d["default"].createElement("span",{className:"icon-legend"},a))}function u(e){var t=null;t=e.thread.url.last_poster?interpolate(m,{url:(0,p["default"])(e.thread.url.last_poster),user:(0,p["default"])(e.thread.last_poster_name)},!0):interpolate(h,{user:(0,p["default"])(e.thread.last_poster_name)},!0);var a=interpolate(v,{absolute:(0,p["default"])(e.thread.last_post_on.format("LLL")),relative:(0,p["default"])(e.thread.last_post_on.fromNow())},!0),n=interpolate((0,p["default"])(gettext("last reply by %(user)s %(date)s")),{date:a,user:t},!0);return d["default"].createElement("li",{className:"thread-last-reply",dangerouslySetInnerHTML:{__html:n}})}Object.defineProperty(a,"__esModule",{value:!0}),a.Weight=r,a.Unapproved=o,a.IsHidden=l,a.IsClosed=s,a.Replies=i,a.LastReply=u,a["default"]=function(e){return d["default"].createElement("div",{className:"header-stats"},d["default"].createElement("div",{className:"container"},d["default"].createElement("ul",{className:"list-inline"},d["default"].createElement(r,{thread:e.thread}),d["default"].createElement(o,{thread:e.thread}),d["default"].createElement(l,{thread:e.thread}),d["default"].createElement(s,{thread:e.thread}),d["default"].createElement(i,{thread:e.thread}),d["default"].createElement(u,{thread:e.thread}))))};var c=e("react"),d=n(c),f=e("../../../utils/escape-html"),p=n(f),m='<a href="%(url)s" class="poster-title">%(user)s</a>',h='<span class="poster-title">%(user)s</span>',v='<abbr class="last-title" title="%(absolute)s">%(relative)s</abbr>'},{"../../../utils/escape-html":370,react:"react"}],209:[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){var t=e.selection,a=[{op:"replace",path:"is-unapproved",value:!1}],n=t.map(function(e){return{id:e.id,is_unapproved:!1}}),r=t.map(function(e){return{id:e.id,is_unapproved:e.is_unapproved}});c(e,a,n,r)}function l(e){var t=e.selection,a=[{op:"replace",path:"is-protected",value:!0}],n=t.map(function(e){return{id:e.id,is_protected:!0}}),r=t.map(function(e){return{id:e.id,is_protected:e.is_protected}});c(e,a,n,r)}function s(e){var t=e.selection,a=[{op:"replace",path:"is-protected",value:!1}],n=t.map(function(e){return{id:e.id,is_protected:!1}}),r=t.map(function(e){return{id:e.id,is_protected:e.is_protected}});c(e,a,n,r)}function i(e){var t=e.selection,a=[{op:"replace",path:"is-hidden",value:!0}],n=t.map(function(t){return{id:t.id,is_hidden:!0,hidden_on:(0,m["default"])(),hidden_by_name:e.user.username,url:Object.assign(t.url,{hidden_by:e.user.url})}}),r=t.map(function(e){return{id:e.id,is_hidden:e.is_hidden,hidden_on:e.hidden_on,hidden_by_name:e.hidden_by_name,url:e.url}});c(e,a,n,r)}function u(e){var t=e.selection,a=[{op:"replace",path:"is-hidden",value:!1}],n=t.map(function(t){return{id:t.id,is_hidden:!1,hidden_on:(0,m["default"])(),hidden_by_name:e.user.username,url:Object.assign(t.url,{hidden_by:e.user.url})}}),r=t.map(function(e){return{id:e.id,is_hidden:e.is_hidden,hidden_on:e.hidden_on,hidden_by_name:e.hidden_by_name,url:e.url}});c(e,a,n,r)}function c(e,t,a,n){var r=e.selection,o=e.thread;a.forEach(function(e){y.patch(e,e)}),P["default"].dispatch(_.deselectAll());var l={ops:t,ids:r.map(function(e){return e.id})};w["default"].patch(o.api.posts.index,l).then(function(e){e.forEach(function(e){P["default"].dispatch(y.patch(e,e))})},function(e){if(400!==e.status)return n.forEach(function(e){P["default"].dispatch(y.patch(e,e))}),x["default"].apiError(e);var t=[],a=[];e.forEach(function(e){e.detail?(t.push(e),a.push(e.id)):P["default"].dispatch(y.patch(e,e)),n.forEach(function(e){a.indexOf(e)!==-1&&P["default"].dispatch(y.patch(e,e))})});var o={};r.forEach(function(e){o[e.id]=e}),k["default"].show(v["default"].createElement(M["default"],{errors:t,posts:o}))})}function d(e){var t=confirm(gettext("Are you sure you want to merge selected posts? This action is not reversible!"));t&&(e.selection.slice(1).map(function(e){P["default"].dispatch(y.patch(e,{isDeleted:!0}))}),w["default"].post(e.thread.api.posts.merge,{posts:e.selection.map(function(e){return e.id})}).then(function(e){P["default"].dispatch(y.patch(e,y.hydrate(e)))},function(t){400===t.status?x["default"].error(t.detail):x["default"].apiError(t),e.selection.slice(1).map(function(e){P["default"].dispatch(y.patch(e,{isDeleted:!1}))})}),P["default"].dispatch(_.deselectAll()))}function f(e){var t=confirm(gettext("Are you sure you want to delete selected posts? This action is not reversible!"));if(t){e.selection.map(function(e){P["default"].dispatch(y.patch(e,{isDeleted:!0}))});var a=e.selection.map(function(e){return e.id});w["default"]["delete"](e.thread.api.posts.index,a).then(function(){},function(t){400===t.status?x["default"].error(t.detail):x["default"].apiError(t),e.selection.map(function(e){P["default"].dispatch(y.patch(e,{isDeleted:!1}))})}),P["default"].dispatch(_.deselectAll())}}Object.defineProperty(a,"__esModule",{value:!0}),a.approve=o,a.protect=l,a.unprotect=s,a.hide=i,a.unhide=u,a.patch=c,a.merge=d,a.remove=f;var p=e("moment"),m=r(p),h=e("react"),v=r(h),b=e("../../../../reducers/post"),y=n(b),g=e("../../../../reducers/posts"),_=n(g),E=e("../../../../services/ajax"),w=r(E),O=e("../../../../services/modal"),k=r(O),N=e("../../../../services/snackbar"),x=r(N),j=e("../../../../services/store"),P=r(j),C=e("./errors-list"),M=r(C)},{"../../../../reducers/post":340,"../../../../reducers/posts":341,"../../../../services/ajax":352,"../../../../services/modal":358,"../../../../services/snackbar":363,"../../../../services/store":364,"./errors-list":211,moment:"moment",react:"react"}],210:[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.Merge=a.Approve=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"},c["default"].createElement(g,e),c["default"].createElement(_,e),c["default"].createElement(E,e),c["default"].createElement(w,e),c["default"].createElement(O,e),c["default"].createElement(k,e),c["default"].createElement(x,e),c["default"].createElement(N,e),c["default"].createElement(j,e))};var u=e("react"),c=r(u),d=e("../../../../services/modal"),f=r(d),p=e("./actions"),m=n(p),h=e("./move"),v=r(h),b=e("./split"),y=r(b),g=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(){m.approve(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.acl.can_approve&&e.is_unapproved});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},c["default"].createElement("span",{className:"material-icon"},"done"),gettext("Approve"))):null}}]),t}(c["default"].Component),_=a.Merge=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.merge(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){
|
|
-var e=this.props.selection.length>1&&this.props.selection.find(function(e){return e.acl.can_merge});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},c["default"].createElement("span",{className:"material-icon"},"call_merge"),gettext("Merge"))):null}}]),t}(c["default"].Component),E=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(v["default"],n.props))},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.acl.can_move});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},c["default"].createElement("span",{className:"material-icon"},"arrow_forward"),gettext("Move"))):null}}]),t}(c["default"].Component),w=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(y["default"],n.props))},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.acl.can_move});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},c["default"].createElement("span",{className:"material-icon"},"call_split"),gettext("Split"))):null}}]),t}(c["default"].Component),O=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(){m.protect(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return!e.is_protected&&e.acl.can_protect});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},c["default"].createElement("span",{className:"material-icon"},"lock_outline"),gettext("Protect"))):null}}]),t}(c["default"].Component),k=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(){m.unprotect(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.is_protected&&e.acl.can_protect});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},c["default"].createElement("span",{className:"material-icon"},"lock_open"),gettext("Unprotect"))):null}}]),t}(c["default"].Component),N=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(){m.hide(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.acl.can_hide&&!e.is_hidden});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},c["default"].createElement("span",{className:"material-icon"},"visibility_off"),gettext("Hide"))):null}}]),t}(c["default"].Component),x=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(){m.unhide(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.acl.can_unhide&&e.is_hidden});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},c["default"].createElement("span",{className:"material-icon"},"visibility"),gettext("Unhide"))):null}}]),t}(c["default"].Component),j=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(){m.remove(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.acl.can_delete});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},c["default"].createElement("span",{className:"material-icon"},"clear"),gettext("Delete"))):null}}]),t}(c["default"].Component)},{"../../../../services/modal":358,"./actions":209,"./move":213,"./split":214,react:"react"}],211:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.errors,a=e.post,n=interpolate(gettext("%(username)s on %(posted_on)s"),{posted_on:a.posted_on.format("LL, LT"),username:a.poster_name},!0);return l["default"].createElement("li",null,l["default"].createElement("h5",null,n,":"),t.map(function(e,t){return l["default"].createElement("p",{key:t},e)}))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.errors,a=e.posts;return l["default"].createElement("div",{className:"modal-dialog",role:"document"},l["default"].createElement("div",{className:"modal-content"},l["default"].createElement("div",{className:"modal-header"},l["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},l["default"].createElement("span",{"aria-hidden":"true"},"×")),l["default"].createElement("h4",{className:"modal-title"},gettext("Moderation"))),l["default"].createElement("div",{className:"modal-body"},l["default"].createElement("p",{className:"lead"},gettext("One or more posts could not be changed:")),l["default"].createElement("ul",{className:"list-unstyled list-errored-items"},t.map(function(e){return l["default"].createElement(r,{errors:e.detail,key:e.id,post:a[e.id]})})))))},a.PostErrors=r;var o=e("react"),l=n(o)},{react:"react"}],212:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(e.acl.can_merge_posts&&t.length>1)return!0;var a=!1;return t.forEach(function(e){if(!e.is_event){var t=e.acl.can_approve&&e.is_unapproved||e.acl.can_delete||!e.is_hidden&&e.acl.can_hide||e.acl.can_move||e.acl.can_merge||e.acl.can_protect||e.is_hidden&&e.acl.can_unhide||e.acl.can_unprotect;t&&(a=!0)}}),a}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){if(!e.user.id||!r(e.thread,e.posts.results))return null;var t=e.posts.results.filter(function(e){return e.isSelected});return s["default"].createElement("div",{className:"dropup"},s["default"].createElement("button",{"aria-expanded":"true","aria-haspopup":"true",className:"btn btn-default dropdown-toggle btn-block btn-outline","data-toggle":"dropdown",disabled:!t.length,type:"button"},gettext("Posts options")),s["default"].createElement(u["default"],o({selection:t},e)))},a.isVisible=r;var l=e("react"),s=n(l),i=e("./dropdown"),u=n(i)},{"./dropdown":210,react:"react"}],213:[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 posts")))}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"),v=r(h),b=e("../../../../reducers/post"),y=n(b),g=e("../../../../services/ajax"),_=r(g),E=e("../../../../services/modal"),w=r(E),O=e("../../../../services/snackbar"),k=r(O),N=e("../../../../services/store"),x=r(N),j=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 _["default"].post(this.props.thread.api.posts.move,{thread_url:this.state.url,posts:this.props.selection.map(function(e){return e.id})})}},{key:"handleSuccess",value:function(e){this.props.selection.forEach(function(e){x["default"].dispatch(y.patch(e,{isDeleted:!0}))}),w["default"].hide(),k["default"].success(gettext("Selected posts were 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(v["default"],{"for":"id_url",label:gettext("Link to thread you want to move posts 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-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},gettext("Cancel")),d["default"].createElement("button",{className:"btn btn-primary",loading:this.state.isLoading},gettext("Move posts"))))))}}]),t}(m["default"]);a["default"]=j},{"../../../../reducers/post":340,"../../../../services/ajax":352,"../../../../services/modal":358,"../../../../services/snackbar":363,"../../../../services/store":364,"../../../button":5,"../../../form":52,"../../../form-group":51,react:"react"}],214:[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 selected posts at the moment.")),m["default"].createElement("p",null,e.message),m["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},gettext("Ok"))))}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 posts 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"),v=r(h),b=e("../../../form"),y=r(b),g=e("../../../form-group"),_=r(g),E=e("../../../category-select"),w=r(E),O=e("../../../modal-loader"),k=r(O),N=e("../../../select"),x=r(N),j=e("../../../../reducers/post"),P=n(j),C=e("../../../../services/ajax"),M=r(C),S=e("../../../../services/modal"),T=r(S),L=e("../../../../services/snackbar"),R=r(L),A=e("../../../../services/store"),I=r(A),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;M["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()||(R["default"].error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return M["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.selection.map(function(e){return e.id})})}},{key:"handleSuccess",value:function(e){this.props.selection.forEach(function(e){I["default"].dispatch(P.patch(e,{isDeleted:!0}))}),T["default"].hide(),R["default"].success(gettext("Selected posts were split into new thread."))}},{key:"handleError",value:function(e){400===e.status?(this.setState({errors:Object.assign({},this.state.errors,e)}),R["default"].error(gettext("Form contains errors."))):403===e.status&&Array.isArray(e)?T["default"].show(m["default"].createElement(ErrorsModal,{errors:e})):R["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(_["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(_["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(_["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(_["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(_["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("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},gettext("Cancel")),m["default"].createElement(v["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Split posts")))))}}]),t}(y["default"])},{"../../../../reducers/post":340,"../../../../services/ajax":352,"../../../../services/modal":358,"../../../../services/snackbar":363,"../../../../services/store":364,"../../../../utils/validators":380,"../../../button":5,"../../../category-select":18,"../../../form":52,"../../../form-group":51,"../../../modal-loader":57,"../../../select":203,react:"react"}],215:[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("./merge"),f=r(d),p=e("./move"),m=r(p),h=e("../../../../reducers/thread"),v=n(h),b=e("../../../../services/ajax"),y=r(b),g=e("../../../../services/modal"),_=r(g),E=e("../../../../services/snackbar"),w=r(E),O=e("../../../../services/store"),k=r(O),N=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.callApi=function(e,t){k["default"].dispatch(v.busy()),e.push({op:"add",path:"acl",value:!0}),y["default"].patch(n.props.thread.api.index,e).then(function(e){k["default"].dispatch(v.update(e)),k["default"].dispatch(v.release()),w["default"].success(t)},function(e){k["default"].dispatch(v.release()),400===e.status?w["default"].error(e.detail[0]):w["default"].apiError(e)})},n.pinGlobally=function(){n.callApi([{op:"replace",path:"weight",value:2}],gettext("Thread has been pinned globally."))},n.pinLocally=function(){n.callApi([{op:"replace",path:"weight",value:1}],gettext("Thread has been pinned locally."))},n.unpin=function(){n.callApi([{op:"replace",path:"weight",value:0}],gettext("Thread has been unpinned."))},n.approve=function(){n.callApi([{op:"replace",path:"is-unapproved",value:!1}],gettext("Thread has been approved."))},n.open=function(){n.callApi([{op:"replace",path:"is-closed",value:!1}],gettext("Thread has been opened."))},n.close=function(){n.callApi([{op:"replace",path:"is-closed",value:!0}],gettext("Thread has been closed."))},n.unhide=function(){n.callApi([{op:"replace",path:"is-hidden",value:!1}],gettext("Thread has been made visible."))},n.hide=function(){n.callApi([{op:"replace",path:"is-hidden",value:!0}],gettext("Thread has been made hidden."))},n.move=function(){_["default"].show(c["default"].createElement(m["default"],{posts:n.props.posts,thread:n.props.thread}))},n.merge=function(){_["default"].show(c["default"].createElement(f["default"],{thread:n.props.thread}))},n["delete"]=function(){confirm(gettext("Are you sure you want to delete this thread?"))&&(k["default"].dispatch(v.busy()),y["default"]["delete"](n.props.thread.api.index).then(function(e){w["default"].success(gettext("Thread has been deleted.")),window.location=n.props.thread.category.url.index},function(e){k["default"].dispatch(v.release()),w["default"].apiError(e)}))},r=a,l(n,r)}return s(t,e),i(t,[{key:"getPinGloballyButton",value:function(){return 2===this.props.thread.weight?null:this.props.thread.acl.can_pin_globally?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.pinGlobally,type:"button"},c["default"].createElement("span",{className:"material-icon"},"bookmark"),gettext("Pin globally"))):null}},{key:"getPinLocallyButton",value:function(){return 1===this.props.thread.weight?null:this.props.thread.acl.can_pin?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.pinLocally,type:"button"},c["default"].createElement("span",{className:"material-icon"},"bookmark_border"),gettext("Pin locally"))):null}},{key:"getUnpinButton",value:function(){return 0===this.props.thread.weight?null:this.props.thread.acl.can_pin?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.unpin,type:"button"},c["default"].createElement("span",{className:"material-icon"},"panorama_fish_eye"),gettext("Unpin"))):null}},{key:"getMoveButton",value:function(){return this.props.thread.acl.can_move?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.move,type:"button"},c["default"].createElement("span",{className:"material-icon"},"arrow_forward"),gettext("Move"))):null}},{key:"getMergeButton",value:function(){return this.props.thread.acl.can_merge?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.merge,type:"button"},c["default"].createElement("span",{className:"material-icon"},"call_merge"),gettext("Merge"))):null}},{key:"getApproveButton",value:function(){return this.props.thread.is_unapproved&&this.props.thread.acl.can_approve?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.approve,type:"button"},c["default"].createElement("span",{className:"material-icon"},"done"),gettext("Approve"))):null}},{key:"getOpenButton",value:function(){return this.props.thread.is_closed&&this.props.thread.acl.can_close?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.open,type:"button"},c["default"].createElement("span",{className:"material-icon"},"lock_open"),gettext("Open"))):null}},{key:"getCloseButton",value:function(){return this.props.thread.is_closed?null:this.props.thread.acl.can_close?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.close,type:"button"},c["default"].createElement("span",{className:"material-icon"},"lock_outline"),gettext("Close"))):null}},{key:"getUnhideButton",value:function(){return this.props.thread.is_hidden&&this.props.thread.acl.can_unhide?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.unhide,type:"button"},c["default"].createElement("span",{className:"material-icon"},"visibility"),gettext("Unhide"))):null}},{key:"getHideButton",value:function(){return this.props.thread.is_hidden?null:this.props.thread.acl.can_hide?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.hide,type:"button"},c["default"].createElement("span",{className:"material-icon"},"visibility_off"),gettext("Hide"))):null}},{key:"getDeleteButton",value:function(){return this.props.thread.acl.can_delete?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this["delete"],type:"button"},c["default"].createElement("span",{className:"material-icon"},"clear"),gettext("Delete"))):null}},{key:"render",value:function(){return c["default"].createElement("ul",{className:"dropdown-menu dropdown-menu-right stick-to-bottom"},this.getPinGloballyButton(),this.getPinLocallyButton(),this.getUnpinButton(),this.getMoveButton(),this.getMergeButton(),this.getApproveButton(),this.getOpenButton(),this.getCloseButton(),this.getUnhideButton(),this.getHideButton(),this.getDeleteButton())}}]),t}(c["default"].Component);a["default"]=N},{"../../../../reducers/thread":347,"../../../../services/ajax":352,"../../../../services/modal":358,"../../../../services/snackbar":363,"../../../../services/store":364,"./merge":218,"./move":219,react:"react"}],216:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a.isModerationVisible=a.ModerationControls=void 0;var r=e("./controls"),o=n(r),l=e("./is-visible"),s=n(l);a.ModerationControls=o["default"],a.isModerationVisible=s["default"]},{"./controls":215,"./is-visible":217}],217:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return!!(e.acl.can_approve&&e.is_unapproved||e.acl.can_close||e.acl.can_delete||e.acl.can_hide||e.acl.can_move||e.acl.can_pin||e.acl.can_pin_globally||e.acl.can_unhide)}},{}],218:[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("Merge thread")))}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("../../../form"),p=r(f),m=e("../../../form-group"),h=r(m),v=e("../../../merge-polls"),b=r(v),y=e("../../../../reducers/thread"),g=n(y),_=e("../../../../services/ajax"),E=r(_),w=e("../../../../services/modal"),O=r(w),k=e("../../../../services/snackbar"),N=r(k),x=e("../../../../services/store"),j=r(x),P=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.handleSuccess=function(e){a.handleSuccessUnmounted(e),a.setState({isLoading:!0})},a.handleSuccessUnmounted=function(e){N["default"].success(gettext("Thread has been merged with other one.")),window.location=e.url},a.handleError=function(e){j["default"].dispatch(g.release()),400===e.status?e.polls?O["default"].show(d["default"].createElement(b["default"],{api:a.props.thread.api.merge,data:{thread_url:a.state.url},polls:e.polls,onError:a.handleError,onSuccess:a.handleSuccessUnmounted})):N["default"].error(e.detail):N["default"].apiError(e)},a.onUrlChange=function(e){a.changeValue("url",e.target.value)},a.state={isLoading:!1,url:"",validators:{url:[]
|
|
|
|
|
|
+var e=this.props.selection.length>1&&this.props.selection.find(function(e){return e.acl.can_merge});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},c["default"].createElement("span",{className:"material-icon"},"call_merge"),gettext("Merge"))):null}}]),t}(c["default"].Component),E=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(v["default"],n.props))},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.acl.can_move});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},c["default"].createElement("span",{className:"material-icon"},"arrow_forward"),gettext("Move"))):null}}]),t}(c["default"].Component),w=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(y["default"],n.props))},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.acl.can_move});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},c["default"].createElement("span",{className:"material-icon"},"call_split"),gettext("Split"))):null}}]),t}(c["default"].Component),O=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(){m.protect(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return!e.is_protected&&e.acl.can_protect});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},c["default"].createElement("span",{className:"material-icon"},"lock_outline"),gettext("Protect"))):null}}]),t}(c["default"].Component),k=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(){m.unprotect(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.is_protected&&e.acl.can_protect});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},c["default"].createElement("span",{className:"material-icon"},"lock_open"),gettext("Unprotect"))):null}}]),t}(c["default"].Component),N=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(){m.hide(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.acl.can_hide&&!e.is_hidden});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},c["default"].createElement("span",{className:"material-icon"},"visibility_off"),gettext("Hide"))):null}}]),t}(c["default"].Component),x=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(){m.unhide(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.acl.can_unhide&&e.is_hidden});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},c["default"].createElement("span",{className:"material-icon"},"visibility"),gettext("Unhide"))):null}}]),t}(c["default"].Component),j=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(){m.remove(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.acl.can_delete});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},c["default"].createElement("span",{className:"material-icon"},"clear"),gettext("Delete"))):null}}]),t}(c["default"].Component)},{"../../../../services/modal":358,"./actions":209,"./move":213,"./split":214,react:"react"}],211:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.errors,a=e.post,n=interpolate(gettext("%(username)s on %(posted_on)s"),{posted_on:a.posted_on.format("LL, LT"),username:a.poster_name},!0);return l["default"].createElement("li",null,l["default"].createElement("h5",null,n,":"),t.map(function(e,t){return l["default"].createElement("p",{key:t},e)}))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.errors,a=e.posts;return l["default"].createElement("div",{className:"modal-dialog",role:"document"},l["default"].createElement("div",{className:"modal-content"},l["default"].createElement("div",{className:"modal-header"},l["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},l["default"].createElement("span",{"aria-hidden":"true"},"×")),l["default"].createElement("h4",{className:"modal-title"},gettext("Moderation"))),l["default"].createElement("div",{className:"modal-body"},l["default"].createElement("p",{className:"lead"},gettext("One or more posts could not be changed:")),l["default"].createElement("ul",{className:"list-unstyled list-errored-items"},t.map(function(e){return l["default"].createElement(r,{errors:e.detail,key:e.id,post:a[e.id]})})))))},a.PostErrors=r;var o=e("react"),l=n(o)},{react:"react"}],212:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(e.acl.can_merge_posts&&t.length>1)return!0;var a=!1;return t.forEach(function(e){if(!e.is_event){var t=e.acl.can_approve&&e.is_unapproved||e.acl.can_delete||!e.is_hidden&&e.acl.can_hide||e.acl.can_move||e.acl.can_merge||e.acl.can_protect||e.is_hidden&&e.acl.can_unhide||e.acl.can_unprotect;t&&(a=!0)}}),a}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){if(!e.user.id||!r(e.thread,e.posts.results))return null;var t=e.posts.results.filter(function(e){return e.isSelected});return s["default"].createElement("div",{className:"dropup"},s["default"].createElement("button",{"aria-expanded":"true","aria-haspopup":"true",className:"btn btn-default dropdown-toggle btn-block btn-outline","data-toggle":"dropdown",disabled:!t.length,type:"button"},gettext("Posts options")),s["default"].createElement(u["default"],o({selection:t},e)))},a.isVisible=r;var l=e("react"),s=n(l),i=e("./dropdown"),u=n(i)},{"./dropdown":210,react:"react"}],213:[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 posts")))}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"),v=r(h),b=e("../../../../reducers/post"),y=n(b),g=e("../../../../services/ajax"),_=r(g),E=e("../../../../services/modal"),w=r(E),O=e("../../../../services/snackbar"),k=r(O),N=e("../../../../services/store"),x=r(N),j=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 _["default"].post(this.props.thread.api.posts.move,{new_thread:this.state.url,posts:this.props.selection.map(function(e){return e.id})})}},{key:"handleSuccess",value:function(e){this.props.selection.forEach(function(e){x["default"].dispatch(y.patch(e,{isDeleted:!0}))}),w["default"].hide(),k["default"].success(gettext("Selected posts were 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(v["default"],{"for":"id_url",label:gettext("Link to thread you want to move posts 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-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},gettext("Cancel")),d["default"].createElement("button",{className:"btn btn-primary",loading:this.state.isLoading},gettext("Move posts"))))))}}]),t}(m["default"]);a["default"]=j},{"../../../../reducers/post":340,"../../../../services/ajax":352,"../../../../services/modal":358,"../../../../services/snackbar":363,"../../../../services/store":364,"../../../button":5,"../../../form":52,"../../../form-group":51,react:"react"}],214:[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 selected posts at the moment.")),m["default"].createElement("p",null,e.message),m["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},gettext("Ok"))))}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 posts 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"),v=r(h),b=e("../../../form"),y=r(b),g=e("../../../form-group"),_=r(g),E=e("../../../category-select"),w=r(E),O=e("../../../modal-loader"),k=r(O),N=e("../../../select"),x=r(N),j=e("../../../../reducers/post"),P=n(j),C=e("../../../../services/ajax"),M=r(C),S=e("../../../../services/modal"),T=r(S),L=e("../../../../services/snackbar"),R=r(L),A=e("../../../../services/store"),I=r(A),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;M["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()||(R["default"].error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return M["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.selection.map(function(e){return e.id})})}},{key:"handleSuccess",value:function(e){this.props.selection.forEach(function(e){I["default"].dispatch(P.patch(e,{isDeleted:!0}))}),T["default"].hide(),R["default"].success(gettext("Selected posts were split into new thread."))}},{key:"handleError",value:function(e){400===e.status?(this.setState({errors:Object.assign({},this.state.errors,e)}),R["default"].error(gettext("Form contains errors."))):403===e.status&&Array.isArray(e)?T["default"].show(m["default"].createElement(ErrorsModal,{errors:e})):R["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(_["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(_["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(_["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(_["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(_["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("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},gettext("Cancel")),m["default"].createElement(v["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Split posts")))))}}]),t}(y["default"])},{"../../../../reducers/post":340,"../../../../services/ajax":352,"../../../../services/modal":358,"../../../../services/snackbar":363,"../../../../services/store":364,"../../../../utils/validators":380,"../../../button":5,"../../../category-select":18,"../../../form":52,"../../../form-group":51,"../../../modal-loader":57,"../../../select":203,react:"react"}],215:[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("./merge"),f=r(d),p=e("./move"),m=r(p),h=e("../../../../reducers/thread"),v=n(h),b=e("../../../../services/ajax"),y=r(b),g=e("../../../../services/modal"),_=r(g),E=e("../../../../services/snackbar"),w=r(E),O=e("../../../../services/store"),k=r(O),N=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.callApi=function(e,t){k["default"].dispatch(v.busy()),e.push({op:"add",path:"acl",value:!0}),y["default"].patch(n.props.thread.api.index,e).then(function(e){k["default"].dispatch(v.update(e)),k["default"].dispatch(v.release()),w["default"].success(t)},function(e){k["default"].dispatch(v.release()),400===e.status?w["default"].error(e.detail[0]):w["default"].apiError(e)})},n.pinGlobally=function(){n.callApi([{op:"replace",path:"weight",value:2}],gettext("Thread has been pinned globally."))},n.pinLocally=function(){n.callApi([{op:"replace",path:"weight",value:1}],gettext("Thread has been pinned locally."))},n.unpin=function(){n.callApi([{op:"replace",path:"weight",value:0}],gettext("Thread has been unpinned."))},n.approve=function(){n.callApi([{op:"replace",path:"is-unapproved",value:!1}],gettext("Thread has been approved."))},n.open=function(){n.callApi([{op:"replace",path:"is-closed",value:!1}],gettext("Thread has been opened."))},n.close=function(){n.callApi([{op:"replace",path:"is-closed",value:!0}],gettext("Thread has been closed."))},n.unhide=function(){n.callApi([{op:"replace",path:"is-hidden",value:!1}],gettext("Thread has been made visible."))},n.hide=function(){n.callApi([{op:"replace",path:"is-hidden",value:!0}],gettext("Thread has been made hidden."))},n.move=function(){_["default"].show(c["default"].createElement(m["default"],{posts:n.props.posts,thread:n.props.thread}))},n.merge=function(){_["default"].show(c["default"].createElement(f["default"],{thread:n.props.thread}))},n["delete"]=function(){confirm(gettext("Are you sure you want to delete this thread?"))&&(k["default"].dispatch(v.busy()),y["default"]["delete"](n.props.thread.api.index).then(function(e){w["default"].success(gettext("Thread has been deleted.")),window.location=n.props.thread.category.url.index},function(e){k["default"].dispatch(v.release()),w["default"].apiError(e)}))},r=a,l(n,r)}return s(t,e),i(t,[{key:"getPinGloballyButton",value:function(){return 2===this.props.thread.weight?null:this.props.thread.acl.can_pin_globally?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.pinGlobally,type:"button"},c["default"].createElement("span",{className:"material-icon"},"bookmark"),gettext("Pin globally"))):null}},{key:"getPinLocallyButton",value:function(){return 1===this.props.thread.weight?null:this.props.thread.acl.can_pin?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.pinLocally,type:"button"},c["default"].createElement("span",{className:"material-icon"},"bookmark_border"),gettext("Pin locally"))):null}},{key:"getUnpinButton",value:function(){return 0===this.props.thread.weight?null:this.props.thread.acl.can_pin?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.unpin,type:"button"},c["default"].createElement("span",{className:"material-icon"},"panorama_fish_eye"),gettext("Unpin"))):null}},{key:"getMoveButton",value:function(){return this.props.thread.acl.can_move?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.move,type:"button"},c["default"].createElement("span",{className:"material-icon"},"arrow_forward"),gettext("Move"))):null}},{key:"getMergeButton",value:function(){return this.props.thread.acl.can_merge?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.merge,type:"button"},c["default"].createElement("span",{className:"material-icon"},"call_merge"),gettext("Merge"))):null}},{key:"getApproveButton",value:function(){return this.props.thread.is_unapproved&&this.props.thread.acl.can_approve?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.approve,type:"button"},c["default"].createElement("span",{className:"material-icon"},"done"),gettext("Approve"))):null}},{key:"getOpenButton",value:function(){return this.props.thread.is_closed&&this.props.thread.acl.can_close?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.open,type:"button"},c["default"].createElement("span",{className:"material-icon"},"lock_open"),gettext("Open"))):null}},{key:"getCloseButton",value:function(){return this.props.thread.is_closed?null:this.props.thread.acl.can_close?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.close,type:"button"},c["default"].createElement("span",{className:"material-icon"},"lock_outline"),gettext("Close"))):null}},{key:"getUnhideButton",value:function(){return this.props.thread.is_hidden&&this.props.thread.acl.can_unhide?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.unhide,type:"button"},c["default"].createElement("span",{className:"material-icon"},"visibility"),gettext("Unhide"))):null}},{key:"getHideButton",value:function(){return this.props.thread.is_hidden?null:this.props.thread.acl.can_hide?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.hide,type:"button"},c["default"].createElement("span",{className:"material-icon"},"visibility_off"),gettext("Hide"))):null}},{key:"getDeleteButton",value:function(){return this.props.thread.acl.can_delete?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this["delete"],type:"button"},c["default"].createElement("span",{className:"material-icon"},"clear"),gettext("Delete"))):null}},{key:"render",value:function(){return c["default"].createElement("ul",{className:"dropdown-menu dropdown-menu-right stick-to-bottom"},this.getPinGloballyButton(),this.getPinLocallyButton(),this.getUnpinButton(),this.getMoveButton(),this.getMergeButton(),this.getApproveButton(),this.getOpenButton(),this.getCloseButton(),this.getUnhideButton(),this.getHideButton(),this.getDeleteButton())}}]),t}(c["default"].Component);a["default"]=N},{"../../../../reducers/thread":347,"../../../../services/ajax":352,"../../../../services/modal":358,"../../../../services/snackbar":363,"../../../../services/store":364,"./merge":218,"./move":219,react:"react"}],216:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a.isModerationVisible=a.ModerationControls=void 0;var r=e("./controls"),o=n(r),l=e("./is-visible"),s=n(l);a.ModerationControls=o["default"],a.isModerationVisible=s["default"]},{"./controls":215,"./is-visible":217}],217:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return!!(e.acl.can_approve&&e.is_unapproved||e.acl.can_close||e.acl.can_delete||e.acl.can_hide||e.acl.can_move||e.acl.can_pin||e.acl.can_pin_globally||e.acl.can_unhide)}},{}],218:[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("Merge thread")))}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("../../../form"),p=r(f),m=e("../../../form-group"),h=r(m),v=e("../../../merge-polls"),b=r(v),y=e("../../../../reducers/thread"),g=n(y),_=e("../../../../services/ajax"),E=r(_),w=e("../../../../services/modal"),O=r(w),k=e("../../../../services/snackbar"),N=r(k),x=e("../../../../services/store"),j=r(x),P=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.handleSuccess=function(e){a.handleSuccessUnmounted(e),a.setState({isLoading:!0})},a.handleSuccessUnmounted=function(e){N["default"].success(gettext("Thread has been merged with other one.")),window.location=e.url},a.handleError=function(e){j["default"].dispatch(g.release()),400===e.status?e.polls?O["default"].show(d["default"].createElement(b["default"],{api:a.props.thread.api.merge,data:{thread_url:a.state.url},polls:e.polls,onError:a.handleError,onSuccess:a.handleSuccessUnmounted})):N["default"].error(e.detail):N["default"].apiError(e)},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||(N["default"].error(gettext("You have to enter link to the other thread.")),!1)}},{key:"send",value:function(){return j["default"].dispatch(g.busy()),E["default"].post(this.props.thread.api.merge,{thread_url:this.state.url})}},{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(h["default"],{"for":"id_url",label:gettext("Link to thread you want to merge with"),help_text:gettext("Merge will delete current thread and move its contents to the thread specified here.")},d["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading||this.props.thread.isBusy,id:"id_url",onChange:this.onUrlChange,value:this.state.url}))),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("button",{className:"btn btn-primary",loading:this.state.isLoading||this.props.thread.isBusy},gettext("Merge thread"))))))}}]),t}(p["default"]);a["default"]=P},{"../../../../reducers/thread":347,"../../../../services/ajax":352,"../../../../services/modal":358,"../../../../services/snackbar":363,"../../../../services/store":364,"../../../form":52,"../../../form-group":51,"../../../merge-polls":55,react:"react"}],219:[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 p["default"].createElement("div",{className:"modal-header"},p["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},p["default"].createElement("span",{"aria-hidden":"true"},"×")),p["default"].createElement("h4",{className:"modal-title"},gettext("Move thread")))}function u(e){return p["default"].createElement("div",{className:"modal-dialog",role:"document"},p["default"].createElement("div",{className:"modal-content"},p["default"].createElement(i,null),p["default"].createElement(E["default"],null)))}function c(e){return p["default"].createElement("div",{className:"modal-dialog modal-message",role:"document"},p["default"].createElement("div",{className:"modal-content"},p["default"].createElement(i,null),p["default"].createElement("div",{className:"message-icon"},p["default"].createElement("span",{className:"material-icon"},"info_outline")),p["default"].createElement("div",{className:"message-body"},p["default"].createElement("p",{className:"lead"},gettext("You can't move this thread at the moment.")),p["default"].createElement("p",null,e.message),p["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},gettext("Ok")))))}Object.defineProperty(a,"__esModule",{value:!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.ModalHeader=i,a.ModalLoading=u,a.ModalMessage=c;var f=e("react"),p=r(f),m=e("../../../form"),h=r(m),v=e("../../../form-group"),b=r(v),y=e("../../../category-select"),g=r(y),_=e("../../../modal-loader"),E=r(_),w=e("../../../../reducers/posts"),O=n(w),k=e("../../../../reducers/thread"),N=n(k),x=e("../../../.."),j=r(x),P=e("../../../../services/ajax"),C=r(P),M=e("../../../../services/modal"),S=r(M),T=e("../../../../services/snackbar"),L=r(T),R=e("../../../../services/store"),A=r(R),I=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){a.changeValue("category",e.target.value)},a.state={isReady:!1,isLoading:!1,isError:!1,category:null,categories:[]},a}return s(t,e),d(t,[{key:"componentDidMount",value:function(){var e=this;C["default"].get(j["default"].get("THREAD_EDITOR_API")).then(function(t){var a=null,n=t.map(function(e){return e.post===!1||a||(a=e.id),Object.assign(e,{disabled:e.post===!1,label:e.name,value:e.id})});e.setState({isReady:!0,category:a,categories:n})},function(t){e.setState({isError:t.detail})})}},{key:"send",value:function(){return A["default"].dispatch(N.busy()),C["default"].patch(this.props.thread.api.index,[{op:"replace",path:"category",value:this.state.category}])}},{key:"handleSuccess",value:function(){C["default"].get(this.props.thread.api.posts.index,{page:this.props.posts.page}).then(function(e){A["default"].dispatch(N.replace(e)),A["default"].dispatch(O.load(e.post_set)),A["default"].dispatch(N.release()),L["default"].success(gettext("Thread has been moved.")),S["default"].hide()},function(e){A["default"].dispatch(N.release()),L["default"].apiError(e)})}},{key:"handleError",value:function(e){400===e.status?L["default"].error(e.detail[0]):L["default"].apiError(e)}},{key:"render",value:function(){return this.state.isReady?p["default"].createElement("div",{className:"modal-dialog",role:"document"},p["default"].createElement("form",{onSubmit:this.handleSubmit},p["default"].createElement("div",{className:"modal-content"},p["default"].createElement(i,null),p["default"].createElement("div",{className:"modal-body"},p["default"].createElement(b["default"],{"for":"id_category",label:gettext("New category")},p["default"].createElement(g["default"],{choices:this.state.categories,disabled:this.state.isLoading||this.props.thread.isBusy,id:"id_category",onChange:this.onCategoryChange,value:this.state.category}))),p["default"].createElement("div",{className:"modal-footer"},p["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},gettext("Cancel")),p["default"].createElement("button",{className:"btn btn-primary",loading:this.state.isLoading||this.props.thread.isBusy},gettext("Move thread")))))):this.state.isError?p["default"].createElement(c,{message:this.state.isError}):p["default"].createElement(u,null)}}]),t}(h["default"]);a["default"]=I},{"../../../..":291,"../../../../reducers/posts":341,"../../../../reducers/thread":347,"../../../../services/ajax":352,"../../../../services/modal":358,"../../../../services/snackbar":363,"../../../../services/store":364,"../../../category-select":18,"../../../form":52,"../../../form-group":51,"../../../modal-loader":57,react:"react"}],220:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return d["default"].createElement("div",{className:"row row-paginator"},d["default"].createElement("div",{className:"col-xs-3"},d["default"].createElement(o,e)),d["default"].createElement("div",{className:"col-xs-3"},d["default"].createElement(l,e)),d["default"].createElement("div",{className:"col-xs-3"},d["default"].createElement(s,e)),d["default"].createElement("div",{className:"col-xs-3"},d["default"].createElement(i,e)))}function o(e){return e.posts.isLoaded&&e.posts.first?d["default"].createElement(f.Link,{className:"btn btn-default btn-block btn-outline btn-icon",to:e.thread.url.index,title:gettext("Go to first page")},d["default"].createElement("span",{className:"material-icon"},"first_page")):d["default"].createElement("span",{className:"btn btn-default btn-block btn-outline btn-icon disabled",title:gettext("Go to first page")},d["default"].createElement("span",{className:"material-icon"},"first_page"))}function l(e){if(e.posts.isLoaded&&e.posts.page>1){var t="";return e.posts.previous&&(t=e.posts.previous+"/"),d["default"].createElement(f.Link,{className:"btn btn-default btn-block btn-outline btn-icon",to:e.thread.url.index+t,title:gettext("Go to previous page")},d["default"].createElement("span",{className:"material-icon"},"chevron_left"))}return d["default"].createElement("span",{className:"btn btn-default btn-block btn-outline btn-icon disabled",title:gettext("Go to previous page")},d["default"].createElement("span",{className:"material-icon"},"chevron_left"))}function s(e){if(e.posts.isLoaded&&e.posts.more){var t="";return e.posts.next&&(t=e.posts.next+"/"),d["default"].createElement(f.Link,{className:"btn btn-default btn-block btn-outline btn-icon",to:e.thread.url.index+t,title:gettext("Go to next page")},d["default"].createElement("span",{className:"material-icon"},"chevron_right"))}return d["default"].createElement("span",{className:"btn btn-default btn-block btn-outline btn-icon disabled",title:gettext("Go to next page")},d["default"].createElement("span",{className:"material-icon"},"chevron_right"))}function i(e){return e.posts.isLoaded&&e.posts.last?d["default"].createElement(f.Link,{className:"btn btn-default btn-block btn-outline btn-icon",to:e.thread.url.index+e.posts.last+"/",title:gettext("Go to last page")},d["default"].createElement("span",{className:"material-icon"},"last_page")):d["default"].createElement("span",{className:"btn btn-default btn-block btn-outline btn-icon disabled",title:gettext("Go to last page")},d["default"].createElement("span",{className:"material-icon"},"last_page"))}function u(e){var t=null;return e.more?(t=ngettext("There is %(more)s more post in this thread.","There are %(more)s more posts in this thread.",e.more),t=interpolate(t,{more:e.more},!0)):t=gettext("There are no more posts in this thread."),d["default"].createElement("p",null,t)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return d["default"].createElement("nav",{className:"misago-pagination pull-left"},d["default"].createElement(r,e),d["default"].createElement(u,{more:e.posts.more}))},a.Pager=r,a.FirstPage=o,a.PreviousPage=l,a.NextPage=s,a.LastPage=i,a.More=u;var c=e("react"),d=n(c),f=e("react-router")},{react:"react","react-router":"react-router"}],221:[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("button",{className:e.className||"btn btn-primary btn-outline",onClick:e.onClick,type:"button"},o["default"].createElement("span",{className:"material-icon"},"chat"),gettext("Reply"))};var r=e("react"),o=n(r)},{react:"react"}],222:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return{participants:e.participants,poll:e.poll,posts:e.posts,thread:e.thread,tick:e.tick.tick,user:e.auth.user}}function o(){var e=c["default"].get("THREAD"),t=e.url.index.replace(e.slug+"-"+e.pk,":slug");return[{path:t,component:(0,l.connect)(r)(i["default"])},{path:t+":page/",component:(0,l.connect)(r)(i["default"])}]}Object.defineProperty(a,"__esModule",{value:!0}),a.select=r,a.paths=o;var l=e("react-redux"),s=e("./route"),i=n(s),u=e("../../index"),c=n(u)},{"../../index":291,"./route":223,"react-redux":"react-redux"}],223:[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=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}}(),c=e("react"),d=r(c),f=e("../participants"),p=r(f),m=e("../poll"),h=e("../posts-list"),v=r(h),b=e("./header"),y=r(b),g=e("./toolbar-top"),_=r(g),E=e("./toolbar-bottom"),w=r(E),O=e("../../reducers/participants"),k=n(O),N=e("../../reducers/poll"),x=n(N),j=e("../../reducers/posts"),P=n(j),C=e("../../reducers/thread"),M=n(C),S=e("../../services/ajax"),T=r(S),L=e("../../services/polls"),R=r(L),A=e("../../services/snackbar"),I=r(A),D=e("../../services/posting"),U=r(D),B=e("../../services/store"),H=r(B),z=e("../../services/page-title"),F=r(z),q=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.update=function(e){H["default"].dispatch(M.replace(e)),H["default"].dispatch(P.load(e.post_set)),e.participants&&H["default"].dispatch(k.replace(e.participants)),e.poll&&H["default"].dispatch(x.replace(e.poll)),n.setPageTitle()},n.openReplyForm=function(){U["default"].open({mode:"REPLY",config:n.props.thread.api.editor,submit:n.props.thread.api.posts.index})},r=a,l(n,r)}return s(t,e),u(t,[{key:"componentDidMount",value:function(){this.shouldFetchData()&&(this.fetchData(),this.setPageTitle()),this.startPollingApi()}},{key:"componentDidUpdate",value:function(){this.shouldFetchData()&&(this.fetchData(),this.startPollingApi(),this.setPageTitle())}},{key:"componentWillUnmount",value:function(){this.stopPollingApi()}},{key:"shouldFetchData",value:function(){if(this.props.posts.isLoaded){var e=1*(this.props.params.page||1);return e!=this.props.posts.page}return!1}},{key:"fetchData",value:function(){var e=this;H["default"].dispatch(P.unload()),T["default"].get(this.props.thread.api.posts.index,{page:this.props.params.page||1},"posts").then(function(t){e.update(t)},function(e){I["default"].apiError(e)})}},{key:"startPollingApi",value:function(){R["default"].start({poll:"thread-posts",url:this.props.thread.api.posts.index,data:{page:this.props.params.page||1},update:this.update,frequency:12e4,delayed:!0})}},{key:"stopPollingApi",value:function(){R["default"].stop("thread-posts")}},{key:"setPageTitle",value:function(){F["default"].set({title:this.props.thread.title,parent:this.props.thread.category.name,page:1*(this.props.params.page||1)})}},{key:"render",value:function(){var e="page page-thread";return this.props.thread.category.css_class&&(e+=" page-thread-"+this.props.thread.category.css_class),d["default"].createElement("div",{className:e},d["default"].createElement("div",{className:"page-header-bg"},d["default"].createElement(y["default"],this.props)),d["default"].createElement("div",{className:"container"},d["default"].createElement(_["default"],i({openReplyForm:this.openReplyForm},this.props)),d["default"].createElement(m.Poll,{poll:this.props.poll,thread:this.props.thread,user:this.props.user}),d["default"].createElement(p["default"],{participants:this.props.participants,thread:this.props.thread,user:this.props.user}),d["default"].createElement(v["default"],this.props),d["default"].createElement(w["default"],i({openReplyForm:this.openReplyForm},this.props))))}}]),t}(d["default"].Component);a["default"]=q},{"../../reducers/participants":338,"../../reducers/poll":339,"../../reducers/posts":341,"../../reducers/thread":347,"../../services/ajax":352,"../../services/page-title":360,"../../services/polls":361,"../../services/posting":362,"../../services/snackbar":363,"../../services/store":364,"../participants":94,"../poll":99,"../posts-list":144,"./header":207,"./toolbar-bottom":225,"./toolbar-top":226,react:"react"}],224:[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===!0?"star":e===!1?"star_half":"star_border"}function u(e){return e===!0?gettext("E-mail"):e===!1?gettext("Enabled"):gettext("Disabled")}function c(e){return m["default"].createElement("ul",{className:e.dropdownClassName||"dropdown-menu stick-to-bottom"},m["default"].createElement(O,e),m["default"].createElement(k,e),m["default"].createElement(N,e))}function d(e,t,a){var n={subscription:e.subscription};w["default"].dispatch(v.update({subscription:t})),y["default"].patch(e.api.index,[{op:"replace",path:"subscription",value:a}]).then(function(e){w["default"].dispatch(v.update(e))},function(e){400===e.status?_["default"].error(e.detail[0]):_["default"].apiError(e),w["default"].dispatch(v.update(n))})}Object.defineProperty(a,"__esModule",{value:!0}),a.Email=a.Enable=a.Disable=void 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["default"]=function(e){return e.user.id?m["default"].createElement("div",{className:e.className},m["default"].createElement("button",{"aria-expanded":"true","aria-haspopup":"true",className:"btn btn-default dropdown-toggle btn-block btn-outline","data-toggle":"dropdown",type:"button"},m["default"].createElement("span",{className:"material-icon"},i(e.thread.subscription)),u(e.thread.subscription)),m["default"].createElement(c,e)):null},a.getIcon=i,a.getLabel=u,a.Dropdown=c,a.update=d;var p=e("react"),m=r(p),h=e("../../reducers/thread"),v=n(h),b=e("../../services/ajax"),y=r(b),g=e("../../services/snackbar"),_=r(g),E=e("../../services/store"),w=r(E),O=a.Disable=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(){null!==n.props.thread.subscription&&d(n.props.thread,null,"unsubscribe")},r=a,l(n,r)}return s(t,e),f(t,[{key:"render",value:function(){return m["default"].createElement("li",null,m["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick},m["default"].createElement("span",{className:"material-icon"},"star_border"),gettext("Unsubscribe")))}}]),t}(m["default"].Component),k=a.Enable=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.props.thread.subscription!==!1&&d(n.props.thread,!1,"notify")},r=a,l(n,r)}return s(t,e),f(t,[{key:"render",value:function(){return m["default"].createElement("li",null,m["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick},m["default"].createElement("span",{className:"material-icon"},"star_half"),gettext("Subscribe")))}}]),t}(m["default"].Component),N=a.Email=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.props.thread.subscription!==!0&&d(n.props.thread,!0,"email")},r=a,l(n,r)}return s(t,e),f(t,[{key:"render",value:function(){return m["default"].createElement("li",null,m["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick},m["default"].createElement("span",{className:"material-icon"},"star"),gettext("Subscribe with e-mail")))}}]),t}(m["default"].Component)},{"../../reducers/thread":347,"../../services/ajax":352,"../../services/snackbar":363,"../../services/store":364,react:"react"}],225:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.visible?d["default"].createElement("div",{className:"col-md-5"},e.children):null}function o(e){return e.user.id?d["default"].createElement("div",{className:"col-sm-4 hidden-xs"},d["default"].createElement(m["default"],e)):null}function l(e){var t="col-xs-6";return e.thread.acl.can_reply||(t="col-xs-12"),d["default"].createElement("div",{className:t+" col-sm-4"},d["default"].createElement(y["default"],u({btnClassName:"btn-block",className:"dropup"},e)))}function s(e){return e.thread.acl.can_reply?d["default"].createElement("div",{className:"col-xs-6 col-sm-4"},d["default"].createElement(v["default"],{className:"btn btn-primary btn-block btn-outline",onClick:e.onClick})):null}function i(e){return e.thread.acl.can_reply?null:d["default"].createElement("div",{className:"hidden-xs hidden-sm col-sm-4"})}Object.defineProperty(a,"__esModule",{value:!0});var u=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 d["default"].createElement("div",{className:"row row-toolbar"},d["default"].createElement("div",{className:"col-xs-12 text-center visible-xs-block"},d["default"].createElement(f.More,{more:e.posts.more}),d["default"].createElement("div",{className:"toolbar-vertical-spacer"})),d["default"].createElement("div",{className:"col-md-7"},d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-sm-4 col-md-5"},d["default"].createElement(f.Pager,e)),d["default"].createElement("div",{className:"col-sm-8 col-md-7 hidden-xs"},d["default"].createElement(f.More,{more:e.posts.more})))),d["default"].createElement(r,{visible:!!e.user.id},d["default"].createElement("div",{className:"toolbar-vertical-spacer hidden-md hidden-lg"}),d["default"].createElement("div",{className:"row"},d["default"].createElement(i,e),d["default"].createElement(o,e),d["default"].createElement(l,e),d["default"].createElement(s,{thread:e.thread,onClick:e.openReplyForm}))))},a.Options=r,a.Moderation=o,a.Subscription=l,a.Reply=s,a.Spacer=i;var c=e("react"),d=n(c),f=e("./paginator"),p=e("./moderation/posts"),m=n(p),h=e("./reply-button"),v=n(h),b=e("./subscription"),y=n(b)},{"./moderation/posts":212,"./paginator":220,"./reply-button":221,"./subscription":224,react:"react"}],226:[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.user,a="col-xs-3 col-sm-3 col-md-5";return t.is_anonymous&&(a="col-xs-12 col-sm-3 col-md-5"),E["default"].createElement("div",{className:a},E["default"].createElement("div",{className:"row hidden-xs hidden-sm"},E["default"].createElement(c,{thread:e.thread}),E["default"].createElement(i,{thread:e.thread}),E["default"].createElement(u,{thread:e.thread})),E["default"].createElement(d,e))}function i(e){return e.thread.is_new?E["default"].createElement("div",{className:"col-sm-4"},E["default"].createElement("a",{href:e.thread.url.new_post,className:"btn btn-default btn-block btn-outline",title:gettext("Go to first new post")},gettext("New"))):null}function u(e){return e.thread.has_unapproved_posts&&e.thread.acl.can_approve?E["default"].createElement("div",{className:"col-sm-4"},E["default"].createElement("a",{href:e.thread.url.unapproved_post,className:"btn btn-default btn-block btn-outline",title:gettext("Go to first unapproved post")},gettext("Unapproved"))):null}function c(e){return E["default"].createElement("div",{className:"col-sm-4"},E["default"].createElement("a",{href:e.thread.url.last_post,className:"btn btn-default btn-block btn-outline",title:gettext("Go to last post")},gettext("Last")))}function d(e){var t=e.user;return t.is_anonymous?E["default"].createElement("div",{className:"visible-xs-block visible-sm-block"},E["default"].createElement("a",{href:e.thread.url.last_post,className:"btn btn-default btn-block btn-outline"},gettext("Last post"))):E["default"].createElement("div",{className:"dropdown visible-xs-block visible-sm-block"},E["default"].createElement("button",{"aria-expanded":"true","aria-haspopup":"true",className:"btn btn-default dropdown-toggle btn-block btn-outline","data-toggle":"dropdown",type:"button"},E["default"].createElement("span",{className:"material-icon"},"expand_more"),E["default"].createElement("span",{className:"btn-text hidden-xs"},gettext("Options"))),E["default"].createElement("ul",{className:"dropdown-menu"},E["default"].createElement(C,e),E["default"].createElement(f,e),E["default"].createElement(p,e),E["default"].createElement(m,e)))}function f(e){return e.thread.is_new?E["default"].createElement("li",null,E["default"].createElement("a",{href:e.thread.url.new_post,className:"btn btn-link"},gettext("Go to first new post"))):null}function p(e){return e.thread.has_unapproved_posts&&e.thread.acl.can_approve?E["default"].createElement("li",null,E["default"].createElement("a",{href:e.thread.url.unapproved_post,className:"btn btn-link"},gettext("Go to first unapproved post"))):null}function m(e){return E["default"].createElement("li",null,E["default"].createElement("a",{href:e.thread.url.last_post,className:"btn btn-link"},gettext("Go to last post")))}function h(e){return e.thread.acl.can_reply?E["default"].createElement("div",{className:"col-sm-4 hidden-xs"},E["default"].createElement(O["default"],{className:"btn btn-primary btn-block btn-outline",onClick:e.openReplyForm})):null}function v(e){return e.user.id?E["default"].createElement("div",{className:"col-xs-12 col-sm-4"},E["default"].createElement(N["default"],g({className:"dropdown",dropdownClassName:"dropdown-menu dropdown-menu-right stick-to-bottom"},e))):null}function b(e){return e.visible?E["default"].createElement("div",{className:"col-sm-4 hidden-xs"}):null}Object.defineProperty(a,"__esModule",{value:!0}),a.StartPollCompact=a.StartPoll=void 0;var y=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}}(),g=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.thread.acl.can_start_poll||e.thread.poll;return E["default"].createElement("div",{className:"row row-toolbar row-toolbar-bottom-margin"},E["default"].createElement(s,e),E["default"].createElement("div",{className:"col-xs-9 col-md-5 col-md-offset-2"},E["default"].createElement("div",{className:"row"},E["default"].createElement(b,{visible:!e.user.id}),E["default"].createElement(b,{visible:t}),E["default"].createElement(v,e),E["default"].createElement(P,e),E["default"].createElement(h,e))))},a.GotoMenu=s,a.GotoNew=i,a.GotoUnapproved=u,a.GotoLast=c,a.CompactOptions=d,a.GotoNewCompact=f,a.GotoUnapprovedCompact=p,a.GotoLastCompact=m,a.Reply=h,a.SubscriptionMenu=v,a.Spacer=b;var _=e("react"),E=n(_),w=e("./reply-button"),O=n(w),k=e("./subscription"),N=n(k),x=e("../../services/posting"),j=n(x),P=a.StartPoll=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(){j["default"].open({mode:"POLL",submit:n.props.thread.api.poll,thread:n.props.thread,poll:null})},l=a,o(n,l)}return l(t,e),y(t,[{key:"render",value:function(){return!this.props.thread.acl.can_start_poll||this.props.thread.poll?null:E["default"].createElement("div",{className:"col-sm-4 hidden-xs"},E["default"].createElement("button",{className:"btn btn-default btn-block btn-outline",onClick:this.onClick,type:"button"},E["default"].createElement("span",{className:"material-icon"},"poll"),gettext("Add poll")))}}]),t}(E["default"].Component),C=a.StartPollCompact=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),y(t,[{key:"render",value:function(){return!this.props.thread.acl.can_start_poll||this.props.thread.poll?null:E["default"].createElement("li",null,E["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},gettext("Add poll")))}}]),t}(P)},{"../../services/posting":362,"./reply-button":221,"./subscription":224,react:"react"}],227:[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 e.isLoaded?0===e.threads.length?o["default"].createElement(s["default"],{diffSize:e.diffSize,applyDiff:e.applyDiff},e.children):o["default"].createElement(u["default"],{activeCategory:e.category,categories:e.categories,list:e.list,threads:e.threads,diffSize:e.diffSize,applyDiff:e.applyDiff,showOptions:e.showOptions,selection:e.selection,busyThreads:e.busyThreads}):o["default"].createElement(d["default"],null)};var r=e("react"),o=n(r),l=e("./list/empty"),s=n(l),i=e("./list/ready"),u=n(i),c=e("./list/preview"),d=n(c)},{"./list/empty":229,"./list/preview":230,"./list/ready":231,react:"react"}],228:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=ngettext("There is %(threads)s new or updated thread. Click this message to show it.","There are %(threads)s new or updated threads. Click this message to show them.",e);return interpolate(t,{threads:e},!0)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.diffSize,a=e.applyDiff;return 0===t?null:l["default"].createElement("li",{className:"list-group-item threads-diff-message"},l["default"].createElement("button",{type:"button",className:"btn btn-block btn-default",onClick:a},l["default"].createElement("span",{className:"material-icon"},"cached"),l["default"].createElement("span",{className:"diff-message"},r(t))))},a.getMessage=r;var o=e("react"),l=n(o)},{react:"react"}],229:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){
|
|
},errors:{}},a}return s(t,e),u(t,[{key:"clean",value:function(){return!!this.state.url.trim().length||(N["default"].error(gettext("You have to enter link to the other thread.")),!1)}},{key:"send",value:function(){return j["default"].dispatch(g.busy()),E["default"].post(this.props.thread.api.merge,{thread_url:this.state.url})}},{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(h["default"],{"for":"id_url",label:gettext("Link to thread you want to merge with"),help_text:gettext("Merge will delete current thread and move its contents to the thread specified here.")},d["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading||this.props.thread.isBusy,id:"id_url",onChange:this.onUrlChange,value:this.state.url}))),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("button",{className:"btn btn-primary",loading:this.state.isLoading||this.props.thread.isBusy},gettext("Merge thread"))))))}}]),t}(p["default"]);a["default"]=P},{"../../../../reducers/thread":347,"../../../../services/ajax":352,"../../../../services/modal":358,"../../../../services/snackbar":363,"../../../../services/store":364,"../../../form":52,"../../../form-group":51,"../../../merge-polls":55,react:"react"}],219:[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 p["default"].createElement("div",{className:"modal-header"},p["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},p["default"].createElement("span",{"aria-hidden":"true"},"×")),p["default"].createElement("h4",{className:"modal-title"},gettext("Move thread")))}function u(e){return p["default"].createElement("div",{className:"modal-dialog",role:"document"},p["default"].createElement("div",{className:"modal-content"},p["default"].createElement(i,null),p["default"].createElement(E["default"],null)))}function c(e){return p["default"].createElement("div",{className:"modal-dialog modal-message",role:"document"},p["default"].createElement("div",{className:"modal-content"},p["default"].createElement(i,null),p["default"].createElement("div",{className:"message-icon"},p["default"].createElement("span",{className:"material-icon"},"info_outline")),p["default"].createElement("div",{className:"message-body"},p["default"].createElement("p",{className:"lead"},gettext("You can't move this thread at the moment.")),p["default"].createElement("p",null,e.message),p["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},gettext("Ok")))))}Object.defineProperty(a,"__esModule",{value:!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.ModalHeader=i,a.ModalLoading=u,a.ModalMessage=c;var f=e("react"),p=r(f),m=e("../../../form"),h=r(m),v=e("../../../form-group"),b=r(v),y=e("../../../category-select"),g=r(y),_=e("../../../modal-loader"),E=r(_),w=e("../../../../reducers/posts"),O=n(w),k=e("../../../../reducers/thread"),N=n(k),x=e("../../../.."),j=r(x),P=e("../../../../services/ajax"),C=r(P),M=e("../../../../services/modal"),S=r(M),T=e("../../../../services/snackbar"),L=r(T),R=e("../../../../services/store"),A=r(R),I=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){a.changeValue("category",e.target.value)},a.state={isReady:!1,isLoading:!1,isError:!1,category:null,categories:[]},a}return s(t,e),d(t,[{key:"componentDidMount",value:function(){var e=this;C["default"].get(j["default"].get("THREAD_EDITOR_API")).then(function(t){var a=null,n=t.map(function(e){return e.post===!1||a||(a=e.id),Object.assign(e,{disabled:e.post===!1,label:e.name,value:e.id})});e.setState({isReady:!0,category:a,categories:n})},function(t){e.setState({isError:t.detail})})}},{key:"send",value:function(){return A["default"].dispatch(N.busy()),C["default"].patch(this.props.thread.api.index,[{op:"replace",path:"category",value:this.state.category}])}},{key:"handleSuccess",value:function(){C["default"].get(this.props.thread.api.posts.index,{page:this.props.posts.page}).then(function(e){A["default"].dispatch(N.replace(e)),A["default"].dispatch(O.load(e.post_set)),A["default"].dispatch(N.release()),L["default"].success(gettext("Thread has been moved.")),S["default"].hide()},function(e){A["default"].dispatch(N.release()),L["default"].apiError(e)})}},{key:"handleError",value:function(e){400===e.status?L["default"].error(e.detail[0]):L["default"].apiError(e)}},{key:"render",value:function(){return this.state.isReady?p["default"].createElement("div",{className:"modal-dialog",role:"document"},p["default"].createElement("form",{onSubmit:this.handleSubmit},p["default"].createElement("div",{className:"modal-content"},p["default"].createElement(i,null),p["default"].createElement("div",{className:"modal-body"},p["default"].createElement(b["default"],{"for":"id_category",label:gettext("New category")},p["default"].createElement(g["default"],{choices:this.state.categories,disabled:this.state.isLoading||this.props.thread.isBusy,id:"id_category",onChange:this.onCategoryChange,value:this.state.category}))),p["default"].createElement("div",{className:"modal-footer"},p["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},gettext("Cancel")),p["default"].createElement("button",{className:"btn btn-primary",loading:this.state.isLoading||this.props.thread.isBusy},gettext("Move thread")))))):this.state.isError?p["default"].createElement(c,{message:this.state.isError}):p["default"].createElement(u,null)}}]),t}(h["default"]);a["default"]=I},{"../../../..":291,"../../../../reducers/posts":341,"../../../../reducers/thread":347,"../../../../services/ajax":352,"../../../../services/modal":358,"../../../../services/snackbar":363,"../../../../services/store":364,"../../../category-select":18,"../../../form":52,"../../../form-group":51,"../../../modal-loader":57,react:"react"}],220:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return d["default"].createElement("div",{className:"row row-paginator"},d["default"].createElement("div",{className:"col-xs-3"},d["default"].createElement(o,e)),d["default"].createElement("div",{className:"col-xs-3"},d["default"].createElement(l,e)),d["default"].createElement("div",{className:"col-xs-3"},d["default"].createElement(s,e)),d["default"].createElement("div",{className:"col-xs-3"},d["default"].createElement(i,e)))}function o(e){return e.posts.isLoaded&&e.posts.first?d["default"].createElement(f.Link,{className:"btn btn-default btn-block btn-outline btn-icon",to:e.thread.url.index,title:gettext("Go to first page")},d["default"].createElement("span",{className:"material-icon"},"first_page")):d["default"].createElement("span",{className:"btn btn-default btn-block btn-outline btn-icon disabled",title:gettext("Go to first page")},d["default"].createElement("span",{className:"material-icon"},"first_page"))}function l(e){if(e.posts.isLoaded&&e.posts.page>1){var t="";return e.posts.previous&&(t=e.posts.previous+"/"),d["default"].createElement(f.Link,{className:"btn btn-default btn-block btn-outline btn-icon",to:e.thread.url.index+t,title:gettext("Go to previous page")},d["default"].createElement("span",{className:"material-icon"},"chevron_left"))}return d["default"].createElement("span",{className:"btn btn-default btn-block btn-outline btn-icon disabled",title:gettext("Go to previous page")},d["default"].createElement("span",{className:"material-icon"},"chevron_left"))}function s(e){if(e.posts.isLoaded&&e.posts.more){var t="";return e.posts.next&&(t=e.posts.next+"/"),d["default"].createElement(f.Link,{className:"btn btn-default btn-block btn-outline btn-icon",to:e.thread.url.index+t,title:gettext("Go to next page")},d["default"].createElement("span",{className:"material-icon"},"chevron_right"))}return d["default"].createElement("span",{className:"btn btn-default btn-block btn-outline btn-icon disabled",title:gettext("Go to next page")},d["default"].createElement("span",{className:"material-icon"},"chevron_right"))}function i(e){return e.posts.isLoaded&&e.posts.last?d["default"].createElement(f.Link,{className:"btn btn-default btn-block btn-outline btn-icon",to:e.thread.url.index+e.posts.last+"/",title:gettext("Go to last page")},d["default"].createElement("span",{className:"material-icon"},"last_page")):d["default"].createElement("span",{className:"btn btn-default btn-block btn-outline btn-icon disabled",title:gettext("Go to last page")},d["default"].createElement("span",{className:"material-icon"},"last_page"))}function u(e){var t=null;return e.more?(t=ngettext("There is %(more)s more post in this thread.","There are %(more)s more posts in this thread.",e.more),t=interpolate(t,{more:e.more},!0)):t=gettext("There are no more posts in this thread."),d["default"].createElement("p",null,t)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return d["default"].createElement("nav",{className:"misago-pagination pull-left"},d["default"].createElement(r,e),d["default"].createElement(u,{more:e.posts.more}))},a.Pager=r,a.FirstPage=o,a.PreviousPage=l,a.NextPage=s,a.LastPage=i,a.More=u;var c=e("react"),d=n(c),f=e("react-router")},{react:"react","react-router":"react-router"}],221:[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("button",{className:e.className||"btn btn-primary btn-outline",onClick:e.onClick,type:"button"},o["default"].createElement("span",{className:"material-icon"},"chat"),gettext("Reply"))};var r=e("react"),o=n(r)},{react:"react"}],222:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return{participants:e.participants,poll:e.poll,posts:e.posts,thread:e.thread,tick:e.tick.tick,user:e.auth.user}}function o(){var e=c["default"].get("THREAD"),t=e.url.index.replace(e.slug+"-"+e.pk,":slug");return[{path:t,component:(0,l.connect)(r)(i["default"])},{path:t+":page/",component:(0,l.connect)(r)(i["default"])}]}Object.defineProperty(a,"__esModule",{value:!0}),a.select=r,a.paths=o;var l=e("react-redux"),s=e("./route"),i=n(s),u=e("../../index"),c=n(u)},{"../../index":291,"./route":223,"react-redux":"react-redux"}],223:[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=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}}(),c=e("react"),d=r(c),f=e("../participants"),p=r(f),m=e("../poll"),h=e("../posts-list"),v=r(h),b=e("./header"),y=r(b),g=e("./toolbar-top"),_=r(g),E=e("./toolbar-bottom"),w=r(E),O=e("../../reducers/participants"),k=n(O),N=e("../../reducers/poll"),x=n(N),j=e("../../reducers/posts"),P=n(j),C=e("../../reducers/thread"),M=n(C),S=e("../../services/ajax"),T=r(S),L=e("../../services/polls"),R=r(L),A=e("../../services/snackbar"),I=r(A),D=e("../../services/posting"),U=r(D),B=e("../../services/store"),H=r(B),z=e("../../services/page-title"),F=r(z),q=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.update=function(e){H["default"].dispatch(M.replace(e)),H["default"].dispatch(P.load(e.post_set)),e.participants&&H["default"].dispatch(k.replace(e.participants)),e.poll&&H["default"].dispatch(x.replace(e.poll)),n.setPageTitle()},n.openReplyForm=function(){U["default"].open({mode:"REPLY",config:n.props.thread.api.editor,submit:n.props.thread.api.posts.index})},r=a,l(n,r)}return s(t,e),u(t,[{key:"componentDidMount",value:function(){this.shouldFetchData()&&(this.fetchData(),this.setPageTitle()),this.startPollingApi()}},{key:"componentDidUpdate",value:function(){this.shouldFetchData()&&(this.fetchData(),this.startPollingApi(),this.setPageTitle())}},{key:"componentWillUnmount",value:function(){this.stopPollingApi()}},{key:"shouldFetchData",value:function(){if(this.props.posts.isLoaded){var e=1*(this.props.params.page||1);return e!=this.props.posts.page}return!1}},{key:"fetchData",value:function(){var e=this;H["default"].dispatch(P.unload()),T["default"].get(this.props.thread.api.posts.index,{page:this.props.params.page||1},"posts").then(function(t){e.update(t)},function(e){I["default"].apiError(e)})}},{key:"startPollingApi",value:function(){R["default"].start({poll:"thread-posts",url:this.props.thread.api.posts.index,data:{page:this.props.params.page||1},update:this.update,frequency:12e4,delayed:!0})}},{key:"stopPollingApi",value:function(){R["default"].stop("thread-posts")}},{key:"setPageTitle",value:function(){F["default"].set({title:this.props.thread.title,parent:this.props.thread.category.name,page:1*(this.props.params.page||1)})}},{key:"render",value:function(){var e="page page-thread";return this.props.thread.category.css_class&&(e+=" page-thread-"+this.props.thread.category.css_class),d["default"].createElement("div",{className:e},d["default"].createElement("div",{className:"page-header-bg"},d["default"].createElement(y["default"],this.props)),d["default"].createElement("div",{className:"container"},d["default"].createElement(_["default"],i({openReplyForm:this.openReplyForm},this.props)),d["default"].createElement(m.Poll,{poll:this.props.poll,thread:this.props.thread,user:this.props.user}),d["default"].createElement(p["default"],{participants:this.props.participants,thread:this.props.thread,user:this.props.user}),d["default"].createElement(v["default"],this.props),d["default"].createElement(w["default"],i({openReplyForm:this.openReplyForm},this.props))))}}]),t}(d["default"].Component);a["default"]=q},{"../../reducers/participants":338,"../../reducers/poll":339,"../../reducers/posts":341,"../../reducers/thread":347,"../../services/ajax":352,"../../services/page-title":360,"../../services/polls":361,"../../services/posting":362,"../../services/snackbar":363,"../../services/store":364,"../participants":94,"../poll":99,"../posts-list":144,"./header":207,"./toolbar-bottom":225,"./toolbar-top":226,react:"react"}],224:[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===!0?"star":e===!1?"star_half":"star_border"}function u(e){return e===!0?gettext("E-mail"):e===!1?gettext("Enabled"):gettext("Disabled")}function c(e){return m["default"].createElement("ul",{className:e.dropdownClassName||"dropdown-menu stick-to-bottom"},m["default"].createElement(O,e),m["default"].createElement(k,e),m["default"].createElement(N,e))}function d(e,t,a){var n={subscription:e.subscription};w["default"].dispatch(v.update({subscription:t})),y["default"].patch(e.api.index,[{op:"replace",path:"subscription",value:a}]).then(function(e){w["default"].dispatch(v.update(e))},function(e){400===e.status?_["default"].error(e.detail[0]):_["default"].apiError(e),w["default"].dispatch(v.update(n))})}Object.defineProperty(a,"__esModule",{value:!0}),a.Email=a.Enable=a.Disable=void 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["default"]=function(e){return e.user.id?m["default"].createElement("div",{className:e.className},m["default"].createElement("button",{"aria-expanded":"true","aria-haspopup":"true",className:"btn btn-default dropdown-toggle btn-block btn-outline","data-toggle":"dropdown",type:"button"},m["default"].createElement("span",{className:"material-icon"},i(e.thread.subscription)),u(e.thread.subscription)),m["default"].createElement(c,e)):null},a.getIcon=i,a.getLabel=u,a.Dropdown=c,a.update=d;var p=e("react"),m=r(p),h=e("../../reducers/thread"),v=n(h),b=e("../../services/ajax"),y=r(b),g=e("../../services/snackbar"),_=r(g),E=e("../../services/store"),w=r(E),O=a.Disable=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(){null!==n.props.thread.subscription&&d(n.props.thread,null,"unsubscribe")},r=a,l(n,r)}return s(t,e),f(t,[{key:"render",value:function(){return m["default"].createElement("li",null,m["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick},m["default"].createElement("span",{className:"material-icon"},"star_border"),gettext("Unsubscribe")))}}]),t}(m["default"].Component),k=a.Enable=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.props.thread.subscription!==!1&&d(n.props.thread,!1,"notify")},r=a,l(n,r)}return s(t,e),f(t,[{key:"render",value:function(){return m["default"].createElement("li",null,m["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick},m["default"].createElement("span",{className:"material-icon"},"star_half"),gettext("Subscribe")))}}]),t}(m["default"].Component),N=a.Email=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.props.thread.subscription!==!0&&d(n.props.thread,!0,"email")},r=a,l(n,r)}return s(t,e),f(t,[{key:"render",value:function(){return m["default"].createElement("li",null,m["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick},m["default"].createElement("span",{className:"material-icon"},"star"),gettext("Subscribe with e-mail")))}}]),t}(m["default"].Component)},{"../../reducers/thread":347,"../../services/ajax":352,"../../services/snackbar":363,"../../services/store":364,react:"react"}],225:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.visible?d["default"].createElement("div",{className:"col-md-5"},e.children):null}function o(e){return e.user.id?d["default"].createElement("div",{className:"col-sm-4 hidden-xs"},d["default"].createElement(m["default"],e)):null}function l(e){var t="col-xs-6";return e.thread.acl.can_reply||(t="col-xs-12"),d["default"].createElement("div",{className:t+" col-sm-4"},d["default"].createElement(y["default"],u({btnClassName:"btn-block",className:"dropup"},e)))}function s(e){return e.thread.acl.can_reply?d["default"].createElement("div",{className:"col-xs-6 col-sm-4"},d["default"].createElement(v["default"],{className:"btn btn-primary btn-block btn-outline",onClick:e.onClick})):null}function i(e){return e.thread.acl.can_reply?null:d["default"].createElement("div",{className:"hidden-xs hidden-sm col-sm-4"})}Object.defineProperty(a,"__esModule",{value:!0});var u=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 d["default"].createElement("div",{className:"row row-toolbar"},d["default"].createElement("div",{className:"col-xs-12 text-center visible-xs-block"},d["default"].createElement(f.More,{more:e.posts.more}),d["default"].createElement("div",{className:"toolbar-vertical-spacer"})),d["default"].createElement("div",{className:"col-md-7"},d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-sm-4 col-md-5"},d["default"].createElement(f.Pager,e)),d["default"].createElement("div",{className:"col-sm-8 col-md-7 hidden-xs"},d["default"].createElement(f.More,{more:e.posts.more})))),d["default"].createElement(r,{visible:!!e.user.id},d["default"].createElement("div",{className:"toolbar-vertical-spacer hidden-md hidden-lg"}),d["default"].createElement("div",{className:"row"},d["default"].createElement(i,e),d["default"].createElement(o,e),d["default"].createElement(l,e),d["default"].createElement(s,{thread:e.thread,onClick:e.openReplyForm}))))},a.Options=r,a.Moderation=o,a.Subscription=l,a.Reply=s,a.Spacer=i;var c=e("react"),d=n(c),f=e("./paginator"),p=e("./moderation/posts"),m=n(p),h=e("./reply-button"),v=n(h),b=e("./subscription"),y=n(b)},{"./moderation/posts":212,"./paginator":220,"./reply-button":221,"./subscription":224,react:"react"}],226:[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.user,a="col-xs-3 col-sm-3 col-md-5";return t.is_anonymous&&(a="col-xs-12 col-sm-3 col-md-5"),E["default"].createElement("div",{className:a},E["default"].createElement("div",{className:"row hidden-xs hidden-sm"},E["default"].createElement(c,{thread:e.thread}),E["default"].createElement(i,{thread:e.thread}),E["default"].createElement(u,{thread:e.thread})),E["default"].createElement(d,e))}function i(e){return e.thread.is_new?E["default"].createElement("div",{className:"col-sm-4"},E["default"].createElement("a",{href:e.thread.url.new_post,className:"btn btn-default btn-block btn-outline",title:gettext("Go to first new post")},gettext("New"))):null}function u(e){return e.thread.has_unapproved_posts&&e.thread.acl.can_approve?E["default"].createElement("div",{className:"col-sm-4"},E["default"].createElement("a",{href:e.thread.url.unapproved_post,className:"btn btn-default btn-block btn-outline",title:gettext("Go to first unapproved post")},gettext("Unapproved"))):null}function c(e){return E["default"].createElement("div",{className:"col-sm-4"},E["default"].createElement("a",{href:e.thread.url.last_post,className:"btn btn-default btn-block btn-outline",title:gettext("Go to last post")},gettext("Last")))}function d(e){var t=e.user;return t.is_anonymous?E["default"].createElement("div",{className:"visible-xs-block visible-sm-block"},E["default"].createElement("a",{href:e.thread.url.last_post,className:"btn btn-default btn-block btn-outline"},gettext("Last post"))):E["default"].createElement("div",{className:"dropdown visible-xs-block visible-sm-block"},E["default"].createElement("button",{"aria-expanded":"true","aria-haspopup":"true",className:"btn btn-default dropdown-toggle btn-block btn-outline","data-toggle":"dropdown",type:"button"},E["default"].createElement("span",{className:"material-icon"},"expand_more"),E["default"].createElement("span",{className:"btn-text hidden-xs"},gettext("Options"))),E["default"].createElement("ul",{className:"dropdown-menu"},E["default"].createElement(C,e),E["default"].createElement(f,e),E["default"].createElement(p,e),E["default"].createElement(m,e)))}function f(e){return e.thread.is_new?E["default"].createElement("li",null,E["default"].createElement("a",{href:e.thread.url.new_post,className:"btn btn-link"},gettext("Go to first new post"))):null}function p(e){return e.thread.has_unapproved_posts&&e.thread.acl.can_approve?E["default"].createElement("li",null,E["default"].createElement("a",{href:e.thread.url.unapproved_post,className:"btn btn-link"},gettext("Go to first unapproved post"))):null}function m(e){return E["default"].createElement("li",null,E["default"].createElement("a",{href:e.thread.url.last_post,className:"btn btn-link"},gettext("Go to last post")))}function h(e){return e.thread.acl.can_reply?E["default"].createElement("div",{className:"col-sm-4 hidden-xs"},E["default"].createElement(O["default"],{className:"btn btn-primary btn-block btn-outline",onClick:e.openReplyForm})):null}function v(e){return e.user.id?E["default"].createElement("div",{className:"col-xs-12 col-sm-4"},E["default"].createElement(N["default"],g({className:"dropdown",dropdownClassName:"dropdown-menu dropdown-menu-right stick-to-bottom"},e))):null}function b(e){return e.visible?E["default"].createElement("div",{className:"col-sm-4 hidden-xs"}):null}Object.defineProperty(a,"__esModule",{value:!0}),a.StartPollCompact=a.StartPoll=void 0;var y=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}}(),g=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.thread.acl.can_start_poll||e.thread.poll;return E["default"].createElement("div",{className:"row row-toolbar row-toolbar-bottom-margin"},E["default"].createElement(s,e),E["default"].createElement("div",{className:"col-xs-9 col-md-5 col-md-offset-2"},E["default"].createElement("div",{className:"row"},E["default"].createElement(b,{visible:!e.user.id}),E["default"].createElement(b,{visible:t}),E["default"].createElement(v,e),E["default"].createElement(P,e),E["default"].createElement(h,e))))},a.GotoMenu=s,a.GotoNew=i,a.GotoUnapproved=u,a.GotoLast=c,a.CompactOptions=d,a.GotoNewCompact=f,a.GotoUnapprovedCompact=p,a.GotoLastCompact=m,a.Reply=h,a.SubscriptionMenu=v,a.Spacer=b;var _=e("react"),E=n(_),w=e("./reply-button"),O=n(w),k=e("./subscription"),N=n(k),x=e("../../services/posting"),j=n(x),P=a.StartPoll=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(){j["default"].open({mode:"POLL",submit:n.props.thread.api.poll,thread:n.props.thread,poll:null})},l=a,o(n,l)}return l(t,e),y(t,[{key:"render",value:function(){return!this.props.thread.acl.can_start_poll||this.props.thread.poll?null:E["default"].createElement("div",{className:"col-sm-4 hidden-xs"},E["default"].createElement("button",{className:"btn btn-default btn-block btn-outline",onClick:this.onClick,type:"button"},E["default"].createElement("span",{className:"material-icon"},"poll"),gettext("Add poll")))}}]),t}(E["default"].Component),C=a.StartPollCompact=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),y(t,[{key:"render",value:function(){return!this.props.thread.acl.can_start_poll||this.props.thread.poll?null:E["default"].createElement("li",null,E["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},gettext("Add poll")))}}]),t}(P)},{"../../services/posting":362,"./reply-button":221,"./subscription":224,react:"react"}],227:[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 e.isLoaded?0===e.threads.length?o["default"].createElement(s["default"],{diffSize:e.diffSize,applyDiff:e.applyDiff},e.children):o["default"].createElement(u["default"],{activeCategory:e.category,categories:e.categories,list:e.list,threads:e.threads,diffSize:e.diffSize,applyDiff:e.applyDiff,showOptions:e.showOptions,selection:e.selection,busyThreads:e.busyThreads}):o["default"].createElement(d["default"],null)};var r=e("react"),o=n(r),l=e("./list/empty"),s=n(l),i=e("./list/ready"),u=n(i),c=e("./list/preview"),d=n(c)},{"./list/empty":229,"./list/preview":230,"./list/ready":231,react:"react"}],228:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=ngettext("There is %(threads)s new or updated thread. Click this message to show it.","There are %(threads)s new or updated threads. Click this message to show them.",e);return interpolate(t,{threads:e},!0)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.diffSize,a=e.applyDiff;return 0===t?null:l["default"].createElement("li",{className:"list-group-item threads-diff-message"},l["default"].createElement("button",{type:"button",className:"btn btn-block btn-default",onClick:a},l["default"].createElement("span",{className:"material-icon"},"cached"),l["default"].createElement("span",{className:"diff-message"},r(t))))},a.getMessage=r;var o=e("react"),l=n(o)},{react:"react"}],229:[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("./diff-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:"getDiffMessage",value:function(){return 0===this.props.diffSize?null:u["default"].createElement(d["default"],{applyDiff:this.props.applyDiff,diffSize:this.props.diffSize})}},{key:"render",value:function(){return u["default"].createElement("div",{className:"threads-list ui-ready"},u["default"].createElement("ul",{className:"list-group"},this.getDiffMessage(),this.props.children))}}]),t}(u["default"].Component);a["default"]=f},{"./diff-message":228,react:"react"}],230:[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("../thread/preview"),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:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return u["default"].createElement("div",{className:"threads-list ui-preview"},u["default"].createElement("ul",{className:"list-group"},u["default"].createElement(d["default"],null)))}}]),t}(u["default"].Component);a["default"]=f},{"../thread/preview":238,react:"react"}],231:[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:"threads-list ui-ready"},o["default"].createElement("ul",{className:"list-group"},o["default"].createElement(s["default"],{diffSize:e.diffSize,applyDiff:e.applyDiff}),e.threads.map(function(t){return o["default"].createElement(u["default"],{activeCategory:e.activeCategory,categories:e.categories,list:e.list,thread:t,showOptions:e.showOptions,isSelected:e.selection.indexOf(t.id)>=0,isBusy:e.busyThreads.indexOf(t.id)>=0,key:t.id})})))};var r=e("react"),o=n(r),l=e("./diff-message"),s=n(l),i=e("../thread/ready"),u=n(i)},{"../thread/ready":239,"./diff-message":228,react:"react"}],232:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.display,a=e.textClassName;return t?d["default"].createElement("span",{className:"thread-detail-hidden"},d["default"].createElement("span",{className:"material-icon"},"visibility_off"),d["default"].createElement("span",{className:a},gettext("Hidden"))):null}function o(e){var t=e.display,a=e.textClassName;return t?d["default"].createElement("span",{className:"thread-detail-closed"},d["default"].createElement("span",{className:"material-icon"},"lock_outline"),d["default"].createElement("span",{className:a},gettext("Closed"))):null}function l(e){var t=e.display,a=e.textClassName;return t?d["default"].createElement("span",{className:"thread-detail-poll"},d["default"].createElement("span",{className:"material-icon"},"assessment"),d["default"].createElement("span",{className:a},gettext("Poll"))):null}function s(e){var t=e.replies,a=e.forceFullText,n=ngettext("%(replies)s reply","%(replies)s replies",t),r="",o="";return a?(r="detail-text hide",o="detail-text"):(r="detail-text visible-xs-inline-block",o="detail-text hidden-xs"),d["default"].createElement("span",{className:"thread-detail-replies"},d["default"].createElement("span",{className:"material-icon"},"forum"),d["default"].createElement("span",{className:r},t),d["default"].createElement("span",{className:o},interpolate(n,{replies:t},!0)))}function i(e){var t=e.datetime,a=e.url;return d["default"].createElement("a",{className:"visible-sm-inline-block thread-detail-last-reply",href:a,title:t.format("LLL")},t.fromNow(!0))}function u(e){var t=e.posterName,a=e.url,n="visible-sm-inline-block item-title thread-last-poster";return a?d["default"].createElement("a",{className:n,href:a},t):d["default"].createElement("span",{className:n},t)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.category,a=e.isBusy,n=e.showOptions,c=e.isSelected,f=e.thread,h="col-xs-12 col-sm-12";n&&(h=f.moderation.length?"col-xs-6 col-sm-12":"col-xs-9 col-sm-12");var v=0;f.is_hidden&&(v+=1),f.is_closed&&(v+=1),f.has_poll&&(v+=1);var b=n&&3===v,y="detail-text hidden-xs";return b&&(y+=" hidden-sm"),d["default"].createElement("div",{className:"row thread-details-bottom"},d["default"].createElement("div",{className:h},d["default"].createElement(p["default"],{className:"item-title thread-detail-category hidden-xs",category:t}),d["default"].createElement(r,{textClassName:y,display:f.is_hidden}),d["default"].createElement(o,{textClassName:y,display:f.is_closed}),d["default"].createElement(l,{textClassName:y,display:f.has_poll}),d["default"].createElement(s,{forceFullText:!n||v<2,replies:f.replies}),d["default"].createElement(i,{datetime:f.last_post_on,url:f.url.last_post}),d["default"].createElement(u,{posterName:f.last_poster_name,url:f.url.last_poster})),d["default"].createElement(m.OptionsXs,{disabled:a,display:n,isSelected:c,thread:f}))},a.HiddenLabel=r,a.ClosedLabel=o,a.PollLabel=l,a.RepliesLabel=s,a.LastReplyLabel=i,a.LastPoster=u;var c=e("react"),d=n(c),f=e("./category"),p=n(f),m=e("../options")},{"../options":237,"./category":233,react:"react"}],233:[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.category,a=e.className;return t?(t.css_class&&(a+=" thread-detail-category-"+t.css_class),o["default"].createElement("a",{className:a,href:t.url.index},t.name)):null};var r=e("react"),o=n(r)},{react:"react"}],234:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a.TopDetails=a.BottomDetails=void 0;var r=e("./bottom"),o=n(r),l=e("./top"),s=n(l);a.BottomDetails=o["default"],a.TopDetails=s["default"]},{"./bottom":232,"./top":235}],235:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.isRead,a=e.url;return t?null:c["default"].createElement("a",{className:"thread-detail-new",href:a},c["default"].createElement("span",{className:"material-icon"},"comment"),c["default"].createElement("span",{className:"detail-text"},gettext("New posts")))}function o(e){var t=e.weight;if(0===t)return null;var a="thread-detail-pinned-globally",n="bookmark",r=gettext("Pinned globally");return 1===t&&(a="thread-detail-pinned-locally",n="bookmark_border",r=gettext("Pinned locally")),c["default"].createElement("span",{className:a},c["default"].createElement("span",{className:"material-icon"},n),c["default"].createElement("span",{className:"detail-text"},r))}function l(e){var t=e.posts,a=e.thread;if(!t&&!a)return null;var n="thread-detail-unapproved-posts",r="remove_circle_outline",o=gettext("Unapproved posts");return a&&(n="thread-detail-unapproved",r="remove_circle",o=gettext("Unapproved")),c["default"].createElement("span",{className:n},c["default"].createElement("span",{className:"material-icon"},r),c["default"].createElement("span",{className:"detail-text"},o))}function s(e){var t=e.datetime,a=e.url;return c["default"].createElement("a",{className:"visible-xs-inline-block thread-detail-last-reply",href:a,title:t.format("LLL")},t.fromNow(!0))}function i(e){var t=e.posterName,a=e.url;return a?c["default"].createElement("a",{className:"visible-xs-inline-block item-title thread-last-poster",href:a},t):c["default"].createElement("span",{className:"visible-xs-inline-block item-title thread-last-poster"},t)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.category,a=e.thread;return c["default"].createElement("div",{className:"thread-details-top"},c["default"].createElement(r,{isRead:a.is_read,url:a.url.new_post}),c["default"].createElement(o,{weight:a.weight}),c["default"].createElement(l,{thread:a.is_unapproved,posts:a.has_unapproved_posts}),c["default"].createElement(f["default"],{className:"item-title thread-detail-category visible-xs-inline-block",category:t}),c["default"].createElement(s,{datetime:a.last_post_on,url:a.url.last_post}),c["default"].createElement(i,{posterName:a.last_poster_name,url:a.url.last_poster}))},a.NewLabel=r,a.PinnedLabel=o,a.UnapprovedLabel=l,a.LastReplyLabel=s,a.LastPoster=i;var u=e("react"),c=n(u),d=e("./category"),f=n(d)},{"./category":233,react:"react"}],236:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.datetime,a=e.url;return l["default"].createElement("a",{className:"thread-last-reply",href:a,title:t.format("LLL")},t.fromNow(!0))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.thread;return l["default"].createElement("div",{className:"media"},l["default"].createElement("div",{className:"media-left"},l["default"].createElement(c["default"],{className:"thread-last-poster-avatar",title:t.last_poster_name,url:t.url.last_poster},l["default"].createElement(i["default"],{className:"media-object",size:40,user:t.last_poster}))),l["default"].createElement("div",{className:"media-body"},l["default"].createElement(c["default"],{className:"item-title thread-last-poster",url:t.url.last_poster},t.last_poster_name),l["default"].createElement(r,{datetime:t.last_post_on,url:t.url.last_post})))},a.Timestamp=r;var o=e("react"),l=n(o),s=e("../../avatar"),i=n(s),u=e("./user-url"),c=n(u)},{"../../avatar":3,"./user-url":244,react:"react"}],237:[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){var t=e.display,a=e.disabled,n=e.isSelected,r=e.thread;if(!t)return null;var o="col-sm-2 col-md-2 hidden-xs";return r.moderation.length&&(o="col-sm-3 col-md-2 hidden-xs"),f["default"].createElement("div",{className:o},f["default"].createElement("div",{className:"row thread-options"},f["default"].createElement(v["default"],{thread:r,disabled:a}),f["default"].createElement(m["default"],{thread:r,disabled:a}),f["default"].createElement(E,{thread:r,disabled:a,isSelected:n})))}function u(e){var t=e.display,a=e.disabled,n=e.isSelected,r=e.thread;if(!t)return null;var o="";return o+=r.moderation.length?"col-xs-6":"col-xs-3",o+=" visible-xs-block thread-options-xs",f["default"].createElement("div",{className:o},f["default"].createElement("div",{className:"row thread-options"},f["default"].createElement(v["default"],{thread:r,disabled:a}),f["default"].createElement(m["default"],{thread:r,disabled:a}),f["default"].createElement(E,{thread:r,disabled:a,isSelected:n})))}Object.defineProperty(a,"__esModule",{value:!0}),a.Checkbox=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}}();a.Options=i,a.OptionsXs=u;var d=e("react"),f=r(d),p=e("./subscription/compact"),m=r(p),h=e("./subscription/full"),v=r(h),b=e("../../../reducers/selection"),y=n(b),g=e("../../../services/store"),_=r(g),E=a.Checkbox=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.toggleSelection=function(){_["default"].dispatch(y.item(n.props.thread.id))},r=a,l(n,r)}return s(t,e),c(t,[{key:"render",value:function(){var e=this.props,t=e.disabled,a=e.isSelected,n=e.thread;return n.moderation.length?f["default"].createElement("div",{className:"col-xs-6"},f["default"].createElement("button",{className:"btn btn-default btn-icon btn-block",onClick:this.toggleSelection,disabled:t},f["default"].createElement("span",{className:"material-icon"},a?"check_box":"check_box_outline_blank"))):null}}]),t}(f["default"].Component)},{"../../../reducers/selection":345,"../../../services/store":364,"./subscription/compact":240,"./subscription/full":241,react:"react"}],238:[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("../../../utils/random"),f=n(d),p=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return c["default"].createElement("li",{className:"list-group-item thread-preview"},c["default"].createElement("div",{className:"thread-details-top visible-xs-block"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](30,80)+"px"}}," "),c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](30,80)+"px"}}," "),c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](30,80)+"px"}}," ")),c["default"].createElement("span",{className:"item-title thread-title"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](60,200)+"px"}}," "),c["default"].createElement("span",{className:"ui-preview-text hidden-xs",style:{width:f["int"](60,200)+"px"}}," "),c["default"].createElement("span",{className:"ui-preview-text hidden-xs",style:{width:f["int"](60,200)+"px"}}," ")),c["default"].createElement("div",{className:"thread-details-bottom"},c["default"].createElement("div",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](30,80)+"px"}}," "),c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](30,80)+"px"}}," "),c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](30,80)+"px"}}," "))))}}]),t}(c["default"].Component);a["default"]=p},{"../../../utils/random":375,react:"react"}],239:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t,a,n){var r=["list-group-item"];return n&&n.css_class&&(r.push("list-group-category-has-flavor"),r.push("list-group-item-category-"+n.css_class)),e?r.push("thread-read"):r.push("thread-new"),t?r.push("thread-busy"):a&&r.push("thread-selected"),r.join(" ")}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.activeCategory,a=e.categories,n=(e.list,e.thread),o=e.isBusy,s=e.isSelected,c=e.showOptions,p=null;t.id!==n.category&&(p=a[n.category]);var h=p||t,v="thread-main col-xs-12";return v+=c?n.moderation.length?" col-sm-9 col-md-7":" col-sm-10 col-md-7":" col-sm-12 col-md-9",l["default"].createElement("li",{className:r(n.is_read,o,s,h)},l["default"].createElement(u.TopDetails,{category:p,thread:n}),l["default"].createElement("div",{className:"row thread-row"},l["default"].createElement("div",{className:v},l["default"].createElement("div",{className:"media"},l["default"].createElement("div",{className:"media-left hidden-xs"},l["default"].createElement(m["default"],{className:"thread-starter-avatar",title:n.starter_name,url:n.url.starter},l["default"].createElement(i["default"],{size:40,user:n.starter}))),l["default"].createElement("div",{className:"media-body"},l["default"].createElement("a",{href:n.url.index,className:"item-title thread-title"},n.title),l["default"].createElement(u.BottomDetails,{category:p,disabled:o,isSelected:s,showOptions:c,thread:n})))),l["default"].createElement("div",{className:"col-md-3 hidden-xs hidden-sm thread-last-action"},l["default"].createElement(d["default"],{thread:n})),l["default"].createElement(f.Options,{disabled:o,display:c,isSelected:s,thread:n})))},a.getClassName=r;var o=e("react"),l=n(o),s=e("../../avatar"),i=n(s),u=e("./details"),c=e("./last-action"),d=n(c),f=e("./options"),p=e("./user-url"),m=n(p)},{"../../avatar":3,"./details":234,"./last-action":236,"./options":237,"./user-url":244,react:"react"}],240:[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("./full"),d=n(c),f=e("./modal"),p=n(f),m=e("../../../../services/modal"),h=n(m),v=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.showOptions=function(){h["default"].show(u["default"].createElement(p["default"],{thread:n.props.thread}))},l=a,o(n,l)}return l(t,e),s(t,[{key:"render",value:function(){var e=this.props.thread.moderation,t="";return t+=e.length?"col-xs-6":"col-xs-12",t+=" hidden-md hidden-lg",u["default"].createElement("div",{className:t},u["default"].createElement("button",{type:"button",className:this.getClassName(),disabled:this.props.disabled,onClick:this.showOptions},u["default"].createElement("span",{className:"material-icon"},this.getIcon())))}}]),t}(d["default"]);a["default"]=v},{"../../../../services/modal":358,"./full":241,"./modal":242,react:"react"}],241:[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.moderation,a=e.subscription;if(t.length)return null;var n=gettext("Disabled");return a===!0?n=gettext("E-mail"):a===!1&&(n=gettext("Enabled")),c["default"].createElement("span",{className:"btn-text"},n)}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}}();a.Label=s;var u=e("react"),c=n(u),d=e("./options"),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:"getIcon",value:function(){return this.props.thread.subscription===!0?"star":this.props.thread.subscription===!1?"star_half":"star_border"}},{key:"getClassName",value:function(){return this.props.thread.subscription===!0?"btn btn-default btn-icon btn-block btn-subscribe btn-subscribe-full dropdown-toggle":this.props.thread.subscription===!1?"btn btn-default btn-icon btn-block btn-subscribe btn-subscribe-half dropdown-toggle":"btn btn-default btn-icon btn-block btn-subscribe dropdown-toggle"}},{key:"render",value:function(){var e=this.props.thread,t=e.moderation,a=e.subscription,n=!t.length,r=n?"col-xs-12":"col-xs-6";return r+=" hidden-xs hidden-sm",c["default"].createElement("div",{className:r},c["default"].createElement("div",{className:"btn-group btn-group-justified"},c["default"].createElement("div",{className:"btn-group"},c["default"].createElement("button",{type:"button",className:this.getClassName(),disabled:this.props.disabled,"data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},c["default"].createElement("span",{className:"material-icon"},this.getIcon()),c["default"].createElement(s,{moderation:t,subscription:a})),c["default"].createElement(f["default"],{className:"dropdown-menu dropdown-menu-right",thread:this.props.thread}))))}}]),t}(c["default"].Component);a["default"]=p},{"./options":243,react:"react"}],242:[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("./options"),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-dialog modal-sm",role:"document"},u["default"].createElement("div",{className:"modal-content"},u["default"].createElement("div",{className:"modal-header"},u["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},u["default"].createElement("span",{"aria-hidden":"true"},"×")),u["default"].createElement("h4",{className:"modal-title"},gettext("Change subscription"))),u["default"].createElement(d["default"],{className:"modal-menu",thread:this.props.thread})))}}]),t}(u["default"].Component);a["default"]=f},{"./options":243,react:"react"}],243:[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),e("../../../../reducers/threads")),f=e("../../../../services/ajax"),p=n(f),m=e("../../../../services/modal"),h=n(m),v=e("../../../../services/snackbar"),b=n(v),y=e("../../../../services/store"),g=n(y),_={unsubscribe:null,notify:!1,email:!0},E=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.setSubscription=function(e){h["default"].hide(),a.setState({isLoading:!0});var t=a.props.thread.subscription;g["default"].dispatch((0,d.patch)(a.props.thread,{subscription:_[e]})),p["default"].patch(a.props.thread.api.index,[{op:"replace",path:"subscription",value:e}]).then(function(){a.setState({isLoading:!1})},function(e){a.setState({isLoading:!1}),g["default"].dispatch((0,d.patch)(a.props.thread,{subscription:_[t]})),b["default"].apiError(e)})},a.unsubscribe=function(){a.setSubscription("unsubscribe")},a.notify=function(){a.setSubscription("notify")},a.email=function(){a.setSubscription("email")},a.state={isLoading:!1},a}return l(t,e),s(t,[{key:"render",value:function(){return u["default"].createElement("ul",{className:this.props.className},u["default"].createElement("li",null,u["default"].createElement("button",{className:"btn-link",onClick:this.unsubscribe},u["default"].createElement("span",{className:"material-icon"},"star_border"),gettext("Unsubscribe"))),u["default"].createElement("li",null,u["default"].createElement("button",{className:"btn-link",onClick:this.notify},u["default"].createElement("span",{className:"material-icon"},"star_half"),gettext("Subscribe"))),u["default"].createElement("li",null,u["default"].createElement("button",{className:"btn-link",onClick:this.email},u["default"].createElement("span",{className:"material-icon"},"star"),gettext("Subscribe with e-mail"))))}}]),t}(u["default"].Component);a["default"]=E},{"../../../../reducers/threads":348,"../../../../services/ajax":352,"../../../../services/modal":358,"../../../../services/snackbar":363,"../../../../services/store":364,"../../../button":5,react:"react"}],244:[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.className,n=e.title,r=e.url;return r?o["default"].createElement("a",{className:a,href:r,title:n},t):o["default"].createElement("span",{className:a,title:n},t)};var r=e("react"),o=n(r)},{react:"react"}],245:[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.Subcategory=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("react-router"),d=a.Subcategory=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:"getUrl",value:function(){return this.props.listPath?this.props.category.url.index+this.props.listPath:this.props.category.url.index}},{key:"render",value:function(){return u["default"].createElement("li",null,u["default"].createElement(c.Link,{to:this.getUrl(),className:"btn btn-link"},this.props.category.name))}}]),t}(u["default"].Component),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(){var e=this;return u["default"].createElement("div",{className:"dropdown category-picker"},u["default"].createElement("button",{type:"button",className:"btn btn-default btn-outline dropdown-toggle btn-block","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},u["default"].createElement("span",{className:"material-icon"},"label_outline"),u["default"].createElement("span",{className:"hidden-xs"},gettext("Category"))),u["default"].createElement("ul",{className:"dropdown-menu stick-to-bottom categories-menu"},this.props.choices.map(function(t){return e.props.categories[t]?u["default"].createElement(d,{category:e.props.categories[t],listPath:e.props.list.path,key:t}):null})))}}]),t}(u["default"].Component);a["default"]=f},{react:"react","react-router":"react-router"}],246:[function(e,t,a){"use strict";function n(e,t){return e.last_post>t.last_post?-1:e.last_post<t.last_post?1:0}function r(e,t){return 2===e.weight&&e.weight>t.weight?-1:2===t.weight&&e.weight<t.weight?1:n(e,t)}function o(e,t){return e.weight>t.weight?-1:e.weight<t.weight?1:n(e,t)}Object.defineProperty(a,"__esModule",{value:!0}),a.compareLastPostAge=n,a.compareGlobalWeight=r,a.compareWeight=o},{}],247:[function(e,t,a){"use strict";
|
|
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("./diff-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:"getDiffMessage",value:function(){return 0===this.props.diffSize?null:u["default"].createElement(d["default"],{applyDiff:this.props.applyDiff,diffSize:this.props.diffSize})}},{key:"render",value:function(){return u["default"].createElement("div",{className:"threads-list ui-ready"},u["default"].createElement("ul",{className:"list-group"},this.getDiffMessage(),this.props.children))}}]),t}(u["default"].Component);a["default"]=f},{"./diff-message":228,react:"react"}],230:[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("../thread/preview"),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:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return u["default"].createElement("div",{className:"threads-list ui-preview"},u["default"].createElement("ul",{className:"list-group"},u["default"].createElement(d["default"],null)))}}]),t}(u["default"].Component);a["default"]=f},{"../thread/preview":238,react:"react"}],231:[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:"threads-list ui-ready"},o["default"].createElement("ul",{className:"list-group"},o["default"].createElement(s["default"],{diffSize:e.diffSize,applyDiff:e.applyDiff}),e.threads.map(function(t){return o["default"].createElement(u["default"],{activeCategory:e.activeCategory,categories:e.categories,list:e.list,thread:t,showOptions:e.showOptions,isSelected:e.selection.indexOf(t.id)>=0,isBusy:e.busyThreads.indexOf(t.id)>=0,key:t.id})})))};var r=e("react"),o=n(r),l=e("./diff-message"),s=n(l),i=e("../thread/ready"),u=n(i)},{"../thread/ready":239,"./diff-message":228,react:"react"}],232:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.display,a=e.textClassName;return t?d["default"].createElement("span",{className:"thread-detail-hidden"},d["default"].createElement("span",{className:"material-icon"},"visibility_off"),d["default"].createElement("span",{className:a},gettext("Hidden"))):null}function o(e){var t=e.display,a=e.textClassName;return t?d["default"].createElement("span",{className:"thread-detail-closed"},d["default"].createElement("span",{className:"material-icon"},"lock_outline"),d["default"].createElement("span",{className:a},gettext("Closed"))):null}function l(e){var t=e.display,a=e.textClassName;return t?d["default"].createElement("span",{className:"thread-detail-poll"},d["default"].createElement("span",{className:"material-icon"},"assessment"),d["default"].createElement("span",{className:a},gettext("Poll"))):null}function s(e){var t=e.replies,a=e.forceFullText,n=ngettext("%(replies)s reply","%(replies)s replies",t),r="",o="";return a?(r="detail-text hide",o="detail-text"):(r="detail-text visible-xs-inline-block",o="detail-text hidden-xs"),d["default"].createElement("span",{className:"thread-detail-replies"},d["default"].createElement("span",{className:"material-icon"},"forum"),d["default"].createElement("span",{className:r},t),d["default"].createElement("span",{className:o},interpolate(n,{replies:t},!0)))}function i(e){var t=e.datetime,a=e.url;return d["default"].createElement("a",{className:"visible-sm-inline-block thread-detail-last-reply",href:a,title:t.format("LLL")},t.fromNow(!0))}function u(e){var t=e.posterName,a=e.url,n="visible-sm-inline-block item-title thread-last-poster";return a?d["default"].createElement("a",{className:n,href:a},t):d["default"].createElement("span",{className:n},t)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.category,a=e.isBusy,n=e.showOptions,c=e.isSelected,f=e.thread,h="col-xs-12 col-sm-12";n&&(h=f.moderation.length?"col-xs-6 col-sm-12":"col-xs-9 col-sm-12");var v=0;f.is_hidden&&(v+=1),f.is_closed&&(v+=1),f.has_poll&&(v+=1);var b=n&&3===v,y="detail-text hidden-xs";return b&&(y+=" hidden-sm"),d["default"].createElement("div",{className:"row thread-details-bottom"},d["default"].createElement("div",{className:h},d["default"].createElement(p["default"],{className:"item-title thread-detail-category hidden-xs",category:t}),d["default"].createElement(r,{textClassName:y,display:f.is_hidden}),d["default"].createElement(o,{textClassName:y,display:f.is_closed}),d["default"].createElement(l,{textClassName:y,display:f.has_poll}),d["default"].createElement(s,{forceFullText:!n||v<2,replies:f.replies}),d["default"].createElement(i,{datetime:f.last_post_on,url:f.url.last_post}),d["default"].createElement(u,{posterName:f.last_poster_name,url:f.url.last_poster})),d["default"].createElement(m.OptionsXs,{disabled:a,display:n,isSelected:c,thread:f}))},a.HiddenLabel=r,a.ClosedLabel=o,a.PollLabel=l,a.RepliesLabel=s,a.LastReplyLabel=i,a.LastPoster=u;var c=e("react"),d=n(c),f=e("./category"),p=n(f),m=e("../options")},{"../options":237,"./category":233,react:"react"}],233:[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.category,a=e.className;return t?(t.css_class&&(a+=" thread-detail-category-"+t.css_class),o["default"].createElement("a",{className:a,href:t.url.index},t.name)):null};var r=e("react"),o=n(r)},{react:"react"}],234:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a.TopDetails=a.BottomDetails=void 0;var r=e("./bottom"),o=n(r),l=e("./top"),s=n(l);a.BottomDetails=o["default"],a.TopDetails=s["default"]},{"./bottom":232,"./top":235}],235:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.isRead,a=e.url;return t?null:c["default"].createElement("a",{className:"thread-detail-new",href:a},c["default"].createElement("span",{className:"material-icon"},"comment"),c["default"].createElement("span",{className:"detail-text"},gettext("New posts")))}function o(e){var t=e.weight;if(0===t)return null;var a="thread-detail-pinned-globally",n="bookmark",r=gettext("Pinned globally");return 1===t&&(a="thread-detail-pinned-locally",n="bookmark_border",r=gettext("Pinned locally")),c["default"].createElement("span",{className:a},c["default"].createElement("span",{className:"material-icon"},n),c["default"].createElement("span",{className:"detail-text"},r))}function l(e){var t=e.posts,a=e.thread;if(!t&&!a)return null;var n="thread-detail-unapproved-posts",r="remove_circle_outline",o=gettext("Unapproved posts");return a&&(n="thread-detail-unapproved",r="remove_circle",o=gettext("Unapproved")),c["default"].createElement("span",{className:n},c["default"].createElement("span",{className:"material-icon"},r),c["default"].createElement("span",{className:"detail-text"},o))}function s(e){var t=e.datetime,a=e.url;return c["default"].createElement("a",{className:"visible-xs-inline-block thread-detail-last-reply",href:a,title:t.format("LLL")},t.fromNow(!0))}function i(e){var t=e.posterName,a=e.url;return a?c["default"].createElement("a",{className:"visible-xs-inline-block item-title thread-last-poster",href:a},t):c["default"].createElement("span",{className:"visible-xs-inline-block item-title thread-last-poster"},t)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.category,a=e.thread;return c["default"].createElement("div",{className:"thread-details-top"},c["default"].createElement(r,{isRead:a.is_read,url:a.url.new_post}),c["default"].createElement(o,{weight:a.weight}),c["default"].createElement(l,{thread:a.is_unapproved,posts:a.has_unapproved_posts}),c["default"].createElement(f["default"],{className:"item-title thread-detail-category visible-xs-inline-block",category:t}),c["default"].createElement(s,{datetime:a.last_post_on,url:a.url.last_post}),c["default"].createElement(i,{posterName:a.last_poster_name,url:a.url.last_poster}))},a.NewLabel=r,a.PinnedLabel=o,a.UnapprovedLabel=l,a.LastReplyLabel=s,a.LastPoster=i;var u=e("react"),c=n(u),d=e("./category"),f=n(d)},{"./category":233,react:"react"}],236:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.datetime,a=e.url;return l["default"].createElement("a",{className:"thread-last-reply",href:a,title:t.format("LLL")},t.fromNow(!0))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.thread;return l["default"].createElement("div",{className:"media"},l["default"].createElement("div",{className:"media-left"},l["default"].createElement(c["default"],{className:"thread-last-poster-avatar",title:t.last_poster_name,url:t.url.last_poster},l["default"].createElement(i["default"],{className:"media-object",size:40,user:t.last_poster}))),l["default"].createElement("div",{className:"media-body"},l["default"].createElement(c["default"],{className:"item-title thread-last-poster",url:t.url.last_poster},t.last_poster_name),l["default"].createElement(r,{datetime:t.last_post_on,url:t.url.last_post})))},a.Timestamp=r;var o=e("react"),l=n(o),s=e("../../avatar"),i=n(s),u=e("./user-url"),c=n(u)},{"../../avatar":3,"./user-url":244,react:"react"}],237:[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){var t=e.display,a=e.disabled,n=e.isSelected,r=e.thread;if(!t)return null;var o="col-sm-2 col-md-2 hidden-xs";return r.moderation.length&&(o="col-sm-3 col-md-2 hidden-xs"),f["default"].createElement("div",{className:o},f["default"].createElement("div",{className:"row thread-options"},f["default"].createElement(v["default"],{thread:r,disabled:a}),f["default"].createElement(m["default"],{thread:r,disabled:a}),f["default"].createElement(E,{thread:r,disabled:a,isSelected:n})))}function u(e){var t=e.display,a=e.disabled,n=e.isSelected,r=e.thread;if(!t)return null;var o="";return o+=r.moderation.length?"col-xs-6":"col-xs-3",o+=" visible-xs-block thread-options-xs",f["default"].createElement("div",{className:o},f["default"].createElement("div",{className:"row thread-options"},f["default"].createElement(v["default"],{thread:r,disabled:a}),f["default"].createElement(m["default"],{thread:r,disabled:a}),f["default"].createElement(E,{thread:r,disabled:a,isSelected:n})))}Object.defineProperty(a,"__esModule",{value:!0}),a.Checkbox=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}}();a.Options=i,a.OptionsXs=u;var d=e("react"),f=r(d),p=e("./subscription/compact"),m=r(p),h=e("./subscription/full"),v=r(h),b=e("../../../reducers/selection"),y=n(b),g=e("../../../services/store"),_=r(g),E=a.Checkbox=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.toggleSelection=function(){_["default"].dispatch(y.item(n.props.thread.id))},r=a,l(n,r)}return s(t,e),c(t,[{key:"render",value:function(){var e=this.props,t=e.disabled,a=e.isSelected,n=e.thread;return n.moderation.length?f["default"].createElement("div",{className:"col-xs-6"},f["default"].createElement("button",{className:"btn btn-default btn-icon btn-block",onClick:this.toggleSelection,disabled:t},f["default"].createElement("span",{className:"material-icon"},a?"check_box":"check_box_outline_blank"))):null}}]),t}(f["default"].Component)},{"../../../reducers/selection":345,"../../../services/store":364,"./subscription/compact":240,"./subscription/full":241,react:"react"}],238:[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("../../../utils/random"),f=n(d),p=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return c["default"].createElement("li",{className:"list-group-item thread-preview"},c["default"].createElement("div",{className:"thread-details-top visible-xs-block"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](30,80)+"px"}}," "),c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](30,80)+"px"}}," "),c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](30,80)+"px"}}," ")),c["default"].createElement("span",{className:"item-title thread-title"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](60,200)+"px"}}," "),c["default"].createElement("span",{className:"ui-preview-text hidden-xs",style:{width:f["int"](60,200)+"px"}}," "),c["default"].createElement("span",{className:"ui-preview-text hidden-xs",style:{width:f["int"](60,200)+"px"}}," ")),c["default"].createElement("div",{className:"thread-details-bottom"},c["default"].createElement("div",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](30,80)+"px"}}," "),c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](30,80)+"px"}}," "),c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](30,80)+"px"}}," "))))}}]),t}(c["default"].Component);a["default"]=p},{"../../../utils/random":375,react:"react"}],239:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t,a,n){var r=["list-group-item"];return n&&n.css_class&&(r.push("list-group-category-has-flavor"),r.push("list-group-item-category-"+n.css_class)),e?r.push("thread-read"):r.push("thread-new"),t?r.push("thread-busy"):a&&r.push("thread-selected"),r.join(" ")}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.activeCategory,a=e.categories,n=(e.list,e.thread),o=e.isBusy,s=e.isSelected,c=e.showOptions,p=null;t.id!==n.category&&(p=a[n.category]);var h=p||t,v="thread-main col-xs-12";return v+=c?n.moderation.length?" col-sm-9 col-md-7":" col-sm-10 col-md-7":" col-sm-12 col-md-9",l["default"].createElement("li",{className:r(n.is_read,o,s,h)},l["default"].createElement(u.TopDetails,{category:p,thread:n}),l["default"].createElement("div",{className:"row thread-row"},l["default"].createElement("div",{className:v},l["default"].createElement("div",{className:"media"},l["default"].createElement("div",{className:"media-left hidden-xs"},l["default"].createElement(m["default"],{className:"thread-starter-avatar",title:n.starter_name,url:n.url.starter},l["default"].createElement(i["default"],{size:40,user:n.starter}))),l["default"].createElement("div",{className:"media-body"},l["default"].createElement("a",{href:n.url.index,className:"item-title thread-title"},n.title),l["default"].createElement(u.BottomDetails,{category:p,disabled:o,isSelected:s,showOptions:c,thread:n})))),l["default"].createElement("div",{className:"col-md-3 hidden-xs hidden-sm thread-last-action"},l["default"].createElement(d["default"],{thread:n})),l["default"].createElement(f.Options,{disabled:o,display:c,isSelected:s,thread:n})))},a.getClassName=r;var o=e("react"),l=n(o),s=e("../../avatar"),i=n(s),u=e("./details"),c=e("./last-action"),d=n(c),f=e("./options"),p=e("./user-url"),m=n(p)},{"../../avatar":3,"./details":234,"./last-action":236,"./options":237,"./user-url":244,react:"react"}],240:[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("./full"),d=n(c),f=e("./modal"),p=n(f),m=e("../../../../services/modal"),h=n(m),v=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.showOptions=function(){h["default"].show(u["default"].createElement(p["default"],{thread:n.props.thread}))},l=a,o(n,l)}return l(t,e),s(t,[{key:"render",value:function(){var e=this.props.thread.moderation,t="";return t+=e.length?"col-xs-6":"col-xs-12",t+=" hidden-md hidden-lg",u["default"].createElement("div",{className:t},u["default"].createElement("button",{type:"button",className:this.getClassName(),disabled:this.props.disabled,onClick:this.showOptions},u["default"].createElement("span",{className:"material-icon"},this.getIcon())))}}]),t}(d["default"]);a["default"]=v},{"../../../../services/modal":358,"./full":241,"./modal":242,react:"react"}],241:[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.moderation,a=e.subscription;if(t.length)return null;var n=gettext("Disabled");return a===!0?n=gettext("E-mail"):a===!1&&(n=gettext("Enabled")),c["default"].createElement("span",{className:"btn-text"},n)}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}}();a.Label=s;var u=e("react"),c=n(u),d=e("./options"),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:"getIcon",value:function(){return this.props.thread.subscription===!0?"star":this.props.thread.subscription===!1?"star_half":"star_border"}},{key:"getClassName",value:function(){return this.props.thread.subscription===!0?"btn btn-default btn-icon btn-block btn-subscribe btn-subscribe-full dropdown-toggle":this.props.thread.subscription===!1?"btn btn-default btn-icon btn-block btn-subscribe btn-subscribe-half dropdown-toggle":"btn btn-default btn-icon btn-block btn-subscribe dropdown-toggle"}},{key:"render",value:function(){var e=this.props.thread,t=e.moderation,a=e.subscription,n=!t.length,r=n?"col-xs-12":"col-xs-6";return r+=" hidden-xs hidden-sm",c["default"].createElement("div",{className:r},c["default"].createElement("div",{className:"btn-group btn-group-justified"},c["default"].createElement("div",{className:"btn-group"},c["default"].createElement("button",{type:"button",className:this.getClassName(),disabled:this.props.disabled,"data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},c["default"].createElement("span",{className:"material-icon"},this.getIcon()),c["default"].createElement(s,{moderation:t,subscription:a})),c["default"].createElement(f["default"],{className:"dropdown-menu dropdown-menu-right",thread:this.props.thread}))))}}]),t}(c["default"].Component);a["default"]=p},{"./options":243,react:"react"}],242:[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("./options"),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-dialog modal-sm",role:"document"},u["default"].createElement("div",{className:"modal-content"},u["default"].createElement("div",{className:"modal-header"},u["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},u["default"].createElement("span",{"aria-hidden":"true"},"×")),u["default"].createElement("h4",{className:"modal-title"},gettext("Change subscription"))),u["default"].createElement(d["default"],{className:"modal-menu",thread:this.props.thread})))}}]),t}(u["default"].Component);a["default"]=f},{"./options":243,react:"react"}],243:[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),e("../../../../reducers/threads")),f=e("../../../../services/ajax"),p=n(f),m=e("../../../../services/modal"),h=n(m),v=e("../../../../services/snackbar"),b=n(v),y=e("../../../../services/store"),g=n(y),_={unsubscribe:null,notify:!1,email:!0},E=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.setSubscription=function(e){h["default"].hide(),a.setState({isLoading:!0});var t=a.props.thread.subscription;g["default"].dispatch((0,d.patch)(a.props.thread,{subscription:_[e]})),p["default"].patch(a.props.thread.api.index,[{op:"replace",path:"subscription",value:e}]).then(function(){a.setState({isLoading:!1})},function(e){a.setState({isLoading:!1}),g["default"].dispatch((0,d.patch)(a.props.thread,{subscription:_[t]})),b["default"].apiError(e)})},a.unsubscribe=function(){a.setSubscription("unsubscribe")},a.notify=function(){a.setSubscription("notify")},a.email=function(){a.setSubscription("email")},a.state={isLoading:!1},a}return l(t,e),s(t,[{key:"render",value:function(){return u["default"].createElement("ul",{className:this.props.className},u["default"].createElement("li",null,u["default"].createElement("button",{className:"btn-link",onClick:this.unsubscribe},u["default"].createElement("span",{className:"material-icon"},"star_border"),gettext("Unsubscribe"))),u["default"].createElement("li",null,u["default"].createElement("button",{className:"btn-link",onClick:this.notify},u["default"].createElement("span",{className:"material-icon"},"star_half"),gettext("Subscribe"))),u["default"].createElement("li",null,u["default"].createElement("button",{className:"btn-link",onClick:this.email},u["default"].createElement("span",{className:"material-icon"},"star"),gettext("Subscribe with e-mail"))))}}]),t}(u["default"].Component);a["default"]=E},{"../../../../reducers/threads":348,"../../../../services/ajax":352,"../../../../services/modal":358,"../../../../services/snackbar":363,"../../../../services/store":364,"../../../button":5,react:"react"}],244:[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.className,n=e.title,r=e.url;return r?o["default"].createElement("a",{className:a,href:r,title:n},t):o["default"].createElement("span",{className:a,title:n},t)};var r=e("react"),o=n(r)},{react:"react"}],245:[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.Subcategory=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("react-router"),d=a.Subcategory=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:"getUrl",value:function(){return this.props.listPath?this.props.category.url.index+this.props.listPath:this.props.category.url.index}},{key:"render",value:function(){return u["default"].createElement("li",null,u["default"].createElement(c.Link,{to:this.getUrl(),className:"btn btn-link"},this.props.category.name))}}]),t}(u["default"].Component),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(){var e=this;return u["default"].createElement("div",{className:"dropdown category-picker"},u["default"].createElement("button",{type:"button",className:"btn btn-default btn-outline dropdown-toggle btn-block","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},u["default"].createElement("span",{className:"material-icon"},"label_outline"),u["default"].createElement("span",{className:"hidden-xs"},gettext("Category"))),u["default"].createElement("ul",{className:"dropdown-menu stick-to-bottom categories-menu"},this.props.choices.map(function(t){return e.props.categories[t]?u["default"].createElement(d,{category:e.props.categories[t],listPath:e.props.list.path,key:t}):null})))}}]),t}(u["default"].Component);a["default"]=f},{react:"react","react-router":"react-router"}],246:[function(e,t,a){"use strict";function n(e,t){return e.last_post>t.last_post?-1:e.last_post<t.last_post?1:0}function r(e,t){return 2===e.weight&&e.weight>t.weight?-1:2===t.weight&&e.weight<t.weight?1:n(e,t)}function o(e,t){return e.weight>t.weight?-1:e.weight<t.weight?1:n(e,t)}Object.defineProperty(a,"__esModule",{value:!0}),a.compareLastPostAge=n,a.compareGlobalWeight=r,a.compareWeight=o},{}],247:[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("../page-lead"),d=n(c),f=e("./toolbar"),p=n(f),m=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:"getCategoryDescription",value:function(){return this.props.pageLead?u["default"].createElement("div",{className:"category-description"},u["default"].createElement("div",{className:"page-lead"},u["default"].createElement("p",null,this.props.pageLead))):this.props.route.category.description?u["default"].createElement("div",{className:"category-description"},u["default"].createElement(d["default"],{copy:this.props.route.category.description.html})):null}},{key:"getDisableToolbar",value:function(){return!this.props.isLoaded||this.props.isBusy||this.props.busyThreads.length}},{key:"getToolbar",value:function(){var e=this.props.subcategories.length||this.props.user.id;return e?u["default"].createElement(p["default"],{subcategories:this.props.subcategories,categories:this.props.route.categories,categoriesMap:this.props.route.categoriesMap,list:this.props.route.list,threads:this.props.threads,moderation:this.props.moderation,selection:this.props.selection,selectAllThreads:this.props.selectAllThreads,selectNoneThreads:this.props.selectNoneThreads,addThreads:this.props.addThreads,freezeThread:this.props.freezeThread,deleteThread:this.props.deleteThread,updateThread:this.props.updateThread,api:this.props.api,route:this.props.route,disabled:this.getDisableToolbar(),user:this.props.user}):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"container"},this.getCategoryDescription(),this.getToolbar(),this.props.children)}}]),t}(u["default"].Component);a["default"]=m},{"../page-lead":85,"./toolbar":258,react:"react"}],248:[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.categories,a=e.category;if(!a)return null;var n=t[a];return c["default"].createElement(d.Link,{className:"go-back-sm visible-xs-block",to:n.url.index},c["default"].createElement("span",{className:"material-icon"},"chevron_left"),n.parent?n.name:gettext("Threads"))}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}}();a.ParentCategory=s;var u=e("react"),c=n(u),d=e("react-router"),f=e("../button"),p=n(f),m=e("../dropdown-toggle"),h=(n(m),e("./nav")),v=n(h),b=e("../../reducers/threads"),y=e("../../services/ajax"),g=n(y),_=e("../../services/posting"),E=n(_),w=e("../../services/snackbar"),O=n(w),k=e("../../services/store"),N=n(k),x=e("../.."),j=n(x),P=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.markAsRead=function(){var e=gettext("Are you sure you want to mark those threads as read? This action is not reversible.");a.props.route.category.parent&&(e=gettext("Are you sure you want to mark threads in this category as read? This action is not reversible."));var t=confirm(e);return!!t&&(a.setState({isBusy:!0}),void g["default"].post(a.props.route.category.api.read).then(function(){N["default"].dispatch((0,b.read)(a.props.route.categoriesMap,a.props.route.category)),a.setState({isBusy:!1}),O["default"].success(gettext("Threads have been marked as read."))},function(e){a.setState({isBusy:!1}),O["default"].apiError(e)}))},a.startThread=function(){E["default"].open(a.props.startThread||{mode:"START",config:j["default"].get("THREAD_EDITOR_API"),submit:j["default"].get("THREADS_API"),category:a.props.route.category.id})},a.state={isBusy:!1},a}return l(t,e),i(t,[{key:"hasGoBackButton",value:function(){return!!this.props.route.category.parent}},{key:"getGoBackButton",value:function(){if(!this.props.route.category.parent)return null;var e=this.props.categories[this.props.route.category.parent];return c["default"].createElement("div",{className:"hidden-xs col-sm-2 col-lg-1"},c["default"].createElement(d.Link,{className:"btn btn-default btn-icon btn-aligned btn-go-back btn-block btn-outline",to:e.url.index+this.props.route.list.path},c["default"].createElement("span",{className:"material-icon"},"keyboard_arrow_left")))}},{key:"getStartThreadButton",value:function(){return this.props.user.id?c["default"].createElement("div",{className:"col-xs-6"},c["default"].createElement(p["default"],{className:"btn-primary btn-block btn-outline",onClick:this.startThread,disabled:this.props.disabled},c["default"].createElement("span",{className:"material-icon"},"chat"),gettext("Start thread"))):null}},{key:"getMarkAsReadButton",value:function(){return this.props.user.id?c["default"].createElement("div",{className:"col-xs-6"},c["default"].createElement(p["default"],{className:"btn-default btn-block btn-outline",onClick:this.markAsRead,loading:this.state.isBusy,disabled:this.props.disabled},c["default"].createElement("span",{className:"material-icon"},"playlist_add_check"),gettext("Mark as read"))):null}},{key:"render",value:function(){var e="col-xs-12";this.hasGoBackButton()&&(e+=" col-sm-10 col-lg-11 sm-align-row-buttons");var t=!!this.props.user.id;return c["default"].createElement("div",{className:"page-header-bg"},c["default"].createElement("div",{className:"page-header"},c["default"].createElement("div",{className:"container"},c["default"].createElement("div",{className:"row"},c["default"].createElement("div",{className:t?"col-sm-6 col-md-8":"col-xs-12"},c["default"].createElement("div",{className:"row"},this.getGoBackButton(),c["default"].createElement("div",{className:e},c["default"].createElement(s,{categories:this.props.categories,category:this.props.route.category.parent}),c["default"].createElement("h1",null,this.props.title)))),t&&c["default"].createElement("div",{className:"col-sm-6 col-md-4 xs-margin-top"},c["default"].createElement("div",{className:"row"},this.getMarkAsReadButton(),this.getStartThreadButton())))),c["default"].createElement(v["default"],{baseUrl:this.props.route.category.url.index,list:this.props.route.list,lists:this.props.route.lists})))}}]),t}(c["default"].Component);a["default"]=P},{"../..":291,"../../reducers/threads":348,"../../services/ajax":352,"../../services/posting":362,"../../services/snackbar":363,"../../services/store":364,"../button":5,"../dropdown-toggle":24,"./nav":255,react:"react","react-router":"react-router"}],249:[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:"render",value:function(){return"all"===this.props.list.type?this.props.emptyMessage?u["default"].createElement("li",{className:"list-group-item empty-message"},u["default"].createElement("p",{className:"lead"},this.props.emptyMessage),u["default"].createElement("p",null,gettext("Why not start one yourself?"))):u["default"].createElement("li",{className:"list-group-item empty-message"},u["default"].createElement("p",{className:"lead"},this.props.category.special_role?gettext("There are no threads on this forum... yet!"):gettext("There are no threads in this category.")),u["default"].createElement("p",null,gettext("Why not start one yourself?"))):u["default"].createElement("li",{className:"list-group-item empty-message"},gettext("No threads matching specified criteria were found."))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],250:[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("./errors-list"),f=r(d),p=e("./merge"),m=r(p),h=e("./move"),v=r(h),b=e("../../../reducers/selection"),y=(n(b),e("../../../services/ajax")),g=r(y),_=e("../../../services/modal"),E=r(_),w=e("../../../services/snackbar"),O=r(w),k=e("../../../services/store"),N=(r(k),e("../../../utils/countdown")),x=(r(N),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.callApi=function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;n.props.threads.forEach(function(e){n.props.freezeThread(e.id)});var r=n.props.threads.map(function(e){return e.id});e.push({op:"add",path:"acl",value:!0}),g["default"].patch(n.props.api,{ids:r,ops:e}).then(function(e){n.props.threads.forEach(function(e){n.props.freezeThread(e.id)}),e.forEach(function(e){n.props.updateThread(e)}),O["default"].success(t),a&&a()},function(e){if(n.props.threads.forEach(function(e){n.props.freezeThread(e.id)}),400!==e.status)return O["default"].apiError(e);var t=[],a={};n.props.threads.forEach(function(e){a[e.id]=e}),e.forEach(function(e){var n=e.id,r=e.detail;"undefined"!=typeof a[n]&&t.push({errors:r,thread:a[n]})}),E["default"].show(c["default"].createElement(f["default"],{errors:t}))})},n.pinGlobally=function(){n.callApi([{op:"replace",path:"weight",value:2}],gettext("Selected threads were pinned globally."))},n.pinLocally=function(){n.callApi([{op:"replace",path:"weight",value:1}],gettext("Selected threads were pinned locally."))},n.unpin=function(){n.callApi([{op:"replace",path:"weight",value:0}],gettext("Selected threads were unpinned."))},n.approve=function(){n.callApi([{op:"replace",path:"is-unapproved",value:!1}],gettext("Selected threads were approved."))},n.open=function(){n.callApi([{op:"replace",path:"is-closed",value:!1}],gettext("Selected threads were opened."))},n.close=function(){n.callApi([{op:"replace",path:"is-closed",value:!0}],gettext("Selected threads were closed."))},n.unhide=function(){n.callApi([{op:"replace",path:"is-hidden",value:!1}],gettext("Selected threads were unhidden."))},n.hide=function(){n.callApi([{op:"replace",path:"is-hidden",value:!0}],gettext("Selected threads were hidden."))},n.move=function(){E["default"].show(c["default"].createElement(v["default"],{callApi:n.callApi,categories:n.props.categories,categoriesMap:n.props.categoriesMap,route:n.props.route,user:n.props.user}))},n.merge=function(){var e=[];if(n.props.threads.forEach(function(t){t.acl.can_merge||e.append({id:t.id,title:t.title,errors:[gettext("You don't have permission to merge this thread with others.")]})}),n.props.threads.length<2)O["default"].info(gettext("You have to select at least two threads to merge."));else{if(e.length)return void E["default"].show(c["default"].createElement(f["default"],{errors:e}));E["default"].show(c["default"].createElement(m["default"],n.props))}},n["delete"]=function(){if(confirm(gettext("Are you sure you want to delete selected threads?"))){n.props.threads.map(function(e){n.props.freezeThread(e.id)});var e=n.props.threads.map(function(e){return e.id});g["default"]["delete"](n.props.api,e).then(function(){n.props.threads.map(function(e){n.props.freezeThread(e.id),n.props.deleteThread(e)}),O["default"].success(gettext("Selected threads were deleted."))},function(e){400===e.status?!function(){var t=e.map(function(e){return e.id});n.props.threads.map(function(e){n.props.freezeThread(e.id),t.indexOf(e.id)===-1&&n.props.deleteThread(e)}),E["default"].show(c["default"].createElement(f["default"],{errors:e}))}():O["default"].apiError(e)})}},r=a,l(n,r)}return s(t,e),i(t,[{key:"getPinGloballyButton",value:function(){return this.props.moderation.can_pin_globally?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.pinGlobally,type:"button"},c["default"].createElement("span",{className:"material-icon"},"bookmark"),gettext("Pin threads globally"))):null}},{key:"getPinLocallyButton",value:function(){return this.props.moderation.can_pin?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.pinLocally,type:"button"},c["default"].createElement("span",{className:"material-icon"},"bookmark_border"),gettext("Pin threads locally"))):null}},{key:"getUnpinButton",value:function(){return this.props.moderation.can_pin?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.unpin,type:"button"},c["default"].createElement("span",{className:"material-icon"},"panorama_fish_eye"),gettext("Unpin threads"))):null}},{key:"getMoveButton",value:function(){return this.props.moderation.can_move?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.move,type:"button"},c["default"].createElement("span",{className:"material-icon"},"arrow_forward"),gettext("Move threads"))):null}},{key:"getMergeButton",value:function(){return this.props.moderation.can_merge?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.merge,type:"button"},c["default"].createElement("span",{className:"material-icon"},"call_merge"),gettext("Merge threads"))):null}},{key:"getApproveButton",value:function(){return this.props.moderation.can_approve?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.approve,type:"button"},c["default"].createElement("span",{className:"material-icon"},"done"),gettext("Approve threads"))):null}},{key:"getOpenButton",value:function(){return this.props.moderation.can_close?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.open,type:"button"},c["default"].createElement("span",{className:"material-icon"},"lock_open"),gettext("Open threads"))):null}},{key:"getCloseButton",value:function(){return this.props.moderation.can_close?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.close,type:"button"},c["default"].createElement("span",{className:"material-icon"},"lock_outline"),gettext("Close threads"))):null}},{key:"getUnhideButton",value:function(){return this.props.moderation.can_unhide?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.unhide,type:"button"},c["default"].createElement("span",{className:"material-icon"},"visibility"),gettext("Unhide threads"))):null}},{key:"getHideButton",value:function(){return this.props.moderation.can_hide?c["default"].createElement("li",null,c["default"].createElement("button",{onClick:this.hide,type:"button",className:"btn btn-link"},c["default"].createElement("span",{className:"material-icon"},"visibility_off"),gettext("Hide threads"))):null}},{key:"getDeleteButton",value:function(){return this.props.moderation.can_delete?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this["delete"],type:"button"},c["default"].createElement("span",{className:"material-icon"},"clear"),gettext("Delete threads"))):null}},{key:"render",value:function(){return c["default"].createElement("ul",{className:this.props.className},this.getPinGloballyButton(),this.getPinLocallyButton(),this.getUnpinButton(),this.getMoveButton(),this.getMergeButton(),this.getApproveButton(),this.getOpenButton(),this.getCloseButton(),this.getUnhideButton(),this.getHideButton(),this.getDeleteButton())}}]),t}(c["default"].Component));a["default"]=x},{"../../../reducers/selection":345,"../../../services/ajax":352,"../../../services/modal":358,"../../../services/snackbar":363,"../../../services/store":364,"../../../utils/countdown":369,"./errors-list":251,"./merge":252,"./move":253,react:"react"}],251:[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.errors,a=e.thread;return c["default"].createElement("li",null,c["default"].createElement("h5",null,a.title),t.map(function(e,t){return c["default"].createElement("p",null,e)}))}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}}();a.ThreadErrors=s;var u=e("react"),c=n(u),d=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:"render",value:function(){return c["default"].createElement("div",{className:"modal-dialog",role:"document"},c["default"].createElement("div",{className:"modal-content"},c["default"].createElement("div",{className:"modal-header"},c["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},c["default"].createElement("span",{"aria-hidden":"true"},"×")),c["default"].createElement("h4",{className:"modal-title"},gettext("Threads moderation"))),c["default"].createElement("div",{className:"modal-body"},c["default"].createElement("p",{className:"lead"},gettext("One or more threads could not be deleted:")),c["default"].createElement("ul",{className:"list-unstyled list-errored-items"},this.props.errors.map(function(e){return c["default"].createElement(s,{errors:e.errors,key:e.thread.id,thread:e.thread})})))))}}]),t}(c["default"].Component);a["default"]=d},{react:"react"}],252:[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"),v=r(h),b=e("../../category-select"),y=r(b),g=e("../../select"),_=r(g),E=e("../../../index"),w=r(E),O=e("../../../reducers/threads"),k=e("../../../reducers/selection"),N=n(k),x=e("./errors-list"),j=r(x),P=e("../../merge-polls"),C=r(P),M=e("../../../services/ajax"),S=r(M),T=e("../../../services/modal"),L=r(T),R=e("../../../services/snackbar"),A=r(R),I=e("../../../services/store"),D=r(I),U=e("../../../utils/validators"),B=n(U),H=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));a.getFormdata=function(){return{threads:a.props.threads.map(function(e){return e.id}),title:a.state.title,category:a.state.category,weight:a.state.weight,is_hidden:a.state.is_hidden,is_closed:a.state.is_closed}},a.handleSuccess=function(e){a.props.threads.forEach(function(e){a.props.freezeThread(e.id),a.props.deleteThread(e)}),D["default"].dispatch(N.none()),a.props.addThreads([e]),D["default"].dispatch((0,O.filterThreads)(a.props.route.category,a.props.categoriesMap)),L["default"].hide()},a.handleError=function(e){400===e.status?e.polls?L["default"].show(c["default"].createElement(C["default"],{api:w["default"].get("MERGE_THREADS_API"),data:a.getFormdata(),polls:e.polls,onError:a.handleError,onSuccess:a.handleSuccess})):(a.setState({errors:Object.assign({},a.state.errors,e)}),A["default"].error(gettext("Form contains errors."))):403===e.status&&Array.isArray(e)?L["default"].show(c["default"].createElement(j["default"],{errors:e})):A["default"].apiError(e)},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,weight:0,is_hidden:0,is_closed:!1,validators:{title:[B.required()]},errors:{}},a.acl={};for(var n in e.user.acl.categories)if(e.user.acl.categories.hasOwnProperty(n)){var r=e.user.acl.categories[n];a.acl[r.id]=r}return a.categoryChoices=[],e.categories.forEach(function(e){if(e.level>0){var t=a.acl[e.id],n=!t.can_start_threads||e.is_closed&&!t.can_close_threads;a.categoryChoices.push({value:e.id,disabled:n,level:e.level-1,label:e.name}),n||a.state.category||(a.state.category=e.id)}}),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}return s(t,e),i(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(w["default"].get("MERGE_THREADS_API"),this.getFormdata())}},{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?c["default"].createElement(v["default"],{label:gettext("Thread weight"),"for":"id_weight"},c["default"].createElement(_["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?c["default"].createElement(v["default"],{label:gettext("Hide thread"),"for":"id_is_hidden"},c["default"].createElement(_["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?c["default"].createElement(v["default"],{label:gettext("Close thread"),"for":"id_is_closed"},c["default"].createElement(_["default"],{id:"id_is_closed",onChange:this.bindInput("is_closed"),value:this.state.is_closed,choices:this.isClosedChoices})):null}},{key:"renderForm",value:function(){return c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"modal-body"},c["default"].createElement(v["default"],{label:gettext("Thread title"),"for":"id_title",validation:this.state.errors.title},c["default"].createElement("input",{id:"id_title",className:"form-control",type:"text",onChange:this.bindInput("title"),value:this.state.title})),c["default"].createElement("div",{className:"clearfix"}),c["default"].createElement(v["default"],{label:gettext("Category"),"for":"id_category",validation:this.state.errors.category},c["default"].createElement(y["default"],{id:"id_category",onChange:this.onCategoryChange,value:this.state.category,choices:this.categoryChoices})),c["default"].createElement("div",{className:"clearfix"}),this.renderWeightField(),this.renderHiddenField(),this.renderClosedField()),c["default"].createElement("div",{className:"modal-footer"},c["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},gettext("Cancel")),c["default"].createElement(f["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Merge threads"))))}},{key:"renderCantMergeMessage",value:function(){return c["default"].createElement("div",{className:"modal-body"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"info_outline")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",{className:"lead"},gettext("You can't move threads because there are no categories you are allowed to move them to.")),c["default"].createElement("p",null,gettext("You need permission to start threads in category to be able to merge threads to it.")),c["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},gettext("Ok"))))}},{key:"getClassName",value:function(){return this.state.category?"modal-dialog":"modal-dialog modal-message"}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName(),role:"document"},c["default"].createElement("div",{className:"modal-content"},c["default"].createElement("div",{className:"modal-header"},c["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},c["default"].createElement("span",{"aria-hidden":"true"},"×")),c["default"].createElement("h4",{className:"modal-title"},gettext("Merge threads"))),this.state.category?this.renderForm():this.renderCantMergeMessage()))}}]),t}(m["default"]);a["default"]=H},{"../../../index":291,"../../../reducers/selection":345,"../../../reducers/threads":348,"../../../services/ajax":352,"../../../services/modal":358,"../../../services/snackbar":363,"../../../services/store":364,"../../../utils/validators":380,"../../button":5,"../../category-select":18,"../../form":52,"../../form-group":51,"../../merge-polls":55,"../../select":203,"./errors-list":251,react:"react"}],253:[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("../../form"),f=r(d),p=e("../../form-group"),m=r(p),h=e("../../category-select"),v=r(h),b=e("../../../reducers/selection"),y=n(b),g=e("../../../reducers/threads"),_=e("../../../services/modal"),E=r(_),w=e("../../../services/store"),O=r(w),k=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));a.handleSubmit=function(e){e.preventDefault(),E["default"].hide();var t=function(){O["default"].dispatch((0,g.filterThreads)(a.props.route.category,a.props.categoriesMap));var e=O["default"].getState(),t=e.threads.map(function(e){return e.id});O["default"].dispatch(y.all(e.selection.filter(function(e){return t.indexOf(e)!==-1})))};a.props.callApi([{op:"replace",path:"category",value:a.state.category},{op:"replace",path:"flatten-categories",value:null},{op:"add",path:"acl",value:!0}],gettext("Selected threads were moved."),t)},a.state={category:null};var n={};for(var r in e.user.acl.categories)if(e.user.acl.categories.hasOwnProperty(r)){var s=e.user.acl.categories[r];n[s.id]=s}return a.categoryChoices=[],e.categories.forEach(function(e){if(e.level>0){var t=n[e.id],r=!t.can_start_threads||e.is_closed&&!t.can_close_threads;
|
|
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("../page-lead"),d=n(c),f=e("./toolbar"),p=n(f),m=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:"getCategoryDescription",value:function(){return this.props.pageLead?u["default"].createElement("div",{className:"category-description"},u["default"].createElement("div",{className:"page-lead"},u["default"].createElement("p",null,this.props.pageLead))):this.props.route.category.description?u["default"].createElement("div",{className:"category-description"},u["default"].createElement(d["default"],{copy:this.props.route.category.description.html})):null}},{key:"getDisableToolbar",value:function(){return!this.props.isLoaded||this.props.isBusy||this.props.busyThreads.length}},{key:"getToolbar",value:function(){var e=this.props.subcategories.length||this.props.user.id;return e?u["default"].createElement(p["default"],{subcategories:this.props.subcategories,categories:this.props.route.categories,categoriesMap:this.props.route.categoriesMap,list:this.props.route.list,threads:this.props.threads,moderation:this.props.moderation,selection:this.props.selection,selectAllThreads:this.props.selectAllThreads,selectNoneThreads:this.props.selectNoneThreads,addThreads:this.props.addThreads,freezeThread:this.props.freezeThread,deleteThread:this.props.deleteThread,updateThread:this.props.updateThread,api:this.props.api,route:this.props.route,disabled:this.getDisableToolbar(),user:this.props.user}):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"container"},this.getCategoryDescription(),this.getToolbar(),this.props.children)}}]),t}(u["default"].Component);a["default"]=m},{"../page-lead":85,"./toolbar":258,react:"react"}],248:[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.categories,a=e.category;if(!a)return null;var n=t[a];return c["default"].createElement(d.Link,{className:"go-back-sm visible-xs-block",to:n.url.index},c["default"].createElement("span",{className:"material-icon"},"chevron_left"),n.parent?n.name:gettext("Threads"))}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}}();a.ParentCategory=s;var u=e("react"),c=n(u),d=e("react-router"),f=e("../button"),p=n(f),m=e("../dropdown-toggle"),h=(n(m),e("./nav")),v=n(h),b=e("../../reducers/threads"),y=e("../../services/ajax"),g=n(y),_=e("../../services/posting"),E=n(_),w=e("../../services/snackbar"),O=n(w),k=e("../../services/store"),N=n(k),x=e("../.."),j=n(x),P=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.markAsRead=function(){var e=gettext("Are you sure you want to mark those threads as read? This action is not reversible.");a.props.route.category.parent&&(e=gettext("Are you sure you want to mark threads in this category as read? This action is not reversible."));var t=confirm(e);return!!t&&(a.setState({isBusy:!0}),void g["default"].post(a.props.route.category.api.read).then(function(){N["default"].dispatch((0,b.read)(a.props.route.categoriesMap,a.props.route.category)),a.setState({isBusy:!1}),O["default"].success(gettext("Threads have been marked as read."))},function(e){a.setState({isBusy:!1}),O["default"].apiError(e)}))},a.startThread=function(){E["default"].open(a.props.startThread||{mode:"START",config:j["default"].get("THREAD_EDITOR_API"),submit:j["default"].get("THREADS_API"),category:a.props.route.category.id})},a.state={isBusy:!1},a}return l(t,e),i(t,[{key:"hasGoBackButton",value:function(){return!!this.props.route.category.parent}},{key:"getGoBackButton",value:function(){if(!this.props.route.category.parent)return null;var e=this.props.categories[this.props.route.category.parent];return c["default"].createElement("div",{className:"hidden-xs col-sm-2 col-lg-1"},c["default"].createElement(d.Link,{className:"btn btn-default btn-icon btn-aligned btn-go-back btn-block btn-outline",to:e.url.index+this.props.route.list.path},c["default"].createElement("span",{className:"material-icon"},"keyboard_arrow_left")))}},{key:"getStartThreadButton",value:function(){return this.props.user.id?c["default"].createElement("div",{className:"col-xs-6"},c["default"].createElement(p["default"],{className:"btn-primary btn-block btn-outline",onClick:this.startThread,disabled:this.props.disabled},c["default"].createElement("span",{className:"material-icon"},"chat"),gettext("Start thread"))):null}},{key:"getMarkAsReadButton",value:function(){return this.props.user.id?c["default"].createElement("div",{className:"col-xs-6"},c["default"].createElement(p["default"],{className:"btn-default btn-block btn-outline",onClick:this.markAsRead,loading:this.state.isBusy,disabled:this.props.disabled},c["default"].createElement("span",{className:"material-icon"},"playlist_add_check"),gettext("Mark as read"))):null}},{key:"render",value:function(){var e="col-xs-12";this.hasGoBackButton()&&(e+=" col-sm-10 col-lg-11 sm-align-row-buttons");var t=!!this.props.user.id;return c["default"].createElement("div",{className:"page-header-bg"},c["default"].createElement("div",{className:"page-header"},c["default"].createElement("div",{className:"container"},c["default"].createElement("div",{className:"row"},c["default"].createElement("div",{className:t?"col-sm-6 col-md-8":"col-xs-12"},c["default"].createElement("div",{className:"row"},this.getGoBackButton(),c["default"].createElement("div",{className:e},c["default"].createElement(s,{categories:this.props.categories,category:this.props.route.category.parent}),c["default"].createElement("h1",null,this.props.title)))),t&&c["default"].createElement("div",{className:"col-sm-6 col-md-4 xs-margin-top"},c["default"].createElement("div",{className:"row"},this.getMarkAsReadButton(),this.getStartThreadButton())))),c["default"].createElement(v["default"],{baseUrl:this.props.route.category.url.index,list:this.props.route.list,lists:this.props.route.lists})))}}]),t}(c["default"].Component);a["default"]=P},{"../..":291,"../../reducers/threads":348,"../../services/ajax":352,"../../services/posting":362,"../../services/snackbar":363,"../../services/store":364,"../button":5,"../dropdown-toggle":24,"./nav":255,react:"react","react-router":"react-router"}],249:[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:"render",value:function(){return"all"===this.props.list.type?this.props.emptyMessage?u["default"].createElement("li",{className:"list-group-item empty-message"},u["default"].createElement("p",{className:"lead"},this.props.emptyMessage),u["default"].createElement("p",null,gettext("Why not start one yourself?"))):u["default"].createElement("li",{className:"list-group-item empty-message"},u["default"].createElement("p",{className:"lead"},this.props.category.special_role?gettext("There are no threads on this forum... yet!"):gettext("There are no threads in this category.")),u["default"].createElement("p",null,gettext("Why not start one yourself?"))):u["default"].createElement("li",{className:"list-group-item empty-message"},gettext("No threads matching specified criteria were found."))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],250:[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("./errors-list"),f=r(d),p=e("./merge"),m=r(p),h=e("./move"),v=r(h),b=e("../../../reducers/selection"),y=(n(b),e("../../../services/ajax")),g=r(y),_=e("../../../services/modal"),E=r(_),w=e("../../../services/snackbar"),O=r(w),k=e("../../../services/store"),N=(r(k),e("../../../utils/countdown")),x=(r(N),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.callApi=function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;n.props.threads.forEach(function(e){n.props.freezeThread(e.id)});var r=n.props.threads.map(function(e){return e.id});e.push({op:"add",path:"acl",value:!0}),g["default"].patch(n.props.api,{ids:r,ops:e}).then(function(e){n.props.threads.forEach(function(e){n.props.freezeThread(e.id)}),e.forEach(function(e){n.props.updateThread(e)}),O["default"].success(t),a&&a()},function(e){if(n.props.threads.forEach(function(e){n.props.freezeThread(e.id)}),400!==e.status)return O["default"].apiError(e);var t=[],a={};n.props.threads.forEach(function(e){a[e.id]=e}),e.forEach(function(e){var n=e.id,r=e.detail;"undefined"!=typeof a[n]&&t.push({errors:r,thread:a[n]})}),E["default"].show(c["default"].createElement(f["default"],{errors:t}))})},n.pinGlobally=function(){n.callApi([{op:"replace",path:"weight",value:2}],gettext("Selected threads were pinned globally."))},n.pinLocally=function(){n.callApi([{op:"replace",path:"weight",value:1}],gettext("Selected threads were pinned locally."))},n.unpin=function(){n.callApi([{op:"replace",path:"weight",value:0}],gettext("Selected threads were unpinned."))},n.approve=function(){n.callApi([{op:"replace",path:"is-unapproved",value:!1}],gettext("Selected threads were approved."))},n.open=function(){n.callApi([{op:"replace",path:"is-closed",value:!1}],gettext("Selected threads were opened."))},n.close=function(){n.callApi([{op:"replace",path:"is-closed",value:!0}],gettext("Selected threads were closed."))},n.unhide=function(){n.callApi([{op:"replace",path:"is-hidden",value:!1}],gettext("Selected threads were unhidden."))},n.hide=function(){n.callApi([{op:"replace",path:"is-hidden",value:!0}],gettext("Selected threads were hidden."))},n.move=function(){E["default"].show(c["default"].createElement(v["default"],{callApi:n.callApi,categories:n.props.categories,categoriesMap:n.props.categoriesMap,route:n.props.route,user:n.props.user}))},n.merge=function(){var e=[];if(n.props.threads.forEach(function(t){t.acl.can_merge||e.append({id:t.id,title:t.title,errors:[gettext("You don't have permission to merge this thread with others.")]})}),n.props.threads.length<2)O["default"].info(gettext("You have to select at least two threads to merge."));else{if(e.length)return void E["default"].show(c["default"].createElement(f["default"],{errors:e}));E["default"].show(c["default"].createElement(m["default"],n.props))}},n["delete"]=function(){if(confirm(gettext("Are you sure you want to delete selected threads?"))){n.props.threads.map(function(e){n.props.freezeThread(e.id)});var e=n.props.threads.map(function(e){return e.id});g["default"]["delete"](n.props.api,e).then(function(){n.props.threads.map(function(e){n.props.freezeThread(e.id),n.props.deleteThread(e)}),O["default"].success(gettext("Selected threads were deleted."))},function(e){400===e.status?!function(){var t=e.map(function(e){return e.id});n.props.threads.map(function(e){n.props.freezeThread(e.id),t.indexOf(e.id)===-1&&n.props.deleteThread(e)}),E["default"].show(c["default"].createElement(f["default"],{errors:e}))}():O["default"].apiError(e)})}},r=a,l(n,r)}return s(t,e),i(t,[{key:"getPinGloballyButton",value:function(){return this.props.moderation.can_pin_globally?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.pinGlobally,type:"button"},c["default"].createElement("span",{className:"material-icon"},"bookmark"),gettext("Pin threads globally"))):null}},{key:"getPinLocallyButton",value:function(){return this.props.moderation.can_pin?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.pinLocally,type:"button"},c["default"].createElement("span",{className:"material-icon"},"bookmark_border"),gettext("Pin threads locally"))):null}},{key:"getUnpinButton",value:function(){return this.props.moderation.can_pin?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.unpin,type:"button"},c["default"].createElement("span",{className:"material-icon"},"panorama_fish_eye"),gettext("Unpin threads"))):null}},{key:"getMoveButton",value:function(){return this.props.moderation.can_move?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.move,type:"button"},c["default"].createElement("span",{className:"material-icon"},"arrow_forward"),gettext("Move threads"))):null}},{key:"getMergeButton",value:function(){return this.props.moderation.can_merge?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.merge,type:"button"},c["default"].createElement("span",{className:"material-icon"},"call_merge"),gettext("Merge threads"))):null}},{key:"getApproveButton",value:function(){return this.props.moderation.can_approve?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.approve,type:"button"},c["default"].createElement("span",{className:"material-icon"},"done"),gettext("Approve threads"))):null}},{key:"getOpenButton",value:function(){return this.props.moderation.can_close?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.open,type:"button"},c["default"].createElement("span",{className:"material-icon"},"lock_open"),gettext("Open threads"))):null}},{key:"getCloseButton",value:function(){return this.props.moderation.can_close?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.close,type:"button"},c["default"].createElement("span",{className:"material-icon"},"lock_outline"),gettext("Close threads"))):null}},{key:"getUnhideButton",value:function(){return this.props.moderation.can_unhide?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.unhide,type:"button"},c["default"].createElement("span",{className:"material-icon"},"visibility"),gettext("Unhide threads"))):null}},{key:"getHideButton",value:function(){return this.props.moderation.can_hide?c["default"].createElement("li",null,c["default"].createElement("button",{onClick:this.hide,type:"button",className:"btn btn-link"},c["default"].createElement("span",{className:"material-icon"},"visibility_off"),gettext("Hide threads"))):null}},{key:"getDeleteButton",value:function(){return this.props.moderation.can_delete?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this["delete"],type:"button"},c["default"].createElement("span",{className:"material-icon"},"clear"),gettext("Delete threads"))):null}},{key:"render",value:function(){return c["default"].createElement("ul",{className:this.props.className},this.getPinGloballyButton(),this.getPinLocallyButton(),this.getUnpinButton(),this.getMoveButton(),this.getMergeButton(),this.getApproveButton(),this.getOpenButton(),this.getCloseButton(),this.getUnhideButton(),this.getHideButton(),this.getDeleteButton())}}]),t}(c["default"].Component));a["default"]=x},{"../../../reducers/selection":345,"../../../services/ajax":352,"../../../services/modal":358,"../../../services/snackbar":363,"../../../services/store":364,"../../../utils/countdown":369,"./errors-list":251,"./merge":252,"./move":253,react:"react"}],251:[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.errors,a=e.thread;return c["default"].createElement("li",null,c["default"].createElement("h5",null,a.title),t.map(function(e,t){return c["default"].createElement("p",null,e)}))}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}}();a.ThreadErrors=s;var u=e("react"),c=n(u),d=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:"render",value:function(){return c["default"].createElement("div",{className:"modal-dialog",role:"document"},c["default"].createElement("div",{className:"modal-content"},c["default"].createElement("div",{className:"modal-header"},c["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},c["default"].createElement("span",{"aria-hidden":"true"},"×")),c["default"].createElement("h4",{className:"modal-title"},gettext("Threads moderation"))),c["default"].createElement("div",{className:"modal-body"},c["default"].createElement("p",{className:"lead"},gettext("One or more threads could not be deleted:")),c["default"].createElement("ul",{className:"list-unstyled list-errored-items"},this.props.errors.map(function(e){return c["default"].createElement(s,{errors:e.errors,key:e.thread.id,thread:e.thread})})))))}}]),t}(c["default"].Component);a["default"]=d},{react:"react"}],252:[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"),v=r(h),b=e("../../category-select"),y=r(b),g=e("../../select"),_=r(g),E=e("../../../index"),w=r(E),O=e("../../../reducers/threads"),k=e("../../../reducers/selection"),N=n(k),x=e("./errors-list"),j=r(x),P=e("../../merge-polls"),C=r(P),M=e("../../../services/ajax"),S=r(M),T=e("../../../services/modal"),L=r(T),R=e("../../../services/snackbar"),A=r(R),I=e("../../../services/store"),D=r(I),U=e("../../../utils/validators"),B=n(U),H=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));a.getFormdata=function(){return{threads:a.props.threads.map(function(e){return e.id}),title:a.state.title,category:a.state.category,weight:a.state.weight,is_hidden:a.state.is_hidden,is_closed:a.state.is_closed}},a.handleSuccess=function(e){a.props.threads.forEach(function(e){a.props.freezeThread(e.id),a.props.deleteThread(e)}),D["default"].dispatch(N.none()),a.props.addThreads([e]),D["default"].dispatch((0,O.filterThreads)(a.props.route.category,a.props.categoriesMap)),L["default"].hide()},a.handleError=function(e){400===e.status?e.polls?L["default"].show(c["default"].createElement(C["default"],{api:w["default"].get("MERGE_THREADS_API"),data:a.getFormdata(),polls:e.polls,onError:a.handleError,onSuccess:a.handleSuccess})):(a.setState({errors:Object.assign({},a.state.errors,e)}),A["default"].error(gettext("Form contains errors."))):403===e.status&&Array.isArray(e)?L["default"].show(c["default"].createElement(j["default"],{errors:e})):A["default"].apiError(e)},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,weight:0,is_hidden:0,is_closed:!1,validators:{title:[B.required()]},errors:{}},a.acl={};for(var n in e.user.acl.categories)if(e.user.acl.categories.hasOwnProperty(n)){var r=e.user.acl.categories[n];a.acl[r.id]=r}return a.categoryChoices=[],e.categories.forEach(function(e){if(e.level>0){var t=a.acl[e.id],n=!t.can_start_threads||e.is_closed&&!t.can_close_threads;a.categoryChoices.push({value:e.id,disabled:n,level:e.level-1,label:e.name}),n||a.state.category||(a.state.category=e.id)}}),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}return s(t,e),i(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(w["default"].get("MERGE_THREADS_API"),this.getFormdata())}},{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?c["default"].createElement(v["default"],{label:gettext("Thread weight"),"for":"id_weight"},c["default"].createElement(_["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?c["default"].createElement(v["default"],{label:gettext("Hide thread"),"for":"id_is_hidden"},c["default"].createElement(_["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?c["default"].createElement(v["default"],{label:gettext("Close thread"),"for":"id_is_closed"},c["default"].createElement(_["default"],{id:"id_is_closed",onChange:this.bindInput("is_closed"),value:this.state.is_closed,choices:this.isClosedChoices})):null}},{key:"renderForm",value:function(){return c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"modal-body"},c["default"].createElement(v["default"],{label:gettext("Thread title"),"for":"id_title",validation:this.state.errors.title},c["default"].createElement("input",{id:"id_title",className:"form-control",type:"text",onChange:this.bindInput("title"),value:this.state.title})),c["default"].createElement("div",{className:"clearfix"}),c["default"].createElement(v["default"],{label:gettext("Category"),"for":"id_category",validation:this.state.errors.category},c["default"].createElement(y["default"],{id:"id_category",onChange:this.onCategoryChange,value:this.state.category,choices:this.categoryChoices})),c["default"].createElement("div",{className:"clearfix"}),this.renderWeightField(),this.renderHiddenField(),this.renderClosedField()),c["default"].createElement("div",{className:"modal-footer"},c["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},gettext("Cancel")),c["default"].createElement(f["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Merge threads"))))}},{key:"renderCantMergeMessage",value:function(){return c["default"].createElement("div",{className:"modal-body"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"info_outline")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",{className:"lead"},gettext("You can't move threads because there are no categories you are allowed to move them to.")),c["default"].createElement("p",null,gettext("You need permission to start threads in category to be able to merge threads to it.")),c["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},gettext("Ok"))))}},{key:"getClassName",value:function(){return this.state.category?"modal-dialog":"modal-dialog modal-message"}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName(),role:"document"},c["default"].createElement("div",{className:"modal-content"},c["default"].createElement("div",{className:"modal-header"},c["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},c["default"].createElement("span",{"aria-hidden":"true"},"×")),c["default"].createElement("h4",{className:"modal-title"},gettext("Merge threads"))),this.state.category?this.renderForm():this.renderCantMergeMessage()))}}]),t}(m["default"]);a["default"]=H},{"../../../index":291,"../../../reducers/selection":345,"../../../reducers/threads":348,"../../../services/ajax":352,"../../../services/modal":358,"../../../services/snackbar":363,"../../../services/store":364,"../../../utils/validators":380,"../../button":5,"../../category-select":18,"../../form":52,"../../form-group":51,"../../merge-polls":55,"../../select":203,"./errors-list":251,react:"react"}],253:[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("../../form"),f=r(d),p=e("../../form-group"),m=r(p),h=e("../../category-select"),v=r(h),b=e("../../../reducers/selection"),y=n(b),g=e("../../../reducers/threads"),_=e("../../../services/modal"),E=r(_),w=e("../../../services/store"),O=r(w),k=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));a.handleSubmit=function(e){e.preventDefault(),E["default"].hide();var t=function(){O["default"].dispatch((0,g.filterThreads)(a.props.route.category,a.props.categoriesMap));var e=O["default"].getState(),t=e.threads.map(function(e){return e.id});O["default"].dispatch(y.all(e.selection.filter(function(e){return t.indexOf(e)!==-1})))};a.props.callApi([{op:"replace",path:"category",value:a.state.category},{op:"replace",path:"flatten-categories",value:null},{op:"add",path:"acl",value:!0}],gettext("Selected threads were moved."),t)},a.state={category:null};var n={};for(var r in e.user.acl.categories)if(e.user.acl.categories.hasOwnProperty(r)){var s=e.user.acl.categories[r];n[s.id]=s}return a.categoryChoices=[],e.categories.forEach(function(e){if(e.level>0){var t=n[e.id],r=!t.can_start_threads||e.is_closed&&!t.can_close_threads;
|