From 6858a940026592df7b0780bf7ca65ec99141e964 Mon Sep 17 00:00:00 2001 From: rafalp Date: Mon, 17 Sep 2018 19:54:24 +0200 Subject: [PATCH 1/8] Update comment --- dev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev b/dev index 3a93ce79d2..be460b37f0 100755 --- a/dev +++ b/dev @@ -1,5 +1,5 @@ #!/bin/bash -# devctl is an utility script for automating some development tasks and actions. +# "dev" is an utility script speeding up different development tasks and actions. # To find out what options are available, run it without any arguments. # Text styles From 62b8bce7f215554f998df267d157a8ce714b11db Mon Sep 17 00:00:00 2001 From: rafalp Date: Thu, 25 Oct 2018 19:26:55 +0200 Subject: [PATCH 2/8] Tweak moderation tools visibility check on threads list --- frontend/src/components/threads/utils.js | 2 +- misago/static/misago/js/misago.js | 2 +- misago/static/misago/js/misago.js.map | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/src/components/threads/utils.js b/frontend/src/components/threads/utils.js index 42de91830d..7b8670040b 100644 --- a/frontend/src/components/threads/utils.js +++ b/frontend/src/components/threads/utils.js @@ -121,7 +121,7 @@ export function getModerationActions(threads) { moderation.can_pin_globally = thread.acl.can_pin_globally; } - if (thread.acl.can_unhide > moderation.can_unhide) { + if (thread.is_hidden && thread.acl.can_unhide > moderation.can_unhide) { moderation.can_unhide = thread.acl.can_unhide; } diff --git a/misago/static/misago/js/misago.js b/misago/static/misago/js/misago.js index 5cbad75598..f48c1aa954 100644 --- a/misago/static/misago/js/misago.js +++ b/misago/static/misago/js/misago.js @@ -17,7 +17,7 @@ e.selection.map(function(e){j["default"].dispatch(g.patch(e,{isDeleted:!1}))})}) }}]),t}(c["default"].Component);a["default"]=N},{"../../../../reducers/thread":359,"../../../../services/ajax":364,"../../../../services/modal":370,"../../../../services/snackbar":375,"../../../../services/store":376,"./merge":228,"./move":229,react:"react"}],226:[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":225,"./is-visible":227}],227:[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_merge||e.acl.can_pin||e.acl.can_pin_globally&&2!==e.weight||e.acl.can_unhide&&e.is_hidden)}},{}],228:[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;a1){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"}],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("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"}],232:[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":301,"./route":233,"react-redux":"react-redux"}],233:[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=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":249,"./diff-message":238,react:"react"}],242:[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?f["default"].createElement("span",{className:"thread-detail-hidden"},f["default"].createElement("span",{className:"material-icon"},"visibility_off"),f["default"].createElement("span",{className:a},gettext("Hidden"))):null}function o(e){var t=e.display,a=e.textClassName;return t?f["default"].createElement("span",{className:"thread-detail-closed"},f["default"].createElement("span",{className:"material-icon"},"lock_outline"),f["default"].createElement("span",{className:a},gettext("Closed"))):null}function l(e){var t=e.display,a=e.textClassName;return t?f["default"].createElement("span",{className:"thread-detail-poll"},f["default"].createElement("span",{className:"material-icon"},"assessment"),f["default"].createElement("span",{className:a},gettext("Poll"))):null}function s(e){var t=e.thread;return t.best_answer?f["default"].createElement("a",{className:"visible-xs-inline-block thread-detail-answered",href:t.url.best_answer},f["default"].createElement("span",{className:"material-icon"},"check_box")):null}function i(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"),f["default"].createElement("span",{className:"thread-detail-replies"},f["default"].createElement("span",{className:"material-icon"},"forum"),f["default"].createElement("span",{className:r},t),f["default"].createElement("span",{className:o},interpolate(n,{replies:t},!0)))}function u(e){var t=e.datetime,a=e.url;return f["default"].createElement("a",{className:"visible-sm-inline-block thread-detail-last-reply",href:a,title:t.format("LLL")},t.fromNow(!0))}function c(e){var t=e.posterName,a=e.url,n="visible-sm-inline-block item-title thread-last-poster";return a?f["default"].createElement("a",{className:n,href:a},t):f["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,d=e.isSelected,p=e.thread,b="col-xs-12 col-sm-12";n&&(b=p.moderation.length?"col-xs-6 col-sm-12":"col-xs-9 col-sm-12");var v=0;p.is_hidden&&(v+=1),p.is_closed&&(v+=1),p.has_poll&&(v+=1);var g=n&&3===v,_="detail-text hidden-xs";return g&&(_+=" hidden-sm"),f["default"].createElement("div",{className:"row thread-details-bottom"},f["default"].createElement("div",{className:b},f["default"].createElement(m["default"],{className:"item-title thread-detail-category hidden-xs",category:t}),f["default"].createElement(r,{textClassName:_,display:p.is_hidden}),f["default"].createElement(o,{textClassName:_,display:p.is_closed}),f["default"].createElement(l,{textClassName:_,display:p.has_poll}),f["default"].createElement(s,{thread:p}),f["default"].createElement(i,{forceFullText:!n||v<2,replies:p.replies}),f["default"].createElement(u,{datetime:p.last_post_on,url:p.url.last_post}),f["default"].createElement(c,{posterName:p.last_poster_name,url:p.url.last_poster})),f["default"].createElement(h.OptionsXs,{disabled:a,display:n,isSelected:d,thread:p}))},a.HiddenLabel=r,a.ClosedLabel=o,a.PollLabel=l,a.BestAnswerLabel=s,a.RepliesLabel=i,a.LastReplyLabel=u,a.LastPoster=c;var d=e("react"),f=n(d),p=e("./category"),m=n(p),h=e("../options")},{"../options":247,"./category":243,react:"react"}],243:[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"}],244:[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":242,"./top":245}],245:[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:d["default"].createElement("a",{className:"thread-detail-new",href:a},d["default"].createElement("span",{className:"material-icon"},"comment"),d["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")),d["default"].createElement("span",{className:a},d["default"].createElement("span",{className:"material-icon"},n),d["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")),d["default"].createElement("span",{className:n},d["default"].createElement("span",{className:"material-icon"},r),d["default"].createElement("span",{className:"detail-text"},o))}function s(e){var t=e.thread;return t.best_answer?d["default"].createElement("a",{className:"hidden-xs thread-detail-answered",href:t.url.best_answer},d["default"].createElement("span",{className:"material-icon"},"check_box"),d["default"].createElement("span",{className:"detail-text"},gettext("Answered"))):null}function i(e){var t=e.datetime,a=e.url;return d["default"].createElement("a",{className:"visible-xs-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;return a?d["default"].createElement("a",{className:"visible-xs-inline-block item-title thread-last-poster",href:a},t):d["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 d["default"].createElement("div",{className:"thread-details-top"},d["default"].createElement(r,{isRead:a.is_read,url:a.url.new_post}),d["default"].createElement(o,{weight:a.weight}),d["default"].createElement(l,{thread:a.is_unapproved,posts:a.has_unapproved_posts}),d["default"].createElement(s,{thread:a}),d["default"].createElement(p["default"],{className:"item-title thread-detail-category visible-xs-inline-block",category:t}),d["default"].createElement(i,{datetime:a.last_post_on,url:a.url.last_post}),d["default"].createElement(u,{posterName:a.last_poster_name,url:a.url.last_poster}))},a.NewLabel=r,a.PinnedLabel=o,a.UnapprovedLabel=l,a.BestAnswerLabel=s,a.LastReplyLabel=i,a.LastPoster=u;var c=e("react"),d=n(c),f=e("./category"),p=n(f)},{"./category":243,react:"react"}],246:[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":6,"./user-url":254,react:"react"}],247:[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(b["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(b["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;at.last_post?-1:e.last_postt.weight?-1:2===t.weight&&e.weightt.weight?-1:e.weight2&&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}),_["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(b["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});_["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){if(400===e.status){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}))}else 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":357,"../../../services/ajax":364,"../../../services/modal":370,"../../../services/snackbar":375,"../../../services/store":376,"../../../utils/countdown":381,"./errors-list":261,"./merge":262,"./move":263,react:"react"}],261:[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;a0){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()||(R["default"].error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return M["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(b["default"],{label:gettext("Thread weight"),"for":"id_weight"},c["default"].createElement(y["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(b["default"],{label:gettext("Hide thread"),"for":"id_is_hidden"},c["default"].createElement(y["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(b["default"],{label:gettext("Close thread"),"for":"id_is_closed"},c["default"].createElement(y["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(b["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(b["default"],{label:gettext("Category"),"for":"id_category",validation:this.state.errors.category},c["default"].createElement(g["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":301,"../../../reducers/selection":357,"../../../reducers/threads":360,"../../../services/ajax":364,"../../../services/modal":370,"../../../services/snackbar":375,"../../../services/store":376,"../../../utils/validators":392,"../../button":8,"../../category-select":21,"../../form":55,"../../form-group":54,"../../merge-conflict":58,"../../select":209,"./errors-list":261,react:"react"}],263:[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;a0){var t=n[e.id],r=!t.can_start_threads||e.is_closed&&!t.can_close_threads;a.categoryChoices.push({value:e.id,disabled:r,level:e.level-1,label:e.name}),r||a.state.category||(a.state.category=e.id)}}),a}return s(t,e),i(t,[{key:"getClassName",value:function(){return this.state.category?"modal-dialog":"modal-dialog modal-message"}},{key:"renderForm",value:function(){return c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"modal-body"},c["default"].createElement(m["default"],{label:gettext("New category"),"for":"id_new_category"},c["default"].createElement(b["default"],{id:"id_new_category",onChange:this.bindInput("category"),value:this.state.category,choices:this.categoryChoices}))),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("button",{className:"btn btn-primary"},gettext("Move threads"))))}},{key:"renderCantMoveMessage",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 move threads to it.")),c["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},gettext("Ok"))))}},{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("Move threads"))),this.state.category?this.renderForm():this.renderCantMoveMessage()))}}]),t}(f["default"]);a["default"]=k},{"../../../reducers/selection":357,"../../../reducers/threads":360,"../../../services/modal":370,"../../../services/store":376,"../../category-select":21,"../../form":55,"../../form-group":54,react:"react"}],264:[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;a1&&void 0!==arguments[1]?arguments[1]:1;M["default"].get(this.props.options.api,{category:e,list:this.props.route.list.type,page:a||1},"threads").then(function(n){t.state.isMounted&&(1===a?D["default"].dispatch((0,C.hydrate)(n.results)):D["default"].dispatch((0,C.append)(n.results,t.getSorting())),t.setState({isLoaded:!0,isBusy:!1,moderation:(0,g.getModerationActions)(D["default"].getState().threads),subcategories:n.subcategories,count:n.count,more:n.more,page:n.page,pages:n.pages}),t.startPolling(e))},function(e){R["default"].apiError(e)})}},{key:"startPolling",value:function(e){L["default"].start({poll:"threads",url:this.props.options.api,data:{category:e,list:this.props.route.list.type},frequency:12e4,update:this.pollResponse})}},{key:"componentDidMount",value:function(){this.setPageTitle(),x["default"].has("THREADS")&&(D["default"].dispatch((0,C.hydrate)(x["default"].pop("THREADS").results)),this.setState({isLoaded:!0})),D["default"].dispatch(j.none())}},{key:"componentWillUnmount",value:function(){this.state.isMounted=!1,L["default"].stop("threads")}},{key:"getTitle",value:function(){return this.props.options.title?this.props.options.title:(0,g.getTitle)(this.props.route)}},{key:"setPageTitle",value:function(){this.props.route.category.level||!x["default"].get("THREADS_ON_INDEX")?B["default"].set((0,g.getPageTitle)(this.props.route)):this.props.options.title?B["default"].set(this.props.options.title):x["default"].get("SETTINGS").forum_index_title?document.title=x["default"].get("SETTINGS").forum_index_title:document.title=x["default"].get("SETTINGS").forum_name}},{key:"getSorting",value:function(){return this.props.route.category.level?p.compareWeight:p.compareGlobalWeight}},{key:"getMoreButton",value:function(){return this.state.more?c["default"].createElement("div",{className:"pager-more"},c["default"].createElement(f["default"],{className:"btn btn-default btn-outline",loading:this.state.isBusy||this.state.busyThreads.length,onClick:this.loadMore},gettext("Show more"))):null}},{key:"getClassName",value:function(){var e="page page-threads";return e+=" page-threads-"+this.props.route.list.type,this.props.route.category.css_class&&(e+=" page-threads-"+this.props.route.category.css_class),e}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName()},c["default"].createElement(v["default"],{categories:this.props.route.categoriesMap,disabled:!this.state.isLoaded,startThread:this.props.options.startThread,threads:this.props.threads,title:this.getTitle(),toggleNav:this.toggleNav,route:this.props.route,user:this.props.user}),c["default"].createElement(h["default"],{api:this.props.options.api,route:this.props.route,subcategories:this.state.subcategories,user:this.props.user,pageLead:this.props.options.pageLead,threads:this.props.threads,threadsCount:this.state.count,moderation:this.state.moderation,selection:this.props.selection,busyThreads:this.state.busyThreads,addThreads:this.addThreads,freezeThread:this.freezeThread,deleteThread:this.deleteThread,updateThread:this.updateThread,isLoaded:this.state.isLoaded,isBusy:this.state.isBusy},c["default"].createElement(y["default"],{category:this.props.route.category,categories:this.props.route.categoriesMap,list:this.props.route.list,selection:this.props.selection,threads:this.props.threads,diffSize:this.state.diff.results.length,applyDiff:this.applyDiff,showOptions:!!this.props.user.id,isLoaded:this.state.isLoaded,busyThreads:this.state.busyThreads},c["default"].createElement(w["default"],{category:this.props.route.category,emptyMessage:this.props.options.emptyMessage,list:this.props.route.list})),this.getMoreButton()))}}]),t}(k["default"]);a["default"]=F},{"../../index":301,"../../reducers/selection":357,"../../reducers/threads":360,"../../services/ajax":364,"../../services/page-title":372,"../../services/polls":373,"../../services/snackbar":375,"../../services/store":376,"../../utils/sets":390,"../button":8,"../threads-list":237,"../with-dropdown":298,"./compare":256,"./container":257,"./header":258,"./list-empty":259,"./utils":269,react:"react"}],268:[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=0})}},{key:"getModerationButton",value:function(){return this.showModerationOptions()?u["default"].createElement("div",{className:"col-xs-6 col-sm-3 col-md-2"},u["default"].createElement("div",{className:"btn-group btn-group-justified"},u["default"].createElement("div",{className:"btn-group dropdown"},u["default"].createElement("button",{type:"button",className:"btn btn-default btn-outline dropdown-toggle","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",disabled:this.props.disabled||!this.props.selection.length},u["default"].createElement("span",{className:"material-icon"},"settings"),gettext("Options")),u["default"].createElement(p["default"],{addThreads:this.props.addThreads,api:this.props.api,categories:this.props.categories,categoriesMap:this.props.categoriesMap,className:"dropdown-menu dropdown-menu-right stick-to-bottom",deleteThread:this.props.deleteThread,freezeThread:this.props.freezeThread,moderation:this.props.moderation,route:this.props.route,threads:this.getSelectedThreads(),updateThread:this.props.updateThread,user:this.props.user})))):null}},{key:"getSelectionButton",value:function(){return this.showModerationOptions()?u["default"].createElement("div",{className:"col-xs-3 col-sm-2 col-md-1"},u["default"].createElement("div",{className:"btn-group btn-group-justified"},u["default"].createElement("div",{className:"btn-group dropdown"},u["default"].createElement("button",{type:"button",className:"btn btn-default btn-outline btn-icon dropdown-toggle","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",disabled:this.props.disabled},u["default"].createElement("span",{className:"material-icon"},"select_all")),u["default"].createElement(h["default"],{className:"dropdown-menu dropdown-menu-right stick-to-bottom",threads:this.props.threads})))):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"row row-toolbar row-toolbar-bottom-margin"},u["default"].createElement("div",{className:"col-xs-3 col-sm-3 col-md-2 dropdown"},this.getCategoryPicker()),u["default"].createElement("div",{className:"hidden-xs col-sm-4 col-md-7"}),this.getModerationButton(),this.getSelectionButton())}}]),t}(u["default"].Component);a["default"]=b},{"./category-picker":255,"./moderation/controls":260,"./moderation/selection":264,react:"react"}],269:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.category.level?e.list.path?{title:e.list.longName,parent:e.category.name}:{title:e.category.name}:c["default"].get("THREADS_ON_INDEX")?e.list.path?{title:e.list.longName}:null:e.list.path?{title:e.list.longName,parent:gettext("Threads")}:{title:gettext("Threads")}}function o(e){return e.category.level?e.category.name:c["default"].get("THREADS_ON_INDEX")?c["default"].get("SETTINGS").forum_index_title?c["default"].get("SETTINGS").forum_index_title:c["default"].get("SETTINGS").forum_name:gettext("Threads")}function l(e,t){return[e.title===t.title,e.weight===t.weight,e.category===t.category,e.last_post===t.last_post,e.last_poster_name===t.last_poster_name].indexOf(!1)>=0}function s(e,t){var a={};return e.forEach(function(e){a[e.id]=e}),t.filter(function(e){return!a[e.id]||l(a[e.id],e)})}function i(e){var t={allow:!1,can_approve:0,can_close:0,can_delete:0,can_hide:0,can_merge:0,can_move:0,can_pin:0,can_pin_globally:0,can_unhide:0};return e.forEach(function(e){e.is_unapproved&&e.acl.can_approve>t.can_approve&&(t.can_approve=e.acl.can_approve),e.acl.can_close>t.can_close&&(t.can_close=e.acl.can_close),e.acl.can_delete>t.can_delete&&(t.can_delete=e.acl.can_delete),e.acl.can_hide>t.can_hide&&(t.can_hide=e.acl.can_hide),e.acl.can_merge>t.can_merge&&(t.can_merge=e.acl.can_merge),e.acl.can_move>t.can_move&&(t.can_move=e.acl.can_move),e.acl.can_pin>t.can_pin&&(t.can_pin=e.acl.can_pin),e.acl.can_pin_globally>t.can_pin_globally&&(t.can_pin_globally=e.acl.can_pin_globally),e.acl.can_unhide>t.can_unhide&&(t.can_unhide=e.acl.can_unhide),t.allow=t.can_approve||t.can_close||t.can_delete||t.can_hide||t.can_merge||t.can_move||t.can_pin||t.can_pin_globally||t.can_unhide}),t}Object.defineProperty(a,"__esModule",{value:!0}),a.getPageTitle=r,a.getTitle=o,a.isThreadChanged=l,a.diffThreads=s,a.getModerationActions=i;var u=e("../../index"),c=n(u)},{"../../index":301}],270:[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.CompactGuestNav=a.GuestNav=a.GuestMenu=void 0;var s=function(){function e(e,t){for(var a=0;a0&&p["default"].createElement("span",{className:"badge"},t.unread_private_threads)))}function c(e){return{user:e.auth.user}}Object.defineProperty(a,"__esModule",{value:!0}),a.CompactUserNav=a.UserMenu=void 0;var d=function(){function e(e,t){for(var a=0;a0){var t=n[e.id],r=!t.can_start_threads||e.is_closed&&!t.can_close_threads;a.categoryChoices.push({value:e.id,disabled:r,level:e.level-1,label:e.name}),r||a.state.category||(a.state.category=e.id)}}),a}return s(t,e),i(t,[{key:"getClassName",value:function(){return this.state.category?"modal-dialog":"modal-dialog modal-message"}},{key:"renderForm",value:function(){return c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"modal-body"},c["default"].createElement(m["default"],{label:gettext("New category"),"for":"id_new_category"},c["default"].createElement(b["default"],{id:"id_new_category",onChange:this.bindInput("category"),value:this.state.category,choices:this.categoryChoices}))),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("button",{className:"btn btn-primary"},gettext("Move threads"))))}},{key:"renderCantMoveMessage",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 move threads to it.")),c["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},gettext("Ok"))))}},{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("Move threads"))),this.state.category?this.renderForm():this.renderCantMoveMessage()))}}]),t}(f["default"]);a["default"]=k},{"../../../reducers/selection":357,"../../../reducers/threads":360,"../../../services/modal":370,"../../../services/store":376,"../../category-select":21,"../../form":55,"../../form-group":54,react:"react"}],264:[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;a1&&void 0!==arguments[1]?arguments[1]:1;M["default"].get(this.props.options.api,{category:e,list:this.props.route.list.type,page:a||1},"threads").then(function(n){t.state.isMounted&&(1===a?D["default"].dispatch((0,C.hydrate)(n.results)):D["default"].dispatch((0,C.append)(n.results,t.getSorting())),t.setState({isLoaded:!0,isBusy:!1,moderation:(0,g.getModerationActions)(D["default"].getState().threads),subcategories:n.subcategories,count:n.count,more:n.more,page:n.page,pages:n.pages}),t.startPolling(e))},function(e){R["default"].apiError(e)})}},{key:"startPolling",value:function(e){L["default"].start({poll:"threads",url:this.props.options.api,data:{category:e,list:this.props.route.list.type},frequency:12e4,update:this.pollResponse})}},{key:"componentDidMount",value:function(){this.setPageTitle(),x["default"].has("THREADS")&&(D["default"].dispatch((0,C.hydrate)(x["default"].pop("THREADS").results)),this.setState({isLoaded:!0})),D["default"].dispatch(j.none())}},{key:"componentWillUnmount",value:function(){this.state.isMounted=!1,L["default"].stop("threads")}},{key:"getTitle",value:function(){return this.props.options.title?this.props.options.title:(0,g.getTitle)(this.props.route)}},{key:"setPageTitle",value:function(){this.props.route.category.level||!x["default"].get("THREADS_ON_INDEX")?B["default"].set((0,g.getPageTitle)(this.props.route)):this.props.options.title?B["default"].set(this.props.options.title):x["default"].get("SETTINGS").forum_index_title?document.title=x["default"].get("SETTINGS").forum_index_title:document.title=x["default"].get("SETTINGS").forum_name}},{key:"getSorting",value:function(){return this.props.route.category.level?p.compareWeight:p.compareGlobalWeight}},{key:"getMoreButton",value:function(){return this.state.more?c["default"].createElement("div",{className:"pager-more"},c["default"].createElement(f["default"],{className:"btn btn-default btn-outline",loading:this.state.isBusy||this.state.busyThreads.length,onClick:this.loadMore},gettext("Show more"))):null}},{key:"getClassName",value:function(){var e="page page-threads";return e+=" page-threads-"+this.props.route.list.type,this.props.route.category.css_class&&(e+=" page-threads-"+this.props.route.category.css_class),e}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName()},c["default"].createElement(v["default"],{categories:this.props.route.categoriesMap,disabled:!this.state.isLoaded,startThread:this.props.options.startThread,threads:this.props.threads,title:this.getTitle(),toggleNav:this.toggleNav,route:this.props.route,user:this.props.user}),c["default"].createElement(h["default"],{api:this.props.options.api,route:this.props.route,subcategories:this.state.subcategories,user:this.props.user,pageLead:this.props.options.pageLead,threads:this.props.threads,threadsCount:this.state.count,moderation:this.state.moderation,selection:this.props.selection,busyThreads:this.state.busyThreads,addThreads:this.addThreads,freezeThread:this.freezeThread,deleteThread:this.deleteThread,updateThread:this.updateThread,isLoaded:this.state.isLoaded,isBusy:this.state.isBusy},c["default"].createElement(y["default"],{category:this.props.route.category,categories:this.props.route.categoriesMap,list:this.props.route.list,selection:this.props.selection,threads:this.props.threads,diffSize:this.state.diff.results.length,applyDiff:this.applyDiff,showOptions:!!this.props.user.id,isLoaded:this.state.isLoaded,busyThreads:this.state.busyThreads},c["default"].createElement(w["default"],{category:this.props.route.category,emptyMessage:this.props.options.emptyMessage,list:this.props.route.list})),this.getMoreButton()))}}]),t}(k["default"]);a["default"]=F},{"../../index":301,"../../reducers/selection":357,"../../reducers/threads":360,"../../services/ajax":364,"../../services/page-title":372,"../../services/polls":373,"../../services/snackbar":375,"../../services/store":376,"../../utils/sets":390,"../button":8,"../threads-list":237,"../with-dropdown":298,"./compare":256,"./container":257,"./header":258,"./list-empty":259,"./utils":269,react:"react"}],268:[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=0})}},{key:"getModerationButton",value:function(){return this.showModerationOptions()?u["default"].createElement("div",{className:"col-xs-6 col-sm-3 col-md-2"},u["default"].createElement("div",{className:"btn-group btn-group-justified"},u["default"].createElement("div",{className:"btn-group dropdown"},u["default"].createElement("button",{type:"button",className:"btn btn-default btn-outline dropdown-toggle","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",disabled:this.props.disabled||!this.props.selection.length},u["default"].createElement("span",{className:"material-icon"},"settings"),gettext("Options")),u["default"].createElement(p["default"],{addThreads:this.props.addThreads,api:this.props.api,categories:this.props.categories,categoriesMap:this.props.categoriesMap,className:"dropdown-menu dropdown-menu-right stick-to-bottom",deleteThread:this.props.deleteThread,freezeThread:this.props.freezeThread,moderation:this.props.moderation,route:this.props.route,threads:this.getSelectedThreads(),updateThread:this.props.updateThread,user:this.props.user})))):null}},{key:"getSelectionButton",value:function(){return this.showModerationOptions()?u["default"].createElement("div",{className:"col-xs-3 col-sm-2 col-md-1"},u["default"].createElement("div",{className:"btn-group btn-group-justified"},u["default"].createElement("div",{className:"btn-group dropdown"},u["default"].createElement("button",{type:"button",className:"btn btn-default btn-outline btn-icon dropdown-toggle","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",disabled:this.props.disabled},u["default"].createElement("span",{className:"material-icon"},"select_all")),u["default"].createElement(h["default"],{className:"dropdown-menu dropdown-menu-right stick-to-bottom",threads:this.props.threads})))):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"row row-toolbar row-toolbar-bottom-margin"},u["default"].createElement("div",{className:"col-xs-3 col-sm-3 col-md-2 dropdown"},this.getCategoryPicker()),u["default"].createElement("div",{className:"hidden-xs col-sm-4 col-md-7"}),this.getModerationButton(),this.getSelectionButton())}}]),t}(u["default"].Component);a["default"]=b},{"./category-picker":255,"./moderation/controls":260,"./moderation/selection":264,react:"react"}],269:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.category.level?e.list.path?{title:e.list.longName,parent:e.category.name}:{title:e.category.name}:c["default"].get("THREADS_ON_INDEX")?e.list.path?{title:e.list.longName}:null:e.list.path?{title:e.list.longName,parent:gettext("Threads")}:{title:gettext("Threads")}}function o(e){return e.category.level?e.category.name:c["default"].get("THREADS_ON_INDEX")?c["default"].get("SETTINGS").forum_index_title?c["default"].get("SETTINGS").forum_index_title:c["default"].get("SETTINGS").forum_name:gettext("Threads")}function l(e,t){return[e.title===t.title,e.weight===t.weight,e.category===t.category,e.last_post===t.last_post,e.last_poster_name===t.last_poster_name].indexOf(!1)>=0}function s(e,t){var a={};return e.forEach(function(e){a[e.id]=e}),t.filter(function(e){return!a[e.id]||l(a[e.id],e)})}function i(e){var t={allow:!1,can_approve:0,can_close:0,can_delete:0,can_hide:0,can_merge:0,can_move:0,can_pin:0,can_pin_globally:0,can_unhide:0};return e.forEach(function(e){e.is_unapproved&&e.acl.can_approve>t.can_approve&&(t.can_approve=e.acl.can_approve),e.acl.can_close>t.can_close&&(t.can_close=e.acl.can_close),e.acl.can_delete>t.can_delete&&(t.can_delete=e.acl.can_delete),e.acl.can_hide>t.can_hide&&(t.can_hide=e.acl.can_hide),e.acl.can_merge>t.can_merge&&(t.can_merge=e.acl.can_merge),e.acl.can_move>t.can_move&&(t.can_move=e.acl.can_move),e.acl.can_pin>t.can_pin&&(t.can_pin=e.acl.can_pin),e.acl.can_pin_globally>t.can_pin_globally&&(t.can_pin_globally=e.acl.can_pin_globally),e.is_hidden&&e.acl.can_unhide>t.can_unhide&&(t.can_unhide=e.acl.can_unhide),t.allow=t.can_approve||t.can_close||t.can_delete||t.can_hide||t.can_merge||t.can_move||t.can_pin||t.can_pin_globally||t.can_unhide}),t}Object.defineProperty(a,"__esModule",{value:!0}),a.getPageTitle=r,a.getTitle=o,a.isThreadChanged=l,a.diffThreads=s,a.getModerationActions=i;var u=e("../../index"),c=n(u)},{"../../index":301}],270:[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.CompactGuestNav=a.GuestNav=a.GuestMenu=void 0;var s=function(){function e(e,t){for(var a=0;a0&&p["default"].createElement("span",{className:"badge"},t.unread_private_threads)))}function c(e){return{user:e.auth.user}}Object.defineProperty(a,"__esModule",{value:!0}),a.CompactUserNav=a.UserMenu=void 0;var d=function(){function e(e,t){for(var a=0;a0,key:e})})))}}]),t}(u["default"].Component);a["default"]=f},{"./change-preview":274,react:"react"}],278:[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;a0,key:e})})))))}}]),t}(c["default"].Component);a["default"]=h},{"../../../utils/random":387,"./list-item-preview":287,react:"react"}],290:[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;a0?u["default"].createElement(h["default"],{users:this.props.users,trackedPeriod:this.state.trackedPeriod,count:this.state.count}):u["default"].createElement(d["default"],{trackedPeriod:this.state.trackedPeriod}):u["default"].createElement(p["default"],null)}}]),t}(u["default"].Component);a["default"]=N},{"../../../index":301,"../../../reducers/users":363,"../../../services/page-title":372,"../../../services/polls":373,"../../../services/store":376,"./list-empty":286,"./list-preview":289,"./list-ready":290,react:"react"}],292:[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.baseUrl,a=e.lists;return o["default"].createElement("ul",{className:"nav nav-pills"},a.map(function(e){var a=c(t,e);return o["default"].createElement(i["default"],{path:a,key:a},o["default"].createElement(l.Link,{to:a},e.name))}))};var r=e("react"),o=n(r),l=e("react-router"),s=e("../li"),i=n(s),u=e("../../index"),c=(n(u),function(e,t){var a=e;return a+="rank"===t.component?t.slug:t.component,a+"/"})},{"../../index":301,"../li":56,react:"react","react-router":"react-router"}],293:[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;a1){var t="";return e.previous&&(t=e.previous+"/"),d["default"].createElement(f.Link,{className:"btn btn-default btn-block btn-icon btn-outline",onClick:m["default"],to:e.baseUrl+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-icon btn-outline disabled",title:gettext("Go to previous page")},d["default"].createElement("span",{className:"material-icon"},"chevron_left"))}function s(e){if(e.isLoaded&&e.more){var t="";return e.next&&(t=e.next+"/"),d["default"].createElement(f.Link,{className:"btn btn-default btn-block btn-icon btn-outline",onClick:m["default"],to:e.baseUrl+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-icon btn-outline disabled",title:gettext("Go to next page")},d["default"].createElement("span",{className:"material-icon"},"chevron_right"))}function i(e){return e.isLoaded&&e.last?d["default"].createElement(f.Link,{className:"btn btn-default btn-block btn-icon btn-outline",onClick:m["default"],to:e.baseUrl+e.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-icon btn-outline 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 member with this role.","There are %(more)s more members with this role.",e.more),t=interpolate(t,{more:e.more},!0)):t=gettext("There are no more members with this role."),d["default"].createElement("p",null,t)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return 1===e.pages?null:d["default"].createElement("div",{className:"row row-toolbar"},d["default"].createElement("div",{className:"col-xs-12 text-center visible-xs-block"},d["default"].createElement(u,{more:e.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(r,e)),d["default"].createElement("div",{className:"col-sm-8 col-md-7 hidden-xs"},d["default"].createElement(u,{more:e.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"),p=e("../../../utils/reset-scroll"),m=n(p)},{"../../../utils/reset-scroll":388,react:"react","react-router":"react-router"}],296:[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=Object.assign||function(e){for(var t=1;t0){var e=g["default"].get("USERS_LIST_URL")+this.props.route.rank.slug+"/";return c["default"].createElement(m["default"],s({baseUrl:e,users:this.props.users},this.state))}return c["default"].createElement("p",{className:"lead"},gettext("There are no users with this rank at the moment."))}return c["default"].createElement(b["default"],null)}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName()},c["default"].createElement("div",{className:"container"},this.getRankDescription(),this.getComponent()))}}]),t}(c["default"].Component);a["default"]=x},{"../../../index":301,"../../../reducers/users":363,"../../../services/page-title":372,"../../../services/polls":373,"../../../services/store":376,"../../page-lead":91,"./list":294,"./list-loading":293,react:"react"}],297:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return{tick:e.tick.tick,user:e.auth.user,users:e.users}}function i(){var e=[];return O["default"].get("USERS_LISTS").forEach(function(t){"rank"===t.component?(e.push({path:O["default"].get("USERS_LIST_URL")+t.slug+"/:page/",component:(0,f.connect)(s)(_["default"]),rank:t}),e.push({path:O["default"].get("USERS_LIST_URL")+t.slug+"/",component:(0,f.connect)(s)(_["default"]),rank:t})):"active-posters"===t.component&&e.push({path:O["default"].get("USERS_LIST_URL")+t.component+"/",component:(0,f.connect)(s)(v["default"]),extra:{name:t.name}})}),e}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a0&&void 0!==arguments[0]&&arguments[0];return{type:d,soft:e}}function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case u:var a=Object.assign({},e);return a.user=Object.assign({},e.user,t.patch),a;case c:return Object.assign({},e,{signedIn:t.user});case d:return Object.assign({},e,{isAuthenticated:!1,isAnonymous:!0,signedOut:!t.soft});case s.UPDATE_AVATAR:if(e.isAuthenticated&&e.user.id===t.userId){var n=Object.assign({},e);return n.user=Object.assign({},e.user,{avatars:t.avatars}),n}return e;case s.UPDATE_USERNAME:if(e.isAuthenticated&&e.user.id===t.userId){var r=Object.assign({},e);return r.user=Object.assign({},e.user,{username:t.username,slug:t.slug}),r}return e;default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.SIGN_OUT=a.SIGN_IN=a.PATCH_USER=a.initialState=void 0,a.patch=n,a.signIn=r,a.signOut=o,a["default"]=l;var s=e("./users"),i=a.initialState={signedIn:!1,signedOut:!1},u=a.PATCH_USER="PATCH_USER",c=a.SIGN_IN="SIGN_IN",d=a.SIGN_OUT="SIGN_OUT"},{"./users":363}],350:[function(e,t,a){"use strict";function n(e){return{type:o,state:e}}function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case o:return t.state;default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.replace=n,a["default"]=r;var o=a.REPLACE_PARTICIPANTS="REPLACE_PARTICIPANTS"},{}],351:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=!1;for(var a in e.choices){var n=e.choices[a];if(n.selected){t=!0;break}}return Object.assign({},e,{posted_on:(0,f["default"])(e.posted_on),hasSelectedChoices:t,endsOn:e.length?(0,f["default"])(e.posted_on).add(e.length,"days"):null,isBusy:!1})}function o(){return{type:p}}function l(){return{type:m}}function s(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:b,state:t?e:r(e)}}function i(e){return{type:v,data:e}}function u(){return{type:h}}function c(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case p:return Object.assign({},e,{isBusy:!0});case m:return Object.assign({},e,{isBusy:!1});case h:return{isBusy:!1};case b:return t.state;case v:return Object.assign({},e,t.data);default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.UPDATE_POLL=a.REPLACE_POLL=a.REMOVE_POLL=a.RELEASE_POLL=a.BUSY_POLL=void 0,a.hydrate=r,a.busy=o,a.release=l,a.replace=s,a.update=i,a.remove=u,a["default"]=c;var d=e("moment"),f=n(d),p=a.BUSY_POLL="BUSY_POLL",m=a.RELEASE_POLL="RELEASE_POLL",h=a.REMOVE_POLL="REMOVE_POLL",b=a.REPLACE_POLL="REPLACE_POLL",v=a.UPDATE_POLL="UPDATE_POLL"},{moment:"moment"}],352:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return Object.assign({},e,{posted_on:(0,u["default"])(e.posted_on),updated_on:(0,u["default"])(e.updated_on),hidden_on:(0,u["default"])(e.hidden_on),attachments:e.attachments?e.attachments.map(o):null,poster:e.poster?(0,c.hydrateUser)(e.poster):null,isSelected:!1,isBusy:!1,isDeleted:!1})}function o(e){return Object.assign({},e,{uploaded_on:(0,u["default"])(e.uploaded_on)})}function l(e,t){return{type:d,post:e,patch:t}}function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case d:return e.id==t.post.id?Object.assign({},e,t.patch):e;default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.PATCH_POST=void 0,a.hydrate=r,a.hydrateAttachment=o,a.patch=l,a["default"]=s;var i=e("moment"),u=n(i),c=e("./users"),d=a.PATCH_POST="PATCH_POST"},{"./users":363,moment:"moment"}],353:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return{type:b,post:e}}function o(e){return{type:v,post:e}}function l(){return{type:g}}function s(e){return Object.assign({},e,{results:e.results.map(p.hydrate),isLoaded:!0,isBusy:!1,isSelected:!1})}function i(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:_,state:t?e:s(e)}}function u(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:h,state:t?e:s(e)}}function c(){return{type:y}}function d(e){return{type:E,update:e}}function f(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case b:var a=e.results.map(function(e){return e.id==t.post.id?Object.assign({},e,{isSelected:!0}):e});return Object.assign({},e,{results:a});case v:var n=e.results.map(function(e){return e.id==t.post.id?Object.assign({},e,{isSelected:!1}):e});return Object.assign({},e,{results:n});case g:var r=e.results.map(function(e){return Object.assign({},e,{isSelected:!1})});return Object.assign({},e,{results:r});case h:var o=e.results.slice(),l=e.results.map(function(e){return e.id});return t.state.results.map(function(e){l.indexOf(e.id)===-1&&o.push(e)}),Object.assign({},t.state,{results:o});case _:return t.state;case y:return Object.assign({},e,{isLoaded:!1});case E:return Object.assign({},e,t.update);case p.PATCH_POST:var s=e.results.map(function(e){return(0,m["default"])(e,t)});return Object.assign({},e,{results:s});default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.UPDATE_POSTS=a.UNLOAD_POSTS=a.LOAD_POSTS=a.DESELECT_POSTS=a.DESELECT_POST=a.SELECT_POST=a.APPEND_POSTS=void 0,a.select=r,a.deselect=o,a.deselectAll=l,a.hydrate=s,a.load=i,a.append=u,a.unload=c,a.update=d,a["default"]=f;var p=e("./post"),m=n(p),h=a.APPEND_POSTS="APPEND_POSTS",b=a.SELECT_POST="SELECT_POST",v=a.DESELECT_POST="DESELECT_POST",g=a.DESELECT_POSTS="DESELECT_POSTS",_=a.LOAD_POSTS="LOAD_POSTS",y=a.UNLOAD_POSTS="UNLOAD_POSTS",E=a.UPDATE_POSTS="UPDATE_POSTS"},{"./post":352}],354:[function(e,t,a){"use strict";function n(e){return{type:o,newState:e}}function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case o:return t.newState;default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.load=n,a["default"]=r;var o=a.LOAD_DETAILS="LOAD_DETAILS"},{}],355:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return{type:c,profile:e}}function o(e){return{type:d,patch:e}}function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case c:return Object.assign({},t.profile,{joined_on:(0,i["default"])(t.profile.joined_on),status:(0,u.hydrateStatus)(t.profile.status)});case d:return Object.assign({},e,t.patch);case u.UPDATE_AVATAR:return e.id===t.userId?Object.assign({},e,{ diff --git a/misago/static/misago/js/misago.js.map b/misago/static/misago/js/misago.js.map index afb8e8ae59..c4396a00be 100644 --- a/misago/static/misago/js/misago.js.map +++ b/misago/static/misago/js/misago.js.map @@ -1 +1 @@ -{"version":3,"sources":["misago.js"],"names":["e","t","n","r","s","o","u","a","require","i","f","Error","code","l","exports","call","length","1","module","_interopRequireDefault","obj","__esModule","default","Object","defineProperty","value","_react","_react2","_","_2","_escapeHtml","_escapeHtml2","AGREEMENT_URL","RegisterLegalFootnote","props","errors","privacyPolicy","termsOfService","onPrivacyPolicyChange","onTermsOfServiceChange","termsOfServiceId","get","termsOfServiceUrl","privacyPolicyId","privacyPolicyUrl","createElement","LegalAgreement","agreement","gettext","checked","url","onChange","agreementHtml","interpolate","label","className","type","dangerouslySetInnerHTML","__html","map","error","key","..","../utils/escape-html","react","2","StartSocialAuth","buttonClassName","buttonLabel","formLabel","header","labelClassName","socialAuth","SOCIAL_AUTH","FormHeader","text","_ref","id","name","finalButtonLabel","site","href","_ref2","3","_classCallCheck","instance","Constructor","TypeError","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","prototype","create","constructor","enumerable","writable","configurable","setPrototypeOf","__proto__","_createClass","defineProperties","target","descriptor","protoProps","staticProps","_ajax","_ajax2","AcceptAgreement","_React$Component","this","_this","getPrototypeOf","handleDecline","state","submiting","confirmation","confirm","setState","post","api","accept","then","location","reload","handleAccept","disabled","onClick","Component","../services/ajax","4","_interopRequireWildcard","newObj","hasOwnProperty","ModalHeader","aria-label","data-dismiss","aria-hidden","_form","_form2","_formGroup","_formGroup2","_participants","participants","_thread","_modal","_modal2","_snackbar","_snackbar2","_store","_store2","_class","_Form","onUsernameChange","event","changeValue","isLoading","username","trim","patch","thread","index","op","path","data","dispatch","updateAcl","replace","success","hide","role","onSubmit","handleSubmit","for","../reducers/participants","../reducers/thread","../services/modal","../services/snackbar","../services/store","./form","./form-group","5","select","user","auth","signedIn","signedOut","apply","arguments","window","getMessage","refresh","6","getSrc","size","resolveAvatarForSize","avatars","avatar","forEach","av","size2x","alt","src","srcSet","width","height","7","_moment","_moment2","message","html","plain","expires","isAfter","title","expires_on","format","fromNow","getReasonMessage","getExpirationMessage","moment","8","_loader","_loader2","Button","loading","children","defaultProps","./loader","9","10","categories","category","_category2","_category","./category","11","css_class","_listItem2","isFirst","subcategories","_listItem","./list-item","12","description","13","getClassName","is_read","getTitle","is_closed","getIcon","14","_main2","_stats2","_lastThread2","_subcategories2","_main","_lastThread","_stats","_subcategories","./last-thread","./main","./stats","./subcategories","15","LastThread","acl","can_browse","can_see_all_threads","last_thread_title","LastPosterAvatar","last_thread_new","LastPosterName","last_post","last_post_on","_ref3","last_poster","last_poster_name","_avatar2","_ref4","Empty","_ref5","Message","Private","_ref6","Protected","_ref7","_ref8","_avatar","../../../avatar","16","_icon2","_description2","_description","_icon","./description","./icon","17","Threads","threads","ngettext","Posts","posts","18","19","20","store","tick","_blankslate","_blankslate2","_categoriesList","_categoriesList2","_index","_index2","_polls","_polls2","hydrate","assign","update","startPolling","start","poll","frequency","../../index","../../services/polls","./blankslate","./categories-list","21","choices","item","repeat","level","22","_button","_button2","cropAvatar","avatarType","upload","cropit","$","deviceRatio","cropitOffset","crop","offset","x","y","zoom","onComplete","detail","rejection","status","showError","options","crop_tmp","crop_src","dataUrl","_this2","cropperWidth","getAvatarSize","initialWidth","exportZoom","imageState","getImagePath","onImageLoaded","zoomLevel","imageSize","displayedWidth","offsetX","displayedHeight","offsetY","showIndex","../../services/ajax","../../services/snackbar","../avatar","../button","23","Gallery","GalleryItem","undefined","_extends","source","_batch","_batch2","_temp","_ret","_len","args","Array","_key","concat","selection","_React$Component2","_this3","images","row","_React$Component3","_this4","image","save","response","_this5","galleries","../../utils/batch","24","setGravatar","callApi","setGenerated","gravatar","showCrop","showUpload","showGallery","userPeview","getAvatarPreview","getGravatarButton","getCropButton","getUploadButton","getGalleryButton","../loader","25","ChangeAvatarError","_crop","_crop2","_upload","_upload2","_gallery","_gallery2","_modalLoader","_modalLoader2","_users","reason","getErrorReason","component","completeFlow","updateAvatar","getBody","../../reducers/users","../../services/store","../modal-loader","./crop","./gallery","./index","./upload","26","_fileSize","_fileSize2","pickFile","document","getElementById","click","uploadFile","files","validationError","validateFile","preview","URL","createObjectURL","progress","FormData","append","uploaded","info","limit","filesize","invalidTypeMsg","allowed_mime_types","indexOf","extensionFound","loweredFilename","toLowerCase","allowed_extensions","extension","substr","extensions","join","getUploadRequirements","aria-valuenow","aria-valuemin","aria-valuemax","style","getUploadProgressLabel","getUploadProgress","renderCrop","renderUpload","../../utils/file-size","27","dropdown","toggleNav","aria-haspopup","aria-expanded","28","display","_panelMessage2","helpText","_panelMessage","../panel-message","29","_select","_select2","ev","_this$props","field","fieldname","_props","input","rows","../select","30","fields","help_text","validation","_fieldInput2","_fieldInput","../form-group","./field-input","31","_defineProperty","CancelButton","onCancel","_fieldset","_fieldset2","groups","group","initial","onSuccess","apiError","../form","./fieldset","32","FormDisplay","cancel","_state","33","34","replaceSelection","execAction","35","insertCode","syntax","prompt","_action2","_action","_isUrl","../../../utils/is-url","./action","36","makeEmphasis","37","insertHr","38","insertImage","_isUrl2","39","insertLink","40","insertQuote","41","makeStriketrough","42","makeStrong","43","Preview","is_image","Image","Icon","thumbnailUrl","thumb","backgroundImage","Filename","filename","Details","uploader","USER_URL","uploader_name","USER_SPAN","date","DATE_ABBR","absolute","uploaded_on","relative","filetype","Actions","Insert","Remove","Undo","isRemoved","onInsert","can_delete","onRemove","onUndo","insertAttachment","updateItem","newState","updatedAttachments","attachments","onAttachmentsChange","../../../..","../../../../utils/escape-html","../../../../utils/file-size","44","STRONG","filteredAttachments","filter","45","_complete2","_error2","_complete","_error","./complete","./error","46","47","max_attachment_size","_list2","_uploader2","_list","_uploader","../../..","./list","./uploader","48","_attachment2","_attachment","./attachment","49","50","getRandomKey","Math","round","Date","getTime","file","../../../services/ajax","../../../services/snackbar","51","Protect","canProtect","protect","onUnprotect","onProtect","_code","_code2","_emphasis","_emphasis2","_hr","_hr2","_image","_image2","_link","_link2","_striketrough","_striketrough2","_strong","_strong2","_quote","_quote2","_attachments","_attachments2","_uploadButton","_uploadButton2","_markupPreview","_markupPreview2","_textutils","textUtils","onPreviewClick","isPreviewLoading","show","markup","parsed","operation","getSelectionText","_replaceSelection","newValue","atwho","at","displayTpl","insertTpl","searchKey","callbacks","remoteFilter","query","callback","getJSON","q","on","flag","submitLabel","placeholder","../..","../../services/modal","./actions/code","./actions/emphasis","./actions/hr","./actions/image","./actions/link","./actions/quote","./actions/striketrough","./actions/strong","./attachments","./attachments/upload-button","./markup-preview","./textutils","52","_misagoMarkup2","_misagoMarkup","../misago-markup","53","getTextarea","textareaId","getValue","getSelectionRange","end","getSelection","ctrl","focus","range","createRange","moveStart","selectionStart","selectionEnd","substring","setSelection","selectionRange","setSelectionRange","createTextRange","collapse","moveEnd","_replace","myRange","replacement","startText","54","isValidated","labelClass","htmlFor","controlClass","getFeedbackDescription","getFeedback","getHelpText","extra","55","_validators","validateRequired","required","bindInput","formErrors","validateField","preventDefault","clean","promise","send","handleSuccess","handleError","validators","optional","validatedFields","push","_name","_name2","fieldErrors","validate","requiredError","_i","_validationError","../utils/validators","56","isControlled","isActive","pathname","activeClassName","57","58","BestAnswerSelect","choice","PollSelect","onError","onBestAnswerChange","onPollChange","bestAnswer","polls","best_answer","bestAnswers","./button","59","_oneBox","_oneBox2","render","documentNode","prevProps","prevState","nextProps","nextState","ref","node","../services/one-box","60","61","_PanelMessage","icon","./panel-message","62","filtered","section","results","count","slice","MAX_RESULTS","63","HEADER","RESULT","FOOTER","64","_input2","_input","./input","65","66","flattenProviders","flatlist","arrayLength","provider","_constants","flattenProvider","result","./constants","67","_dropdownMenu2","flatResults","_flattenResults2","_result2","_empty2","_dropdownMenu","_empty","_result","_flattenResults","./dropdown-menu","./empty","./flatten-results","./result","68","autoComplete","69","../../loader","70","encodeURI","71","72","_header2","_footer2","_footer","_header","../constants","./footer","./header","73","_thread2","_user2","_user","./thread","./user","74","poster","footer","content","posted_on","poster_name","75","rank","joined_on","76","_cleanResults","_cleanResults2","_dropdown","_dropdown2","onToggle","isOpen","setTimeout","container","querySelector","onDocumentMouseDown","closeResults","parentNode","onEscape","loadResults","intervalId","addEventListener","removeEventListener","delay","random","clearTimeout","data-toggle","./clean-results","./dropdown","77","_panelLoader2","_panelLoader","../../panel-loader","78","next_on","next_change","../../panel-message","79","usernameContent","usernameMinLength","length_min","usernameMaxLength","length_max","phrases","changes_left","name_changes_expire","_message","complete","slug","../../../utils/validators","../../button","../../form","../../form-group","80","_formLoading","_formLoading2","_formLocked","_formLocked2","_root","_root2","_usernameHistory","_pageTitle","_pageTitle2","addNameChange","updateUsername","isLoaded","set","parent","Promise","all","getChangeForm","changes","../../../index","../../../reducers/username-history","../../../reducers/users","../../../services/page-title","../../../services/store","../../username-history/root","./form-loading","./form-locked","81","onPasswordChange","password","_this$state","../../services/page-title","82","DownloadData","handleLoadDownloads","data_downloads","downloads","handleRequestDataDownload","isSubmiting","request_data_download","console","log","rowStyle","requested_on","DownloadButton","exportFile","colSpan","verticalAlign","STATUS_PENDING","STATUS_PROCESSING","83","_editDetails","_editDetails2","edit_details","../edit-details","84","_yesNoSwitch","_yesNoSwitch2","_auth","is_hiding_presence","limits_private_thread_invites_to","subscribe_to_started_threads","subscribe_to_replied_threads","privateThreadInvitesChoices","subscribeToChoices","iconOn","iconOff","labelOn","labelOff","../../reducers/auth","../yes-no-switch","85","SideNav","option","_reactRouter","Link","to","baseUrl","CompactNav","_li2","hideNav","_li","../li","react-router","86","username-history","paths","_reactRedux","connect","_forumOptions2","_root4","_downloadData2","_deleteAccount2","_dropdownToggle","_navs","_deleteAccount","_downloadData","_forumOptions","_root3","_withDropdown","_withDropdown2","_WithDropdown","../dropdown-toggle","../with-dropdown","./change-username/root","./delete-account","./download-data","./edit-details","./forum-options","./navs","./sign-in-credentials/root","react-redux","87","UnusablePasswordMessage","88","new_email","email","lengths","change_email","89","new_password","repeat_password","change_password","90","_changeEmail","_changeEmail2","_changePassword","_changePassword2","_UnusablePasswordMessage","_UnusablePasswordMessage2","has_usable_password","./UnusablePasswordMessage","./change-email","./change-password","91","_stringCount","_stringCount2","copy","../utils/string-count","92","93","94","_addParticipant","_addParticipant2","can_add_participants","../add-participant","95","leave","participant","remove","changeOwner","../../../reducers/participants","../../../reducers/thread","96","UserStatus","isOwner","is_owner","_makeOwner2","_remove2","_makeOwner","_remove","../../avatar","./make-owner","./remove","97","userIsOwner","_card2","_card","./card","98","_actions","confirmed","isUser","can_change_owner","./actions","99","isModerator","can_moderate_private_threads","100","getUserIsOwner","_cardsList2","utils","getParticipantsCopy","_cardsList","_utils","./add-participant","./cards-list","./utils","101","users","102","LABELS","STYLES","_zxcvbn","_zxcvbn2","_score","_password","_inputs","loaded","load","inputs","cacheStale","scorePassword","score","getScore","../services/zxcvbn","103","generateRandomHash","randomHash","toString","PollChoice","onAdd","hash","setChoices","onDelete","canDelete","_temp2","_ret2","_len2","_key2","deleteItem","maxLength","104","PollPublicSwitch","isEdit","_choicesControl","_choicesControl2","_poll","_posting","_posting2","close","question","allowed_choices","allow_revotes","is_public","put","non_field_errors","../../../reducers/poll","../../../services/posting","../../yes-no-switch","./choices-control","105","PollForm","Poll","_poll2","./poll","106","PollCreation","getPoster","getPostedOn","PollLength","ends_on","getEndsOn","endsOn","PollVotes","votes","PollIsPublic","../../utils/escape-html","107","getIsPollOver","_results","_results2","_voting","_voting2","showResults","showVoting","hasSelectedChoices","isPollOver","can_vote","./results","./voting","108","proc","ceil","getVotesLabel","ChoiceVotes","UserChoice","selected","109","_info2","_chart2","_options2","_chart","_options","_info","../info","./chart","./options","110","ModalBody","_modalMessage2","ChoicesList","ChoiceDetails","VotesCount","VotesList","voters","Voter","VoteDate","voted_on","_modalMessage","hydratedData","voter","../../modal-loader","../../modal-message","111","isVisible","can_edit","can_see_votes","controls","control","ChangeVote","canVote","canChangeVote","isBusy","Delete","Edit","SeeVotes","_modal3","_modal4","seeVotes","open","submit","mode","_temp3","_ret3","_len3","_key3","deletePoll","busy","newThreadAcl","release","../../../services/modal","./modal","112","PollChoicesLeft","choicesLeft","PollAllowRevote","../../../utils/escape-html","113","_help","_help2","toggleChoice","getChoiceFromHash","deselectChoice","selectChoice","getChoicesLeft","../results/options","./help","./select","114","ChoiceSelect","115","116","DiffItem","getItemClassName","cleanItem","diff","117","revertEdit","edit","canRevert","118","ModalDialog","_diff","_diff2","_toolbar","_toolbar2","_post","goToEdit","edits","isReady","hydrateEdit","hydratedPost","../../reducers/post","../modal-message","./diff","./toolbar","119","GoBackBtn","previous","GoForwardBtn","next","GoLastBtn","RevertBtn","Label","editor","editor_name","edited_on","edited_by","goLast","goForward","goBack","120","json","121","_post2","_preview2","_preview","./post","./preview","122","Default","Invalid","../../misago-markup","123","tooltip","124","_postSide2","_body2","_body","_postSide","./body","./post-side","125","126","127","_registered2","_anonymous2","_anonymous","_registered","./anonymous","./registered","128","_userTitle2","_userTitle","./user-title","129","userTitle","is_tab","130","_random","../../utils/random","131","hydrateLike","liked_on","likes","likesCount","LikesList","like","LikeDetails","liker_id","LikeDate","likedOn","./avatar","./modal-loader","./modal-message","132","_editor","_editor2","_container","_container2","_message2","loadSuccess","is_protected","can_protect","loadError","isErrored","onPostChange","getPostValidators","config","method","../../services/posting","../editor","./utils/attachments","./utils/container","./utils/loader","./utils/message","./utils/validators","133","_start2","_startPrivate2","_reply2","_edit2","_start","_startPrivate","_reply","_edit","./edit","./reply","./start","./start-private","134","appendData","newPost","context","newContext","reply","135","_usernames","_usernames2","onToChange","onTitleChange","getTitleValidators","withFirstRow","./utils/usernames","136","_categorySelect","_categorySelect2","showOptions","categoryOptions","pin","onCategoryChange","find","onClose","onOpen","onPinGlobally","onPinLocally","onUnpin","onHide","onUnhide","columns","titleStyle","../category-select","./utils/options","137","completedAttachments","attachment","138","139","./container","140","141","CloseOptions","textClassName","HideOptions","PinOptions","columnClassName","142","usernames","normalisedNames","split","removedBlanks","removedDuplicates","pos","143","getTitleLengthMin","getTitleLengthMax","post_length_max","validatePostLengthMin","validatePostLengthMax","minLength","thread_title_length_min","limitValue","limit_value","show_value","thread_title_length_max","post_length_min","144","can_hide","Unhide","Hide","is_hidden","hidden_on","hidden_by_name","hidden_by","decision","isDeleted","../../../reducers/post","145","ICON","event_type","changed_title","pinned_globally","pinned_locally","unpinned","moved","merged","approved","opened","closed","unhid","hid","changed_owner","tookover","added_participant","owner_left","participant_left","removed_participant","146","_unreadLabel2","_waypoint2","_unreadLabel","_waypoint","../waypoint","./info","./message","./unread-label","147","Hidden","event_by","event_on","Poster","DATE_URL","_controls2","_controls","./controls","148","ChangedTitle","msgstring","oldTitle","ITEM_SPAN","event_context","old_title","Moved","fromCategory","ITEM_LINK","from_category","Merged","mergedThread","merged_thread","ChangedOwner","newOwner","AddedParticipant","RemovedParticipant","MESSAGE","149","150","ListItem","is_event","_event2","_event","./event","./post/preview","151","AttachmentPreview","AttachmentThumbnail","AttachmentIcon","AttachmentDetails","152","can_see_hidden","Row","../../../../utils/batch","153","HIDDEN_BY_URL","HIDDEN_BY_SPAN","HIDDEN_ON","154","approve","is_unapproved","ops","previousState","unprotect","unhide","lastLikes","last_likes","concatedLikes","finalLikes","is_liked","unlike","markAsBestAnswer","best_answer_is_protected","best_answer_marked_on","best_answer_marked_by","best_answer_marked_by_name","best_answer_marked_by_slug","patchThread","unmarkBestAnswer","../../../../reducers/post","../../../../reducers/thread","../../../../services/ajax","../../../../services/snackbar","../../../../services/store","155","Unprotect","Split","Move","Approve","PostEdits","UnmarkMarkBestAnswer","MarkAsBestAnswer","Permalink","moderation","_move","_move2","_postChangelog","_postChangelog2","_split","_split2","permaUrl","protocol","host","can_mark_best_answer","can_mark_as_best_answer","can_change_best_answer","_React$Component4","_temp4","_ret4","_len4","_key4","_props2","can_unmark_best_answer","_React$Component5","_temp5","_ret5","_len5","_key5","isHidden","isUnedited","_React$Component6","_temp6","_this6","_ret6","_len6","_key6","can_approve","_React$Component7","_temp7","_this7","_ret7","_len7","_key7","can_move","_React$Component8","_temp8","_this8","_ret8","_len8","_key8","_React$Component9","_ref9","_temp9","_this9","_ret9","_len9","_key9","_React$Component10","_ref10","_temp10","_this10","_ret10","_len10","_key10","_React$Component11","_ref11","_temp11","_this11","_ret11","_len11","_key11","_props3","_React$Component12","_ref12","_temp12","_this12","_ret12","_len12","_key12","can_unhide","_React$Component13","_ref13","_temp13","_this13","_ret13","_len13","_key13","_props4","../../../../services/modal","../../../../services/posting","../../../post-changelog","./move","./split","156","157","onUrlChange","move","new_thread","../../../button","../../../form","../../../form-group","158","Loader","Modal","ModerationForm","PostingConfig","Form","isError","misago","categoryId","can_pin_threads","weight","can_hide_threads","can_close_threads","isHiddenChoices","isClosedChoices","isValid","apiResponse","isArray","ErrorsModal","getWeightChoices","renderWeightField","renderHiddenField","renderClosedField","../../../../utils/validators","../../../category-select","../../../modal-loader","../../../select","159","FlagBestAnswer","marked_on","marked_by","FlagHidden","FlagUnapproved","FlagProtected","160","can_reply","can_see_likes","can_like","getLikesMessage","hiddenLikes","otherUsers","lastUser","usernamesList","last_user","Reply","LikesCompact","Likes","Like","MarkAsBestAnswerCompact","actions","_postLikes","_postLikes2","hasLikes","_Likes","../../post-likes","./controls/actions","161","UnreadLabel","UnreadCompact","PostedOn","PostedOnCompact","ProtectedLabel","postAuthor","hasAcl","PostEditsCompacts","_PostEdits","../../post-changelog","../../user-status","162","_flags","./flags","163","_userStatus","_userPostcount","../../../user-status","../controls","./user-postcount","164","165","166","_userStatus2","StatusIcon","_userStatus4","_userPostcount2","_userStatus3","./user-status","167","_hasVisibleTitle2","_hasVisibleTitle","./has-visible-title","168","StatusLabel","169","170","../../../utils/random","171","_posts","isSelected","deselect","can_merge_posts","../../../reducers/posts","172","waypoint","handler","direction","boundingClientRect","getBoundingClientRect","offsetBottom","top","clientHeight","documentElement","read","thread_is_read","../../reducers/thread","173","ban","has","initWithPreloadedData","pop","initWithoutPreloadedData","profile","stop","user_message","staff_message","_title","keys","getUserMessage","getStaffMessage","getPanelBody","../panel-loader","174","isAuthenticated","175","SafeValue","rel","176","_fieldValue2","_fieldValue","./field-value","177","../../edit-details","178","_field2","_field","./field","179","_group2","_emptyMessage2","_emptyMessage","_group","./empty-message","./group","180","EditButton","onEdit","showEditButton","181","_groupsList","_groupsList2","_profileDetails","_profileDetails2","_profileDetails3","editing","newDetails","profileDetails","../../../data/profile-details","../../../reducers/profile-details","./groups-list","182","emptyMessage","_route2","_route","./route","183","Feed","_postFeed2","LoadMoreButton","loadMore","more","_postFeed","loadItems","page","../../post-feed","184","_profile","action","is_followed","followers","follow","getLabel","../../reducers/profile","185","_quickSearch","_quickSearch2","_usersList","_usersList2","loadUsers","search","pages","setSpecialProps","PRELOADED_DATA_KEY","TITLE","API_FILTER","apiUrl","getEmptyMessage","cols","getMoreButton","getListBody","../quick-search","../users-list","186","_followers","_followers2","_Followers","./followers","187","IsDisabledMessage","isDeletingAccount","getColStyle","col","colStyle","_followButton","_followButton2","_messageButton","_messageButton2","_nav","_nav2","age","can_follow","can_moderate","canFollow","canModerate","isProfileOwner","canMessage","can_start_private_threads","colsWidth","headerClassName","is_active","is_deleting_account","getFollowButton","getModerationButton","getUserStatus","getUserRank","getUserTitle","getJoinedOn","getEmail","../user-status","./follow-button","./message-button","./moderation/nav","188","189","is_avatar_locked","avatar_lock_user_message","avatar_lock_staff_message","moderate_avatar","avatar_hash","getFormBody","getModalBody","190","moderate_username","191","countdown","with_content","getButtonLabel","getDeletedBody","getForm","../../../services/polls","192","_avatarControls","_avatarControls2","_changeUsername","_changeUsername2","showAvatarDialog","showRenameDialog","showDeleteDialog","can_moderate_avatar","can_rename","getAvatarButton","getRenameButton","getDeleteButton","./avatar-controls","./change-username","193","194","COMPONENTS","_banDetails","_banDetails2","_details","_details2","_feed","_follows","_follows2","_usernameHistory2","toggleModeration","follows","details","ban-details","./ban-details","./details","./feed","./follows","./username-history","195","loadChanges","../../reducers/username-history","../username-history/root","196","197","_register","_register2","_captcha","_captcha2","showRegisterForm","account_activation","criteria","../services/captcha","./register.js","198","RegisterComplete","RegisterForm","_passwordStrength","_passwordStrength2","_RegisterLegalFootnote","_RegisterLegalFootnote2","_StartSocialAuth","_StartSocialAuth2","_auth2","_bannedPage","_bannedPage2","handlePrivacyPolicyChange","handleToggleAgreement","handleTermsOfServiceChange","_errors","validator","_this$props$criteria","passwordMinLength","min_length","formValidators","max_length","captcha","requiredTermsOfService","requiredPrivacyPolicy","terms_of_service","privacy_policy","__all__","aria-describedby","form","activation","getLead","getSubscript","completeRegistration","signIn","../services/auth","../utils/banned-page","./RegisterLegalFootnote","./StartSocialAuth","./password-strength","199","LinkSent","RequestLinkForm","reset","../index","200","AccountInactivePage","RequestResetForm","_reactDom","_reactDom2","showInactivePage","getActivateButton","react-dom","201","PasswordChangedPage","ResetPasswordForm","_signIn","_signIn2","showSignIn","softSignOut","./sign-in.js","202","_search","onQueryChange","providers","../../reducers/posts","../../reducers/search","203","components","_threads","_threads2","_users2","./threads","./users","204","SearchTime","time","p","_sidenav2","_sidenav","./sidenav","205","Badge","206","Blankslate","_page2","route","_page","../page","207","LoadMore","updateProvider","../../../reducers/search","208","../../users-list","209","change","getChoice","210","showActivation","val","getCsrfToken","getActivationButton","211","snackbar","Snackbar","TYPES_CLASSES","warning","snackbarClass","getSnackbarClass","212","Complete","backend_name","backendName","213","Header","pageTitleTpl","pageTitle","backend","214","SocialAuth","handleRegistrationComplete","step","onRegistrationComplete","./register","215","Register","emailProtected","checkTermsOfService","checkPrivacyPolicy","_onRegistrationComplete","stateUpdate","emailHelpText","emailHelpTextTpl","../../utils/validators","../RegisterLegalFootnote","216","Breadcrumb","GoBack","lastItem","217","Moderation","isSingle","ModerationControls","_breadcrumbs","_breadcrumbs2","isEditing","showModeration","isModerationVisible","../../posting/utils/validators","../moderation/thread","./breadcrumbs","218","Weight","Unapproved","has_unapproved_posts","IsHidden","IsClosed","Replies","replies","legend","LastReply","LAST_POSTER_URL","LAST_POSTER_SPAN","LAST_REPLY","219","deselectAll","ids","rollback","_errorsList2","merge","_errorsList","../../../../reducers/posts","./errors-list","220","Merge","can_merge","221","PostErrors","heading","222","visible","can_unprotect","223","224","225","_merge","_merge2","successMessage","pinGlobally","pinLocally","unpin","can_pin_globally","can_pin","can_close","getPinGloballyButton","getPinLocallyButton","getUnpinButton","getMoveButton","getMergeButton","getApproveButton","getOpenButton","getCloseButton","getUnhideButton","getHideButton","./merge","226","_isVisible","_isVisible2","./is-visible","227","228","_mergeConflict","_mergeConflict2","handleSuccessUnmounted","best_answers","other_thread","../../../merge-conflict","229","ModalLoading","ModalMessage","post_set","230","Pager","FirstPage","PreviousPage","NextPage","LastPage","first","previousUrl","nextUrl","last","More","231","232","basePath","pk","233","_participants2","_postsList","_postsList2","_toolbarTop","_toolbarTop2","_toolbarBottom","_toolbarBottom2","_participants3","setPageTitle","openReplyForm","shouldFetchData","fetchData","startPollingApi","stopPollingApi","params","unload","delayed","../../reducers/participants","../../reducers/poll","../participants","../poll","../posts-list","./toolbar-bottom","./toolbar-top","234","subscription","Dropdown","dropdownClassName","Disable","Enable","Email","oldState","finalState","235","Options","_posts2","Subscription","xsClass","_subscription2","btnClassName","_replyButton2","Spacer","_paginator","_replyButton","_subscription","./moderation/posts","./paginator","./reply-button","./subscription","236","GotoMenu","is_anonymous","GotoLast","GotoNew","GotoBestAnswer","GotoUnapproved","CompactOptions","is_new","new_post","unapproved_post","StartPollCompact","GotoNewCompact","GotoUnapprovedCompact","GotoLastCompact","SubscriptionMenu","StartPoll","hiddenSpecialOption","can_start_poll","_StartPoll","237","diffSize","applyDiff","_ready2","activeCategory","list","busyThreads","_ready","./list/empty","./list/preview","./list/ready","238","239","_diffMessage","_diffMessage2","getDiffMessage","./diff-message","240","../thread/preview","241","../thread/ready","242","HiddenLabel","ClosedLabel","PollLabel","BestAnswerLabel","RepliesLabel","forceFullText","compactClassName","fullClassName","LastReplyLabel","datetime","LastPoster","posterName","statusFlags","has_poll","allFlagsVisible","OptionsXs","../options","243","244","TopDetails","BottomDetails","_bottom","_bottom2","_top","_top2","./bottom","./top","245","NewLabel","isRead","PinnedLabel","UnapprovedLabel","246","Timestamp","_userUrl2","_userUrl","./user-url","247","_full2","_compact2","Checkbox","_compact","_full","_selection","toggleSelection","../../../reducers/selection","./subscription/compact","./subscription/full","248","249","flavor","styles","starter_name","starter","_lastAction2","_lastAction","./last-action","250","_SubscriptionFull","./full","251","_props$thread","fullwidth","252","253","STATE_UPDATES","unsubscribe","notify","setSubscription","../../../../reducers/threads","254","255","Subcategory","listPath","getUrl","256","compareLastPostAge","b","compareGlobalWeight","compareWeight","257","_pageLead","_pageLead2","pageLead","categoriesMap","selectAllThreads","selectNoneThreads","addThreads","freezeThread","deleteThread","updateThread","getDisableToolbar","getCategoryDescription","getToolbar","../page-lead","258","ParentCategory","startThread","hasGoBackButton","getGoBackButton","getStartThreadButton","lists","./nav","259","special_role","260","_countdown","threadsMap","failedThreads","../../../utils/countdown","261","ThreadErrors","262","getFormdata","none","filterThreads","categoryChoices","_acl","can_start_threads","renderForm","renderCantMergeMessage","../../../reducers/threads","../../category-select","../../merge-conflict","../../select","263","storeState","getState","leftThreads","acls","renderCantMoveMessage","264","selectAll","selectNone","265","266","getSelect","getLists","longName","can_see_unapproved_content_lists","routes","267","_compare","_threadsList","_threadsList2","_listEmpty","_listEmpty2","_sets","sets","loadThreads","getCategory","pollResponse","diffThreads","getSorting","getModerationActions","currentState","toggle","isMounted","getPageTitle","forum_index_title","forum_name","threadsCount","../../reducers/selection","../../reducers/threads","../../utils/sets","../threads-list","./compare","./list-empty","268","_categoryPicker","_categoryPicker2","_selection2","allow","showModerationOptions","getSelectedThreads","getCategoryPicker","getSelectionButton","./category-picker","./moderation/controls","./moderation/selection","269","isThreadChanged","current","fromDb","currentMap","270","CompactGuestNav","GuestNav","GuestMenu","_navbarSearch","_navbarSearch2","_registerButton","_registerButton2","_mobileNavbarDropdown","_mobileNavbarDropdown2","showSignInModal","_GuestMenu","showGuestMenu","../../services/mobile-navbar-dropdown","../navbar-search","../register-button","../sign-in.js","271","CompactUserMenu","UserMenu","_guestNav","_userNav","UserNav","CompactUserNav","./guest-nav","./user-nav","272","PrivateThreadsBadge","unread_private_threads","UserPrivateThreadsLink","can_use_private_threads","selectUserMenu","following","changeAvatar","logout","showConnected","showUserMenu","../change-avatar/root","273","getStatusClassName","is_banned","is_online_hidden","is_offline_hidden","is_online","is_offline","getStatusDescription","banned_until","ban_expires","last_click","getClass","getHelp","274","hiddenOnMobile","275","changed_by","changed_by_username","renderUserAvatar","renderUsername","old_username","new_username","changed_on","276","277","_changePreview","_changePreview2","./change-preview","278","_change","_change2","./change","279","_listReady","_listReady2","_listPreview","_listPreview2","./list-preview","./list-ready","280","showStatus","281","Status","JoinDate","getStatClassName","Followers","stat","282","dup","283","colClassName","284","285","Number","286","days","trackedPeriod","287","288","rankUrl","getRankName","counter","meta","289","_listItemPreview","_listItemPreview2","./list-item-preview","290","posters","getLeadMessage","291","tracked_period","292","listUrl","293","294","_pager2","_pager","./pager","295","_resetScroll2","_resetScroll","../../../utils/reset-scroll","296","_listLoading","_listLoading2","getRankDescription","getComponent","../../page-lead","./list-loading","297","./active-posters/root","./rank/root","298","299","300","../reducers/profile-details","301","global","Misago","_orderedList","_orderedList2","_initializers","_context","initializer","after","before","initOrder","orderedValues","fallback","./utils/ordered-list","302","init","addInitializer","303","setInterval","AUTH_SYNC_RATE","../reducers/auth","304","_localStorage2","_localStorage","../services/local-storage","305","_include2","_include","../services/include","306","_mountComponent2","_acceptAgreement2","_acceptAgreement","_mountComponent","../../components/accept-agreement","../../utils/mount-component","307","_authMessage","_authMessage2","../../components/auth-message","308","../../utils/banned-page","309","_categories","_categories2","../../components/categories","310","_routedComponent2","root","_routedComponent","../../components/options/root","../../utils/routed-component","311","../../components/profile/root","312","_requestActivationLink2","_requestActivationLink","../../components/request-activation-link","313","_requestPasswordReset2","_requestPasswordReset","../../components/request-password-reset","314","_resetPasswordForm2","_resetPasswordForm","../../components/reset-password-form","315","_search2","../../components/search","316","../../components/snackbar","317","_socialAuth2","_socialAuth","../../components/social-auth","318","../../components/thread/root","319","getListOptions","currentLink","PRIVATE_THREADS_LIST","../../components/threads/root","320","../../components/user-menu/root","321","../../components/users/root","322","323","324","element","../services/mobile-navbar-dropdown","325","326","locale","attr","327","../services/page-title","328","../services/polls","329","../services/posting","330","addReducer","isAnonymous","initialState","331","332","333","334","../../reducers/profile-details","335","336","_profile2","337","338","339","../../reducers/snackbar","340","341","342","_tick2","_tick","../../reducers/tick","343","344","345","346","347","doTick","TICK_PERIOD","../reducers/tick","348","349","PATCH_USER","SIGN_IN","signOut","soft","SIGN_OUT","UPDATE_AVATAR","userId","_newState","UPDATE_USERNAME","_newState2","350","REPLACE_PARTICIPANTS","351","add","BUSY_POLL","RELEASE_POLL","hydrated","REPLACE_POLL","UPDATE_POLL","REMOVE_POLL","352","updated_on","hydrateAttachment","hydrateUser","PATCH_POST","353","SELECT_POST","DESELECT_POST","DESELECT_POSTS","LOAD_POSTS","APPEND_POSTS","UNLOAD_POSTS","UPDATE_POSTS","selectedPosts","deseletedPosts","deseletedAllPosts","resultsIds","reducedPosts","354","LOAD_DETAILS","355","HYDRATE_PROFILE","PATCH_PROFILE","hydrateStatus","356","REPLACE_SEARCH","UPDATE_SEARCH","UPDATE_SEARCH_PROVIDER","357","itemsIds","SELECT_ALL","items","SELECT_NONE","itemId","SELECT_ITEM","../utils/sets","358","showSnackbar","SHOW_SNACKBAR","messageType","hideSnackbar","HIDE_SNACKBAR","359","started_on","BUSY_THREAD","RELEASE_THREAD","REPLACE_THREAD","UPDATE_THREAD","UPDATE_THREAD_ACL","360","sorting","APPEND_THREADS","DELETE_THREAD","FILTER_THREADS","HYDRATE_THREADS","PATCH_THREAD","sort","SORT_THREADS","getThreadModerationOptions","thread_acl","MODERATION_PERMISSIONS","perm","hydrateThread","mergedState","_concatUnique2","itemCategory","lft","rght","patchedState","_concatUnique","../utils/concat-unique","361","TICK","362","changedBy","ADD_NAME_CHANGE","APPEND_HISTORY","HYDRATE_HISTORY","hydrateNamechange","namechange","unshift","floor","now","363","APPEND_USERS","HYDRATE_USERS","364","Ajax","_cookieName","_csrfToken","_locks","cookieName","cookie","cookieRegex","RegExp","match","resolve","reject","xhr","headers","X-CSRFToken","JSON","stringify","contentType","dataType","jqXHR","responseJSON","statusText","ajax","lock","param","waiter","wait","request","processData","XMLHttpRequest","evt","lengthComputable","total","365","Auth","local","modal","_local","syncSession","watchState","watch","366","Captcha","ReCaptcha","ReCaptchaComponent","QACaptcha","NoCaptcha","BaseCaptcha","include","_BaseCaptcha","_BaseCaptcha2","kwargs","grecaptcha","sitekey","siteKey","binding","_BaseCaptcha3","recaptcha_site_key","captcha_type","../components/form-group","367","Include","staticUrl","_staticUrl","_included","script","remote","cache","368","storage","localStorage","LocalStorage","prefix","_prefix","_watchers","newValueJson","parse","watcher","oldValue","setItem","itemString","getItem","369","MobileNavbarDropdown","_element","_component","addClass","removeClass","../utils/mount-component","370","unmountComponentAtNode","371","parseYoutubeUrl","cleanedUrl","cleanUrl","video","getVideoIdFromUrl","timebit","bits","parseInt","ytRegExp","OneBox","domnode","highlightCode","embedYoutubePlayers","_youtube","codeblocks","querySelectorAll","hljs","highlightBlock","anchors","onlyChild","childNodes","youtubeMovie","swapYoutubePlayer","youtube","player","replaceWith","wrap","372","PageTitle","indexTitle","forumName","_indexTitle","_forumName","finalTitle","pageLabel","373","Polls","poolServer","_stopped","timeout","pollId","374","Posting","_isOpen","_isClosing","_placeholder","_mode","_realOpen","changeForm","animate","scrollTop","../components/poll","../components/posting","375","HIDE_ANIMATION_LENGTH","MESSAGE_SHOW_LENGTH","_timeout","alert","../reducers/snackbar","376","StoreWrapper","_redux","_reducers","_initialState","reducer","createStore","combineReducers","redux","377","Zxcvbn","_isLoaded","zxcvbn","_loadedPromise","_loadingPromise","tries","378","changeState","Provider","getStore","RedrawedBannedPage","history","pushState","../components/banned-page","379","rowWidth","padding","380","381","_callback","_count","382","m","&","<",">","\"","'","383","roundSize","toFixed","bytes","384","str","URL_PATTERN","test","385","rootElementId","connected","rootElement","finalComponent","386","OrderedList","isOrdered","_items","order","values","values_only","_order","unordered","insertItem","insertAt","ordering","ordered","splice","iterations","387","int","min","max","array","388","scrollTo","389","childRoutes","onEnter","replaceState","Router","browserHistory","390","391","string","subString","392","EMAIL","returnMessage","lengthMin","lengthMax","USERNAME"],"mappings":"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","file":"misago.js","sourcesContent":["(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o= size) {\n avatar = av;\n }\n });\n return avatar;\n}\n\n},{\"..\":301,\"react\":\"react\"}],7:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'getReasonMessage',\n value: function getReasonMessage() {\n /* jshint ignore:start */\n if (this.props.message.html) {\n return _react2.default.createElement('div', { className: 'lead', dangerouslySetInnerHTML: {\n __html: this.props.message.html\n } });\n } else {\n return _react2.default.createElement(\n 'p',\n { className: 'lead' },\n this.props.message.plain\n );\n }\n /* jshint ignore:end */\n }\n }, {\n key: 'getExpirationMessage',\n value: function getExpirationMessage() {\n if (this.props.expires) {\n if (this.props.expires.isAfter((0, _moment2.default)())) {\n /* jshint ignore:start */\n var title = interpolate(gettext(\"This ban expires on %(expires_on)s.\"), {\n 'expires_on': this.props.expires.format('LL, LT')\n }, true);\n\n var message = interpolate(gettext(\"This ban expires %(expires_on)s.\"), {\n 'expires_on': this.props.expires.fromNow()\n }, true);\n\n return _react2.default.createElement(\n 'abbr',\n { title: title },\n message\n );\n /* jshint ignore:end */\n } else {\n return gettext(\"This ban has expired.\");\n }\n } else {\n return gettext(\"This ban is permanent.\");\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'page page-error page-error-banned' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'message-panel' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'highlight_off'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n this.getReasonMessage(),\n _react2.default.createElement(\n 'p',\n { className: 'message-footnote' },\n this.getExpirationMessage()\n )\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"moment\":\"moment\",\"react\":\"react\"}],8:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _loader = require('./loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar Button = function (_React$Component) {\n _inherits(Button, _React$Component);\n\n function Button() {\n _classCallCheck(this, Button);\n\n return _possibleConstructorReturn(this, (Button.__proto__ || Object.getPrototypeOf(Button)).apply(this, arguments));\n }\n\n _createClass(Button, [{\n key: 'render',\n value: function render() {\n var className = 'btn ' + this.props.className;\n var disabled = this.props.disabled;\n\n if (this.props.loading) {\n className += ' btn-loading';\n disabled = true;\n }\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'button',\n {\n className: className,\n disabled: disabled,\n onClick: this.props.onClick,\n type: this.props.onClick ? 'button' : 'submit'\n },\n this.props.children,\n this.props.loading ? _react2.default.createElement(_loader2.default, null) : null\n );\n /* jshint ignore:end */\n }\n }]);\n\n return Button;\n}(_react2.default.Component);\n\nexports.default = Button;\n\n\nButton.defaultProps = {\n className: \"btn-default\",\n\n type: \"submit\",\n\n loading: false,\n disabled: false,\n\n onClick: null\n};\n\n},{\"./loader\":57,\"react\":\"react\"}],9:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n \"div\",\n { className: \"categories-list\" },\n _react2.default.createElement(\n \"ul\",\n { className: \"list-group\" },\n _react2.default.createElement(\n \"li\",\n { className: \"list-group-item empty-message\" },\n _react2.default.createElement(\n \"p\",\n { className: \"lead\" },\n gettext(\"No categories exist or you don't have permission to see them.\")\n )\n )\n )\n );\n};\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],10:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var categories = _ref.categories;\n\n return _react2.default.createElement(\n 'div',\n { className: 'categories-list' },\n categories.map(function (category) {\n return _react2.default.createElement(_category2.default, {\n category: category,\n key: category.id\n });\n })\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _category = require('./category');\n\nvar _category2 = _interopRequireDefault(_category);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./category\":11,\"react\":\"react\"}],11:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var category = _ref.category;\n\n var className = 'list-group list-group-category';\n if (category.css_class) {\n className += ' list-group-category-has-flavor';\n className += ' list-group-category-' + category.css_class;\n }\n\n return _react2.default.createElement(\n 'ul',\n { className: className },\n _react2.default.createElement(_listItem2.default, {\n category: category,\n isFirst: true\n }),\n category.subcategories.map(function (category) {\n return _react2.default.createElement(_listItem2.default, {\n category: category,\n isFirst: false,\n key: category.id\n });\n })\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _listItem = require('./list-item');\n\nvar _listItem2 = _interopRequireDefault(_listItem);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./list-item\":14,\"react\":\"react\"}],12:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var category = _ref.category;\n\n if (!category.description) return null;\n\n return _react2.default.createElement(\"div\", {\n className: \"category-description\",\n dangerouslySetInnerHTML: {\n __html: category.description.html\n }\n });\n};\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],13:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var category = _ref.category;\n\n return _react2.default.createElement(\n 'div',\n {\n className: getClassName(category),\n title: getTitle(category)\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n getIcon(category)\n )\n );\n};\n\nexports.getClassName = getClassName;\nexports.getTitle = getTitle;\nexports.getIcon = getIcon;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:start\nfunction getClassName(category) {\n if (category.is_read) {\n return 'read-status item-read';\n }\n\n return 'read-status item-new';\n}\n\nfunction getTitle(category) {\n if (category.is_closed) {\n if (category.is_read) {\n return gettext(\"This category has no new posts. (closed)\");\n }\n\n return gettext(\"This category has new posts. (closed)\");\n }\n\n if (category.is_read) {\n return gettext(\"This category has no new posts.\");\n }\n\n return gettext(\"This category has new posts.\");\n}\n\nfunction getIcon(category) {\n if (category.is_closed) {\n if (category.is_read) {\n return 'lock_outline';\n }\n\n return 'lock';\n }\n\n if (category.is_read) {\n return 'chat_bubble_outline';\n }\n\n return 'chat_bubble';\n}\n\n},{\"react\":\"react\"}],14:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var category = _ref.category,\n isFirst = _ref.isFirst;\n\n var className = 'list-group-item';\n\n if (category.description) {\n className += ' list-group-category-has-description';\n } else {\n className += ' list-group-category-no-description';\n }\n\n if (isFirst) {\n className += ' list-group-item-first';\n }\n if (category.css_class) {\n className += ' list-group-category-has-flavor';\n className += ' list-group-item-category-' + category.css_class;\n }\n\n return _react2.default.createElement(\n 'li',\n { className: className },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(_main2.default, { category: category }),\n _react2.default.createElement(_stats2.default, { category: category }),\n _react2.default.createElement(_lastThread2.default, { category: category })\n ),\n _react2.default.createElement(_subcategories2.default, {\n category: category,\n isFirst: isFirst\n })\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _main = require('./main');\n\nvar _main2 = _interopRequireDefault(_main);\n\nvar _lastThread = require('./last-thread');\n\nvar _lastThread2 = _interopRequireDefault(_lastThread);\n\nvar _stats = require('./stats');\n\nvar _stats2 = _interopRequireDefault(_stats);\n\nvar _subcategories = require('./subcategories');\n\nvar _subcategories2 = _interopRequireDefault(_subcategories);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./last-thread\":15,\"./main\":16,\"./stats\":17,\"./subcategories\":18,\"react\":\"react\"}],15:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var category = _ref.category;\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-6 col-md-4 category-last-thread' },\n _react2.default.createElement(LastThread, { category: category }),\n _react2.default.createElement(Empty, { category: category }),\n _react2.default.createElement(Private, { category: category }),\n _react2.default.createElement(Protected, { category: category })\n );\n};\n\nexports.LastThread = LastThread;\nexports.LastPosterAvatar = LastPosterAvatar;\nexports.LastPosterName = LastPosterName;\nexports.Empty = Empty;\nexports.Private = Private;\nexports.Protected = Protected;\nexports.Message = Message;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction LastThread(_ref2) {\n var category = _ref2.category;\n\n if (!category.acl.can_browse) return null;\n if (!category.acl.can_see_all_threads) return null;\n if (!category.last_thread_title) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'media' },\n _react2.default.createElement(\n 'div',\n { className: 'media-left hidden-xs' },\n _react2.default.createElement(LastPosterAvatar, { category: category })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'media-body' },\n _react2.default.createElement(\n 'div',\n { className: 'media-heading' },\n _react2.default.createElement(\n 'a',\n {\n className: 'item-title thread-title',\n href: category.url.last_thread_new,\n title: category.last_thread_title\n },\n category.last_thread_title\n )\n ),\n _react2.default.createElement(\n 'ul',\n { className: 'list-inline' },\n _react2.default.createElement(\n 'li',\n { className: 'category-last-thread-poster' },\n _react2.default.createElement(LastPosterName, { category: category })\n ),\n _react2.default.createElement(\n 'li',\n { className: 'divider' },\n '\\u2014'\n ),\n _react2.default.createElement(\n 'li',\n { className: 'category-last-thread-date' },\n _react2.default.createElement(\n 'a',\n { href: category.url.last_post },\n category.last_post_on.fromNow()\n )\n )\n )\n )\n );\n} // jshint ignore:start\nfunction LastPosterAvatar(_ref3) {\n var category = _ref3.category;\n\n if (category.last_poster) {\n return _react2.default.createElement(\n 'a',\n {\n className: 'last-poster-avatar',\n href: category.last_poster.url,\n title: category.last_poster_name\n },\n _react2.default.createElement(_avatar2.default, {\n className: 'media-object',\n size: 40,\n user: category.last_poster\n })\n );\n }\n\n return _react2.default.createElement(\n 'span',\n {\n className: 'last-poster-avatar',\n title: category.last_poster_name\n },\n _react2.default.createElement(_avatar2.default, {\n className: 'media-object',\n size: 40\n })\n );\n}\n\nfunction LastPosterName(_ref4) {\n var category = _ref4.category;\n\n if (category.last_poster) {\n return _react2.default.createElement(\n 'a',\n {\n className: 'item-title',\n href: category.last_poster.url\n },\n category.last_poster_name\n );\n }\n\n return _react2.default.createElement(\n 'span',\n { className: 'item-title' },\n category.last_poster_name\n );\n}\n\nfunction Empty(_ref5) {\n var category = _ref5.category;\n\n if (!category.acl.can_browse) return null;\n if (!category.acl.can_see_all_threads) return null;\n if (category.last_thread_title) return null;\n\n return _react2.default.createElement(Message, {\n message: gettext(\"This category is empty. No threads were posted within it so far.\")\n });\n}\n\nfunction Private(_ref6) {\n var category = _ref6.category;\n\n if (!category.acl.can_browse) return null;\n if (category.acl.can_see_all_threads) return null;\n\n return _react2.default.createElement(Message, {\n message: gettext(\"This category is private. You can see only your own threads within it.\")\n });\n}\n\nfunction Protected(_ref7) {\n var category = _ref7.category;\n\n if (category.acl.can_browse) return null;\n\n return _react2.default.createElement(Message, {\n message: gettext(\"This category is protected. You can't browse it's contents.\")\n });\n}\n\nfunction Message(_ref8) {\n var message = _ref8.message;\n\n return _react2.default.createElement(\n 'div',\n { className: 'media category-thread-message' },\n _react2.default.createElement(\n 'div',\n { className: 'media-left' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'info_outline'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'media-body' },\n _react2.default.createElement(\n 'p',\n null,\n message\n )\n )\n );\n}\n\n},{\"../../../avatar\":6,\"react\":\"react\"}],16:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var category = _ref.category;\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-6 col-md-6 category-main' },\n _react2.default.createElement(\n 'div',\n { className: 'media' },\n _react2.default.createElement(\n 'div',\n { className: 'media-left' },\n _react2.default.createElement(_icon2.default, { category: category })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'media-body' },\n _react2.default.createElement(\n 'h4',\n { className: 'media-heading' },\n _react2.default.createElement(\n 'a',\n { href: category.url.index },\n category.name\n )\n ),\n _react2.default.createElement(_description2.default, { category: category })\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _description = require('./description');\n\nvar _description2 = _interopRequireDefault(_description);\n\nvar _icon = require('./icon');\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./description\":12,\"./icon\":13,\"react\":\"react\"}],17:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var category = _ref.category;\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-md-2 hidden-xs hidden-sm' },\n _react2.default.createElement(\n 'ul',\n { className: 'list-unstyled category-stats' },\n _react2.default.createElement(Threads, { threads: category.threads }),\n _react2.default.createElement(Posts, { posts: category.posts })\n )\n );\n};\n\nexports.Threads = Threads;\nexports.Posts = Posts;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction Threads(_ref2) {\n var threads = _ref2.threads;\n\n var message = ngettext(\"%(threads)s thread\", \"%(threads)s threads\", threads);\n\n return _react2.default.createElement(\n 'li',\n { className: 'category-stat-threads' },\n interpolate(message, {\n 'threads': threads\n }, true)\n );\n} // jshint ignore:start\nfunction Posts(_ref3) {\n var posts = _ref3.posts;\n\n var message = ngettext(\"%(posts)s post\", \"%(posts)s posts\", posts);\n\n return _react2.default.createElement(\n 'li',\n { className: 'category-stat-posts' },\n interpolate(message, {\n 'posts': posts\n }, true)\n );\n}\n\n},{\"../../../avatar\":6,\"react\":\"react\"}],18:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var category = _ref.category,\n isFirst = _ref.isFirst;\n\n if (isFirst) return null;\n if (category.subcategories.length === 0) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'row subcategories-list' },\n category.subcategories.map(function (category) {\n return _react2.default.createElement(_listItem2.default, {\n category: category,\n key: category.id\n });\n })\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _listItem = require('./list-item');\n\nvar _listItem2 = _interopRequireDefault(_listItem);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./list-item\":19,\"react\":\"react\"}],19:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var category = _ref.category;\n\n var className = 'btn btn-default btn-block btn-sm btn-subcategory';\n if (!category.is_read) {\n className += ' btn-subcategory-new';\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-4 col-md-3' },\n _react2.default.createElement(\n 'a',\n {\n className: className,\n href: category.url.index\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n getIcon(category)\n ),\n _react2.default.createElement(\n 'span',\n { className: 'icon-text' },\n category.name\n )\n )\n );\n};\n\nexports.getIcon = getIcon;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:start\nfunction getIcon(category) {\n if (category.is_closed) {\n if (category.is_read) {\n return 'lock_outline';\n }\n\n return 'lock';\n }\n\n if (category.is_read) {\n return 'chat_bubble_outline';\n }\n\n return 'chat_bubble';\n}\n\n},{\"react\":\"react\"}],20:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.select = select;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _blankslate = require('./blankslate');\n\nvar _blankslate2 = _interopRequireDefault(_blankslate);\n\nvar _categoriesList = require('./categories-list');\n\nvar _categoriesList2 = _interopRequireDefault(_categoriesList);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _polls = require('../../services/polls');\n\nvar _polls2 = _interopRequireDefault(_polls);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar hydrate = function hydrate(category) {\n return Object.assign({}, category, {\n last_post_on: category.last_post_on ? (0, _moment2.default)(category.last_post_on) : null,\n subcategories: category.subcategories.map(hydrate)\n });\n};\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.update = function (data) {\n _this.setState({\n categories: data.map(hydrate)\n });\n };\n\n _this.state = {\n categories: _index2.default.get('CATEGORIES').map(hydrate)\n };\n\n _this.startPolling(_index2.default.get('CATEGORIES_API'));\n return _this;\n }\n\n _createClass(_class, [{\n key: 'startPolling',\n value: function startPolling(api) {\n _polls2.default.start({\n poll: 'categories',\n url: api,\n frequency: 180 * 1000,\n update: this.update\n });\n }\n }, {\n key: 'render',\n value: function render() {\n var categories = this.state.categories;\n\n\n if (categories.length === 0) {\n return _react2.default.createElement(_blankslate2.default, null);\n }\n\n return _react2.default.createElement(_categoriesList2.default, { categories: categories });\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\nfunction select(store) {\n return {\n 'tick': store.tick.tick\n };\n}\n\n},{\"../../index\":301,\"../../services/polls\":373,\"./blankslate\":9,\"./categories-list\":10,\"moment\":\"moment\",\"react\":\"react\"}],21:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'select',\n {\n className: props.className || 'form-control',\n disabled: props.disabled || false,\n id: props.id || null,\n onChange: props.onChange,\n value: props.value\n },\n props.choices.map(function (item) {\n return _react2.default.createElement(\n 'option',\n {\n disabled: item.disabled || false,\n key: item.value,\n value: item.value\n },\n '- - '.repeat(item.level) + item.label\n );\n })\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],22:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.cropAvatar = function () {\n if (_this.state.isLoading) {\n return false;\n }\n\n _this.setState({\n 'isLoading': true\n });\n\n var avatarType = _this.props.upload ? 'crop_tmp' : 'crop_src';\n var cropit = $('.crop-form');\n\n var deviceRatio = cropit.cropit('exportZoom');\n var cropitOffset = cropit.cropit('offset');\n\n _ajax2.default.post(_this.props.user.api.avatar, {\n avatar: avatarType,\n crop: {\n offset: {\n x: cropitOffset.x * deviceRatio,\n y: cropitOffset.y * deviceRatio\n },\n zoom: cropit.cropit('zoom') * deviceRatio\n }\n }).then(function (data) {\n _this.props.onComplete(data);\n _snackbar2.default.success(data.detail);\n }, function (rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail);\n _this.setState({\n isLoading: false\n });\n } else {\n _this.props.showError(rejection);\n }\n });\n };\n\n _this.state = {\n isLoading: false,\n deviceRatio: 1\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'getAvatarSize',\n value: function getAvatarSize() {\n if (this.props.upload) {\n return this.props.options.crop_tmp.size;\n } else {\n return this.props.options.crop_src.size;\n }\n }\n }, {\n key: 'getImagePath',\n value: function getImagePath() {\n if (this.props.upload) {\n return this.props.dataUrl;\n } else {\n return this.props.options.crop_src.url;\n }\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n var cropit = $('.crop-form');\n var cropperWidth = this.getAvatarSize();\n\n var initialWidth = cropit.width();\n while (initialWidth < cropperWidth) {\n cropperWidth = cropperWidth / 2;\n }\n\n var deviceRatio = this.getAvatarSize() / cropperWidth;\n\n cropit.width(cropperWidth);\n\n cropit.cropit({\n width: cropperWidth,\n height: cropperWidth,\n exportZoom: deviceRatio,\n imageState: {\n src: this.getImagePath()\n },\n onImageLoaded: function onImageLoaded() {\n if (_this2.props.upload) {\n // center uploaded image\n var zoomLevel = cropit.cropit('zoom');\n var imageSize = cropit.cropit('imageSize');\n\n // is it wider than taller?\n if (imageSize.width > imageSize.height) {\n var displayedWidth = imageSize.width * zoomLevel;\n var offsetX = (displayedWidth - _this2.getAvatarSize()) / -2;\n\n cropit.cropit('offset', {\n x: offsetX,\n y: 0\n });\n } else if (imageSize.width < imageSize.height) {\n var displayedHeight = imageSize.height * zoomLevel;\n var offsetY = (displayedHeight - _this2.getAvatarSize()) / -2;\n\n cropit.cropit('offset', {\n x: 0,\n y: offsetY\n });\n } else {\n cropit.cropit('offset', {\n x: 0,\n y: 0\n });\n }\n } else {\n // use preserved crop\n var crop = _this2.props.options.crop_src.crop;\n\n if (crop) {\n cropit.cropit('zoom', crop.zoom);\n cropit.cropit('offset', {\n x: crop.x,\n y: crop.y\n });\n }\n }\n }\n });\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n $('.crop-form').cropit('disable');\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(\n 'div',\n { className: 'modal-body modal-avatar-crop' },\n _react2.default.createElement(\n 'div',\n { className: 'crop-form' },\n _react2.default.createElement('div', { className: 'cropit-preview' }),\n _react2.default.createElement('input', {\n type: 'range',\n className: 'cropit-image-zoom-input'\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-6 col-md-offset-3' },\n _react2.default.createElement(\n _button2.default,\n {\n onClick: this.cropAvatar,\n loading: this.state.isLoading,\n className: 'btn-primary btn-block'\n },\n this.props.upload ? gettext(\"Set avatar\") : gettext(\"Crop image\")\n ),\n _react2.default.createElement(\n _button2.default,\n {\n onClick: this.props.showIndex,\n disabled: this.state.isLoading,\n className: 'btn-default btn-block'\n },\n gettext(\"Cancel\")\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../services/ajax\":364,\"../../services/snackbar\":375,\"../avatar\":6,\"../button\":8,\"react\":\"react\"}],23:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Gallery = exports.GalleryItem = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _batch = require('../../utils/batch');\n\nvar _batch2 = _interopRequireDefault(_batch);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar GalleryItem = exports.GalleryItem = function (_React$Component) {\n _inherits(GalleryItem, _React$Component);\n\n function GalleryItem() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, GalleryItem);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = GalleryItem.__proto__ || Object.getPrototypeOf(GalleryItem)).call.apply(_ref, [this].concat(args))), _this), _this.select = function () {\n _this.props.select(_this.props.id);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n /* jshint ignore:start */\n\n\n _createClass(GalleryItem, [{\n key: 'getClassName',\n\n /* jshint ignore:end */\n\n value: function getClassName() {\n if (this.props.selection === this.props.id) {\n if (this.props.disabled) {\n return 'btn btn-avatar btn-disabled avatar-selected';\n } else {\n return 'btn btn-avatar avatar-selected';\n }\n } else if (this.props.disabled) {\n return 'btn btn-avatar btn-disabled';\n } else {\n return 'btn btn-avatar';\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'button',\n {\n type: 'button',\n className: this.getClassName(),\n disabled: this.props.disabled,\n onClick: this.select\n },\n _react2.default.createElement('img', { src: this.props.url })\n );\n /* jshint ignore:end */\n }\n }]);\n\n return GalleryItem;\n}(_react2.default.Component);\n\nvar Gallery = exports.Gallery = function (_React$Component2) {\n _inherits(Gallery, _React$Component2);\n\n function Gallery() {\n _classCallCheck(this, Gallery);\n\n return _possibleConstructorReturn(this, (Gallery.__proto__ || Object.getPrototypeOf(Gallery)).apply(this, arguments));\n }\n\n _createClass(Gallery, [{\n key: 'render',\n value: function render() {\n var _this3 = this;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'avatars-gallery' },\n _react2.default.createElement(\n 'h3',\n null,\n this.props.name\n ),\n _react2.default.createElement(\n 'div',\n { className: 'avatars-gallery-images' },\n (0, _batch2.default)(this.props.images, 4, null).map(function (row, i) {\n return _react2.default.createElement(\n 'div',\n { className: 'row', key: i },\n row.map(function (item, i) {\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-3', key: i },\n item ? _react2.default.createElement(GalleryItem, _extends({\n disabled: _this3.props.disabled,\n select: _this3.props.select,\n selection: _this3.props.selection\n }, item)) : _react2.default.createElement('div', { className: 'blank-avatar' })\n );\n })\n );\n })\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return Gallery;\n}(_react2.default.Component);\n\nvar _class = function (_React$Component3) {\n _inherits(_class, _React$Component3);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this4 = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this4.select = function (image) {\n _this4.setState({\n selection: image\n });\n };\n\n _this4.save = function () {\n if (_this4.state.isLoading) {\n return false;\n }\n\n _this4.setState({\n 'isLoading': true\n });\n\n _ajax2.default.post(_this4.props.user.api.avatar, {\n avatar: 'galleries',\n image: _this4.state.selection\n }).then(function (response) {\n _this4.setState({\n 'isLoading': false\n });\n\n _snackbar2.default.success(response.detail);\n _this4.props.onComplete(response);\n _this4.props.showIndex();\n }, function (rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail);\n _this4.setState({\n 'isLoading': false\n });\n } else {\n _this4.props.showError(rejection);\n }\n });\n };\n\n _this4.state = {\n 'selection': null,\n 'isLoading': false\n };\n return _this4;\n }\n\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n var _this5 = this;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(\n 'div',\n { className: 'modal-body modal-avatar-gallery' },\n this.props.options.galleries.map(function (item, i) {\n return _react2.default.createElement(Gallery, { name: item.name,\n images: item.images,\n selection: _this5.state.selection,\n disabled: _this5.state.isLoading,\n select: _this5.select,\n key: i });\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-6 col-md-offset-3' },\n _react2.default.createElement(\n _button2.default,\n { onClick: this.save,\n loading: this.state.isLoading,\n disabled: !this.state.selection,\n className: 'btn-primary btn-block' },\n this.state.selection ? gettext(\"Save choice\") : gettext(\"Select avatar\")\n ),\n _react2.default.createElement(\n _button2.default,\n { onClick: this.props.showIndex,\n disabled: this.state.isLoading,\n className: 'btn-default btn-block' },\n gettext(\"Cancel\")\n )\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../index\":301,\"../../services/ajax\":364,\"../../services/snackbar\":375,\"../../utils/batch\":379,\"../avatar\":6,\"../button\":8,\"react\":\"react\"}],24:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _loader = require('../loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.setGravatar = function () {\n _this.callApi('gravatar');\n };\n\n _this.setGenerated = function () {\n _this.callApi('generated');\n };\n\n _this.state = {\n 'isLoading': false\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'callApi',\n value: function callApi(avatarType) {\n var _this2 = this;\n\n if (this.state.isLoading) {\n return false;\n }\n\n this.setState({\n 'isLoading': true\n });\n\n _ajax2.default.post(this.props.user.api.avatar, {\n avatar: avatarType\n }).then(function (response) {\n _this2.setState({\n 'isLoading': false\n });\n\n _snackbar2.default.success(response.detail);\n _this2.props.onComplete(response);\n }, function (rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail);\n _this2.setState({\n 'isLoading': false\n });\n } else {\n _this2.props.showError(rejection);\n }\n });\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'getGravatarButton',\n\n /* jshint ignore:end */\n\n value: function getGravatarButton() {\n if (this.props.options.gravatar) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n _button2.default,\n { onClick: this.setGravatar,\n disabled: this.state.isLoading,\n className: 'btn-default btn-block btn-avatar-gravatar' },\n gettext(\"Download my Gravatar\")\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'getCropButton',\n value: function getCropButton() {\n if (!this.props.options.crop_src) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-default btn-block btn-avatar-crop',\n disabled: this.state.isLoading,\n onClick: this.props.showCrop\n },\n gettext(\"Re-crop uploaded image\")\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getUploadButton',\n value: function getUploadButton() {\n if (!this.props.options.upload) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-default btn-block btn-avatar-upload',\n disabled: this.state.isLoading,\n onClick: this.props.showUpload\n },\n gettext(\"Upload new image\")\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getGalleryButton',\n value: function getGalleryButton() {\n if (!this.props.options.galleries) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-default btn-block btn-avatar-gallery',\n disabled: this.state.isLoading,\n onClick: this.props.showGallery\n },\n gettext(\"Pick avatar from gallery\")\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getAvatarPreview',\n value: function getAvatarPreview() {\n /* jshint ignore:start */\n var userPeview = {\n id: this.props.user.id,\n avatars: this.props.options.avatars\n /* jshint ignore:end */\n\n };if (this.state.isLoading) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'avatar-preview preview-loading' },\n _react2.default.createElement(_avatar2.default, {\n size: '200',\n user: userPeview\n }),\n _react2.default.createElement(_loader2.default, null)\n );\n /* jshint ignore:end */\n }\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'avatar-preview' },\n _react2.default.createElement(_avatar2.default, {\n size: '200',\n user: userPeview\n })\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'modal-body modal-avatar-index' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-5' },\n this.getAvatarPreview()\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-md-7' },\n this.getGravatarButton(),\n _react2.default.createElement(\n _button2.default,\n { onClick: this.setGenerated,\n disabled: this.state.isLoading,\n className: 'btn-default btn-block btn-avatar-generate' },\n gettext(\"Generate my individual avatar\")\n ),\n this.getCropButton(),\n this.getUploadButton(),\n this.getGalleryButton()\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../services/ajax\":364,\"../../services/snackbar\":375,\"../avatar\":6,\"../button\":8,\"../loader\":57,\"react\":\"react\"}],25:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ChangeAvatarError = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.select = select;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _index = require('./index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _crop = require('./crop');\n\nvar _crop2 = _interopRequireDefault(_crop);\n\nvar _upload = require('./upload');\n\nvar _upload2 = _interopRequireDefault(_upload);\n\nvar _gallery = require('./gallery');\n\nvar _gallery2 = _interopRequireDefault(_gallery);\n\nvar _modalLoader = require('../modal-loader');\n\nvar _modalLoader2 = _interopRequireDefault(_modalLoader);\n\nvar _users = require('../../reducers/users');\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar ChangeAvatarError = exports.ChangeAvatarError = function (_React$Component) {\n _inherits(ChangeAvatarError, _React$Component);\n\n function ChangeAvatarError() {\n _classCallCheck(this, ChangeAvatarError);\n\n return _possibleConstructorReturn(this, (ChangeAvatarError.__proto__ || Object.getPrototypeOf(ChangeAvatarError)).apply(this, arguments));\n }\n\n _createClass(ChangeAvatarError, [{\n key: 'getErrorReason',\n value: function getErrorReason() {\n if (this.props.reason) {\n /* jshint ignore:start */\n return _react2.default.createElement('p', { dangerouslySetInnerHTML: { __html: this.props.reason } });\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'remove_circle_outline'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n this.props.message\n ),\n this.getErrorReason(),\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n gettext(\"Ok\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return ChangeAvatarError;\n}(_react2.default.Component);\n\nvar _class = function (_React$Component2) {\n _inherits(_class, _React$Component2);\n\n function _class() {\n var _ref;\n\n var _temp, _this2, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this2 = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this2), _this2.showError = function (error) {\n _this2.setState({\n error: error\n });\n }, _this2.showIndex = function () {\n _this2.setState({\n 'component': _index2.default\n });\n }, _this2.showUpload = function () {\n _this2.setState({\n 'component': _upload2.default\n });\n }, _this2.showCrop = function () {\n _this2.setState({\n 'component': _crop2.default\n });\n }, _this2.showGallery = function () {\n _this2.setState({\n 'component': _gallery2.default\n });\n }, _this2.completeFlow = function (options) {\n _store2.default.dispatch((0, _users.updateAvatar)(_this2.props.user, options.avatars));\n\n _this2.setState({\n 'component': _index2.default,\n options: options\n });\n }, _temp), _possibleConstructorReturn(_this2, _ret);\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this3 = this;\n\n _ajax2.default.get(this.props.user.api.avatar).then(function (options) {\n _this3.setState({\n 'component': _index2.default,\n 'options': options,\n 'error': null\n });\n }, function (rejection) {\n _this3.showError(rejection);\n });\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'getBody',\n\n /* jshint ignore:end */\n\n value: function getBody() {\n if (this.state) {\n if (this.state.error) {\n /* jshint ignore:start */\n return _react2.default.createElement(ChangeAvatarError, { message: this.state.error.detail,\n reason: this.state.error.reason });\n /* jshint ignore:end */\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(this.state.component, { options: this.state.options,\n user: this.props.user,\n onComplete: this.completeFlow,\n showError: this.showError,\n showIndex: this.showIndex,\n showCrop: this.showCrop,\n showUpload: this.showUpload,\n showGallery: this.showGallery });\n /* jshint ignore:end */\n }\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(_modalLoader2.default, null);\n /* jshint ignore:end */\n }\n }\n }, {\n key: 'getClassName',\n value: function getClassName() {\n if (this.state && this.state.error) {\n return \"modal-dialog modal-message modal-change-avatar\";\n } else {\n return \"modal-dialog modal-change-avatar\";\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: this.getClassName(),\n role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'close', 'data-dismiss': 'modal',\n 'aria-label': gettext(\"Close\") },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Change your avatar\")\n )\n ),\n this.getBody()\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\nfunction select(state) {\n return {\n 'user': state.auth.user\n };\n}\n\n},{\"../../reducers/users\":363,\"../../services/ajax\":364,\"../../services/store\":376,\"../modal-loader\":60,\"./crop\":22,\"./gallery\":23,\"./index\":24,\"./upload\":26,\"react\":\"react\"}],26:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _crop = require('./crop');\n\nvar _crop2 = _interopRequireDefault(_crop);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _fileSize = require('../../utils/file-size');\n\nvar _fileSize2 = _interopRequireDefault(_fileSize);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.pickFile = function () {\n document.getElementById('avatar-hidden-upload').click();\n };\n\n _this.uploadFile = function () {\n var image = document.getElementById('avatar-hidden-upload').files[0];\n if (!image) return;\n\n var validationError = _this.validateFile(image);\n if (validationError) {\n _snackbar2.default.error(validationError);\n return;\n }\n\n _this.setState({\n image: image,\n preview: URL.createObjectURL(image),\n progress: 0\n });\n\n var data = new FormData();\n data.append('avatar', 'upload');\n data.append('image', image);\n\n _ajax2.default.upload(_this.props.user.api.avatar, data, function (progress) {\n _this.setState({\n progress: progress\n });\n }).then(function (data) {\n _this.setState({\n options: data,\n uploaded: data.detail\n });\n\n _snackbar2.default.info(gettext(\"Your image has been uploaded and you may now crop it.\"));\n }, function (rejection) {\n if (rejection.status === 400 || rejection.status === 413) {\n _snackbar2.default.error(rejection.detail);\n _this.setState({\n isLoading: false,\n image: null,\n progress: 0\n });\n } else {\n _this.props.showError(rejection);\n }\n });\n };\n\n _this.state = {\n image: null,\n preview: null,\n progress: 0,\n uploaded: null,\n dataUrl: null\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'validateFile',\n value: function validateFile(image) {\n if (image.size > this.props.options.upload.limit) {\n return interpolate(gettext(\"Selected file is too big. (%(filesize)s)\"), {\n 'filesize': (0, _fileSize2.default)(image.size)\n }, true);\n }\n\n var invalidTypeMsg = gettext(\"Selected file type is not supported.\");\n if (this.props.options.upload.allowed_mime_types.indexOf(image.type) === -1) {\n return invalidTypeMsg;\n }\n\n var extensionFound = false;\n var loweredFilename = image.name.toLowerCase();\n this.props.options.upload.allowed_extensions.map(function (extension) {\n if (loweredFilename.substr(extension.length * -1) === extension) {\n extensionFound = true;\n }\n });\n\n if (!extensionFound) {\n return invalidTypeMsg;\n }\n\n return false;\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'getUploadRequirements',\n\n /* jshint ignore:end */\n\n value: function getUploadRequirements(options) {\n var extensions = options.allowed_extensions.map(function (extension) {\n return extension.substr(1);\n });\n\n return interpolate(gettext(\"%(files)s files smaller than %(limit)s\"), {\n 'files': extensions.join(', '),\n 'limit': (0, _fileSize2.default)(options.limit)\n }, true);\n }\n }, {\n key: 'getUploadButton',\n value: function getUploadButton() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'modal-body modal-avatar-upload' },\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-pick-file',\n onClick: this.pickFile\n },\n _react2.default.createElement(\n 'div',\n { className: 'material-icon' },\n 'input'\n ),\n gettext(\"Select file\")\n ),\n _react2.default.createElement(\n 'p',\n { className: 'text-muted' },\n this.getUploadRequirements(this.props.options.upload)\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getUploadProgressLabel',\n value: function getUploadProgressLabel() {\n return interpolate(gettext(\"%(progress)s % complete\"), {\n 'progress': this.state.progress\n }, true);\n }\n }, {\n key: 'getUploadProgress',\n value: function getUploadProgress() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'modal-body modal-avatar-upload' },\n _react2.default.createElement(\n 'div',\n { className: 'upload-progress' },\n _react2.default.createElement('img', { src: this.state.preview }),\n _react2.default.createElement(\n 'div',\n { className: 'progress' },\n _react2.default.createElement(\n 'div',\n {\n className: 'progress-bar',\n role: 'progressbar',\n 'aria-valuenow': '{this.state.progress}',\n 'aria-valuemin': '0',\n 'aria-valuemax': '100',\n style: { width: this.state.progress + '%' }\n },\n _react2.default.createElement(\n 'span',\n { className: 'sr-only' },\n this.getUploadProgressLabel()\n )\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'renderUpload',\n value: function renderUpload() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement('input', {\n type: 'file',\n id: 'avatar-hidden-upload',\n className: 'hidden-file-upload',\n onChange: this.uploadFile\n }),\n this.state.image ? this.getUploadProgress() : this.getUploadButton(),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-6 col-md-offset-3' },\n _react2.default.createElement(\n _button2.default,\n {\n onClick: this.props.showIndex,\n disabled: !!this.state.image,\n className: 'btn-default btn-block'\n },\n gettext(\"Cancel\")\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'renderCrop',\n value: function renderCrop() {\n /* jshint ignore:start */\n return _react2.default.createElement(_crop2.default, {\n options: this.state.options,\n user: this.props.user,\n upload: this.state.uploaded,\n dataUrl: this.state.preview,\n onComplete: this.props.onComplete,\n showError: this.props.showError,\n showIndex: this.props.showIndex\n });\n /* jshint ignore:end */\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n if (this.state.uploaded) return this.renderCrop();\n\n return this.renderUpload();\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../services/ajax\":364,\"../../services/snackbar\":375,\"../../utils/file-size\":383,\"../button\":8,\"./crop\":22,\"react\":\"react\"}],27:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: \"getClassName\",\n value: function getClassName() {\n if (this.props.dropdown) {\n return \"btn btn-default btn-aligned btn-icon btn-dropdown-toggle open hidden-md hidden-lg\";\n } else {\n return \"btn btn-default btn-aligned btn-icon btn-dropdown-toggle hidden-md hidden-lg\";\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n \"button\",\n { className: this.getClassName(),\n type: \"button\",\n onClick: this.props.toggleNav,\n \"aria-haspopup\": \"true\",\n \"aria-expanded\": this.props.dropdown ? 'true' : 'false' },\n _react2.default.createElement(\n \"i\",\n { className: \"material-icon\" },\n \"menu\"\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\"}],28:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var display = _ref.display;\n\n if (!display) return null;\n\n return _react2.default.createElement(_panelMessage2.default, {\n helpText: gettext(\"No profile details are editable at this time.\"),\n message: gettext(\"This option is currently unavailable.\")\n });\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _panelMessage = require('../panel-message');\n\nvar _panelMessage2 = _interopRequireDefault(_panelMessage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../panel-message\":93,\"react\":\"react\"}],29:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _select = require('../select');\n\nvar _select2 = _interopRequireDefault(_select);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.onChange = function (ev) {\n var _this$props = _this.props,\n field = _this$props.field,\n onChange = _this$props.onChange;\n\n onChange(field.fieldname, ev.target.value);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n var _props = this.props,\n disabled = _props.disabled,\n field = _props.field,\n value = _props.value;\n var input = field.input;\n\n\n if (input.type === 'select') {\n return _react2.default.createElement(_select2.default, {\n choices: input.choices,\n disabled: disabled,\n id: \"id_\" + field.fieldname,\n onChange: this.onChange,\n value: value\n });\n }\n\n if (input.type === 'textarea') {\n return _react2.default.createElement('textarea', {\n className: 'form-control',\n disabled: disabled,\n id: \"id_\" + field.fieldname,\n onChange: this.onChange,\n rows: '4',\n type: 'text',\n value: value\n });\n }\n\n if (input.type === 'text') {\n return _react2.default.createElement('input', {\n className: 'form-control',\n disabled: disabled,\n id: \"id_\" + field.fieldname,\n onChange: this.onChange,\n type: 'text',\n value: value\n });\n }\n\n return null;\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../select\":209,\"react\":\"react\"}],30:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var disabled = _ref.disabled,\n errors = _ref.errors,\n fields = _ref.fields,\n name = _ref.name,\n onChange = _ref.onChange,\n value = _ref.value;\n\n return _react2.default.createElement(\n 'fieldset',\n null,\n _react2.default.createElement(\n 'legend',\n null,\n name\n ),\n fields.map(function (field) {\n return _react2.default.createElement(\n _formGroup2.default,\n {\n 'for': \"id_\" + field.fieldname,\n helpText: field.help_text,\n key: field.fieldname,\n label: field.label,\n validation: errors[field.fieldname]\n },\n _react2.default.createElement(_fieldInput2.default, {\n disabled: disabled,\n field: field,\n onChange: onChange,\n value: value[field.fieldname]\n })\n );\n })\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _fieldInput = require('./field-input');\n\nvar _fieldInput2 = _interopRequireDefault(_fieldInput);\n\nvar _formGroup = require('../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../form-group\":54,\"./field-input\":29,\"react\":\"react\"}],31:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.CancelButton = CancelButton;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _fieldset = require('./fieldset');\n\nvar _fieldset2 = _interopRequireDefault(_fieldset);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.onChange = function (name, value) {\n _this.setState(_defineProperty({}, name, value));\n };\n\n _this.state = {\n isLoading: false,\n\n errors: {}\n };\n\n var groups = props.groups.length;\n for (var i = 0; i < groups; i++) {\n var group = props.groups[i];\n var fields = group.fields.length;\n for (var f = 0; f < fields; f++) {\n var fieldname = group.fields[f].fieldname;\n var initial = group.fields[f].initial;\n _this.state[fieldname] = initial;\n }\n }\n return _this;\n }\n\n _createClass(_class, [{\n key: 'send',\n value: function send() {\n var data = Object.assign({}, this.state, {\n errors: null,\n isLoading: null\n });\n\n return _ajax2.default.post(this.props.api, data);\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(data) {\n this.props.onSuccess(data);\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(gettext(\"Form contains errors.\"));\n this.setState({ errors: rejection });\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n return _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n this.props.groups.map(function (group, i) {\n return _react2.default.createElement(_fieldset2.default, {\n disabled: _this2.state.isLoading,\n errors: _this2.state.errors,\n fields: group.fields,\n name: group.name,\n key: i,\n onChange: _this2.onChange,\n value: _this2.state\n });\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-footer text-right' },\n _react2.default.createElement(CancelButton, {\n disabled: this.state.isLoading,\n onCancel: this.props.onCancel\n }),\n ' ',\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary', loading: this.state.isLoading },\n gettext(\"Save changes\")\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\nfunction CancelButton(_ref) {\n var onCancel = _ref.onCancel,\n disabled = _ref.disabled;\n\n if (!onCancel) return null;\n\n return _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n disabled: disabled,\n onClick: onCancel,\n type: 'button'\n },\n gettext(\"Cancel\")\n );\n}\n\n},{\"../../services/ajax\":364,\"../../services/snackbar\":375,\"../button\":8,\"../form\":55,\"./fieldset\":30,\"react\":\"react\"}],32:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.FormDisplay = FormDisplay;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _blankslate = require('./blankslate');\n\nvar _blankslate2 = _interopRequireDefault(_blankslate);\n\nvar _loader = require('./loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.state = {\n loading: true,\n groups: null\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n _ajax2.default.get(this.props.api).then(function (groups) {\n _this2.setState({\n loading: false,\n\n groups: groups\n });\n }, function (rejection) {\n _snackbar2.default.apiError(rejection);\n if (_this2.props.cancel) {\n _this2.props.cancel();\n }\n });\n }\n }, {\n key: 'render',\n value: function render() {\n var _state = this.state,\n groups = _state.groups,\n loading = _state.loading;\n\n\n return _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-form' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n gettext(\"Edit details\")\n )\n ),\n _react2.default.createElement(_loader2.default, { display: loading }),\n _react2.default.createElement(_blankslate2.default, { display: !loading && !groups.length }),\n _react2.default.createElement(FormDisplay, {\n api: this.props.api,\n display: !loading && groups.length,\n groups: groups,\n onCancel: this.props.onCancel,\n onSuccess: this.props.onSuccess\n })\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\nfunction FormDisplay(_ref) {\n var api = _ref.api,\n display = _ref.display,\n groups = _ref.groups,\n onCancel = _ref.onCancel,\n onSuccess = _ref.onSuccess;\n\n if (!display) return null;\n\n return _react2.default.createElement(_form2.default, {\n api: api,\n groups: groups,\n onCancel: onCancel,\n onSuccess: onSuccess\n });\n}\n\n},{\"../../services/ajax\":364,\"../../services/snackbar\":375,\"./blankslate\":28,\"./form\":31,\"./loader\":33,\"react\":\"react\"}],33:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var display = _ref.display;\n\n if (!display) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(_loader2.default, null)\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _loader = require('../loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../loader\":57,\"react\":\"react\"}],34:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n _this.props.replaceSelection(_this.props.execAction);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-icon ' + this.props.className,\n disabled: this.props.disabled,\n onClick: this.onClick,\n title: this.props.title,\n type: 'button'\n },\n this.props.children\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\"}],35:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // jshint ignore:start\n\n\nexports.default = function (props) {\n return _react2.default.createElement(\n _action2.default,\n _extends({\n execAction: insertCode,\n title: gettext(\"Insert code\")\n }, props),\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'functions'\n )\n );\n};\n\nexports.insertCode = insertCode;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _action = require('./action');\n\nvar _action2 = _interopRequireDefault(_action);\n\nvar _isUrl = require('../../../utils/is-url');\n\nvar _isUrl2 = _interopRequireDefault(_isUrl);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction insertCode(selection, replace) {\n var syntax = $.trim(prompt(gettext(\"Enter name of syntax of your code (optional)\") + ':'));\n replace(\"\\n\\n```\" + syntax + '\\n' + selection + \"\\n```\\n\\n\");\n}\n\n},{\"../../../utils/is-url\":384,\"./action\":34,\"react\":\"react\"}],36:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // jshint ignore:start\n\n\nexports.default = function (props) {\n return _react2.default.createElement(\n _action2.default,\n _extends({\n execAction: makeEmphasis,\n title: gettext(\"Emphase selection\")\n }, props),\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'format_italic'\n )\n );\n};\n\nexports.makeEmphasis = makeEmphasis;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _action = require('./action');\n\nvar _action2 = _interopRequireDefault(_action);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction makeEmphasis(selection, replace) {\n if (selection.length) {\n replace('*' + selection + '*');\n }\n}\n\n},{\"./action\":34,\"react\":\"react\"}],37:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // jshint ignore:start\n\n\nexports.default = function (props) {\n return _react2.default.createElement(\n _action2.default,\n _extends({\n execAction: insertHr,\n title: gettext(\"Insert horizontal ruler\")\n }, props),\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'remove'\n )\n );\n};\n\nexports.insertHr = insertHr;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _action = require('./action');\n\nvar _action2 = _interopRequireDefault(_action);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction insertHr(selection, replace) {\n replace('\\n\\n- - - - -\\n\\n');\n}\n\n},{\"./action\":34,\"react\":\"react\"}],38:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // jshint ignore:start\n\n\nexports.default = function (props) {\n return _react2.default.createElement(\n _action2.default,\n _extends({\n execAction: insertImage,\n title: gettext(\"Insert image\")\n }, props),\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'insert_photo'\n )\n );\n};\n\nexports.insertImage = insertImage;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _action = require('./action');\n\nvar _action2 = _interopRequireDefault(_action);\n\nvar _isUrl = require('../../../utils/is-url');\n\nvar _isUrl2 = _interopRequireDefault(_isUrl);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction insertImage(selection, replace) {\n var url = '';\n var label = '';\n\n if (selection.length) {\n if ((0, _isUrl2.default)(selection)) {\n url = selection;\n } else {\n label = selection;\n }\n }\n\n url = $.trim(prompt(gettext(\"Enter link to image\") + ':', url));\n label = $.trim(prompt(gettext(\"Enter image label (optional)\") + ':', label));\n\n if (url.length) {\n if (label.length > 0) {\n replace('![' + label + '](' + url + ')');\n } else {\n replace('!(' + url + ')');\n }\n }\n}\n\n},{\"../../../utils/is-url\":384,\"./action\":34,\"react\":\"react\"}],39:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // jshint ignore:start\n\n\nexports.default = function (props) {\n return _react2.default.createElement(\n _action2.default,\n _extends({\n execAction: insertLink,\n title: gettext(\"Insert link\")\n }, props),\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'insert_link'\n )\n );\n};\n\nexports.insertLink = insertLink;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _action = require('./action');\n\nvar _action2 = _interopRequireDefault(_action);\n\nvar _isUrl = require('../../../utils/is-url');\n\nvar _isUrl2 = _interopRequireDefault(_isUrl);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction insertLink(selection, replace) {\n var url = '';\n var label = '';\n\n if (selection.length) {\n if ((0, _isUrl2.default)(selection)) {\n url = selection;\n } else {\n label = selection;\n }\n }\n\n url = $.trim(prompt(gettext(\"Enter link address\") + ':', url) || '');\n if (url.length === 0) return false;\n label = $.trim(prompt(gettext(\"Enter link label (optional)\") + ':', label));\n\n if (url.length) {\n if (label.length > 0) {\n replace('[' + label + '](' + url + ')');\n } else {\n replace(url);\n }\n }\n}\n\n},{\"../../../utils/is-url\":384,\"./action\":34,\"react\":\"react\"}],40:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // jshint ignore:start\n\n\nexports.default = function (props) {\n return _react2.default.createElement(\n _action2.default,\n _extends({\n execAction: insertQuote,\n title: gettext(\"Insert quote\")\n }, props),\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'format_quote'\n )\n );\n};\n\nexports.insertQuote = insertQuote;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _action = require('./action');\n\nvar _action2 = _interopRequireDefault(_action);\n\nvar _isUrl = require('../../../utils/is-url');\n\nvar _isUrl2 = _interopRequireDefault(_isUrl);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction insertQuote(selection, replace) {\n var title = $.trim(prompt(gettext(\"Enter quote autor, prefix usernames with @\") + ':', title));\n\n if (title) {\n replace('\\n\\n[quote=\"' + title + '\"]\\n' + selection + '\\n[/quote]\\n\\n');\n } else {\n replace('\\n\\n[quote]\\n' + selection + '\\n[/quote]\\n\\n');\n }\n}\n\n},{\"../../../utils/is-url\":384,\"./action\":34,\"react\":\"react\"}],41:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // jshint ignore:start\n\n\nexports.default = function (props) {\n return _react2.default.createElement(\n _action2.default,\n _extends({\n execAction: makeStriketrough,\n title: gettext(\"Striketrough selection\")\n }, props),\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'format_strikethrough'\n )\n );\n};\n\nexports.makeStriketrough = makeStriketrough;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _action = require('./action');\n\nvar _action2 = _interopRequireDefault(_action);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction makeStriketrough(selection, replace) {\n if (selection.length) {\n replace('~~' + selection + '~~');\n }\n}\n\n},{\"./action\":34,\"react\":\"react\"}],42:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // jshint ignore:start\n\n\nexports.default = function (props) {\n return _react2.default.createElement(\n _action2.default,\n _extends({\n execAction: makeStrong,\n title: gettext(\"Bolder selection\")\n }, props),\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'format_bold'\n )\n );\n};\n\nexports.makeStrong = makeStrong;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _action = require('./action');\n\nvar _action2 = _interopRequireDefault(_action);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction makeStrong(selection, replace) {\n if (selection.length) {\n replace('**' + selection + '**');\n }\n}\n\n},{\"./action\":34,\"react\":\"react\"}],43:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.Preview = Preview;\nexports.Image = Image;\nexports.Icon = Icon;\nexports.Filename = Filename;\nexports.Details = Details;\nexports.Actions = Actions;\nexports.Insert = Insert;\nexports.Remove = Remove;\nexports.Undo = Undo;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _ = require('../../../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _escapeHtml = require('../../../../utils/escape-html');\n\nvar _escapeHtml2 = _interopRequireDefault(_escapeHtml);\n\nvar _fileSize = require('../../../../utils/file-size');\n\nvar _fileSize2 = _interopRequireDefault(_fileSize);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar DATE_ABBR = '%(relative)s';\nvar USER_SPAN = '%(user)s';\nvar USER_URL = '%(user)s';\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.onInsert = function () {\n _this.props.replaceSelection(_this.insertAttachment);\n }, _this.insertAttachment = function (selection, replace) {\n var item = _this.props.item;\n\n if (item.is_image) {\n if (item.url.thumb) {\n replace('[![' + item.filename + '](' + item.url.thumb + ')](' + item.url.index + ')');\n } else {\n replace('[![' + item.filename + '](' + item.url.index + ')](' + item.url.index + ')');\n }\n } else {\n replace('[' + item.filename + '](' + item.url.index + ')');\n }\n }, _this.onRemove = function () {\n _this.updateItem({\n isRemoved: true\n });\n }, _this.onUndo = function () {\n _this.updateItem({\n isRemoved: false\n });\n }, _this.updateItem = function (newState) {\n var updatedAttachments = _this.props.attachments.map(function (item) {\n if (item.id === _this.props.item.id) {\n return Object.assign({}, item, newState);\n } else {\n return item;\n }\n });\n _this.props.onAttachmentsChange(updatedAttachments);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'li',\n { className: 'editor-attachment-complete' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-8 col-md-9' },\n _react2.default.createElement(Preview, this.props),\n _react2.default.createElement(\n 'div',\n { className: 'editor-attachment-details' },\n _react2.default.createElement(Filename, this.props),\n _react2.default.createElement(Details, this.props)\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-4 col-md-3 xs-margin-top-half' },\n _react2.default.createElement(Actions, _extends({\n onInsert: this.onInsert,\n onRemove: this.onRemove,\n onUndo: this.onUndo\n }, this.props))\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n;\n\nfunction Preview(props) {\n if (props.item.is_image) {\n return _react2.default.createElement(Image, props);\n } else {\n return _react2.default.createElement(Icon, props);\n }\n}\n\nfunction Image(props) {\n var thumbnailUrl = props.item.url.thumb || props.item.url.index;\n\n return _react2.default.createElement(\n 'div',\n { className: 'editor-attachment-image' },\n _react2.default.createElement('a', {\n href: props.item.url.index + '?shva=1',\n style: { backgroundImage: \"url('\" + thumbnailUrl + \"?shva=1')\" },\n target: '_blank'\n })\n );\n};\n\nfunction Icon(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'editor-attachment-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'insert_drive_file'\n )\n );\n}\n\nfunction Filename(props) {\n return _react2.default.createElement(\n 'h4',\n null,\n _react2.default.createElement(\n 'a',\n {\n className: 'item-title',\n href: props.item.url.index + '?shva=1',\n target: '_blank'\n },\n props.item.filename\n )\n );\n}\n\nfunction Details(props) {\n var user = null;\n if (props.item.url.uploader) {\n user = interpolate(USER_URL, {\n url: (0, _escapeHtml2.default)(props.item.url.uploader),\n user: (0, _escapeHtml2.default)(props.item.uploader_name)\n }, true);\n } else {\n user = interpolate(USER_SPAN, {\n user: (0, _escapeHtml2.default)(props.item.uploader_name)\n }, true);\n }\n\n var date = interpolate(DATE_ABBR, {\n absolute: (0, _escapeHtml2.default)(props.item.uploaded_on.format('LLL')),\n relative: (0, _escapeHtml2.default)(props.item.uploaded_on.fromNow())\n }, true);\n\n var message = interpolate((0, _escapeHtml2.default)(gettext(\"%(filetype)s, %(size)s, uploaded by %(uploader)s %(uploaded_on)s.\")), {\n filetype: props.item.filetype,\n size: (0, _fileSize2.default)(props.item.size),\n uploader: user,\n uploaded_on: date\n }, true);\n\n return _react2.default.createElement('p', { dangerouslySetInnerHTML: { __html: message } });\n}\n\nfunction Actions(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'editor-attachment-actions' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(Insert, props),\n _react2.default.createElement(Remove, props),\n _react2.default.createElement(Undo, props)\n )\n );\n}\n\nfunction Insert(props) {\n if (!!props.item.isRemoved) {\n return null;\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-6' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-sm btn-block',\n onClick: props.onInsert,\n type: 'button'\n },\n gettext(\"Insert\")\n )\n );\n}\n\nfunction Remove(props) {\n if (!!props.item.isRemoved && props.item.acl.can_delete) {\n return null;\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-6' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-sm btn-block',\n onClick: props.onRemove,\n type: 'button'\n },\n gettext(\"Remove\")\n )\n );\n}\n\nfunction Undo(props) {\n if (!props.item.isRemoved) {\n return null;\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-12' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-sm btn-block',\n onClick: props.onUndo,\n type: 'button'\n },\n gettext(\"Undo removal\")\n )\n );\n}\n\n},{\"../../../..\":301,\"../../../../utils/escape-html\":382,\"../../../../utils/file-size\":383,\"react\":\"react\"}],44:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _escapeHtml = require('../../../../utils/escape-html');\n\nvar _escapeHtml2 = _interopRequireDefault(_escapeHtml);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar STRONG = '%(name)s';\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n var filteredAttachments = _this.props.attachments.filter(function (item) {\n return item.key !== _this.props.item.key;\n });\n _this.props.onAttachmentsChange(filteredAttachments);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n var filename = interpolate(STRONG, {\n name: (0, _escapeHtml2.default)(this.props.item.filename)\n }, true);\n\n var title = interpolate(gettext(\"Error uploading %(filename)s\"), {\n filename: filename,\n progress: this.props.item.progress + '%'\n }, true);\n\n return _react2.default.createElement(\n 'li',\n { className: 'editor-attachment-error' },\n _react2.default.createElement(\n 'div',\n { className: 'editor-attachment-error-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'warning'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'editor-attachment-error-message' },\n _react2.default.createElement('h4', { dangerouslySetInnerHTML: { __html: title + ':' } }),\n _react2.default.createElement(\n 'p',\n null,\n this.props.item.error\n ),\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-sm',\n onClick: this.onClick,\n type: 'button'\n },\n gettext(\"Dismiss\")\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n;\n\n},{\"../../../../utils/escape-html\":382,\"react\":\"react\"}],45:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n if (props.item.id) {\n return _react2.default.createElement(_complete2.default, props);\n }\n\n if (props.item.error) {\n return _react2.default.createElement(_error2.default, props);\n }\n\n return _react2.default.createElement(_upload2.default, props);\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _complete = require('./complete');\n\nvar _complete2 = _interopRequireDefault(_complete);\n\nvar _error = require('./error');\n\nvar _error2 = _interopRequireDefault(_error);\n\nvar _upload = require('./upload');\n\nvar _upload2 = _interopRequireDefault(_upload);\n\nvar _ = require('../../../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _escapeHtml = require('../../../../utils/escape-html');\n\nvar _escapeHtml2 = _interopRequireDefault(_escapeHtml);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../../..\":301,\"../../../../utils/escape-html\":382,\"./complete\":43,\"./error\":44,\"./upload\":46,\"react\":\"react\"}],46:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n var filename = interpolate(STRONG, {\n name: (0, _escapeHtml2.default)(props.item.filename)\n }, true);\n\n var message = interpolate(gettext(\"Uploading %(filename)s... %(progress)s\"), {\n filename: filename,\n progress: props.item.progress + '%'\n }, true);\n\n return _react2.default.createElement(\n 'li',\n { className: 'editor-attachment-upload' },\n _react2.default.createElement(\n 'div',\n { className: 'editor-attachment-progress-bar' },\n _react2.default.createElement('div', {\n className: 'editor-attachment-progress',\n style: { width: props.item.progress + '%' }\n })\n ),\n _react2.default.createElement('p', {\n className: 'editor-attachment-upload-message',\n dangerouslySetInnerHTML: { __html: message }\n })\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _escapeHtml = require('../../../../utils/escape-html');\n\nvar _escapeHtml2 = _interopRequireDefault(_escapeHtml);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:start\nvar STRONG = '%(name)s';\n\n;\n\n},{\"../../../../utils/escape-html\":382,\"react\":\"react\"}],47:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n if (!_2.default.get('user').acl.max_attachment_size) {\n return null;\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'editor-attachments' },\n _react2.default.createElement(_list2.default, props),\n _react2.default.createElement(_uploader2.default, props)\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _list = require('./list');\n\nvar _list2 = _interopRequireDefault(_list);\n\nvar _uploader = require('./uploader');\n\nvar _uploader2 = _interopRequireDefault(_uploader);\n\nvar _ = require('../../..');\n\nvar _2 = _interopRequireDefault(_);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n; // jshint ignore:start\n\n},{\"../../..\":301,\"./list\":48,\"./uploader\":50,\"react\":\"react\"}],48:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // jshint ignore:start\n\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'ul',\n { className: 'list-unstyled editor-attachments-list' },\n props.attachments.map(function (item) {\n return _react2.default.createElement(_attachment2.default, _extends({ item: item, key: item.id || item.key }, props));\n })\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _attachment = require('./attachment');\n\nvar _attachment2 = _interopRequireDefault(_attachment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n;\n\n},{\"./attachment\":45,\"react\":\"react\"}],49:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _ = require('../../..');\n\nvar _2 = _interopRequireDefault(_);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n document.getElementById('editor-upload-field').click();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n if (!_2.default.get('user').acl.max_attachment_size) {\n return null;\n }\n\n return _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-icon ' + this.props.className,\n disabled: this.props.disabled,\n onClick: this.onClick,\n title: gettext('Upload file'),\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'file_upload'\n )\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n;\n\n},{\"../../..\":301,\"react\":\"react\"}],50:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.getRandomKey = getRandomKey;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _ = require('../../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.onChange = function (event) {\n var file = event.target.files[0];\n if (!file) {\n return;\n }\n\n var upload = {\n id: null,\n key: getRandomKey(),\n progress: 0,\n error: null,\n filename: file.name\n };\n\n _this.props.onAttachmentsChange([upload].concat(_this.props.attachments));\n\n var data = new FormData();\n data.append('upload', file);\n\n _ajax2.default.upload(_2.default.get('ATTACHMENTS_API'), data, function (progress) {\n upload.progress = progress;\n _this.props.onAttachmentsChange(_this.props.attachments.concat());\n }).then(function (data) {\n data.uploaded_on = (0, _moment2.default)(data.uploaded_on);\n Object.assign(upload, data);\n _this.props.onAttachmentsChange(_this.props.attachments.concat());\n }, function (rejection) {\n if (rejection.status === 400 || rejection.status === 413) {\n upload.error = rejection.detail;\n _this.props.onAttachmentsChange(_this.props.attachments.concat());\n } else {\n _snackbar2.default.apiError(rejection);\n }\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement('input', {\n id: 'editor-upload-field',\n onChange: this.onChange,\n type: 'file'\n });\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n;\n\nfunction getRandomKey() {\n return 'upld-' + Math.round(new Date().getTime());\n}\n\n},{\"../../..\":301,\"../../../services/ajax\":364,\"../../../services/snackbar\":375,\"moment\":\"moment\",\"react\":\"react\"}],51:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.Protect = Protect;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _code = require('./actions/code');\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _emphasis = require('./actions/emphasis');\n\nvar _emphasis2 = _interopRequireDefault(_emphasis);\n\nvar _hr = require('./actions/hr');\n\nvar _hr2 = _interopRequireDefault(_hr);\n\nvar _image = require('./actions/image');\n\nvar _image2 = _interopRequireDefault(_image);\n\nvar _link = require('./actions/link');\n\nvar _link2 = _interopRequireDefault(_link);\n\nvar _striketrough = require('./actions/striketrough');\n\nvar _striketrough2 = _interopRequireDefault(_striketrough);\n\nvar _strong = require('./actions/strong');\n\nvar _strong2 = _interopRequireDefault(_strong);\n\nvar _quote = require('./actions/quote');\n\nvar _quote2 = _interopRequireDefault(_quote);\n\nvar _attachments = require('./attachments');\n\nvar _attachments2 = _interopRequireDefault(_attachments);\n\nvar _uploadButton = require('./attachments/upload-button');\n\nvar _uploadButton2 = _interopRequireDefault(_uploadButton);\n\nvar _markupPreview = require('./markup-preview');\n\nvar _markupPreview2 = _interopRequireDefault(_markupPreview);\n\nvar _textutils = require('./textutils');\n\nvar textUtils = _interopRequireWildcard(_textutils);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.onPreviewClick = function () {\n if (_this.state.isPreviewLoading) {\n return;\n }\n\n _this.setState({\n isPreviewLoading: true\n });\n\n _ajax2.default.post(_2.default.get('PARSE_MARKUP_API'), { post: _this.props.value }).then(function (data) {\n _modal2.default.show(_react2.default.createElement(_markupPreview2.default, { markup: data.parsed }));\n\n _this.setState({\n isPreviewLoading: false\n });\n }, function (rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n\n _this.setState({\n isPreviewLoading: false\n });\n });\n };\n\n _this.replaceSelection = function (operation) {\n operation(textUtils.getSelectionText(), _this._replaceSelection);\n };\n\n _this._replaceSelection = function (newValue) {\n _this.props.onChange({\n target: {\n value: textUtils.replace(newValue)\n }\n });\n };\n\n _this.state = {\n isPreviewLoading: false\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n $('#editor-textarea').atwho({\n at: '@',\n displayTpl: '
  • \"\"${username}
  • ',\n insertTpl: '@${username}',\n searchKey: 'username',\n callbacks: {\n remoteFilter: function remoteFilter(query, callback) {\n $.getJSON(_2.default.get('MENTION_API'), { q: query }, callback);\n }\n }\n });\n\n $('#editor-textarea').on(\"inserted.atwho\", function (event, flag, query) {\n _this2.props.onChange(event);\n });\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'div',\n { className: 'editor-border' },\n _react2.default.createElement('textarea', {\n className: 'form-control',\n value: this.props.value,\n disabled: this.props.loading,\n id: 'editor-textarea',\n onChange: this.props.onChange,\n rows: '9'\n }),\n _react2.default.createElement(\n 'div',\n { className: 'editor-footer' },\n _react2.default.createElement(\n 'div',\n { className: 'buttons-list pull-left' },\n _react2.default.createElement(_strong2.default, {\n className: 'btn-default btn-sm pull-left',\n disabled: this.props.loading || this.state.isPreviewLoading,\n replaceSelection: this.replaceSelection\n }),\n _react2.default.createElement(_emphasis2.default, {\n className: 'btn-default btn-sm pull-left',\n disabled: this.props.loading || this.state.isPreviewLoading,\n replaceSelection: this.replaceSelection\n }),\n _react2.default.createElement(_striketrough2.default, {\n className: 'btn-default btn-sm pull-left',\n disabled: this.props.loading || this.state.isPreviewLoading,\n replaceSelection: this.replaceSelection\n }),\n _react2.default.createElement(_hr2.default, {\n className: 'btn-default btn-sm pull-left',\n disabled: this.props.loading || this.state.isPreviewLoading,\n replaceSelection: this.replaceSelection\n }),\n _react2.default.createElement(_link2.default, {\n className: 'btn-default btn-sm pull-left',\n disabled: this.props.loading || this.state.isPreviewLoading,\n replaceSelection: this.replaceSelection\n }),\n _react2.default.createElement(_image2.default, {\n className: 'btn-default btn-sm pull-left',\n disabled: this.props.loading || this.state.isPreviewLoading,\n replaceSelection: this.replaceSelection\n }),\n _react2.default.createElement(_quote2.default, {\n className: 'btn-default btn-sm pull-left',\n disabled: this.props.loading || this.state.isPreviewLoading,\n replaceSelection: this.replaceSelection\n }),\n _react2.default.createElement(_code2.default, {\n className: 'btn-default btn-sm pull-left',\n disabled: this.props.loading || this.state.isPreviewLoading,\n replaceSelection: this.replaceSelection\n }),\n _react2.default.createElement(_uploadButton2.default, {\n className: 'btn-default btn-sm pull-left',\n disabled: this.props.loading || this.state.isPreviewLoading\n })\n ),\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-default btn-sm pull-left',\n disabled: this.props.loading || this.state.isPreviewLoading,\n onClick: this.onPreviewClick,\n type: 'button'\n },\n gettext(\"Preview\")\n ),\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-primary btn-sm pull-right',\n loading: this.props.loading\n },\n this.props.submitLabel || gettext(\"Post\")\n ),\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-sm pull-right',\n disabled: this.props.loading,\n onClick: this.props.onCancel,\n type: 'button'\n },\n gettext(\"Cancel\")\n ),\n _react2.default.createElement('div', { className: 'clearfix visible-xs-block' }),\n _react2.default.createElement(Protect, {\n canProtect: this.props.canProtect,\n disabled: this.props.loading,\n onProtect: this.props.onProtect,\n onUnprotect: this.props.onUnprotect,\n protect: this.props.protect\n })\n ),\n _react2.default.createElement(_attachments2.default, {\n attachments: this.props.attachments,\n onAttachmentsChange: this.props.onAttachmentsChange,\n placeholder: this.props.placeholder,\n replaceSelection: this.replaceSelection\n })\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\nfunction Protect(props) {\n if (!props.canProtect) return null;\n\n var label = props.protect ? gettext('Protected') : gettext('Protect');\n\n return _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-icon btn-default btn-protect btn-sm pull-right',\n disabled: props.disabled,\n onClick: props.protect ? props.onUnprotect : props.onProtect,\n title: label,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n props.protect ? 'lock' : 'lock_outline'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'btn-text hidden-md hidden-lg' },\n label\n )\n );\n}\n\n},{\"../..\":301,\"../../services/ajax\":364,\"../../services/modal\":370,\"../../services/snackbar\":375,\"../button\":8,\"./actions/code\":35,\"./actions/emphasis\":36,\"./actions/hr\":37,\"./actions/image\":38,\"./actions/link\":39,\"./actions/quote\":40,\"./actions/striketrough\":41,\"./actions/strong\":42,\"./attachments\":47,\"./attachments/upload-button\":49,\"./markup-preview\":52,\"./textutils\":53,\"react\":\"react\"}],52:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-dialog', role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-label': gettext(\"Close\"),\n className: 'close',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Preview message\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-body markup-preview' },\n _react2.default.createElement(_misagoMarkup2.default, { markup: props.markup })\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _misagoMarkup = require('../misago-markup');\n\nvar _misagoMarkup2 = _interopRequireDefault(_misagoMarkup);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../misago-markup\":59,\"react\":\"react\"}],53:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getTextarea = getTextarea;\nexports.getValue = getValue;\nexports.getSelectionRange = getSelectionRange;\nexports.getSelection = getSelection;\nexports.getSelectionText = getSelectionText;\nexports.setSelection = setSelection;\nexports._replace = _replace;\nexports.replace = replace;\nvar textareaId = exports.textareaId = 'editor-textarea';\n\nfunction getTextarea() {\n return document.getElementById(textareaId);\n}\n\nfunction getValue() {\n return document.getElementById(textareaId).value;\n}\n\nfunction getSelectionRange(start, end) {\n return {\n start: start,\n end: end\n };\n}\n\nfunction getSelection() {\n var ctrl = getTextarea();\n if (document.selection) {\n ctrl.focus();\n var range = document.selection.createRange();\n var length = range.text.length;\n range.moveStart('character', -ctrl.value.length);\n return getSelectionRange(range.text.length - length, range.text.length);\n } else if (ctrl.selectionStart || ctrl.selectionStart == '0') {\n return getSelectionRange(ctrl.selectionStart, ctrl.selectionEnd);\n }\n}\n\nfunction getSelectionText() {\n var range = getSelection();\n return $.trim(getValue().substring(range.start, range.end));\n}\n\nfunction setSelection(selectionRange) {\n var ctrl = getTextarea();\n if (ctrl.setSelectionRange) {\n ctrl.focus();\n ctrl.setSelectionRange(selectionRange.start, selectionRange.end);\n } else if (ctrl.createTextRange) {\n var range = ctrl.createTextRange();\n range.collapse(true);\n range.moveStart('character', selectionRange.start);\n range.moveEnd('character', selectionRange.end);\n range.select();\n }\n}\n\nfunction _replace(myRange, replacement) {\n var ctrl = getTextarea();\n var text = ctrl.value;\n var startText = text.substring(0, myRange.start);\n ctrl.value = text.substring(0, myRange.start) + replacement + text.substring(myRange.end);\n setSelection(getSelectionRange(startText.length + replacement.length, startText.length + replacement.length));\n return ctrl.value;\n}\n\nfunction replace(replacement) {\n return _replace(getSelection(), replacement);\n}\n\n},{}],54:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'isValidated',\n value: function isValidated() {\n return typeof this.props.validation !== \"undefined\";\n }\n }, {\n key: 'getClassName',\n value: function getClassName() {\n var className = 'form-group';\n if (this.isValidated()) {\n className += ' has-feedback';\n if (this.props.validation === null) {\n className += ' has-success';\n } else {\n className += ' has-error';\n }\n }\n return className;\n }\n }, {\n key: 'getFeedback',\n value: function getFeedback() {\n var _this2 = this;\n\n if (this.props.validation) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'help-block errors' },\n this.props.validation.map(function (error, i) {\n return _react2.default.createElement(\n 'p',\n { key: _this2.props.for + 'FeedbackItem' + i },\n error\n );\n })\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'getFeedbackDescription',\n value: function getFeedbackDescription() {\n if (this.isValidated()) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'span',\n { id: this.props.for + '_status', className: 'sr-only' },\n this.props.validation ? gettext('(error)') : gettext('(success)')\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'getHelpText',\n value: function getHelpText() {\n if (this.props.helpText) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'p',\n { className: 'help-block' },\n this.props.helpText\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: this.getClassName() },\n _react2.default.createElement(\n 'label',\n { className: 'control-label ' + (this.props.labelClass || ''),\n htmlFor: this.props.for || '' },\n this.props.label + ':'\n ),\n _react2.default.createElement(\n 'div',\n { className: this.props.controlClass || '' },\n this.props.children,\n this.getFeedbackDescription(),\n this.getFeedback(),\n this.getHelpText(),\n this.props.extra || null\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\"}],55:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _validators = require('../utils/validators');\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar validateRequired = (0, _validators.required)();\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.bindInput = function (name) {\n return function (event) {\n _this.changeValue(name, event.target.value);\n };\n }, _this.changeValue = function (name, value) {\n var newState = _defineProperty({}, name, value);\n\n var formErrors = _this.state.errors || {};\n formErrors[name] = _this.validateField(name, newState[name]);\n newState.errors = formErrors;\n\n _this.setState(newState);\n }, _this.handleSubmit = function (event) {\n // we don't reload page on submissions\n if (event) {\n event.preventDefault();\n }\n\n if (_this.state.isLoading) {\n return;\n }\n\n if (_this.clean()) {\n _this.setState({ isLoading: true });\n var promise = _this.send();\n\n if (promise) {\n promise.then(function (success) {\n _this.setState({ isLoading: false });\n _this.handleSuccess(success);\n }, function (rejection) {\n _this.setState({ isLoading: false });\n _this.handleError(rejection);\n });\n } else {\n _this.setState({ isLoading: false });\n }\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'validate',\n value: function validate() {\n var errors = {};\n if (!this.state.validators) {\n return errors;\n }\n\n var validators = {\n required: this.state.validators.required || this.state.validators,\n optional: this.state.validators.optional || {}\n };\n\n var validatedFields = [];\n\n // add required fields to validation\n for (var name in validators.required) {\n if (validators.required.hasOwnProperty(name) && validators.required[name]) {\n validatedFields.push(name);\n }\n }\n\n // add optional fields to validation\n for (var _name in validators.optional) {\n if (validators.optional.hasOwnProperty(_name) && validators.optional[_name]) {\n validatedFields.push(_name);\n }\n }\n\n // validate fields values\n for (var i in validatedFields) {\n var _name2 = validatedFields[i];\n var fieldErrors = this.validateField(_name2, this.state[_name2]);\n\n if (fieldErrors === null) {\n errors[_name2] = null;\n } else if (fieldErrors) {\n errors[_name2] = fieldErrors;\n }\n }\n\n return errors;\n }\n }, {\n key: 'isValid',\n value: function isValid() {\n var errors = this.validate();\n for (var field in errors) {\n if (errors.hasOwnProperty(field)) {\n if (errors[field] !== null) {\n return false;\n }\n }\n }\n\n return true;\n }\n }, {\n key: 'validateField',\n value: function validateField(name, value) {\n var errors = [];\n if (!this.state.validators) {\n return errors;\n }\n\n var validators = {\n required: (this.state.validators.required || this.state.validators)[name],\n optional: (this.state.validators.optional || {})[name]\n };\n\n var requiredError = validateRequired(value) || false;\n\n if (validators.required) {\n if (requiredError) {\n errors = [requiredError];\n } else {\n for (var i in validators.required) {\n var validationError = validators.required[i](value);\n if (validationError) {\n errors.push(validationError);\n }\n }\n }\n\n return errors.length ? errors : null;\n } else if (requiredError === false && validators.optional) {\n for (var _i in validators.optional) {\n var _validationError = validators.optional[_i](value);\n if (_validationError) {\n errors.push(_validationError);\n }\n }\n\n return errors.length ? errors : null;\n }\n\n return false; // false === field wasn't validated\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'clean',\n value: function clean() {\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n return null;\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(success) {\n return;\n }\n }, {\n key: 'handleError',\n\n /* jshint ignore:end */\n value: function handleError(rejection) {\n _snackbar2.default.apiError(rejection);\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../services/snackbar\":375,\"../utils/validators\":392,\"react\":\"react\"}],56:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'isActive',\n value: function isActive() {\n if (this.props.isControlled) {\n return this.props.isActive;\n } else {\n if (this.props.path) {\n return document.location.pathname.indexOf(this.props.path) === 0;\n } else {\n return false;\n }\n }\n }\n }, {\n key: 'getClassName',\n value: function getClassName() {\n if (this.isActive()) {\n return (this.props.className || '') + ' ' + (this.props.activeClassName || 'active');\n } else {\n return this.props.className || '';\n }\n }\n }, {\n key: 'render',\n value: function render() {\n // jshint ignore:start\n return _react2.default.createElement(\n 'li',\n { className: this.getClassName() },\n this.props.children\n );\n // jshint ignore:end\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\"}],57:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n \"div\",\n { className: props.className || \"loader\" },\n _react2.default.createElement(\"div\", { className: \"loader-spinning-wheel\" })\n );\n};\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],58:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.BestAnswerSelect = BestAnswerSelect;\nexports.PollSelect = PollSelect;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('./button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('./form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.handleSuccess = function (success) {\n _this.props.onSuccess(success);\n _modal2.default.hide();\n };\n\n _this.handleError = function (rejection) {\n _this.props.onError(rejection);\n };\n\n _this.onBestAnswerChange = function (event) {\n _this.changeValue('bestAnswer', event.target.value);\n };\n\n _this.onPollChange = function (event) {\n _this.changeValue('poll', event.target.value);\n };\n\n _this.state = {\n isLoading: false,\n\n bestAnswer: '0',\n poll: '0'\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'clean',\n value: function clean() {\n if (this.props.polls && this.state.poll === '0') {\n var confirmation = confirm(gettext(\"Are you sure you want to delete all polls?\"));\n return confirmation;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n var data = Object.assign({}, this.props.data, {\n best_answer: this.state.bestAnswer,\n poll: this.state.poll\n });\n\n return _ajax2.default.post(this.props.api, data);\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-dialog', role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-label': gettext(\"Close\"),\n className: 'close',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Merge threads\")\n )\n ),\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(BestAnswerSelect, {\n choices: this.props.bestAnswers,\n onChange: this.onBestAnswerChange,\n value: this.state.bestAnswer\n }),\n _react2.default.createElement(PollSelect, {\n choices: this.props.polls,\n onChange: this.onPollChange,\n value: this.state.poll\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n disabled: this.state.isLoading,\n type: 'button'\n },\n gettext(\"Cancel\")\n ),\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary', loading: this.state.isLoading },\n gettext(\"Merge threads\")\n )\n )\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\nfunction BestAnswerSelect(_ref) {\n var choices = _ref.choices,\n onChange = _ref.onChange,\n value = _ref.value;\n\n if (!choices) return null;\n\n return _react2.default.createElement(\n _formGroup2.default,\n {\n label: gettext(\"Best answer\"),\n helpText: gettext(\"Please select the best answer for your newly merged thread. No posts will be deleted during the merge.\"),\n 'for': 'id_best_answer'\n },\n _react2.default.createElement(\n 'select',\n {\n className: 'form-control',\n id: 'id_best_answer',\n onChange: onChange,\n value: value\n },\n choices.map(function (choice) {\n return _react2.default.createElement(\n 'option',\n { value: choice[0], key: choice[0] },\n choice[1]\n );\n })\n )\n );\n}\n\nfunction PollSelect(_ref2) {\n var choices = _ref2.choices,\n onChange = _ref2.onChange,\n value = _ref2.value;\n\n if (!choices) return null;\n\n return _react2.default.createElement(\n _formGroup2.default,\n {\n label: gettext(\"Poll\"),\n helpText: gettext(\"Please select the poll for your newly merged thread. Rejected polls will be permanently deleted and cannot be recovered.\"),\n 'for': 'id_poll'\n },\n _react2.default.createElement(\n 'select',\n {\n className: 'form-control',\n id: 'id_poll',\n onChange: onChange,\n value: value\n },\n choices.map(function (choice) {\n return _react2.default.createElement(\n 'option',\n { value: choice[0], key: choice[0] },\n choice[1]\n );\n })\n )\n );\n}\n\n},{\"../services/ajax\":364,\"../services/modal\":370,\"./button\":8,\"./form\":55,\"./form-group\":54,\"react\":\"react\"}],59:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _oneBox = require('../services/one-box');\n\nvar _oneBox2 = _interopRequireDefault(_oneBox);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n _oneBox2.default.render(this.documentNode);\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps, prevState) {\n _oneBox2.default.render(this.documentNode);\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps, nextState) {\n return nextProps.markup !== this.props.markup;\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n return _react2.default.createElement('article', {\n className: 'misago-markup',\n dangerouslySetInnerHTML: { __html: this.props.markup },\n ref: function ref(node) {\n _this2.documentNode = node;\n }\n });\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../services/one-box\":371,\"react\":\"react\"}],60:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _loader = require('./loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'modal-body modal-loader' },\n _react2.default.createElement(_loader2.default, null)\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"./loader\":57,\"react\":\"react\"}],61:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _panelMessage = require('./panel-message');\n\nvar _panelMessage2 = _interopRequireDefault(_panelMessage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n\n\nvar _class = function (_PanelMessage) {\n _inherits(_class, _PanelMessage);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'getHelpText',\n value: function getHelpText() {\n if (this.props.helpText) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'p',\n { className: 'help-block' },\n this.props.helpText\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n this.props.icon || 'info_outline'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n this.props.message\n ),\n this.getHelpText(),\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n gettext(\"Ok\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_panelMessage2.default);\n\nexports.default = _class;\n\n},{\"./panel-message\":93,\"react\":\"react\"}],62:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (data) {\n var filtered = data.filter(function (section) {\n return section.results.count > 0;\n });\n\n return filtered.map(function (section) {\n return Object.assign({}, section, {\n count: section.results.count,\n results: section.results.results.slice(0, MAX_RESULTS)\n });\n });\n};\n\nvar MAX_RESULTS = 5;\n\n},{}],63:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar HEADER = exports.HEADER = 'HEADER';\nvar RESULT = exports.RESULT = 'RESULT';\nvar FOOTER = exports.FOOTER = 'FOOTER';\n\n},{}],64:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var children = _ref.children,\n onChange = _ref.onChange,\n query = _ref.query;\n\n return _react2.default.createElement(\n 'ul',\n { className: 'dropdown-menu dropdown-search-results', role: 'menu' },\n _react2.default.createElement(\n 'li',\n { className: 'form-group' },\n _react2.default.createElement(_input2.default, {\n value: query,\n onChange: onChange\n })\n ),\n children\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _input = require('./input');\n\nvar _input2 = _interopRequireDefault(_input);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./input\":68,\"react\":\"react\"}],65:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function () {\n return _react2.default.createElement(\n \"li\",\n { className: \"dropdown-search-message\" },\n gettext(\"Search returned no results.\")\n );\n};\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],66:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (results) {\n var flatlist = [];\n flattenProviders(results, flatlist);\n return flatlist;\n};\n\nvar _constants = require('./constants');\n\nfunction flattenProviders(results, flatlist) {\n var arrayLength = results.length;\n for (var i = 0; i < arrayLength; i++) {\n var provider = results[i];\n\n flatlist.push({\n provider: provider,\n type: _constants.HEADER\n });\n\n flattenProvider(provider, flatlist);\n }\n}\n\nfunction flattenProvider(provider, flatlist) {\n var arrayLength = provider.results.length;\n for (var i = 0; i < arrayLength; i++) {\n var result = provider.results[i];\n flatlist.push({\n provider: provider,\n result: result,\n type: _constants.RESULT\n });\n }\n\n flatlist.push({\n provider: provider,\n type: _constants.FOOTER\n });\n}\n\n},{\"./constants\":63}],67:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // jshint ignore:start\n\n\nexports.default = function (_ref) {\n var isLoading = _ref.isLoading,\n onChange = _ref.onChange,\n results = _ref.results,\n query = _ref.query;\n\n if (!query.trim().length) {\n return _react2.default.createElement(_dropdownMenu2.default, { onChange: onChange, query: query });\n }\n\n if (results.length) {\n var flatResults = (0, _flattenResults2.default)(results);\n\n return _react2.default.createElement(\n _dropdownMenu2.default,\n { onChange: onChange, query: query },\n flatResults.map(function (props) {\n var type = props.type,\n provider = props.provider,\n result = props.result;\n\n\n if (type === _constants.RESULT) {\n return _react2.default.createElement(_result2.default, _extends({\n key: [provider.id, type, result.id].join('_')\n }, props));\n }\n\n return _react2.default.createElement(_result2.default, _extends({\n key: [provider.id, type].join('_'),\n query: query\n }, props));\n })\n );\n } else if (isLoading) {\n return _react2.default.createElement(\n _dropdownMenu2.default,\n { onChange: onChange, query: query },\n _react2.default.createElement(_loader2.default, null)\n );\n }\n\n return _react2.default.createElement(\n _dropdownMenu2.default,\n { onChange: onChange, query: query },\n _react2.default.createElement(_empty2.default, null)\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _constants = require('./constants');\n\nvar _dropdownMenu = require('./dropdown-menu');\n\nvar _dropdownMenu2 = _interopRequireDefault(_dropdownMenu);\n\nvar _empty = require('./empty');\n\nvar _empty2 = _interopRequireDefault(_empty);\n\nvar _loader = require('./loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nvar _result = require('./result');\n\nvar _result2 = _interopRequireDefault(_result);\n\nvar _flattenResults = require('./flatten-results');\n\nvar _flattenResults2 = _interopRequireDefault(_flattenResults);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./constants\":63,\"./dropdown-menu\":64,\"./empty\":65,\"./flatten-results\":66,\"./loader\":69,\"./result\":72,\"react\":\"react\"}],68:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var value = _ref.value,\n onChange = _ref.onChange;\n\n return _react2.default.createElement(\"input\", {\n \"aria-haspopup\": \"true\",\n \"aria-expanded\": \"false\",\n autoComplete: \"off\",\n className: \"form-control\",\n value: value,\n onChange: onChange,\n placeholder: gettext(\"Search\"),\n role: \"combobox\",\n type: \"text\"\n });\n};\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],69:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var message = _ref.message;\n\n return _react2.default.createElement(\n 'li',\n { className: 'dropdown-search-loader' },\n _react2.default.createElement(_loader2.default, null)\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _loader = require('../../loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../loader\":57,\"react\":\"react\"}],70:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var provider = _ref.provider,\n query = _ref.query;\n\n var url = provider.url + '?q=' + encodeURI(query);\n var label = ngettext('See full \"%(provider)s\" results page with %(count)s result.', 'See full \"%(provider)s\" results page with %(count)s results.', provider.count);\n\n return _react2.default.createElement(\n 'li',\n { className: 'dropdown-search-footer' },\n _react2.default.createElement(\n 'a',\n { href: url },\n interpolate(label, {\n count: provider.count,\n provider: provider.name\n }, true)\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],71:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var provider = _ref.provider;\n\n return _react2.default.createElement(\n \"li\",\n { className: \"dropdown-search-header\" },\n provider.name\n );\n};\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],72:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var provider = _ref.provider,\n result = _ref.result,\n type = _ref.type,\n query = _ref.query;\n\n if (type === _constants.HEADER) {\n return _react2.default.createElement(_header2.default, { provider: provider });\n } else if (type === _constants.FOOTER) {\n return _react2.default.createElement(_footer2.default, { provider: provider, query: query });\n }\n\n return _react2.default.createElement(_result2.default, { provider: provider, result: result });\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _constants = require('../constants');\n\nvar _footer = require('./footer');\n\nvar _footer2 = _interopRequireDefault(_footer);\n\nvar _header = require('./header');\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _result = require('./result');\n\nvar _result2 = _interopRequireDefault(_result);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../constants\":63,\"./footer\":70,\"./header\":71,\"./result\":73,\"react\":\"react\"}],73:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var provider = _ref.provider,\n result = _ref.result;\n\n if (provider.id === 'threads') {\n return _react2.default.createElement(_thread2.default, { result: result });\n }\n\n return _react2.default.createElement(_user2.default, { result: result });\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _thread = require('./thread');\n\nvar _thread2 = _interopRequireDefault(_thread);\n\nvar _user = require('./user');\n\nvar _user2 = _interopRequireDefault(_user);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./thread\":74,\"./user\":75,\"react\":\"react\"}],74:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var result = _ref.result;\n var poster = result.poster,\n thread = result.thread;\n\n var footer = gettext(\"Posted by %(poster)s on %(posted_on)s in %(category)s.\");\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'a',\n { href: result.url.index, className: 'dropdown-search-thread' },\n _react2.default.createElement(\n 'h5',\n null,\n thread.title\n ),\n _react2.default.createElement(\n 'small',\n { className: 'dropdown-search-post-content' },\n $(result.content).text()\n ),\n _react2.default.createElement(\n 'small',\n { className: 'dropdown-search-post-footer' },\n interpolate(footer, {\n category: result.category.name,\n posted_on: (0, _moment2.default)(result.posted_on).format('LL'),\n poster: result.poster_name\n }, true)\n )\n )\n );\n};\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"moment\":\"moment\",\"react\":\"react\"}],75:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var result = _ref.result;\n var rank = result.rank;\n\n\n var detail = gettext(\"%(title)s, joined on %(joined_on)s\");\n var title = result.title || rank.title || rank.name;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'a',\n { href: result.url, className: 'dropdown-search-user' },\n _react2.default.createElement(\n 'div',\n { className: 'media' },\n _react2.default.createElement(\n 'div',\n { className: 'media-left' },\n _react2.default.createElement(_avatar2.default, { size: 38, user: result })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'media-body' },\n _react2.default.createElement(\n 'h5',\n { className: 'media-heading' },\n result.username\n ),\n _react2.default.createElement(\n 'small',\n null,\n interpolate(detail, {\n title: title,\n joined_on: (0, _moment2.default)(result.joined_on).format('LL')\n }, true)\n )\n )\n )\n )\n );\n};\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../../avatar\":6,\"moment\":\"moment\",\"react\":\"react\"}],76:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _cleanResults = require('./clean-results');\n\nvar _cleanResults2 = _interopRequireDefault(_cleanResults);\n\nvar _dropdown = require('./dropdown');\n\nvar _dropdown2 = _interopRequireDefault(_dropdown);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this));\n\n _this.onToggle = function (ev) {\n _this.setState(function (prevState, props) {\n if (!prevState.isOpen) {\n window.setTimeout(function () {\n _this.container.querySelector('input').focus();\n }, 100);\n }\n\n return { isOpen: !prevState.isOpen };\n });\n };\n\n _this.onDocumentMouseDown = function (ev) {\n var closeResults = true;\n var node = ev.target;\n\n while (node !== null && node !== document) {\n if (node === _this.container) {\n closeResults = false;\n return;\n }\n\n node = node.parentNode;\n }\n\n if (closeResults) {\n _this.setState({ isOpen: false });\n }\n };\n\n _this.onEscape = function (ev) {\n if (ev.key === 'Escape') {\n _this.setState({ isOpen: false });\n }\n };\n\n _this.onChange = function (ev) {\n var query = ev.target.value;\n\n _this.setState({ query: query });\n _this.loadResults(query.trim());\n };\n\n _this.state = {\n isLoading: false,\n isOpen: false,\n query: '',\n results: []\n };\n\n _this.intervalId = null;\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n document.addEventListener('mousedown', this.onDocumentMouseDown);\n document.addEventListener('keydown', this.onEscape);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n document.removeEventListener('mousedown', this.onDocumentMouseDown);\n document.removeEventListener('keydown', this.onEscape);\n }\n }, {\n key: 'loadResults',\n value: function loadResults(query) {\n var _this2 = this;\n\n if (!query.length) return;\n\n var delay = 300 + Math.random() * 300;\n\n if (this.intervalId) {\n window.clearTimeout(this.intervalId);\n }\n\n this.setState({ isLoading: true });\n\n this.intervalId = window.setTimeout(function () {\n _ajax2.default.get(_2.default.get('SEARCH_API'), { q: query }).then(function (data) {\n _this2.setState({\n intervalId: null,\n isLoading: false,\n results: (0, _cleanResults2.default)(data)\n });\n }, function (rejection) {\n _snackbar2.default.apiError(rejection);\n\n _this2.setState({\n intervalId: null,\n isLoading: false,\n results: []\n });\n });\n }, delay);\n }\n }, {\n key: 'render',\n value: function render() {\n var _this3 = this;\n\n var className = \"navbar-search dropdown\";\n if (this.state.isOpen) className += \" open\";\n\n return _react2.default.createElement(\n 'div',\n { className: className, ref: function ref(container) {\n return _this3.container = container;\n } },\n _react2.default.createElement(\n 'a',\n {\n 'aria-haspopup': 'true',\n 'aria-expanded': 'false',\n className: 'navbar-icon',\n 'data-toggle': 'dropdown',\n href: _2.default.get('SEARCH_URL'),\n onClick: this.onToggle\n },\n _react2.default.createElement(\n 'i',\n { className: 'material-icon' },\n 'search'\n )\n ),\n _react2.default.createElement(_dropdown2.default, {\n isLoading: this.state.isLoading,\n onChange: this.onChange,\n results: this.state.results,\n query: this.state.query\n })\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../..\":301,\"../../services/ajax\":364,\"../../services/snackbar\":375,\"./clean-results\":62,\"./dropdown\":67,\"react\":\"react\"}],77:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function () {\n return _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-form' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n gettext(\"Change username\")\n )\n ),\n _react2.default.createElement(_panelLoader2.default, null)\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _panelLoader = require('../../panel-loader');\n\nvar _panelLoader2 = _interopRequireDefault(_panelLoader);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../panel-loader\":92,\"react\":\"react\"}],78:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _panelMessage = require('../../panel-message');\n\nvar _panelMessage2 = _interopRequireDefault(_panelMessage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'getHelpText',\n value: function getHelpText() {\n if (this.props.options.next_on) {\n return interpolate(gettext(\"You will be able to change your username %(next_change)s.\"), { 'next_change': this.props.options.next_on.fromNow() }, true);\n } else {\n return gettext(\"You have used up available name changes.\");\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-form' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n gettext(\"Change username\")\n )\n ),\n _react2.default.createElement(_panelMessage2.default, {\n helpText: this.getHelpText(),\n message: gettext(\"You can't change your username at the moment.\")\n })\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../panel-message\":93,\"react\":\"react\"}],79:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _validators = require('../../../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.state = {\n username: '',\n\n validators: {\n username: [validators.usernameContent(), validators.usernameMinLength(props.options.length_min), validators.usernameMaxLength(props.options.length_max)]\n },\n\n isLoading: false\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'getHelpText',\n value: function getHelpText() {\n var phrases = [];\n\n if (this.props.options.changes_left > 0) {\n var message = ngettext(\"You can change your username %(changes_left)s more time.\", \"You can change your username %(changes_left)s more times.\", this.props.options.changes_left);\n\n phrases.push(interpolate(message, {\n 'changes_left': this.props.options.changes_left\n }, true));\n }\n\n if (this.props.user.acl.name_changes_expire > 0) {\n var _message = ngettext(\"Used changes become available again after %(name_changes_expire)s day.\", \"Used changes become available again after %(name_changes_expire)s days.\", this.props.user.acl.name_changes_expire);\n\n phrases.push(interpolate(_message, {\n 'name_changes_expire': this.props.user.acl.name_changes_expire\n }, true));\n }\n\n return phrases.length ? phrases.join(' ') : null;\n }\n }, {\n key: 'clean',\n value: function clean() {\n var errors = this.validate();\n if (errors.username) {\n _snackbar2.default.error(errors.username[0]);\n return false;\n }if (this.state.username.trim() === this.props.user.username) {\n _snackbar2.default.info(gettext(\"Your new username is same as current one.\"));\n return false;\n } else {\n return true;\n }\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.user.api.username, {\n 'username': this.state.username\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(success) {\n this.setState({\n 'username': ''\n });\n\n this.props.complete(success.username, success.slug, success.options);\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n _snackbar2.default.apiError(rejection);\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-form' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n gettext(\"Change username\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"New username\"), 'for': 'id_username',\n helpText: this.getHelpText() },\n _react2.default.createElement('input', { type: 'text', id: 'id_username', className: 'form-control',\n disabled: this.state.isLoading,\n onChange: this.bindInput('username'),\n value: this.state.username })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-footer' },\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary', loading: this.state.isLoading },\n gettext(\"Change username\")\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../../services/ajax\":364,\"../../../services/snackbar\":375,\"../../../utils/validators\":392,\"../../button\":8,\"../../form\":55,\"../../form-group\":54,\"react\":\"react\"}],80:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _formLoading = require('./form-loading');\n\nvar _formLoading2 = _interopRequireDefault(_formLoading);\n\nvar _formLocked = require('./form-locked');\n\nvar _formLocked2 = _interopRequireDefault(_formLocked);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _root = require('../../username-history/root');\n\nvar _root2 = _interopRequireDefault(_root);\n\nvar _index = require('../../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _usernameHistory = require('../../../reducers/username-history');\n\nvar _users = require('../../../reducers/users');\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _pageTitle = require('../../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.onComplete = function (username, slug, options) {\n _this.setState({\n options: options\n });\n\n _store2.default.dispatch((0, _usernameHistory.addNameChange)({ username: username, slug: slug }, _this.props.user, _this.props.user));\n _store2.default.dispatch((0, _users.updateUsername)(_this.props.user, username, slug));\n\n _snackbar2.default.success(gettext(\"Your username has been changed successfully.\"));\n };\n\n _this.state = {\n isLoaded: false,\n options: null\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n _pageTitle2.default.set({\n title: gettext(\"Change username\"),\n parent: gettext(\"Change your options\")\n });\n\n Promise.all([_ajax2.default.get(this.props.user.api.username), _ajax2.default.get(_index2.default.get('USERNAME_CHANGES_API'), { user: this.props.user.id })]).then(function (data) {\n _store2.default.dispatch((0, _usernameHistory.hydrate)(data[1].results));\n\n _this2.setState({\n isLoaded: true,\n options: {\n changes_left: data[0].changes_left,\n length_min: data[0].length_min,\n length_max: data[0].length_max,\n next_on: data[0].next_on ? (0, _moment2.default)(data[0].next_on) : null\n }\n });\n });\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'getChangeForm',\n\n /* jshint ignore:end */\n\n value: function getChangeForm() {\n if (!this.state.isLoaded) {\n /* jshint ignore:start */\n return _react2.default.createElement(_formLoading2.default, null);\n /* jshint ignore:end */\n }\n\n if (this.state.options.changes_left === 0) {\n /* jshint ignore:start */\n return _react2.default.createElement(_formLocked2.default, { options: this.state.options });\n /* jshint ignore:end */\n }\n\n /* jshint ignore:start */\n return _react2.default.createElement(_form2.default, {\n complete: this.onComplete,\n options: this.state.options,\n user: this.props.user\n });\n /* jshint ignore:end */\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n null,\n this.getChangeForm(),\n _react2.default.createElement(_root2.default, {\n changes: this.props['username-history'],\n isLoaded: this.state.isLoaded\n })\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../index\":301,\"../../../reducers/username-history\":362,\"../../../reducers/users\":363,\"../../../services/ajax\":364,\"../../../services/page-title\":372,\"../../../services/snackbar\":375,\"../../../services/store\":376,\"../../username-history/root\":279,\"./form\":79,\"./form-loading\":77,\"./form-locked\":78,\"moment\":\"moment\",\"react\":\"react\"}],81:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _pageTitle = require('../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.onPasswordChange = function (event) {\n _this.setState({ password: event.target.value });\n };\n\n _this.handleSubmit = function (event) {\n event.preventDefault();\n\n var _this$state = _this.state,\n isLoading = _this$state.isLoading,\n password = _this$state.password;\n var user = _this.props.user;\n\n\n if (password.length == 0) {\n _snackbar2.default.error(gettext(\"Enter your password to confirm account deletion.\"));\n return false;\n }\n\n if (isLoading) return false;\n _this.setState({ isLoading: true });\n\n _ajax2.default.post(user.api.delete, { password: password }).then(function (success) {\n window.location.href = _2.default.get('MISAGO_PATH');\n }, function (rejection) {\n _this.setState({ isLoading: false });\n if (rejection.password) {\n _snackbar2.default.error(rejection.password[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n });\n };\n\n _this.state = {\n isLoading: false,\n password: ''\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n _pageTitle2.default.set({\n title: gettext(\"Delete account\"),\n parent: gettext(\"Change your options\")\n });\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-danger panel-form' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n gettext(\"Delete account\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"You are going to delete your account. This action is nonreversible, and will result in following data being deleted:\")\n ),\n _react2.default.createElement(\n 'p',\n null,\n '- ',\n gettext(\"Stored IP addresses associated with content that you have posted will be deleted.\")\n ),\n _react2.default.createElement(\n 'p',\n null,\n '- ',\n gettext(\"Your username will become available for other user to rename to or for new user to register their account with.\")\n ),\n _react2.default.createElement(\n 'p',\n null,\n '- ',\n gettext(\"Your e-mail will become available for use in new account registration.\")\n ),\n _react2.default.createElement('hr', null),\n _react2.default.createElement(\n 'p',\n null,\n gettext(\"All your posted content will NOT be deleted, but username associated with it will be changed to one shared by all deleted accounts.\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-footer' },\n _react2.default.createElement(\n 'div',\n { className: 'input-group' },\n _react2.default.createElement('input', {\n className: 'form-control',\n disabled: this.state.isLoading,\n name: 'password-confirmation',\n type: 'password',\n placeholder: gettext(\"Enter your password to confirm account deletion.\"),\n value: this.state.password,\n onChange: this.onPasswordChange\n }),\n _react2.default.createElement(\n 'span',\n { className: 'input-group-btn' },\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-danger', loading: this.state.isLoading },\n gettext(\"Delete my account\")\n )\n )\n )\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../..\":301,\"../../services/ajax\":364,\"../../services/page-title\":372,\"../../services/snackbar\":375,\"../../services/store\":376,\"../button\":8,\"react\":\"react\"}],82:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _pageTitle = require('../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar DownloadData = function (_React$Component) {\n _inherits(DownloadData, _React$Component);\n\n function DownloadData(props) {\n _classCallCheck(this, DownloadData);\n\n var _this = _possibleConstructorReturn(this, (DownloadData.__proto__ || Object.getPrototypeOf(DownloadData)).call(this, props));\n\n _this.handleLoadDownloads = function () {\n _ajax2.default.get(_this.props.user.api.data_downloads).then(function (data) {\n _this.setState({\n isLoading: false,\n downloads: data\n });\n }, function (rejection) {\n _snackbar2.default.apiError(rejection);\n });\n };\n\n _this.handleRequestDataDownload = function () {\n _this.setState({ isSubmiting: true });\n _ajax2.default.post(_this.props.user.api.request_data_download).then(function () {\n _this.handleLoadDownloads();\n _snackbar2.default.success(gettext(\"Your request for data download has been registered.\"));\n _this.setState({ isSubmiting: false });\n }, function (rejection) {\n console.log(rejection);\n _snackbar2.default.apiError(rejection);\n _this.setState({ isSubmiting: false });\n });\n };\n\n _this.state = {\n isLoading: false,\n isSubmiting: false,\n downloads: []\n };\n return _this;\n }\n\n _createClass(DownloadData, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n _pageTitle2.default.set({\n title: gettext(\"Download your data\"),\n parent: gettext(\"Change your options\")\n });\n\n this.handleLoadDownloads();\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-form' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n gettext(\"Download your data\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n 'p',\n null,\n gettext(\"To download your data from the site, click the \\\"Request data download\\\" button. Depending on amount of data to be archived and number of users wanting to download their data at same time it may take up to few days for your download to be prepared. An e-mail with notification will be sent to you when your data is ready to be downloaded.\")\n ),\n _react2.default.createElement(\n 'p',\n null,\n gettext(\"The download will only be available for limited amount of time, after which it will be deleted from the site and marked as expired.\")\n )\n ),\n _react2.default.createElement(\n 'table',\n { className: 'table' },\n _react2.default.createElement(\n 'thead',\n null,\n _react2.default.createElement(\n 'tr',\n null,\n _react2.default.createElement(\n 'th',\n null,\n gettext(\"Requested on\")\n ),\n _react2.default.createElement(\n 'th',\n { className: 'col-md-4' },\n gettext(\"Download\")\n )\n )\n ),\n _react2.default.createElement(\n 'tbody',\n null,\n this.state.downloads.map(function (item) {\n return _react2.default.createElement(\n 'tr',\n { key: item.id },\n _react2.default.createElement(\n 'td',\n { style: rowStyle },\n (0, _moment2.default)(item.requested_on).fromNow()\n ),\n _react2.default.createElement(\n 'td',\n null,\n _react2.default.createElement(DownloadButton, {\n exportFile: item.file,\n status: item.status\n })\n )\n );\n }),\n this.state.downloads.length == 0 ? _react2.default.createElement(\n 'tr',\n null,\n _react2.default.createElement(\n 'td',\n { colSpan: '2' },\n gettext(\"You have no data downloads.\")\n )\n ) : null\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-footer text-right' },\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-primary',\n loading: this.state.isSubmiting,\n type: 'button',\n onClick: this.handleRequestDataDownload\n },\n gettext(\"Request data download\")\n )\n )\n )\n );\n }\n }]);\n\n return DownloadData;\n}(_react2.default.Component);\n\nexports.default = DownloadData;\n\n\nvar rowStyle = {\n verticalAlign: 'middle'\n};\n\nvar STATUS_PENDING = 0;\nvar STATUS_PROCESSING = 1;\n\nvar DownloadButton = function DownloadButton(_ref) {\n var exportFile = _ref.exportFile,\n status = _ref.status;\n\n if (status === STATUS_PENDING || status === STATUS_PROCESSING) {\n return _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-info btn-sm btn-block',\n disabled: true,\n type: 'button'\n },\n gettext(\"Download is being prepared\")\n );\n }\n\n if (exportFile) {\n return _react2.default.createElement(\n 'a',\n {\n className: 'btn btn-success btn-sm btn-block',\n href: exportFile\n },\n gettext(\"Download your data\")\n );\n }\n\n return _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-default btn-sm btn-block',\n disabled: true,\n type: 'button'\n },\n gettext(\"Download is expired\")\n );\n};\n\n},{\"../../services/ajax\":364,\"../../services/page-title\":372,\"../../services/snackbar\":375,\"../button\":8,\"moment\":\"moment\",\"react\":\"react\"}],83:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _editDetails = require('../edit-details');\n\nvar _editDetails2 = _interopRequireDefault(_editDetails);\n\nvar _pageTitle = require('../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.onSuccess = function () {\n _snackbar2.default.info(gettext(\"Your details have been updated.\"));\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n _pageTitle2.default.set({\n title: gettext(\"Edit details\"),\n parent: gettext(\"Change your options\")\n });\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(_editDetails2.default, {\n api: this.props.user.api.edit_details,\n onSuccess: this.onSuccess\n });\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../services/page-title\":372,\"../../services/snackbar\":375,\"../edit-details\":32,\"react\":\"react\"}],84:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _select = require('../select');\n\nvar _select2 = _interopRequireDefault(_select);\n\nvar _yesNoSwitch = require('../yes-no-switch');\n\nvar _yesNoSwitch2 = _interopRequireDefault(_yesNoSwitch);\n\nvar _auth = require('../../reducers/auth');\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _pageTitle = require('../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.state = {\n 'isLoading': false,\n\n 'is_hiding_presence': props.user.is_hiding_presence,\n 'limits_private_thread_invites_to': props.user.limits_private_thread_invites_to,\n 'subscribe_to_started_threads': props.user.subscribe_to_started_threads,\n 'subscribe_to_replied_threads': props.user.subscribe_to_replied_threads,\n\n 'errors': {}\n };\n\n _this.privateThreadInvitesChoices = [{\n 'value': 0,\n 'icon': 'help_outline',\n 'label': gettext(\"Everybody\")\n }, {\n 'value': 1,\n 'icon': 'done_all',\n 'label': gettext(\"Users I follow\")\n }, {\n 'value': 2,\n 'icon': 'highlight_off',\n 'label': gettext(\"Nobody\")\n }];\n\n _this.subscribeToChoices = [{\n 'value': 0,\n 'icon': 'star_border',\n 'label': gettext(\"No\")\n }, {\n 'value': 1,\n 'icon': 'star_half',\n 'label': gettext(\"Notify\")\n }, {\n 'value': 2,\n 'icon': 'star',\n 'label': gettext(\"Notify with e-mail\")\n }];\n return _this;\n }\n\n _createClass(_class, [{\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.user.api.options, {\n is_hiding_presence: this.state.is_hiding_presence,\n limits_private_thread_invites_to: this.state.limits_private_thread_invites_to,\n subscribe_to_started_threads: this.state.subscribe_to_started_threads,\n subscribe_to_replied_threads: this.state.subscribe_to_replied_threads\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess() {\n _store2.default.dispatch((0, _auth.patch)({\n is_hiding_presence: this.state.is_hiding_presence,\n limits_private_thread_invites_to: this.state.limits_private_thread_invites_to,\n subscribe_to_started_threads: this.state.subscribe_to_started_threads,\n subscribe_to_replied_threads: this.state.subscribe_to_replied_threads\n }));\n _snackbar2.default.success(gettext(\"Your forum options have been changed.\"));\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(gettext(\"Please reload page and try again.\"));\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n _pageTitle2.default.set({\n title: gettext(\"Forum options\"),\n parent: gettext(\"Change your options\")\n });\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-form' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n gettext(\"Change forum options\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n 'fieldset',\n null,\n _react2.default.createElement(\n 'legend',\n null,\n gettext(\"Privacy settings\")\n ),\n _react2.default.createElement(\n _formGroup2.default,\n {\n label: gettext(\"Hide my presence\"),\n helpText: gettext(\"If you hide your presence, only members with permission to see hidden users will see when you are online.\"),\n 'for': 'id_is_hiding_presence'\n },\n _react2.default.createElement(_yesNoSwitch2.default, {\n id: 'id_is_hiding_presence',\n disabled: this.state.isLoading,\n iconOn: 'visibility_off',\n iconOff: 'visibility',\n labelOn: gettext(\"Hide my presence from other users\"),\n labelOff: gettext(\"Show my presence to other users\"),\n onChange: this.bindInput('is_hiding_presence'),\n value: this.state.is_hiding_presence\n })\n ),\n _react2.default.createElement(\n _formGroup2.default,\n {\n label: gettext(\"Private thread invitations\"),\n 'for': 'id_limits_private_thread_invites_to'\n },\n _react2.default.createElement(_select2.default, {\n id: 'id_limits_private_thread_invites_to',\n disabled: this.state.isLoading,\n onChange: this.bindInput('limits_private_thread_invites_to'),\n value: this.state.limits_private_thread_invites_to,\n choices: this.privateThreadInvitesChoices\n })\n )\n ),\n _react2.default.createElement(\n 'fieldset',\n null,\n _react2.default.createElement(\n 'legend',\n null,\n gettext(\"Automatic subscriptions\")\n ),\n _react2.default.createElement(\n _formGroup2.default,\n {\n label: gettext(\"Threads I start\"),\n 'for': 'id_subscribe_to_started_threads'\n },\n _react2.default.createElement(_select2.default, {\n id: 'id_subscribe_to_started_threads',\n disabled: this.state.isLoading,\n onChange: this.bindInput('subscribe_to_started_threads'),\n value: this.state.subscribe_to_started_threads,\n choices: this.subscribeToChoices\n })\n ),\n _react2.default.createElement(\n _formGroup2.default,\n {\n label: gettext(\"Threads I reply to\"),\n 'for': 'id_subscribe_to_replied_threads'\n },\n _react2.default.createElement(_select2.default, {\n id: 'id_subscribe_to_replied_threads',\n disabled: this.state.isLoading,\n onChange: this.bindInput('subscribe_to_replied_threads'),\n value: this.state.subscribe_to_replied_threads,\n choices: this.subscribeToChoices\n })\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-footer' },\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary', loading: this.state.isLoading },\n gettext(\"Save changes\")\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../reducers/auth\":349,\"../../services/ajax\":364,\"../../services/page-title\":372,\"../../services/snackbar\":375,\"../../services/store\":376,\"../button\":8,\"../form\":55,\"../form-group\":54,\"../select\":209,\"../yes-no-switch\":299,\"react\":\"react\"}],85:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SideNav = SideNav;\nexports.CompactNav = CompactNav;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRouter = require('react-router');\n\nvar _li = require('../li');\n\nvar _li2 = _interopRequireDefault(_li);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:start\nfunction SideNav(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'list-group nav-side' },\n props.options.map(function (option) {\n return _react2.default.createElement(\n _reactRouter.Link,\n {\n to: props.baseUrl + option.component + '/',\n className: 'list-group-item',\n activeClassName: 'active',\n key: option.component\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n option.icon\n ),\n option.name\n );\n })\n );\n}\n\nfunction CompactNav(props) {\n return _react2.default.createElement(\n 'ul',\n { className: props.className || \"dropdown-menu stick-to-bottom\", role: 'menu' },\n props.options.map(function (option) {\n return _react2.default.createElement(\n _li2.default,\n {\n path: props.baseUrl + option.component + '/',\n key: option.component\n },\n _react2.default.createElement(\n _reactRouter.Link,\n {\n to: props.baseUrl + option.component + '/',\n onClick: props.hideNav\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon hidden-sm' },\n option.icon\n ),\n option.name\n )\n );\n })\n );\n}\n\n},{\"../../index\":301,\"../li\":56,\"react\":\"react\",\"react-router\":\"react-router\"}],86:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.select = select;\nexports.paths = paths;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRedux = require('react-redux');\n\nvar _dropdownToggle = require('../dropdown-toggle');\n\nvar _dropdownToggle2 = _interopRequireDefault(_dropdownToggle);\n\nvar _navs = require('./navs');\n\nvar _deleteAccount = require('./delete-account');\n\nvar _deleteAccount2 = _interopRequireDefault(_deleteAccount);\n\nvar _editDetails = require('./edit-details');\n\nvar _editDetails2 = _interopRequireDefault(_editDetails);\n\nvar _downloadData = require('./download-data');\n\nvar _downloadData2 = _interopRequireDefault(_downloadData);\n\nvar _forumOptions = require('./forum-options');\n\nvar _forumOptions2 = _interopRequireDefault(_forumOptions);\n\nvar _root = require('./change-username/root');\n\nvar _root2 = _interopRequireDefault(_root);\n\nvar _root3 = require('./sign-in-credentials/root');\n\nvar _root4 = _interopRequireDefault(_root3);\n\nvar _withDropdown = require('../with-dropdown');\n\nvar _withDropdown2 = _interopRequireDefault(_withDropdown);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_WithDropdown) {\n _inherits(_class, _WithDropdown);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'page page-options' },\n _react2.default.createElement(\n 'div',\n { className: 'page-header-bg' },\n _react2.default.createElement(\n 'div',\n { className: 'page-header' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'h1',\n null,\n gettext(\"Change your options\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'page-tabs visible-xs-block visible-sm-block' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(_navs.CompactNav, {\n className: 'nav nav-pills',\n baseUrl: _index2.default.get('USERCP_URL'),\n options: _index2.default.get('USER_OPTIONS')\n })\n )\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-3 hidden-xs hidden-sm' },\n _react2.default.createElement(_navs.SideNav, {\n baseUrl: _index2.default.get('USERCP_URL'),\n options: _index2.default.get('USER_OPTIONS')\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-md-9' },\n this.props.children\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_withDropdown2.default);\n\nexports.default = _class;\nfunction select(store) {\n return {\n 'tick': store.tick.tick,\n 'user': store.auth.user,\n 'username-history': store['username-history']\n };\n}\n\nfunction paths() {\n var paths = [{\n path: _index2.default.get('USERCP_URL') + 'forum-options/',\n component: (0, _reactRedux.connect)(select)(_forumOptions2.default)\n }, {\n path: _index2.default.get('USERCP_URL') + 'edit-details/',\n component: (0, _reactRedux.connect)(select)(_editDetails2.default)\n }, {\n path: _index2.default.get('USERCP_URL') + 'change-username/',\n component: (0, _reactRedux.connect)(select)(_root2.default)\n }, {\n path: _index2.default.get('USERCP_URL') + 'sign-in-credentials/',\n component: (0, _reactRedux.connect)(select)(_root4.default)\n }];\n\n if (_index2.default.get('ENABLE_DOWNLOAD_OWN_DATA')) {\n paths.push({\n path: _index2.default.get('USERCP_URL') + 'download-data/',\n component: (0, _reactRedux.connect)(select)(_downloadData2.default)\n });\n }\n\n if (_index2.default.get('ENABLE_DELETE_OWN_ACCOUNT')) {\n paths.push({\n path: _index2.default.get('USERCP_URL') + 'delete-account/',\n component: (0, _reactRedux.connect)(select)(_deleteAccount2.default)\n });\n }\n\n return paths;\n}\n\n},{\"../../index\":301,\"../dropdown-toggle\":27,\"../with-dropdown\":298,\"./change-username/root\":80,\"./delete-account\":81,\"./download-data\":82,\"./edit-details\":83,\"./forum-options\":84,\"./navs\":85,\"./sign-in-credentials/root\":90,\"react\":\"react\",\"react-redux\":\"react-redux\"}],87:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _index = require('../../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:start\nvar UnusablePasswordMessage = function UnusablePasswordMessage() {\n return _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-form' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n gettext(\"Change email or password\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-body panel-message-body' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'info_outline'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"You need to set a password for your account to be able to change your username or email.\")\n ),\n _react2.default.createElement(\n 'p',\n { className: 'help-block' },\n _react2.default.createElement(\n 'a',\n { className: 'btn btn-primary', href: _index2.default.get('FORGOTTEN_PASSWORD_URL') },\n gettext(\"Set password\")\n )\n )\n )\n )\n );\n};\n\nexports.default = UnusablePasswordMessage;\n\n},{\"../../../index\":301,\"react\":\"react\"}],88:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _validators = require('../../../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.state = {\n new_email: '',\n password: '',\n\n validators: {\n new_email: [validators.email()],\n password: []\n },\n\n isLoading: false\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'clean',\n value: function clean() {\n var errors = this.validate();\n var lengths = [this.state.new_email.trim().length, this.state.password.trim().length];\n\n if (lengths.indexOf(0) !== -1) {\n _snackbar2.default.error(gettext(\"Fill out all fields.\"));\n return false;\n }\n\n if (errors.new_email) {\n _snackbar2.default.error(errors.new_email[0]);\n return false;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.user.api.change_email, {\n new_email: this.state.new_email,\n password: this.state.password\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(response) {\n this.setState({\n new_email: '',\n password: ''\n });\n\n _snackbar2.default.success(response.detail);\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n if (rejection.new_email) {\n _snackbar2.default.error(rejection.new_email);\n } else {\n _snackbar2.default.error(rejection.password);\n }\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement('input', { type: 'type', style: { display: 'none' } }),\n _react2.default.createElement('input', { type: 'password', style: { display: 'none' } }),\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-form' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n gettext(\"Change e-mail address\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"New e-mail\"), 'for': 'id_new_email' },\n _react2.default.createElement('input', { type: 'text', id: 'id_new_email', className: 'form-control',\n disabled: this.state.isLoading,\n onChange: this.bindInput('new_email'),\n value: this.state.new_email })\n ),\n _react2.default.createElement('hr', null),\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Your current password\"), 'for': 'id_confirm_email' },\n _react2.default.createElement('input', { type: 'password', id: 'id_confirm_email', className: 'form-control',\n disabled: this.state.isLoading,\n onChange: this.bindInput('password'),\n value: this.state.password })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-footer' },\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary', loading: this.state.isLoading },\n gettext(\"Change e-mail\")\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../../services/ajax\":364,\"../../../services/snackbar\":375,\"../../../utils/validators\":392,\"../../button\":8,\"../../form\":55,\"../../form-group\":54,\"react\":\"react\"}],89:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.state = {\n new_password: '',\n repeat_password: '',\n password: '',\n\n validators: {\n new_password: [],\n repeat_password: [],\n password: []\n },\n\n isLoading: false\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'clean',\n value: function clean() {\n var errors = this.validate();\n var lengths = [this.state.new_password.trim().length, this.state.repeat_password.trim().length, this.state.password.trim().length];\n\n if (lengths.indexOf(0) !== -1) {\n _snackbar2.default.error(gettext(\"Fill out all fields.\"));\n return false;\n }\n\n if (errors.new_password) {\n _snackbar2.default.error(errors.new_password[0]);\n return false;\n }\n\n if (this.state.new_password !== this.state.repeat_password) {\n _snackbar2.default.error(gettext(\"New passwords are different.\"));\n return false;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.user.api.change_password, {\n new_password: this.state.new_password,\n password: this.state.password\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(response) {\n this.setState({\n new_password: '',\n repeat_password: '',\n password: ''\n });\n\n _snackbar2.default.success(response.detail);\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n if (rejection.new_password) {\n _snackbar2.default.error(rejection.new_password);\n } else {\n _snackbar2.default.error(rejection.password);\n }\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement('input', { type: 'type', style: { display: 'none' } }),\n _react2.default.createElement('input', { type: 'password', style: { display: 'none' } }),\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-form' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n gettext(\"Change password\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"New password\"), 'for': 'id_new_password' },\n _react2.default.createElement('input', { type: 'password', id: 'id_new_password', className: 'form-control',\n disabled: this.state.isLoading,\n onChange: this.bindInput('new_password'),\n value: this.state.new_password })\n ),\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Repeat password\"), 'for': 'id_repeat_password' },\n _react2.default.createElement('input', { type: 'password', id: 'id_repeat_password', className: 'form-control',\n disabled: this.state.isLoading,\n onChange: this.bindInput('repeat_password'),\n value: this.state.repeat_password })\n ),\n _react2.default.createElement('hr', null),\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Your current password\"), 'for': 'id_confirm_password' },\n _react2.default.createElement('input', { type: 'password', id: 'id_confirm_password', className: 'form-control',\n disabled: this.state.isLoading,\n onChange: this.bindInput('password'),\n value: this.state.password })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-footer' },\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary', loading: this.state.isLoading },\n gettext(\"Change password\")\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../../services/ajax\":364,\"../../../services/snackbar\":375,\"../../button\":8,\"../../form\":55,\"../../form-group\":54,\"react\":\"react\"}],90:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _changeEmail = require('./change-email');\n\nvar _changeEmail2 = _interopRequireDefault(_changeEmail);\n\nvar _changePassword = require('./change-password');\n\nvar _changePassword2 = _interopRequireDefault(_changePassword);\n\nvar _index = require('../../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _pageTitle = require('../../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nvar _UnusablePasswordMessage = require('./UnusablePasswordMessage');\n\nvar _UnusablePasswordMessage2 = _interopRequireDefault(_UnusablePasswordMessage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n _pageTitle2.default.set({\n title: gettext(\"Change email or password\"),\n parent: gettext(\"Change your options\")\n });\n }\n }, {\n key: 'render',\n value: function render() {\n if (!this.props.user.has_usable_password) {\n return _react2.default.createElement(_UnusablePasswordMessage2.default, null);\n }\n\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(_changeEmail2.default, { user: this.props.user }),\n _react2.default.createElement(_changePassword2.default, { user: this.props.user }),\n _react2.default.createElement(\n 'p',\n { className: 'message-line' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'warning'\n ),\n _react2.default.createElement(\n 'a',\n { href: _index2.default.get('FORGOTTEN_PASSWORD_URL') },\n gettext(\"Change forgotten password\")\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../index\":301,\"../../../services/page-title\":372,\"./UnusablePasswordMessage\":87,\"./change-email\":88,\"./change-password\":89,\"react\":\"react\"}],91:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _stringCount = require('../utils/string-count');\n\nvar _stringCount2 = _interopRequireDefault(_stringCount);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'getClassName',\n value: function getClassName() {\n if (this.props.copy && this.props.copy.length) {\n if ((0, _stringCount2.default)(this.props.copy, ' 2,\n choice: choice,\n disabled: _this2.props.disabled,\n key: choice.hash,\n onChange: _this2.onChange,\n onDelete: _this2.onDelete\n });\n })\n ),\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-sm',\n disabled: this.props.disabled,\n onClick: this.onAdd,\n type: 'button'\n },\n gettext(\"Add choice\")\n )\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\nvar PollChoice = exports.PollChoice = function (_React$Component2) {\n _inherits(PollChoice, _React$Component2);\n\n function PollChoice() {\n var _ref2;\n\n var _temp2, _this3, _ret2;\n\n _classCallCheck(this, PollChoice);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this3 = _possibleConstructorReturn(this, (_ref2 = PollChoice.__proto__ || Object.getPrototypeOf(PollChoice)).call.apply(_ref2, [this].concat(args))), _this3), _this3.onChange = function (event) {\n _this3.props.onChange(_this3.props.choice.hash, event.target.value);\n }, _this3.onDelete = function () {\n var deleteItem = confirm(gettext(\"Are you sure you want to delete this choice?\"));\n if (deleteItem) {\n _this3.props.onDelete(_this3.props.choice.hash);\n }\n }, _temp2), _possibleConstructorReturn(_this3, _ret2);\n }\n\n _createClass(PollChoice, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'li',\n { className: 'list-group-item' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn',\n disabled: !this.props.canDelete || this.props.disabled,\n onClick: this.onDelete,\n title: gettext(\"Delete this choice\"),\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'close'\n )\n ),\n _react2.default.createElement('input', {\n disabled: this.props.disabled,\n maxLength: '255',\n placeholder: gettext(\"choice label\"),\n type: 'text',\n onChange: this.onChange,\n value: this.props.choice.label\n })\n );\n }\n }]);\n\n return PollChoice;\n}(_react2.default.Component);\n\nfunction generateRandomHash() {\n var randomHash = '';\n while (randomHash.length != 12) {\n randomHash = Math.random().toString(36).replace(/[^a-zA-Z0-9]+/g, '').substr(1, 12);\n }\n return randomHash;\n}\n\n},{\"react\":\"react\"}],104:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.PollPublicSwitch = PollPublicSwitch;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _choicesControl = require('./choices-control');\n\nvar _choicesControl2 = _interopRequireDefault(_choicesControl);\n\nvar _button = require('../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _yesNoSwitch = require('../../yes-no-switch');\n\nvar _yesNoSwitch2 = _interopRequireDefault(_yesNoSwitch);\n\nvar _poll = require('../../../reducers/poll');\n\nvar poll = _interopRequireWildcard(_poll);\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _posting = require('../../../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.setChoices = function (choices) {\n var errors = Object.assign({}, errors, { choices: null });\n\n _this.setState({\n choices: choices,\n errors: errors\n });\n };\n\n _this.onCancel = function () {\n var cancel = confirm(gettext(\"Are you sure you want to discard poll?\"));\n if (cancel) {\n _posting2.default.close();\n }\n };\n\n var poll = props.poll || {\n question: '',\n choices: [{\n hash: 'choice-10000',\n label: ''\n }, {\n hash: 'choice-20000',\n label: ''\n }],\n length: 0,\n allowed_choices: 1,\n allow_revotes: 0,\n is_public: 0\n };\n\n _this.state = {\n isLoading: false,\n isEdit: !!poll.question,\n\n question: poll.question,\n choices: poll.choices,\n length: poll.length,\n allowed_choices: poll.allowed_choices,\n allow_revotes: poll.allow_revotes,\n is_public: poll.is_public,\n\n validators: {\n question: [],\n choices: [],\n length: [],\n allowed_choices: []\n },\n\n errors: {}\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'send',\n value: function send() {\n var data = {\n question: this.state.question,\n choices: this.state.choices,\n length: this.state.length,\n allowed_choices: this.state.allowed_choices,\n allow_revotes: this.state.allow_revotes,\n is_public: this.state.is_public\n };\n\n if (this.state.isEdit) {\n return _ajax2.default.put(this.props.poll.api.index, data);\n } else {\n return _ajax2.default.post(this.props.thread.api.poll, data);\n }\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(data) {\n _store2.default.dispatch(poll.replace(data));\n\n if (this.state.isEdit) {\n _snackbar2.default.success(gettext(\"Poll has been edited.\"));\n } else {\n _snackbar2.default.success(gettext(\"Poll has been posted.\"));\n }\n\n _posting2.default.close();\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n if (rejection.non_field_errors) {\n rejection.allowed_choices = rejection.non_field_errors;\n }\n\n this.setState({\n 'errors': Object.assign({}, rejection)\n });\n\n _snackbar2.default.error(gettext(\"Form contains errors.\"));\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'div',\n { className: 'poll-form' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-form' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n 'fieldset',\n null,\n _react2.default.createElement(\n 'legend',\n null,\n gettext(\"Question and choices\")\n ),\n _react2.default.createElement(\n _formGroup2.default,\n {\n label: gettext(\"Poll question\"),\n 'for': 'id_questions',\n validation: this.state.errors.question\n },\n _react2.default.createElement('input', {\n className: 'form-control',\n disabled: this.state.isLoading,\n id: 'id_questions',\n onChange: this.bindInput('question'),\n type: 'text',\n maxLength: '255',\n value: this.state.question\n })\n ),\n _react2.default.createElement(\n _formGroup2.default,\n {\n label: gettext(\"Available choices\"),\n validation: this.state.errors.choices\n },\n _react2.default.createElement(_choicesControl2.default, {\n choices: this.state.choices,\n disabled: this.state.isLoading,\n setChoices: this.setChoices\n })\n )\n ),\n _react2.default.createElement(\n 'fieldset',\n null,\n _react2.default.createElement(\n 'legend',\n null,\n gettext(\"Voting\")\n ),\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-6' },\n _react2.default.createElement(\n _formGroup2.default,\n {\n label: gettext(\"Poll length\"),\n helpText: gettext(\"Enter number of days for which voting in this poll should be possible or zero to run this poll indefinitely.\"),\n 'for': 'id_length',\n validation: this.state.errors.length\n },\n _react2.default.createElement('input', {\n className: 'form-control',\n disabled: this.state.isLoading,\n id: 'id_length',\n onChange: this.bindInput('length'),\n type: 'text',\n value: this.state.length\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-6' },\n _react2.default.createElement(\n _formGroup2.default,\n {\n label: gettext(\"Allowed choices\"),\n 'for': 'id_allowed_choices',\n validation: this.state.errors.allowed_choices\n },\n _react2.default.createElement('input', {\n className: 'form-control',\n disabled: this.state.isLoading,\n id: 'id_allowed_choices',\n onChange: this.bindInput('allowed_choices'),\n type: 'text',\n maxLength: '255',\n value: this.state.allowed_choices\n })\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(PollPublicSwitch, {\n bindInput: this.bindInput,\n disabled: this.state.isLoading,\n isEdit: this.state.isEdit,\n value: this.state.is_public\n }),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-6' },\n _react2.default.createElement(\n _formGroup2.default,\n {\n label: gettext(\"Allow vote changes\"),\n 'for': 'id_allow_revotes'\n },\n _react2.default.createElement(_yesNoSwitch2.default, {\n id: 'id_allow_revotes',\n disabled: this.state.isLoading,\n iconOn: 'check',\n iconOff: 'close',\n labelOn: gettext(\"Allow participants to change their vote\"),\n labelOff: gettext(\"Don't allow participants to change their vote\"),\n onChange: this.bindInput('allow_revotes'),\n value: this.state.allow_revotes\n })\n )\n )\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-footer text-right' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n disabled: this.state.isLoading,\n onClick: this.onCancel,\n type: 'button'\n },\n gettext(\"Cancel\")\n ),\n ' ',\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-primary',\n loading: this.state.isLoading\n },\n this.state.isEdit ? gettext(\"Save changes\") : gettext(\"Post poll\")\n )\n )\n )\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\nfunction PollPublicSwitch(props) {\n if (props.isEdit) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-6' },\n _react2.default.createElement(\n _formGroup2.default,\n {\n label: gettext(\"Make voting public\"),\n 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.\"),\n 'for': 'id_is_public'\n },\n _react2.default.createElement(_yesNoSwitch2.default, {\n id: 'id_is_public',\n disabled: props.disabled,\n iconOn: 'visibility',\n iconOff: 'visibility_off',\n labelOn: gettext(\"Votes are public\"),\n labelOff: gettext(\"Votes are hidden\"),\n onChange: props.bindInput('is_public'),\n value: props.value\n })\n )\n );\n}\n\n},{\"../../../reducers/poll\":351,\"../../../services/ajax\":364,\"../../../services/posting\":374,\"../../../services/snackbar\":375,\"../../../services/store\":376,\"../../button\":8,\"../../form\":55,\"../../form-group\":54,\"../../yes-no-switch\":299,\"./choices-control\":103,\"react\":\"react\"}],105:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PollForm = exports.Poll = undefined;\n\nvar _poll = require('./poll');\n\nvar _poll2 = _interopRequireDefault(_poll);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.Poll = _poll2.default;\nexports.PollForm = _form2.default;\n\n},{\"./form\":104,\"./poll\":107}],106:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'ul',\n { className: 'list-unstyled list-inline poll-details' },\n _react2.default.createElement(PollVotes, { votes: props.poll.votes }),\n _react2.default.createElement(PollLength, { poll: props.poll }),\n _react2.default.createElement(PollIsPublic, { poll: props.poll }),\n _react2.default.createElement(PollCreation, { poll: props.poll })\n );\n};\n\nexports.PollCreation = PollCreation;\nexports.getPoster = getPoster;\nexports.getPostedOn = getPostedOn;\nexports.PollLength = PollLength;\nexports.getEndsOn = getEndsOn;\nexports.PollVotes = PollVotes;\nexports.PollIsPublic = PollIsPublic;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _escapeHtml = require('../../utils/escape-html');\n\nvar _escapeHtml2 = _interopRequireDefault(_escapeHtml);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:start\nvar DATE_ABBR = '%(relative)s';\nvar USER_SPAN = '%(user)s';\nvar USER_URL = '%(user)s';\n\nfunction PollCreation(props) {\n var message = interpolate((0, _escapeHtml2.default)(gettext(\"Posted by %(poster)s %(posted_on)s.\")), {\n poster: getPoster(props.poll),\n posted_on: getPostedOn(props.poll)\n }, true);\n\n return _react2.default.createElement('li', {\n className: 'poll-info-creation',\n dangerouslySetInnerHTML: { __html: message }\n });\n}\n\nfunction getPoster(poll) {\n if (poll.url.poster) {\n return interpolate(USER_URL, {\n url: (0, _escapeHtml2.default)(poll.url.poster),\n user: (0, _escapeHtml2.default)(poll.poster_name)\n }, true);\n }\n\n return interpolate(USER_SPAN, {\n user: (0, _escapeHtml2.default)(poll.poster_name)\n }, true);\n}\n\nfunction getPostedOn(poll) {\n return interpolate(DATE_ABBR, {\n absolute: (0, _escapeHtml2.default)(poll.posted_on.format('LLL')),\n relative: (0, _escapeHtml2.default)(poll.posted_on.fromNow())\n }, true);\n}\n\nfunction PollLength(props) {\n if (!props.poll.length) {\n return null;\n }\n\n var message = interpolate((0, _escapeHtml2.default)(gettext(\"Voting ends %(ends_on)s.\")), {\n ends_on: getEndsOn(props.poll)\n }, true);\n\n return _react2.default.createElement('li', {\n className: 'poll-info-ends-on',\n dangerouslySetInnerHTML: { __html: message }\n });\n}\n\nfunction getEndsOn(poll) {\n return interpolate(DATE_ABBR, {\n absolute: (0, _escapeHtml2.default)(poll.endsOn.format('LLL')),\n relative: (0, _escapeHtml2.default)(poll.endsOn.fromNow())\n }, true);\n}\n\nfunction PollVotes(props) {\n var message = ngettext(\"%(votes)s vote.\", \"%(votes)s votes.\", props.votes);\n var label = interpolate(message, {\n 'votes': props.votes\n }, true);\n\n return _react2.default.createElement(\n 'li',\n { className: 'poll-info-votes' },\n label\n );\n}\n\nfunction PollIsPublic(props) {\n if (!props.poll.is_public) {\n return null;\n }\n\n return _react2.default.createElement(\n 'li',\n { className: 'poll-info-public' },\n gettext(\"Votes are public.\")\n );\n}\n\n},{\"../../utils/escape-html\":382,\"react\":\"react\"}],107:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.getIsPollOver = getIsPollOver;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _results = require('./results');\n\nvar _results2 = _interopRequireDefault(_results);\n\nvar _voting = require('./voting');\n\nvar _voting2 = _interopRequireDefault(_voting);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.showResults = function () {\n _this.setState({\n showResults: true\n });\n };\n\n _this.showVoting = function () {\n _this.setState({\n showResults: false\n });\n };\n\n var showResults = true;\n if (props.user.id && !props.poll.hasSelectedChoices) {\n showResults = false;\n }\n\n _this.state = {\n showResults: showResults\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n if (!this.props.thread.poll) return null;\n\n var isPollOver = getIsPollOver(this.props.poll);\n\n if (!isPollOver && this.props.poll.acl.can_vote && !this.state.showResults) {\n return _react2.default.createElement(_voting2.default, _extends({ showResults: this.showResults }, this.props));\n } else {\n return _react2.default.createElement(_results2.default, _extends({\n isPollOver: isPollOver,\n showVoting: this.showVoting\n }, this.props));\n }\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\nfunction getIsPollOver(poll) {\n if (poll.length) {\n return (0, _moment2.default)().isAfter(poll.endsOn);\n }\n return false;\n}\n\n},{\"./results\":109,\"./voting\":113,\"moment\":\"moment\",\"react\":\"react\"}],108:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n \"div\",\n { className: \"poll-choices-bars\" },\n props.poll.choices.map(function (choice) {\n return _react2.default.createElement(PollChoice, {\n choice: choice,\n key: choice.hash,\n poll: props.poll\n });\n })\n );\n};\n\nexports.PollChoice = PollChoice;\nexports.ChoiceVotes = ChoiceVotes;\nexports.getVotesLabel = getVotesLabel;\nexports.UserChoice = UserChoice;\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:start\nfunction PollChoice(props) {\n var proc = 0;\n if (props.choice.votes && props.poll.votes) {\n proc = Math.ceil(props.choice.votes * 100 / props.poll.votes);\n }\n\n return _react2.default.createElement(\n \"dl\",\n { className: \"dl-horizontal\" },\n _react2.default.createElement(\n \"dt\",\n null,\n props.choice.label\n ),\n _react2.default.createElement(\n \"dd\",\n null,\n _react2.default.createElement(\n \"div\",\n { className: \"progress\" },\n _react2.default.createElement(\n \"div\",\n {\n className: \"progress-bar\",\n role: \"progressbar\",\n \"aria-valuenow\": proc,\n \"aria-valuemin\": \"0\",\n \"aria-valuemax\": \"100\",\n style: { width: proc + '%' }\n },\n _react2.default.createElement(\n \"span\",\n { className: \"sr-only\" },\n getVotesLabel(props.votes, props.proc)\n )\n )\n ),\n _react2.default.createElement(\n \"ul\",\n { className: \"list-unstyled list-inline poll-chart\" },\n _react2.default.createElement(ChoiceVotes, {\n proc: proc,\n votes: props.choice.votes\n }),\n _react2.default.createElement(UserChoice, { selected: props.choice.selected })\n )\n )\n );\n}\n\nfunction ChoiceVotes(props) {\n return _react2.default.createElement(\n \"li\",\n { className: \"poll-chart-votes\" },\n getVotesLabel(props.votes, props.proc)\n );\n}\n\nfunction getVotesLabel(votes, proc) {\n var message = ngettext(\"%(votes)s vote, %(proc)s% of total.\", \"%(votes)s votes, %(proc)s% of total.\", votes);\n\n return interpolate(message, {\n 'votes': votes,\n 'proc': proc\n }, true);\n}\n\nfunction UserChoice(props) {\n if (!props.selected) return null;\n\n return _react2.default.createElement(\n \"li\",\n { className: \"poll-chart-selected\" },\n _react2.default.createElement(\n \"span\",\n { className: \"material-icon\" },\n \"check_box\"\n ),\n gettext(\"Your choice.\")\n );\n}\n\n},{\"react\":\"react\"}],109:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-poll' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n 'h2',\n null,\n props.poll.question\n ),\n _react2.default.createElement(_info2.default, { poll: props.poll }),\n _react2.default.createElement(_chart2.default, { poll: props.poll }),\n _react2.default.createElement(_options2.default, {\n isPollOver: props.isPollOver,\n poll: props.poll,\n showVoting: props.showVoting,\n thread: props.thread\n })\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _chart = require('./chart');\n\nvar _chart2 = _interopRequireDefault(_chart);\n\nvar _options = require('./options');\n\nvar _options2 = _interopRequireDefault(_options);\n\nvar _info = require('../info');\n\nvar _info2 = _interopRequireDefault(_info);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../info\":106,\"./chart\":108,\"./options\":111,\"react\":\"react\"}],110:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.ModalBody = ModalBody;\nexports.ChoicesList = ChoicesList;\nexports.ChoiceDetails = ChoiceDetails;\nexports.VotesCount = VotesCount;\nexports.VotesList = VotesList;\nexports.Voter = Voter;\nexports.VoteDate = VoteDate;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _modalMessage = require('../../modal-message');\n\nvar _modalMessage2 = _interopRequireDefault(_modalMessage);\n\nvar _modalLoader = require('../../modal-loader');\n\nvar _modalLoader2 = _interopRequireDefault(_modalLoader);\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.state = {\n isLoading: true,\n error: null,\n data: []\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n _ajax2.default.get(this.props.poll.api.votes).then(function (data) {\n var hydratedData = data.map(function (choice) {\n return Object.assign({}, choice, {\n voters: choice.voters.map(function (voter) {\n return Object.assign({}, voter, {\n voted_on: (0, _moment2.default)(voter.voted_on)\n });\n })\n });\n });\n\n _this2.setState({\n isLoading: false,\n data: hydratedData\n });\n }, function (rejection) {\n _this2.setState({\n isLoading: false,\n error: rejection.detail\n });\n });\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'div',\n {\n className: 'modal-dialog' + (this.state.error ? ' modal-message' : ' modal-sm'),\n role: 'document'\n },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n {\n type: 'button',\n className: 'close',\n 'data-dismiss': 'modal',\n 'aria-label': gettext(\"Close\")\n },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Poll votes\")\n )\n ),\n _react2.default.createElement(ModalBody, {\n data: this.state.data,\n error: this.state.error,\n isLoading: this.state.isLoading\n })\n )\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\nfunction ModalBody(props) {\n if (props.isLoading) {\n return _react2.default.createElement(_modalLoader2.default, null);\n } else if (props.error) {\n return _react2.default.createElement(_modalMessage2.default, {\n icon: 'error_outline',\n message: props.error\n });\n }\n\n return _react2.default.createElement(ChoicesList, {\n data: props.data\n });\n}\n\nfunction ChoicesList(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-body modal-poll-votes' },\n _react2.default.createElement(\n 'ul',\n { className: 'list-unstyled votes-details' },\n props.data.map(function (choice) {\n return _react2.default.createElement(ChoiceDetails, _extends({\n key: choice.hash\n }, choice));\n })\n )\n );\n}\n\nfunction ChoiceDetails(props) {\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'h4',\n null,\n props.label\n ),\n _react2.default.createElement(VotesCount, { votes: props.votes }),\n _react2.default.createElement(VotesList, { voters: props.voters }),\n _react2.default.createElement('hr', null)\n );\n}\n\nfunction VotesCount(props) {\n var message = ngettext(\"%(votes)s user has voted for this choice.\", \"%(votes)s users have voted for this choice.\", props.votes);\n\n var label = interpolate(message, {\n 'votes': props.votes\n }, true);\n\n return _react2.default.createElement(\n 'p',\n null,\n label\n );\n}\n\nfunction VotesList(props) {\n if (!props.voters.length) return null;\n\n return _react2.default.createElement(\n 'ul',\n { className: 'list-unstyled' },\n props.voters.map(function (user) {\n return _react2.default.createElement(Voter, _extends({\n key: user.username\n }, user));\n })\n );\n}\n\nfunction Voter(props) {\n if (props.url) {\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'a',\n {\n className: 'item-title',\n href: props.url\n },\n props.username\n ),\n ' ',\n _react2.default.createElement(VoteDate, { voted_on: props.voted_on })\n );\n }\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'strong',\n null,\n props.username\n ),\n ' ',\n _react2.default.createElement(VoteDate, { voted_on: props.voted_on })\n );\n}\n\nfunction VoteDate(props) {\n return _react2.default.createElement(\n 'abbr',\n {\n className: 'text-muted',\n title: props.voted_on.format('LLL')\n },\n props.voted_on.fromNow()\n );\n}\n\n},{\"../../../services/ajax\":364,\"../../modal-loader\":60,\"../../modal-message\":61,\"moment\":\"moment\",\"react\":\"react\"}],111:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Delete = exports.Edit = exports.SeeVotes = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = function (props) {\n var isPollOver = props.isPollOver,\n poll = props.poll,\n showVoting = props.showVoting,\n thread = props.thread;\n\n\n if (!isVisible(isPollOver, poll.acl, poll)) return null;\n\n var controls = [];\n\n var canVote = poll.acl.can_vote;\n var canChangeVote = !poll.hasSelectedChoices || poll.allow_revotes;\n\n if (canVote && canChangeVote) controls.push(0);\n if (poll.is_public || poll.acl.can_see_votes) controls.push(1);\n if (poll.acl.can_edit) controls.push(2);\n if (poll.acl.can_delete) controls.push(3);\n\n return _react2.default.createElement(\n 'div',\n { className: 'row poll-options' },\n _react2.default.createElement(ChangeVote, {\n controls: controls,\n isPollOver: isPollOver,\n poll: poll,\n showVoting: showVoting\n }),\n _react2.default.createElement(SeeVotes, {\n controls: controls,\n poll: poll\n }),\n _react2.default.createElement(Edit, {\n controls: controls,\n poll: poll,\n thread: thread\n }),\n _react2.default.createElement(Delete, {\n controls: controls,\n poll: poll\n })\n );\n};\n\nexports.isVisible = isVisible;\nexports.getClassName = getClassName;\nexports.ChangeVote = ChangeVote;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _modal = require('./modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _poll = require('../../../reducers/poll');\n\nvar poll = _interopRequireWildcard(_poll);\n\nvar _thread = require('../../../reducers/thread');\n\nvar thread = _interopRequireWildcard(_thread);\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal3 = require('../../../services/modal');\n\nvar _modal4 = _interopRequireDefault(_modal3);\n\nvar _posting = require('../../../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nfunction isVisible(isPollOver, acl, poll) {\n return poll.is_public || acl.can_delete || acl.can_edit || acl.can_see_votes || acl.can_vote && !isPollOver && (!poll.hasSelectedChoices || poll.allow_revotes);\n}\n\nfunction getClassName(controls, control) {\n var className = 'col-xs-6';\n\n if (controls.length === 1) {\n className = 'col-xs-12';\n }\n\n if (controls.length === 3 && controls[0] === control) {\n className = 'col-xs-12';\n }\n\n return className + ' col-sm-3 col-md-2';\n}\n\nfunction ChangeVote(props) {\n var canVote = props.poll.acl.can_vote;\n var canChangeVote = !props.poll.hasSelectedChoices || props.poll.allow_revotes;\n\n if (!(canVote && canChangeVote)) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: getClassName(props.controls, 0) },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-block btn-sm',\n disabled: props.poll.isBusy,\n onClick: props.showVoting,\n type: 'button'\n },\n gettext(\"Vote\")\n )\n );\n}\n\nvar SeeVotes = exports.SeeVotes = function (_React$Component) {\n _inherits(SeeVotes, _React$Component);\n\n function SeeVotes() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, SeeVotes);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = SeeVotes.__proto__ || Object.getPrototypeOf(SeeVotes)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n _modal4.default.show(_react2.default.createElement(_modal2.default, { poll: _this.props.poll }));\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(SeeVotes, [{\n key: 'render',\n value: function render() {\n var seeVotes = this.props.poll.is_public || this.props.poll.acl.can_see_votes;\n if (!seeVotes) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: getClassName(this.props.controls, 1) },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-block btn-sm',\n disabled: this.props.poll.isBusy,\n onClick: this.onClick,\n type: 'button'\n },\n gettext(\"See votes\")\n )\n );\n }\n }]);\n\n return SeeVotes;\n}(_react2.default.Component);\n\nvar Edit = exports.Edit = function (_React$Component2) {\n _inherits(Edit, _React$Component2);\n\n function Edit() {\n var _ref2;\n\n var _temp2, _this2, _ret2;\n\n _classCallCheck(this, Edit);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, (_ref2 = Edit.__proto__ || Object.getPrototypeOf(Edit)).call.apply(_ref2, [this].concat(args))), _this2), _this2.onClick = function () {\n _posting2.default.open({\n submit: _this2.props.poll.api.index,\n\n thread: _this2.props.thread,\n poll: _this2.props.poll,\n\n mode: 'POLL'\n });\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n }\n\n _createClass(Edit, [{\n key: 'render',\n value: function render() {\n if (!this.props.poll.acl.can_edit) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: getClassName(this.props.controls, 2) },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-block btn-sm',\n disabled: this.props.poll.isBusy,\n onClick: this.onClick,\n type: 'button'\n },\n gettext(\"Edit\")\n )\n );\n }\n }]);\n\n return Edit;\n}(_react2.default.Component);\n\nvar Delete = exports.Delete = function (_React$Component3) {\n _inherits(Delete, _React$Component3);\n\n function Delete() {\n var _ref3;\n\n var _temp3, _this3, _ret3;\n\n _classCallCheck(this, Delete);\n\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _ret3 = (_temp3 = (_this3 = _possibleConstructorReturn(this, (_ref3 = Delete.__proto__ || Object.getPrototypeOf(Delete)).call.apply(_ref3, [this].concat(args))), _this3), _this3.onClick = function () {\n var deletePoll = confirm(gettext(\"Are you sure you want to delete this poll? This action is not reversible.\"));\n if (!deletePoll) return false;\n\n _store2.default.dispatch(poll.busy());\n\n _ajax2.default.delete(_this3.props.poll.api.index).then(_this3.handleSuccess, _this3.handleError);\n }, _this3.handleSuccess = function (newThreadAcl) {\n _snackbar2.default.success(\"Poll has been deleted\");\n _store2.default.dispatch(poll.remove());\n _store2.default.dispatch(thread.updateAcl(newThreadAcl));\n }, _this3.handleError = function (rejection) {\n _snackbar2.default.apiError(rejection);\n _store2.default.dispatch(poll.release());\n }, _temp3), _possibleConstructorReturn(_this3, _ret3);\n }\n\n _createClass(Delete, [{\n key: 'render',\n value: function render() {\n if (!this.props.poll.acl.can_delete) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: getClassName(this.props.controls, 3) },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-block btn-sm',\n disabled: this.props.poll.isBusy,\n onClick: this.onClick,\n type: 'button'\n },\n gettext(\"Delete\")\n )\n );\n }\n }]);\n\n return Delete;\n}(_react2.default.Component);\n\n},{\"../../../reducers/poll\":351,\"../../../reducers/thread\":359,\"../../../services/ajax\":364,\"../../../services/modal\":370,\"../../../services/posting\":374,\"../../../services/snackbar\":375,\"../../../services/store\":376,\"./modal\":110,\"react\":\"react\"}],112:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'ul',\n { className: 'list-unstyled list-inline poll-help' },\n _react2.default.createElement(PollChoicesLeft, { choicesLeft: props.choicesLeft }),\n _react2.default.createElement(PollAllowRevote, { poll: props.poll })\n );\n};\n\nexports.PollChoicesLeft = PollChoicesLeft;\nexports.PollAllowRevote = PollAllowRevote;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _escapeHtml = require('../../../utils/escape-html');\n\nvar _escapeHtml2 = _interopRequireDefault(_escapeHtml);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:start\nvar DATE_ABBR = '%(relative)s';\nvar USER_SPAN = '%(user)s';\nvar USER_URL = '%(user)s';\n\nfunction PollChoicesLeft(_ref) {\n var choicesLeft = _ref.choicesLeft;\n\n if (choicesLeft === 0) {\n return _react2.default.createElement(\n 'li',\n { className: 'poll-help-choices-left' },\n gettext(\"You can't select any more choices.\")\n );\n }\n\n var message = ngettext(\"You can select %(choices)s more choice.\", \"You can select %(choices)s more choices.\", choicesLeft);\n\n var label = interpolate(message, {\n 'choices': choicesLeft\n }, true);\n\n return _react2.default.createElement(\n 'li',\n { className: 'poll-help-choices-left' },\n label\n );\n}\n\nfunction PollAllowRevote(props) {\n if (props.poll.allow_revotes) {\n return _react2.default.createElement(\n 'li',\n { className: 'poll-help-allow-revotes' },\n gettext(\"You can change your vote later.\")\n );\n }\n\n return _react2.default.createElement(\n 'li',\n { className: 'poll-help-no-revotes' },\n gettext(\"Votes are final.\")\n );\n}\n\n},{\"../../../utils/escape-html\":382,\"react\":\"react\"}],113:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _help = require('./help');\n\nvar _help2 = _interopRequireDefault(_help);\n\nvar _select = require('./select');\n\nvar _select2 = _interopRequireDefault(_select);\n\nvar _utils = require('./utils');\n\nvar _info = require('../info');\n\nvar _info2 = _interopRequireDefault(_info);\n\nvar _options = require('../results/options');\n\nvar _button = require('../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _poll = require('../../../reducers/poll');\n\nvar poll = _interopRequireWildcard(_poll);\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.toggleChoice = function (hash) {\n var choice = (0, _utils.getChoiceFromHash)(_this.state.choices, hash);\n\n var choices = null;\n if (!choice.selected) {\n choices = _this.selectChoice(choice, hash);\n } else {\n choices = _this.deselectChoice(choice, hash);\n }\n\n _this.setState({\n choices: choices,\n choicesLeft: (0, _utils.getChoicesLeft)(_this.props.poll, choices)\n });\n };\n\n _this.selectChoice = function (choice, hash) {\n var choicesLeft = (0, _utils.getChoicesLeft)(_this.props.poll, _this.state.choices);\n\n if (!choicesLeft) {\n for (var i in _this.state.choices.slice()) {\n var item = _this.state.choices[i];\n if (item.selected && item.hash != hash) {\n item.selected = false;\n break;\n }\n }\n }\n\n return _this.state.choices.map(function (choice) {\n return Object.assign({}, choice, {\n selected: choice.hash == hash ? true : choice.selected\n });\n });\n };\n\n _this.deselectChoice = function (choice, hash) {\n return _this.state.choices.map(function (choice) {\n return Object.assign({}, choice, {\n selected: choice.hash == hash ? false : choice.selected\n });\n });\n };\n\n _this.state = {\n isLoading: false,\n\n choices: props.poll.choices,\n choicesLeft: (0, _utils.getChoicesLeft)(props.poll, props.poll.choices)\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'clean',\n value: function clean() {\n if (this.state.choicesLeft === this.props.poll.allowed_choices) {\n _snackbar2.default.error(gettext(\"You need to select at least one choice\"));\n return false;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n var data = [];\n for (var i in this.state.choices.slice()) {\n var item = this.state.choices[i];\n if (item.selected) {\n data.push(item.hash);\n }\n }\n\n return _ajax2.default.post(this.props.poll.api.votes, data);\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(data) {\n _store2.default.dispatch(poll.replace(data));\n _snackbar2.default.success(gettext(\"Your vote has been saved.\"));\n\n this.props.showResults();\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var controls = [];\n\n if (this.props.poll.acl.can_vote) controls.push(0);\n if (this.props.poll.is_public || this.props.poll.acl.can_see_votes) controls.push(1);\n if (this.props.poll.acl.can_edit) controls.push(2);\n if (this.props.poll.acl.can_delete) controls.push(3);\n\n return _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-poll' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n 'h2',\n null,\n this.props.poll.question\n ),\n _react2.default.createElement(_info2.default, { poll: this.props.poll }),\n _react2.default.createElement(_select2.default, {\n choices: this.state.choices,\n toggleChoice: this.toggleChoice\n }),\n _react2.default.createElement(_help2.default, {\n choicesLeft: this.state.choicesLeft,\n poll: this.props.poll\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-footer' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: (0, _options.getClassName)(controls, 0) },\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-primary btn-block btn-sm',\n loading: this.state.isLoading\n },\n gettext(\"Save your vote\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: (0, _options.getClassName)(controls, 1) },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-block btn-sm',\n disabled: this.state.isLoading,\n onClick: this.props.showResults,\n type: 'button'\n },\n gettext(\"See results\")\n )\n ),\n _react2.default.createElement(_options.Edit, {\n controls: controls,\n poll: this.props.poll,\n thread: this.props.thread\n }),\n _react2.default.createElement(_options.Delete, {\n controls: controls,\n poll: this.props.poll\n })\n )\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../../reducers/poll\":351,\"../../../services/ajax\":364,\"../../../services/snackbar\":375,\"../../../services/store\":376,\"../../button\":8,\"../../form\":55,\"../info\":106,\"../results/options\":111,\"./help\":112,\"./select\":114,\"./utils\":115,\"react\":\"react\"}],114:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ChoiceSelect = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = function (props) {\n return _react2.default.createElement(\n \"ul\",\n { className: \"list-unstyled poll-select-choices\" },\n props.choices.map(function (choice) {\n return _react2.default.createElement(ChoiceSelect, {\n choice: choice,\n key: choice.hash,\n toggleChoice: props.toggleChoice\n });\n })\n );\n};\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar ChoiceSelect = exports.ChoiceSelect = function (_React$Component) {\n _inherits(ChoiceSelect, _React$Component);\n\n function ChoiceSelect() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, ChoiceSelect);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = ChoiceSelect.__proto__ || Object.getPrototypeOf(ChoiceSelect)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n _this.props.toggleChoice(_this.props.choice.hash);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(ChoiceSelect, [{\n key: \"render\",\n value: function render() {\n return _react2.default.createElement(\n \"li\",\n { className: \"poll-select-choice\" },\n _react2.default.createElement(\n \"button\",\n {\n className: this.props.choice.selected ? 'btn btn-selected' : 'btn',\n onClick: this.onClick,\n type: \"button\"\n },\n _react2.default.createElement(\n \"span\",\n { className: \"material-icon\" },\n this.props.choice.selected ? 'check_box' : 'check_box_outline_blank'\n ),\n _react2.default.createElement(\n \"strong\",\n null,\n this.props.choice.label\n )\n )\n );\n }\n }]);\n\n return ChoiceSelect;\n}(_react2.default.Component);\n\n},{\"react\":\"react\"}],115:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getChoiceFromHash = getChoiceFromHash;\nexports.getChoicesLeft = getChoicesLeft;\nfunction getChoiceFromHash(choices, hash) {\n for (var i in choices) {\n var choice = choices[i];\n if (choice.hash === hash) {\n return choice;\n }\n }\n\n return null;\n}\n\nfunction getChoicesLeft(poll, choices) {\n var selection = [];\n for (var i in choices) {\n var choice = choices[i];\n if (choice.selected) {\n selection.push(choice);\n }\n }\n\n return poll.allowed_choices - selection.length;\n}\n\n},{}],116:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n \"div\",\n { className: \"modal-body post-changelog-diff\" },\n _react2.default.createElement(\n \"ul\",\n { className: \"list-unstyled\" },\n props.diff.map(function (item, i) {\n return _react2.default.createElement(DiffItem, { item: item, key: i });\n })\n )\n );\n};\n\nexports.DiffItem = DiffItem;\nexports.getItemClassName = getItemClassName;\nexports.cleanItem = cleanItem;\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:start\nfunction DiffItem(props) {\n if (props.item[0] === '?') return null;\n\n return _react2.default.createElement(\n \"li\",\n { className: getItemClassName(props.item) },\n cleanItem(props.item)\n );\n}\n\nfunction getItemClassName(item) {\n var className = 'diff-item';\n if (item[0] === '-') {\n className += ' diff-item-sub';\n } else if (item[0] === '+') {\n className += ' diff-item-add';\n }\n return className;\n}\n\nfunction cleanItem(item) {\n return item.substr(2);\n}\n\n},{\"react\":\"react\"}],117:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n _this.props.revertEdit(_this.props.edit.id);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n if (!this.props.canRevert) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'modal-footer visible-xs-block' },\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-default btn-sm btn-block',\n disabled: this.props.disabled,\n onClick: this.onClick,\n title: gettext(\"Revert post to state from before this edit.\")\n },\n gettext(\"Revert\")\n )\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../button\":8,\"react\":\"react\"}],118:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.ModalDialog = ModalDialog;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _diff = require('./diff');\n\nvar _diff2 = _interopRequireDefault(_diff);\n\nvar _footer = require('./footer');\n\nvar _footer2 = _interopRequireDefault(_footer);\n\nvar _toolbar = require('./toolbar');\n\nvar _toolbar2 = _interopRequireDefault(_toolbar);\n\nvar _utils = require('./utils');\n\nvar _modalMessage = require('../modal-message');\n\nvar _modalMessage2 = _interopRequireDefault(_modalMessage);\n\nvar _modalLoader = require('../modal-loader');\n\nvar _modalLoader2 = _interopRequireDefault(_modalLoader);\n\nvar _post = require('../../reducers/post');\n\nvar post = _interopRequireWildcard(_post);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.goToEdit = function () {\n var edit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n _this.setState({\n isBusy: true\n });\n\n var url = _this.props.post.api.edits;\n if (edit !== null) {\n url += '?edit=' + edit;\n }\n\n _ajax2.default.get(url).then(function (data) {\n _this.setState({\n isReady: true,\n isBusy: false,\n edit: (0, _utils.hydrateEdit)(data)\n });\n }, function (rejection) {\n _this.setState({\n isReady: true,\n isBusy: false,\n error: rejection.detail\n });\n });\n };\n\n _this.revertEdit = function (edit) {\n if (_this.state.isBusy) return;\n\n var confirmation = confirm(gettext(\"Are you sure you with to revert this post to the state from before this edit?\"));\n if (!confirmation) return;\n\n _this.setState({\n isBusy: true\n });\n\n var url = _this.props.post.api.edits + '?edit=' + edit;\n _ajax2.default.post(url).then(function (data) {\n var hydratedPost = post.hydrate(data);\n _store2.default.dispatch(post.patch(data, hydratedPost));\n\n _snackbar2.default.success(gettext(\"Post has been reverted to previous state.\"));\n _modal2.default.hide();\n }, function (rejection) {\n _snackbar2.default.apiError(rejection);\n\n _this.setState({\n isBusy: false\n });\n });\n };\n\n _this.state = {\n isReady: false,\n isBusy: true,\n\n canRevert: props.post.acl.can_edit,\n\n error: null,\n edit: null\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.goToEdit();\n }\n }, {\n key: 'render',\n value: function render() {\n if (this.state.error) {\n return _react2.default.createElement(\n ModalDialog,\n { className: 'modal-dialog modal-message' },\n _react2.default.createElement(_modalMessage2.default, {\n message: this.state.error\n })\n );\n } else if (this.state.isReady) {\n return _react2.default.createElement(\n ModalDialog,\n null,\n _react2.default.createElement(_toolbar2.default, {\n canRevert: this.state.canRevert,\n disabled: this.state.isBusy,\n edit: this.state.edit,\n goToEdit: this.goToEdit,\n revertEdit: this.revertEdit\n }),\n _react2.default.createElement(_diff2.default, { diff: this.state.edit.diff }),\n _react2.default.createElement(_footer2.default, {\n canRevert: this.state.canRevert,\n disabled: this.state.isBusy,\n edit: this.state.edit,\n revertEdit: this.revertEdit\n })\n );\n }\n\n return _react2.default.createElement(\n ModalDialog,\n null,\n _react2.default.createElement(_modalLoader2.default, null)\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\nfunction ModalDialog(props) {\n return _react2.default.createElement(\n 'div',\n {\n className: props.className || \"modal-dialog\",\n role: 'document'\n },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-label': gettext(\"Close\"),\n className: 'close',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Post edits history\")\n )\n ),\n props.children\n )\n );\n}\n\n},{\"../../reducers/post\":352,\"../../services/ajax\":364,\"../../services/modal\":370,\"../../services/snackbar\":375,\"../../services/store\":376,\"../modal-loader\":60,\"../modal-message\":61,\"./diff\":116,\"./footer\":117,\"./toolbar\":119,\"./utils\":120,\"react\":\"react\"}],119:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.GoBackBtn = GoBackBtn;\nexports.GoForwardBtn = GoForwardBtn;\nexports.GoLastBtn = GoLastBtn;\nexports.RevertBtn = RevertBtn;\nexports.Label = Label;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _escapeHtml = require('../../utils/escape-html');\n\nvar _escapeHtml2 = _interopRequireDefault(_escapeHtml);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar DATE_ABBR = '%(relative)s';\nvar USER_SPAN = '%(user)s';\nvar USER_URL = '%(user)s';\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.goLast = function () {\n _this.props.goToEdit();\n }, _this.goForward = function () {\n _this.props.goToEdit(_this.props.edit.next);\n }, _this.goBack = function () {\n _this.props.goToEdit(_this.props.edit.previous);\n }, _this.revertEdit = function () {\n _this.props.revertEdit(_this.props.edit.id);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-toolbar post-changelog-toolbar' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-4' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-4' },\n _react2.default.createElement(GoBackBtn, {\n disabled: this.props.disabled,\n edit: this.props.edit,\n onClick: this.goBack\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-4' },\n _react2.default.createElement(GoForwardBtn, {\n disabled: this.props.disabled,\n edit: this.props.edit,\n onClick: this.goForward\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-4' },\n _react2.default.createElement(GoLastBtn, {\n disabled: this.props.disabled,\n edit: this.props.edit,\n onClick: this.goLast\n })\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-5 xs-margin-top-half post-change-label' },\n _react2.default.createElement(Label, { edit: this.props.edit })\n ),\n _react2.default.createElement(RevertBtn, {\n canRevert: this.props.canRevert,\n disabled: this.props.disabled,\n onClick: this.revertEdit\n })\n )\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\nfunction GoBackBtn(props) {\n return _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-default btn-block btn-icon btn-sm',\n disabled: props.disabled || !props.edit.previous,\n onClick: props.onClick,\n title: gettext(\"See previous change\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'chevron_left'\n )\n );\n}\n\nfunction GoForwardBtn(props) {\n return _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-default btn-block btn-icon btn-sm',\n disabled: props.disabled || !props.edit.next,\n onClick: props.onClick,\n title: gettext(\"See previous change\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'chevron_right'\n )\n );\n}\n\nfunction GoLastBtn(props) {\n return _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-default btn-block btn-icon btn-sm',\n disabled: props.disabled || !props.edit.next,\n onClick: props.onClick,\n title: gettext(\"See previous change\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'last_page'\n )\n );\n}\n\nfunction RevertBtn(props) {\n if (!props.canRevert) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-sm-3 hidden-xs' },\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-default btn-sm btn-block',\n disabled: props.disabled,\n onClick: props.onClick,\n title: gettext(\"Revert post to state from before this edit.\")\n },\n gettext(\"Revert\")\n )\n );\n}\n\nfunction Label(props) {\n var user = null;\n if (props.edit.url.editor) {\n user = interpolate(USER_URL, {\n url: (0, _escapeHtml2.default)(props.edit.url.editor),\n user: (0, _escapeHtml2.default)(props.edit.editor_name)\n }, true);\n } else {\n user = interpolate(USER_SPAN, {\n user: (0, _escapeHtml2.default)(props.edit.editor_name)\n }, true);\n }\n\n var date = interpolate(DATE_ABBR, {\n absolute: (0, _escapeHtml2.default)(props.edit.edited_on.format('LLL')),\n relative: (0, _escapeHtml2.default)(props.edit.edited_on.fromNow())\n }, true);\n\n var message = interpolate((0, _escapeHtml2.default)(gettext(\"By %(edited_by)s %(edited_on)s.\")), {\n edited_by: user,\n edited_on: date\n }, true);\n\n return _react2.default.createElement('p', { dangerouslySetInnerHTML: { __html: message } });\n}\n\n},{\"../../utils/escape-html\":382,\"../button\":8,\"react\":\"react\"}],120:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.hydrateEdit = hydrateEdit;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction hydrateEdit(json) {\n return Object.assign({}, json, {\n edited_on: (0, _moment2.default)(json.edited_on)\n });\n}\n\n},{\"moment\":\"moment\"}],121:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var isReady = _ref.isReady,\n posts = _ref.posts,\n poster = _ref.poster;\n\n if (!isReady) {\n return _react2.default.createElement(_preview2.default, null);\n }\n\n return _react2.default.createElement(\n 'ul',\n { className: 'posts-list post-feed ui-ready' },\n posts.map(function (post) {\n return _react2.default.createElement(_post2.default, {\n key: post.id,\n post: post,\n poster: poster\n });\n })\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _post = require('./post');\n\nvar _post2 = _interopRequireDefault(_post);\n\nvar _preview = require('./preview');\n\nvar _preview2 = _interopRequireDefault(_preview);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./post\":124,\"./preview\":130,\"react\":\"react\"}],122:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n if (props.post.content) {\n return _react2.default.createElement(Default, props);\n } else {\n return _react2.default.createElement(Invalid, props);\n }\n};\n\nexports.Default = Default;\nexports.Invalid = Invalid;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _misagoMarkup = require('../../misago-markup');\n\nvar _misagoMarkup2 = _interopRequireDefault(_misagoMarkup);\n\nvar _escapeHtml = require('../../../utils/escape-html');\n\nvar _escapeHtml2 = _interopRequireDefault(_escapeHtml);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nfunction Default(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'post-body' },\n _react2.default.createElement(_misagoMarkup2.default, { markup: props.post.content })\n );\n}\n\nfunction Invalid(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'post-body post-body-invalid' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"This post's contents cannot be displayed.\")\n ),\n _react2.default.createElement(\n 'p',\n { className: 'text-muted' },\n gettext(\"This error is caused by invalid post content manipulation.\")\n )\n );\n}\n\n},{\"../../../utils/escape-html\":382,\"../../misago-markup\":59,\"react\":\"react\"}],123:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var post = _ref.post;\n var category = post.category,\n thread = post.thread;\n\n\n var tooltip = interpolate(gettext(\"posted %(posted_on)s\"), {\n 'posted_on': post.posted_on.format('LL, LT')\n }, true);\n\n return _react2.default.createElement(\n 'div',\n { className: 'post-heading' },\n _react2.default.createElement(\n 'a',\n {\n className: 'btn btn-link item-title',\n href: thread.url\n },\n thread.title\n ),\n _react2.default.createElement(\n 'a',\n {\n className: 'btn btn-link post-category',\n href: category.url.index\n },\n category.name\n ),\n _react2.default.createElement(\n 'a',\n {\n href: post.url.index,\n className: 'btn btn-link posted-on',\n title: tooltip\n },\n post.posted_on.fromNow()\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],124:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var post = _ref.post,\n poster = _ref.poster;\n\n var user = poster || post.poster;\n\n var className = 'post';\n if (user && user.rank.css_class) {\n className += ' post-' + user.rank.css_class;\n }\n\n return _react2.default.createElement(\n 'li',\n {\n className: className,\n id: 'post-' + post.id\n },\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-post' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(_postSide2.default, {\n post: post,\n poster: user\n }),\n _react2.default.createElement(_header2.default, { post: post }),\n _react2.default.createElement(_body2.default, { post: post })\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _body = require('./body');\n\nvar _body2 = _interopRequireDefault(_body);\n\nvar _header = require('./header');\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _postSide = require('./post-side');\n\nvar _postSide2 = _interopRequireDefault(_postSide);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./body\":122,\"./header\":123,\"./post-side\":127,\"react\":\"react\"}],125:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var post = _ref.post;\n\n return _react2.default.createElement(\n 'div',\n { className: 'post-side post-side-anonymous' },\n _react2.default.createElement(_button2.default, { post: post }),\n _react2.default.createElement(\n 'div',\n { className: 'media' },\n _react2.default.createElement(\n 'div',\n { className: 'media-left' },\n _react2.default.createElement(\n 'span',\n null,\n _react2.default.createElement(_avatar2.default, {\n className: 'poster-avatar',\n size: 50\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'media-body' },\n _react2.default.createElement(\n 'div',\n { className: 'media-heading' },\n _react2.default.createElement(\n 'span',\n { className: 'item-title' },\n post.poster_name\n )\n ),\n _react2.default.createElement(\n 'span',\n { className: 'user-title user-title-anonymous' },\n gettext(\"Removed user\")\n )\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _button = require('./button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../../avatar\":6,\"./button\":126,\"react\":\"react\"}],126:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var post = _ref.post;\n\n return _react2.default.createElement(\n \"a\",\n {\n className: \"btn btn-default btn-icon pull-right\",\n href: post.url.index\n },\n _react2.default.createElement(\n \"span\",\n { className: \"btn-text-left hidden-xs\" },\n gettext(\"See post\")\n ),\n _react2.default.createElement(\n \"span\",\n { className: \"material-icon\" },\n \"chevron_right\"\n )\n );\n};\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],127:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var post = _ref.post,\n poster = _ref.poster;\n\n if (poster.id) {\n return _react2.default.createElement(_registered2.default, {\n post: post,\n poster: poster\n });\n }\n\n return _react2.default.createElement(_anonymous2.default, { post: post });\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _anonymous = require('./anonymous');\n\nvar _anonymous2 = _interopRequireDefault(_anonymous);\n\nvar _registered = require('./registered');\n\nvar _registered2 = _interopRequireDefault(_registered);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./anonymous\":125,\"./registered\":128,\"react\":\"react\"}],128:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var post = _ref.post,\n poster = _ref.poster;\n\n return _react2.default.createElement(\n 'div',\n { className: 'post-side post-side-registered' },\n _react2.default.createElement(_button2.default, { post: post }),\n _react2.default.createElement(\n 'div',\n { className: 'media' },\n _react2.default.createElement(\n 'div',\n { className: 'media-left' },\n _react2.default.createElement(\n 'a',\n { href: poster.url },\n _react2.default.createElement(_avatar2.default, {\n className: 'poster-avatar',\n size: 50,\n user: poster\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'media-body' },\n _react2.default.createElement(\n 'div',\n { className: 'media-heading' },\n _react2.default.createElement(\n 'a',\n {\n className: 'item-title',\n href: poster.url\n },\n poster.username\n )\n ),\n _react2.default.createElement(_userTitle2.default, {\n title: poster.title,\n rank: poster.rank\n })\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _button = require('./button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _userTitle = require('./user-title');\n\nvar _userTitle2 = _interopRequireDefault(_userTitle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../../avatar\":6,\"./button\":126,\"./user-title\":129,\"react\":\"react\"}],129:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var rank = _ref.rank,\n title = _ref.title;\n\n var userTitle = title || rank.title || rank.name;\n\n var className = 'user-title';\n if (rank.css_class) {\n className += ' user-title-' + rank.css_class;\n }\n\n if (rank.is_tab) {\n return _react2.default.createElement(\n 'a',\n { className: className, href: rank.url },\n userTitle\n );\n }\n\n return _react2.default.createElement(\n 'span',\n { className: className },\n userTitle\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],130:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function () {\n return _react2.default.createElement(\n 'ul',\n { className: 'posts-list post-feed ui-preview' },\n _react2.default.createElement(\n 'li',\n { className: 'post' },\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-post' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n 'div',\n { className: 'post-side post-side-anonymous' },\n _react2.default.createElement(\n 'div',\n { className: 'media' },\n _react2.default.createElement(\n 'div',\n { className: 'media-left' },\n _react2.default.createElement(\n 'span',\n null,\n _react2.default.createElement(_avatar2.default, {\n className: 'poster-avatar',\n size: 50\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'media-body' },\n _react2.default.createElement(\n 'div',\n { className: 'media-heading' },\n _react2.default.createElement(\n 'span',\n { className: 'item-title' },\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 200) + \"px\" }\n },\n '\\xA0'\n )\n )\n ),\n _react2.default.createElement(\n 'span',\n { className: 'user-title user-title-anonymous' },\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 200) + \"px\" }\n },\n '\\xA0'\n )\n )\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'post-heading' },\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 200) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'post-body' },\n _react2.default.createElement(\n 'article',\n { className: 'misago-markup' },\n _react2.default.createElement(\n 'p',\n null,\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 200) + \"px\" }\n },\n '\\xA0'\n ),\n '\\xA0',\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 200) + \"px\" }\n },\n '\\xA0'\n ),\n '\\xA0',\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 200) + \"px\" }\n },\n '\\xA0'\n )\n )\n )\n )\n )\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _random = require('../../utils/random');\n\nvar random = _interopRequireWildcard(_random);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../utils/random\":387,\"../avatar\":6,\"react\":\"react\"}],131:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.hydrateLike = hydrateLike;\nexports.ModalDialog = ModalDialog;\nexports.LikesList = LikesList;\nexports.LikeDetails = LikeDetails;\nexports.LikeDate = LikeDate;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _avatar = require('./avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _modalMessage = require('./modal-message');\n\nvar _modalMessage2 = _interopRequireDefault(_modalMessage);\n\nvar _modalLoader = require('./modal-loader');\n\nvar _modalLoader2 = _interopRequireDefault(_modalLoader);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.state = {\n isReady: false,\n\n error: null,\n likes: []\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n _ajax2.default.get(this.props.post.api.likes).then(function (data) {\n _this2.setState({\n isReady: true,\n likes: data.map(hydrateLike)\n });\n }, function (rejection) {\n _this2.setState({\n isReady: true,\n error: rejection.detail\n });\n });\n }\n }, {\n key: 'render',\n value: function render() {\n if (this.state.error) {\n return _react2.default.createElement(\n ModalDialog,\n { className: 'modal-message' },\n _react2.default.createElement(_modalMessage2.default, {\n message: this.state.error\n })\n );\n } else if (this.state.isReady) {\n if (this.state.likes.length) {\n return _react2.default.createElement(\n ModalDialog,\n {\n className: 'modal-sm',\n likes: this.state.likes\n },\n _react2.default.createElement(LikesList, {\n likes: this.state.likes\n })\n );\n }\n\n return _react2.default.createElement(\n ModalDialog,\n { className: 'modal-message' },\n _react2.default.createElement(_modalMessage2.default, {\n message: gettext(\"No users have liked this post.\")\n })\n );\n }\n\n return _react2.default.createElement(\n ModalDialog,\n { className: 'modal-sm' },\n _react2.default.createElement(_modalLoader2.default, null)\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\nfunction hydrateLike(data) {\n return Object.assign({}, data, {\n liked_on: (0, _moment2.default)(data.liked_on)\n });\n}\n\nfunction ModalDialog(_ref) {\n var className = _ref.className,\n children = _ref.children,\n likes = _ref.likes;\n\n var title = gettext(\"Post Likes\");\n if (likes) {\n var likesCount = likes.length;\n var message = ngettext(\"%(likes)s like\", \"%(likes)s likes\", likesCount);\n\n title = interpolate(message, { likes: likesCount }, true);\n }\n\n return _react2.default.createElement(\n 'div',\n {\n className: \"modal-dialog \" + (className || ''),\n role: 'document'\n },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-label': gettext(\"Close\"),\n className: 'close',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n title\n )\n ),\n children\n )\n );\n}\n\nfunction LikesList(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-body modal-post-likers' },\n _react2.default.createElement(\n 'ul',\n { className: 'media-list' },\n props.likes.map(function (like) {\n return _react2.default.createElement(LikeDetails, _extends({\n key: like.id\n }, like));\n })\n )\n );\n}\n\nfunction LikeDetails(props) {\n if (props.url) {\n var user = {\n id: props.liker_id,\n avatars: props.avatars\n };\n\n return _react2.default.createElement(\n 'li',\n { className: 'media' },\n _react2.default.createElement(\n 'div',\n { className: 'media-left' },\n _react2.default.createElement(\n 'a',\n {\n className: 'user-avatar',\n href: props.url\n },\n _react2.default.createElement(_avatar2.default, { size: '50', user: user })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'media-body' },\n _react2.default.createElement(\n 'a',\n {\n className: 'item-title',\n href: props.url\n },\n props.username\n ),\n ' ',\n _react2.default.createElement(LikeDate, { likedOn: props.liked_on })\n )\n );\n }\n\n return _react2.default.createElement(\n 'li',\n { className: 'media' },\n _react2.default.createElement(\n 'div',\n { className: 'media-left' },\n _react2.default.createElement(\n 'span',\n { className: 'user-avatar' },\n _react2.default.createElement(_avatar2.default, { size: '50' })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'media-body' },\n _react2.default.createElement(\n 'strong',\n null,\n props.username\n ),\n ' ',\n _react2.default.createElement(LikeDate, { likedOn: props.liked_on })\n )\n );\n}\n\nfunction LikeDate(props) {\n return _react2.default.createElement(\n 'span',\n {\n className: 'text-muted',\n title: props.likedOn.format('LLL')\n },\n props.likedOn.fromNow()\n );\n}\n\n},{\"../services/ajax\":364,\"./avatar\":6,\"./modal-loader\":60,\"./modal-message\":61,\"moment\":\"moment\",\"react\":\"react\"}],132:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _editor = require('../editor');\n\nvar _editor2 = _interopRequireDefault(_editor);\n\nvar _form = require('../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _container = require('./utils/container');\n\nvar _container2 = _interopRequireDefault(_container);\n\nvar _loader = require('./utils/loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nvar _message = require('./utils/message');\n\nvar _message2 = _interopRequireDefault(_message);\n\nvar _attachments = require('./utils/attachments');\n\nvar attachments = _interopRequireWildcard(_attachments);\n\nvar _validators = require('./utils/validators');\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _posting = require('../../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } //jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.loadSuccess = function (data) {\n _this.setState({\n isReady: true,\n\n post: data.post,\n attachments: attachments.hydrate(data.attachments),\n protect: data.is_protected,\n\n canProtect: data.can_protect\n });\n };\n\n _this.loadError = function (rejection) {\n _this.setState({\n isErrored: rejection.detail\n });\n };\n\n _this.onCancel = function () {\n var cancel = confirm(gettext(\"Are you sure you want to discard changes?\"));\n if (cancel) {\n _posting2.default.close();\n }\n };\n\n _this.onProtect = function () {\n _this.setState({\n protect: true\n });\n };\n\n _this.onUnprotect = function () {\n _this.setState({\n protect: false\n });\n };\n\n _this.onPostChange = function (event) {\n _this.changeValue('post', event.target.value);\n };\n\n _this.onAttachmentsChange = function (attachments) {\n _this.setState({\n attachments: attachments\n });\n };\n\n _this.state = {\n isReady: false,\n isLoading: false,\n isErrored: false,\n\n post: '',\n attachments: [],\n protect: false,\n\n canProtect: false,\n\n validators: {\n post: (0, _validators.getPostValidators)()\n },\n errors: {}\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n _ajax2.default.get(this.props.config).then(this.loadSuccess, this.loadError);\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'clean',\n\n /* jshint ignore:end */\n\n value: function clean() {\n if (!this.state.post.trim().length) {\n _snackbar2.default.error(gettext(\"You have to enter a message.\"));\n return false;\n }\n\n var errors = this.validate();\n\n if (errors.post) {\n _snackbar2.default.error(errors.post[0]);\n return false;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.put(this.props.submit, {\n post: this.state.post,\n attachments: attachments.clean(this.state.attachments),\n protect: this.state.protect\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(success) {\n _snackbar2.default.success(gettext(\"Reply has been edited.\"));\n window.location = success.url.index;\n\n // keep form loading\n this.setState({\n 'isLoading': true\n });\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n var errors = [].concat(rejection.non_field_errors || [], rejection.category || [], rejection.title || [], rejection.post || [], rejection.attachments || []);\n\n _snackbar2.default.error(errors[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n if (this.state.isReady) {\n return _react2.default.createElement(\n _container2.default,\n { className: 'posting-form' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit, method: 'POST' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-12' },\n _react2.default.createElement(_editor2.default, {\n attachments: this.state.attachments,\n canProtect: this.state.canProtect,\n loading: this.state.isLoading,\n onAttachmentsChange: this.onAttachmentsChange,\n onCancel: this.onCancel,\n onChange: this.onPostChange,\n onProtect: this.onProtect,\n onUnprotect: this.onUnprotect,\n protect: this.state.protect,\n submitLabel: gettext(\"Edit reply\"),\n value: this.state.post\n })\n )\n )\n )\n );\n } else if (this.state.isErrored) {\n return _react2.default.createElement(_message2.default, { message: this.state.isErrored });\n } else {\n return _react2.default.createElement(_loader2.default, null);\n }\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../services/ajax\":364,\"../../services/posting\":374,\"../../services/snackbar\":375,\"../editor\":51,\"../form\":55,\"./utils/attachments\":137,\"./utils/container\":138,\"./utils/loader\":139,\"./utils/message\":140,\"./utils/validators\":143,\"react\":\"react\"}],133:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n if (props.mode === 'START') {\n return _react2.default.createElement(_start2.default, props);\n } else if (props.mode === 'START_PRIVATE') {\n return _react2.default.createElement(_startPrivate2.default, props);\n } else if (props.mode === 'REPLY') {\n return _react2.default.createElement(_reply2.default, props);\n } else if (props.mode === 'EDIT') {\n return _react2.default.createElement(_edit2.default, props);\n } else {\n return null;\n }\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _start = require('./start');\n\nvar _start2 = _interopRequireDefault(_start);\n\nvar _startPrivate = require('./start-private');\n\nvar _startPrivate2 = _interopRequireDefault(_startPrivate);\n\nvar _reply = require('./reply');\n\nvar _reply2 = _interopRequireDefault(_reply);\n\nvar _edit = require('./edit');\n\nvar _edit2 = _interopRequireDefault(_edit);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./edit\":132,\"./reply\":134,\"./start\":136,\"./start-private\":135,\"react\":\"react\"}],134:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _editor = require('../editor');\n\nvar _editor2 = _interopRequireDefault(_editor);\n\nvar _form = require('../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _container = require('./utils/container');\n\nvar _container2 = _interopRequireDefault(_container);\n\nvar _loader = require('./utils/loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nvar _message = require('./utils/message');\n\nvar _message2 = _interopRequireDefault(_message);\n\nvar _attachments = require('./utils/attachments');\n\nvar attachments = _interopRequireWildcard(_attachments);\n\nvar _validators = require('./utils/validators');\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _posting = require('../../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } //jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.loadSuccess = function (data) {\n _this.setState({\n isReady: true,\n\n post: data.post ? '[quote=\"@' + data.poster + '\"]\\n' + data.post + '\\n[/quote]' : ''\n });\n };\n\n _this.loadError = function (rejection) {\n _this.setState({\n isErrored: rejection.detail\n });\n };\n\n _this.appendData = function (data) {\n var newPost = data.post ? '[quote=\"@' + data.poster + '\"]\\n' + data.post + '\\n[/quote]\\n\\n' : '';\n\n _this.setState(function (prevState, props) {\n if (prevState.post.length > 0) {\n return {\n post: prevState.post + '\\n\\n' + newPost\n };\n }\n\n return {\n post: newPost\n };\n });\n };\n\n _this.onCancel = function () {\n var cancel = confirm(gettext(\"Are you sure you want to discard your reply?\"));\n if (cancel) {\n _posting2.default.close();\n }\n };\n\n _this.onPostChange = function (event) {\n _this.changeValue('post', event.target.value);\n };\n\n _this.onAttachmentsChange = function (attachments) {\n _this.setState({\n attachments: attachments\n });\n };\n\n _this.state = {\n isReady: false,\n isLoading: false,\n isErrored: false,\n\n post: '',\n attachments: [],\n\n validators: {\n post: (0, _validators.getPostValidators)()\n },\n errors: {}\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n _ajax2.default.get(this.props.config, this.props.context || null).then(this.loadSuccess, this.loadError);\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n var context = this.props.context;\n var newContext = nextProps.context;\n\n if (context && newContext && context.reply === newContext.reply) return;\n\n _ajax2.default.get(nextProps.config, nextProps.context || null).then(this.appendData, _snackbar2.default.apiError);\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'clean',\n\n /* jshint ignore:end */\n\n value: function clean() {\n if (!this.state.post.trim().length) {\n _snackbar2.default.error(gettext(\"You have to enter a message.\"));\n return false;\n }\n\n var errors = this.validate();\n\n if (errors.post) {\n _snackbar2.default.error(errors.post[0]);\n return false;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.submit, {\n post: this.state.post,\n attachments: attachments.clean(this.state.attachments)\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(success) {\n _snackbar2.default.success(gettext(\"Your reply has been posted.\"));\n window.location = success.url.index;\n\n // keep form loading\n this.setState({\n 'isLoading': true\n });\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n var errors = [].concat(rejection.non_field_errors || [], rejection.post || [], rejection.attachments || []);\n\n _snackbar2.default.error(errors[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n if (this.state.isReady) {\n return _react2.default.createElement(\n _container2.default,\n { className: 'posting-form' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit, method: 'POST' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-12' },\n _react2.default.createElement(_editor2.default, {\n attachments: this.state.attachments,\n loading: this.state.isLoading,\n onAttachmentsChange: this.onAttachmentsChange,\n onCancel: this.onCancel,\n onChange: this.onPostChange,\n submitLabel: gettext(\"Post reply\"),\n value: this.state.post\n })\n )\n )\n )\n );\n } else if (this.state.isErrored) {\n return _react2.default.createElement(_message2.default, { message: this.state.isErrored });\n } else {\n return _react2.default.createElement(_loader2.default, null);\n }\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../services/ajax\":364,\"../../services/posting\":374,\"../../services/snackbar\":375,\"../editor\":51,\"../form\":55,\"./utils/attachments\":137,\"./utils/container\":138,\"./utils/loader\":139,\"./utils/message\":140,\"./utils/validators\":143,\"react\":\"react\"}],135:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _editor = require('../editor');\n\nvar _editor2 = _interopRequireDefault(_editor);\n\nvar _form = require('../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _container = require('./utils/container');\n\nvar _container2 = _interopRequireDefault(_container);\n\nvar _message = require('./utils/message');\n\nvar _message2 = _interopRequireDefault(_message);\n\nvar _attachments = require('./utils/attachments');\n\nvar attachments = _interopRequireWildcard(_attachments);\n\nvar _usernames = require('./utils/usernames');\n\nvar _usernames2 = _interopRequireDefault(_usernames);\n\nvar _validators = require('./utils/validators');\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _posting = require('../../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } //jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.onCancel = function () {\n var cancel = confirm(gettext(\"Are you sure you want to discard private thread?\"));\n if (cancel) {\n _posting2.default.close();\n }\n };\n\n _this.onToChange = function (event) {\n _this.changeValue('to', event.target.value);\n };\n\n _this.onTitleChange = function (event) {\n _this.changeValue('title', event.target.value);\n };\n\n _this.onPostChange = function (event) {\n _this.changeValue('post', event.target.value);\n };\n\n _this.onAttachmentsChange = function (attachments) {\n _this.setState({\n attachments: attachments\n });\n };\n\n var to = (props.to || []).map(function (user) {\n return user.username;\n }).join(', ');\n\n _this.state = {\n isLoading: false,\n\n to: to,\n title: '',\n post: '',\n attachments: [],\n\n validators: {\n title: (0, _validators.getTitleValidators)(),\n post: (0, _validators.getPostValidators)()\n },\n errors: {}\n };\n return _this;\n }\n\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'clean',\n\n /* jshint ignore:end */\n\n value: function clean() {\n if (!(0, _usernames2.default)(this.state.to).length) {\n _snackbar2.default.error(gettext(\"You have to enter at least one recipient.\"));\n return false;\n }\n\n if (!this.state.title.trim().length) {\n _snackbar2.default.error(gettext(\"You have to enter thread title.\"));\n return false;\n }\n\n if (!this.state.post.trim().length) {\n _snackbar2.default.error(gettext(\"You have to enter a message.\"));\n return false;\n }\n\n var errors = this.validate();\n\n if (errors.title) {\n _snackbar2.default.error(errors.title[0]);\n return false;\n }\n\n if (errors.post) {\n _snackbar2.default.error(errors.post[0]);\n return false;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.submit, {\n to: (0, _usernames2.default)(this.state.to),\n title: this.state.title,\n post: this.state.post,\n attachments: attachments.clean(this.state.attachments)\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(success) {\n _snackbar2.default.success(gettext(\"Your thread has been posted.\"));\n window.location = success.url;\n\n // keep form loading\n this.setState({\n 'isLoading': true\n });\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n var errors = [].concat(rejection.non_field_errors || [], rejection.to || [], rejection.title || [], rejection.post || [], rejection.attachments || []);\n\n _snackbar2.default.error(errors[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n _container2.default,\n { className: 'posting-form', withFirstRow: true },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'row first-row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12' },\n _react2.default.createElement('input', {\n className: 'form-control',\n disabled: this.state.isLoading,\n onChange: this.onToChange,\n placeholder: gettext(\"Comma separated list of user names, eg.: Danny, Lisa\"),\n type: 'text',\n value: this.state.to\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'row first-row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12' },\n _react2.default.createElement('input', {\n className: 'form-control',\n disabled: this.state.isLoading,\n onChange: this.onTitleChange,\n placeholder: gettext(\"Thread title\"),\n type: 'text',\n value: this.state.title\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12' },\n _react2.default.createElement(_editor2.default, {\n attachments: this.state.attachments,\n loading: this.state.isLoading,\n onAttachmentsChange: this.onAttachmentsChange,\n onCancel: this.onCancel,\n onChange: this.onPostChange,\n submitLabel: gettext(\"Post thread\"),\n value: this.state.post\n })\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../services/ajax\":364,\"../../services/posting\":374,\"../../services/snackbar\":375,\"../editor\":51,\"../form\":55,\"./utils/attachments\":137,\"./utils/container\":138,\"./utils/message\":140,\"./utils/usernames\":142,\"./utils/validators\":143,\"react\":\"react\"}],136:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _categorySelect = require('../category-select');\n\nvar _categorySelect2 = _interopRequireDefault(_categorySelect);\n\nvar _editor = require('../editor');\n\nvar _editor2 = _interopRequireDefault(_editor);\n\nvar _form = require('../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _container = require('./utils/container');\n\nvar _container2 = _interopRequireDefault(_container);\n\nvar _loader = require('./utils/loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nvar _message = require('./utils/message');\n\nvar _message2 = _interopRequireDefault(_message);\n\nvar _options = require('./utils/options');\n\nvar _options2 = _interopRequireDefault(_options);\n\nvar _attachments = require('./utils/attachments');\n\nvar attachments = _interopRequireWildcard(_attachments);\n\nvar _validators = require('./utils/validators');\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _posting = require('../../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } //jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.loadSuccess = function (data) {\n var category = null;\n var showOptions = false;\n var categoryOptions = null;\n\n // hydrate categories, extract posting options\n var categories = data.map(function (item) {\n // pick first category that allows posting and if it may, override it with initial one\n if (item.post !== false && (!category || item.id == _this.state.category)) {\n category = item.id;\n categoryOptions = item.post;\n }\n\n if (item.post && (item.post.close || item.post.hide || item.post.pin)) {\n showOptions = true;\n }\n\n return Object.assign(item, {\n disabled: item.post === false,\n label: item.name,\n value: item.id\n });\n });\n\n _this.setState({\n isReady: true,\n showOptions: showOptions,\n\n categories: categories,\n category: category,\n categoryOptions: categoryOptions\n });\n };\n\n _this.loadError = function (rejection) {\n _this.setState({\n isErrored: rejection.detail\n });\n };\n\n _this.onCancel = function () {\n var cancel = confirm(gettext(\"Are you sure you want to discard thread?\"));\n if (cancel) {\n _posting2.default.close();\n }\n };\n\n _this.onTitleChange = function (event) {\n _this.changeValue('title', event.target.value);\n };\n\n _this.onCategoryChange = function (event) {\n var category = _this.state.categories.find(function (item) {\n return event.target.value == item.value;\n });\n\n // if selected pin is greater than allowed, reduce it\n var pin = _this.state.pin;\n if (category.post.pin && category.post.pin < pin) {\n pin = category.post.pin;\n }\n\n _this.setState({\n category: category.id,\n categoryOptions: category.post,\n\n pin: pin\n });\n };\n\n _this.onPostChange = function (event) {\n _this.changeValue('post', event.target.value);\n };\n\n _this.onAttachmentsChange = function (attachments) {\n _this.setState({\n attachments: attachments\n });\n };\n\n _this.onClose = function () {\n _this.changeValue('close', true);\n };\n\n _this.onOpen = function () {\n _this.changeValue('close', false);\n };\n\n _this.onPinGlobally = function () {\n _this.changeValue('pin', 2);\n };\n\n _this.onPinLocally = function () {\n _this.changeValue('pin', 1);\n };\n\n _this.onUnpin = function () {\n _this.changeValue('pin', 0);\n };\n\n _this.onHide = function () {\n _this.changeValue('hide', true);\n };\n\n _this.onUnhide = function () {\n _this.changeValue('hide', false);\n };\n\n _this.state = {\n isReady: false,\n isLoading: false,\n isErrored: false,\n\n showOptions: false,\n categoryOptions: null,\n\n title: '',\n category: props.category || null,\n categories: [],\n post: '',\n attachments: [],\n close: false,\n hide: false,\n pin: 0,\n\n validators: {\n title: (0, _validators.getTitleValidators)(),\n post: (0, _validators.getPostValidators)()\n },\n errors: {}\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n _ajax2.default.get(this.props.config).then(this.loadSuccess, this.loadError);\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'clean',\n\n /* jshint ignore:end */\n\n value: function clean() {\n if (!this.state.title.trim().length) {\n _snackbar2.default.error(gettext(\"You have to enter thread title.\"));\n return false;\n }\n\n if (!this.state.post.trim().length) {\n _snackbar2.default.error(gettext(\"You have to enter a message.\"));\n return false;\n }\n\n var errors = this.validate();\n\n if (errors.title) {\n _snackbar2.default.error(errors.title[0]);\n return false;\n }\n\n if (errors.post) {\n _snackbar2.default.error(errors.post[0]);\n return false;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.submit, {\n title: this.state.title,\n category: this.state.category,\n post: this.state.post,\n attachments: attachments.clean(this.state.attachments),\n close: this.state.close,\n hide: this.state.hide,\n pin: this.state.pin\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(success) {\n _snackbar2.default.success(gettext(\"Your thread has been posted.\"));\n window.location = success.url;\n\n // keep form loading\n this.setState({\n 'isLoading': true\n });\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n var errors = [].concat(rejection.non_field_errors || [], rejection.category || [], rejection.title || [], rejection.post || [], rejection.attachments || []);\n\n _snackbar2.default.error(errors[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n if (this.state.isErrored) {\n return _react2.default.createElement(_message2.default, { message: this.state.isErrored });\n }\n\n if (!this.state.isReady) {\n return _react2.default.createElement(_loader2.default, null);\n }\n\n var columns = 0;\n if (this.state.categoryOptions.close) columns += 1;\n if (this.state.categoryOptions.hide) columns += 1;\n if (this.state.categoryOptions.pin) columns += 1;\n\n var titleStyle = null;\n\n if (columns === 1) {\n titleStyle = 'col-sm-6';\n } else {\n titleStyle = 'col-sm-8';\n }\n\n if (columns === 3) {\n titleStyle += ' col-md-6';\n } else if (columns) {\n titleStyle += ' col-md-7';\n } else {\n titleStyle += ' col-md-9';\n }\n\n return _react2.default.createElement(\n _container2.default,\n { className: 'posting-form', withFirstRow: true },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'row first-row' },\n _react2.default.createElement(\n 'div',\n { className: titleStyle },\n _react2.default.createElement('input', {\n className: 'form-control',\n disabled: this.state.isLoading,\n onChange: this.onTitleChange,\n placeholder: gettext(\"Thread title\"),\n type: 'text',\n value: this.state.title\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-4 col-md-3 xs-margin-top' },\n _react2.default.createElement(_categorySelect2.default, {\n choices: this.state.categories,\n disabled: this.state.isLoading,\n onChange: this.onCategoryChange,\n value: this.state.category\n })\n ),\n _react2.default.createElement(_options2.default, {\n close: this.state.close,\n columns: columns,\n disabled: this.state.isLoading,\n hide: this.state.hide,\n onClose: this.onClose,\n onHide: this.onHide,\n onOpen: this.onOpen,\n onPinGlobally: this.onPinGlobally,\n onPinLocally: this.onPinLocally,\n onUnhide: this.onUnhide,\n onUnpin: this.onUnpin,\n options: this.state.categoryOptions,\n pin: this.state.pin,\n showOptions: this.state.showOptions\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-12' },\n _react2.default.createElement(_editor2.default, {\n attachments: this.state.attachments,\n loading: this.state.isLoading,\n onAttachmentsChange: this.onAttachmentsChange,\n onCancel: this.onCancel,\n onChange: this.onPostChange,\n submitLabel: gettext(\"Post thread\"),\n value: this.state.post\n })\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../services/ajax\":364,\"../../services/posting\":374,\"../../services/snackbar\":375,\"../category-select\":21,\"../editor\":51,\"../form\":55,\"./utils/attachments\":137,\"./utils/container\":138,\"./utils/loader\":139,\"./utils/message\":140,\"./utils/options\":141,\"./utils/validators\":143,\"react\":\"react\"}],137:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.clean = clean;\nexports.hydrate = hydrate;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction clean(attachments) {\n var completedAttachments = attachments.filter(function (attachment) {\n return attachment.id && !attachment.isRemoved;\n });\n\n return completedAttachments.map(function (a) {\n return a.id;\n });\n}\n\nfunction hydrate(attachments) {\n return attachments.map(function (attachment) {\n return Object.assign({}, attachment, {\n uploaded_on: (0, _moment2.default)(attachment.uploaded_on)\n });\n });\n}\n\n},{\"moment\":\"moment\"}],138:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n \"div\",\n { className: props.className },\n _react2.default.createElement(\n \"div\",\n { className: \"container\" },\n props.children\n )\n );\n};\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],139:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n _container2.default,\n { className: 'posting-loader' },\n _react2.default.createElement(_loader2.default, null)\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _container = require('./container');\n\nvar _container2 = _interopRequireDefault(_container);\n\nvar _loader = require('../../loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../loader\":57,\"./container\":138,\"react\":\"react\"}],140:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n _container2.default,\n { className: 'posting-message' },\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n null,\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'error_outline'\n ),\n props.message\n ),\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-default', onClick: _posting2.default.close },\n gettext(\"Dismiss\")\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _container = require('./container');\n\nvar _container2 = _interopRequireDefault(_container);\n\nvar _posting = require('../../../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../../services/posting\":374,\"./container\":138,\"react\":\"react\"}],141:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n if (!props.showOptions) return null;\n\n var columns = props.columns;\n\n\n var className = 'col-xs-12 xs-margin-top';\n\n if (columns === 1) {\n className += ' col-sm-2';\n } else {\n className += ' sm-margin-top';\n }\n\n if (columns === 3) {\n className += ' col-md-3';\n } else {\n className += ' col-md-2';\n }\n className += ' posting-options';\n\n var columnClassName = 'col-xs-' + 12 / columns;\n\n var textClassName = 'btn-text';\n if (columns === 3) {\n textClassName += ' visible-sm-inline-block';\n } else if (columns === 2) {\n textClassName += ' hidden-md hidden-lg';\n } else {\n textClassName += ' hidden-sm';\n }\n\n return _react2.default.createElement(\n 'div',\n { className: className },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(PinOptions, {\n className: columnClassName,\n disabled: props.disabled,\n onPinGlobally: props.onPinGlobally,\n onPinLocally: props.onPinLocally,\n onUnpin: props.onUnpin,\n pin: props.pin,\n show: props.options.pin,\n textClassName: textClassName\n }),\n _react2.default.createElement(HideOptions, {\n className: columnClassName,\n disabled: props.disabled,\n hide: props.hide,\n onHide: props.onHide,\n onUnhide: props.onUnhide,\n show: props.options.hide,\n textClassName: textClassName\n }),\n _react2.default.createElement(CloseOptions, {\n className: columnClassName,\n close: props.close,\n disabled: props.disabled,\n onClose: props.onClose,\n onOpen: props.onOpen,\n show: props.options.close,\n textClassName: textClassName\n })\n )\n );\n};\n\nexports.CloseOptions = CloseOptions;\nexports.HideOptions = HideOptions;\nexports.PinOptions = PinOptions;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:start\nfunction CloseOptions(props) {\n if (!props.show) return null;\n\n var label = props.close ? gettext('Closed') : gettext('Open');\n\n return _react2.default.createElement(\n 'div',\n { className: props.className },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-block',\n disabled: props.disabled,\n onClick: props.close ? props.onOpen : props.onClose,\n title: label,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n props.close ? 'lock' : 'lock_outline'\n ),\n _react2.default.createElement(\n 'span',\n { className: props.textClassName },\n label\n )\n )\n );\n}\n\nfunction HideOptions(props) {\n if (!props.show) return null;\n\n var label = props.hide ? gettext('Hidden') : gettext('Not hidden');\n\n return _react2.default.createElement(\n 'div',\n { className: props.className },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-block',\n disabled: props.disabled,\n onClick: props.hide ? props.onUnhide : props.onHide,\n title: label,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n props.hide ? 'visibility_off' : 'visibility'\n ),\n _react2.default.createElement(\n 'span',\n { className: props.textClassName },\n label\n )\n )\n );\n}\n\nfunction PinOptions(props) {\n if (!props.show) return null;\n\n var icon = null;\n var onClick = null;\n var label = null;\n\n switch (props.pin) {\n case 0:\n icon = 'radio_button_unchecked';\n onClick = props.onPinLocally;\n label = gettext(\"Unpinned\");\n break;\n\n case 1:\n icon = 'bookmark_outline';\n onClick = props.onPinGlobally;\n label = gettext(\"Pinned locally\");\n\n if (props.show == 2) {\n onClick = props.onPinGlobally;\n } else {\n onClick = props.onUnpin;\n }\n\n break;\n\n case 2:\n icon = 'bookmark';\n onClick = props.onUnpin;\n label = gettext(\"Pinned globally\");\n break;\n }\n\n return _react2.default.createElement(\n 'div',\n { className: props.className },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-block',\n disabled: props.disabled,\n onClick: onClick,\n title: label,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n icon\n ),\n _react2.default.createElement(\n 'span',\n { className: props.textClassName },\n label\n )\n )\n );\n}\n\n},{\"react\":\"react\"}],142:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (usernames) {\n var normalisedNames = usernames.split(',').map(function (i) {\n return i.trim().toLowerCase();\n });\n var removedBlanks = normalisedNames.filter(function (i) {\n return i.length > 0;\n });\n var removedDuplicates = removedBlanks.filter(function (name, pos) {\n return removedBlanks.indexOf(name) == pos;\n });\n\n return removedDuplicates;\n};\n\n},{}],143:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getTitleValidators = getTitleValidators;\nexports.getPostValidators = getPostValidators;\nexports.getTitleLengthMin = getTitleLengthMin;\nexports.getTitleLengthMax = getTitleLengthMax;\nexports.validatePostLengthMin = validatePostLengthMin;\nexports.validatePostLengthMax = validatePostLengthMax;\n\nvar _validators = require('../../../utils/validators');\n\nvar _ = require('../../..');\n\nvar _2 = _interopRequireDefault(_);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getTitleValidators() {\n return [getTitleLengthMin(), getTitleLengthMax()];\n}\n\nfunction getPostValidators() {\n if (_2.default.get('SETTINGS').post_length_max) {\n return [validatePostLengthMin(), validatePostLengthMax()];\n } else {\n return [validatePostLengthMin()];\n }\n}\n\nfunction getTitleLengthMin() {\n return (0, _validators.minLength)(_2.default.get('SETTINGS').thread_title_length_min, function (limitValue, length) {\n var message = 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).\", limitValue);\n\n return interpolate(message, {\n limit_value: limitValue,\n show_value: length\n }, true);\n });\n}\n\nfunction getTitleLengthMax() {\n return (0, _validators.maxLength)(_2.default.get('SETTINGS').thread_title_length_max, function (limitValue, length) {\n var message = 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).\", limitValue);\n\n return interpolate(message, {\n limit_value: limitValue,\n show_value: length\n }, true);\n });\n}\n\nfunction validatePostLengthMin() {\n return (0, _validators.minLength)(_2.default.get('SETTINGS').post_length_min, function (limitValue, length) {\n var message = 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).\", limitValue);\n\n return interpolate(message, {\n limit_value: limitValue,\n show_value: length\n }, true);\n });\n}\n\nfunction validatePostLengthMax() {\n return (0, _validators.maxLength)(_2.default.get('SETTINGS').post_length_max || 1000000, function (limitValue, length) {\n var message = 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).\", limitValue);\n\n return interpolate(message, {\n limit_value: limitValue,\n show_value: length\n }, true);\n });\n}\n\n},{\"../../..\":301,\"../../../utils/validators\":392}],144:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Delete = exports.Unhide = exports.Hide = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = function (props) {\n if (isVisible(props.post.acl)) {\n return _react2.default.createElement(\n 'li',\n { className: 'event-controls' },\n _react2.default.createElement(Hide, props),\n _react2.default.createElement(Unhide, props),\n _react2.default.createElement(Delete, props)\n );\n } else {\n return null;\n }\n};\n\nexports.isVisible = isVisible;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _post = require('../../../reducers/post');\n\nvar post = _interopRequireWildcard(_post);\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nfunction isVisible(acl) {\n return acl.can_hide;\n}\n\nvar Hide = exports.Hide = function (_React$Component) {\n _inherits(Hide, _React$Component);\n\n function Hide() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Hide);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Hide.__proto__ || Object.getPrototypeOf(Hide)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n _store2.default.dispatch(post.patch(_this.props.post, {\n is_hidden: true,\n hidden_on: (0, _moment2.default)(),\n hidden_by_name: _this.props.user.username,\n url: Object.assign(_this.props.post.url, {\n hidden_by: _this.props.user.url\n })\n }));\n\n var op = { 'op': 'replace', 'path': 'is-hidden', 'value': true };\n\n _ajax2.default.patch(_this.props.post.api.index, [op]).then(function (patch) {\n _store2.default.dispatch(post.patch(_this.props.post, patch));\n }, function (rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n\n _store2.default.dispatch(post.patch(_this.props.post, {\n is_hidden: false\n }));\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Hide, [{\n key: 'render',\n value: function render() {\n if (!this.props.post.is_hidden) {\n return _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-link', onClick: this.onClick },\n gettext(\"Hide\")\n );\n } else {\n return null;\n }\n }\n }]);\n\n return Hide;\n}(_react2.default.Component);\n\nvar Unhide = exports.Unhide = function (_React$Component2) {\n _inherits(Unhide, _React$Component2);\n\n function Unhide() {\n var _ref2;\n\n var _temp2, _this2, _ret2;\n\n _classCallCheck(this, Unhide);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, (_ref2 = Unhide.__proto__ || Object.getPrototypeOf(Unhide)).call.apply(_ref2, [this].concat(args))), _this2), _this2.onClick = function () {\n _store2.default.dispatch(post.patch(_this2.props.post, {\n is_hidden: false\n }));\n\n var op = { 'op': 'replace', 'path': 'is-hidden', 'value': false };\n\n _ajax2.default.patch(_this2.props.post.api.index, [op]).then(function (patch) {\n _store2.default.dispatch(post.patch(_this2.props.post, patch));\n }, function (rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n\n _store2.default.dispatch(post.patch(_this2.props.post, {\n is_hidden: true\n }));\n });\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n }\n\n _createClass(Unhide, [{\n key: 'render',\n value: function render() {\n if (this.props.post.is_hidden) {\n return _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-link', onClick: this.onClick },\n gettext(\"Unhide\")\n );\n } else {\n return null;\n }\n }\n }]);\n\n return Unhide;\n}(_react2.default.Component);\n\nvar Delete = exports.Delete = function (_React$Component3) {\n _inherits(Delete, _React$Component3);\n\n function Delete() {\n var _ref3;\n\n var _temp3, _this3, _ret3;\n\n _classCallCheck(this, Delete);\n\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _ret3 = (_temp3 = (_this3 = _possibleConstructorReturn(this, (_ref3 = Delete.__proto__ || Object.getPrototypeOf(Delete)).call.apply(_ref3, [this].concat(args))), _this3), _this3.onClick = function () {\n var decision = confirm(gettext(\"Are you sure you wish to delete this event? This action is not reversible!\"));\n if (decision) {\n _this3.delete();\n }\n }, _this3.delete = function () {\n _store2.default.dispatch(post.patch(_this3.props.post, {\n isDeleted: true\n }));\n\n _ajax2.default.delete(_this3.props.post.api.index).then(function () {\n _snackbar2.default.success(gettext(\"Event has been deleted.\"));\n }, function (rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n\n _store2.default.dispatch(post.patch(_this3.props.post, {\n isDeleted: false\n }));\n });\n }, _temp3), _possibleConstructorReturn(_this3, _ret3);\n }\n\n _createClass(Delete, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-link', onClick: this.onClick },\n gettext(\"Delete\")\n );\n }\n }]);\n\n return Delete;\n}(_react2.default.Component);\n\n},{\"../../../reducers/post\":352,\"../../../services/ajax\":364,\"../../../services/snackbar\":375,\"../../../services/store\":376,\"moment\":\"moment\",\"react\":\"react\"}],145:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n { className: 'post-avatar' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n ICON[props.post.event_type]\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ICON = {\n changed_title: 'edit',\n\n pinned_globally: 'bookmark',\n pinned_locally: 'bookmark_border',\n unpinned: 'panorama_fish_eye',\n\n moved: 'arrow_forward',\n merged: 'call_merge',\n\n approved: 'done',\n\n opened: 'lock_open',\n closed: 'lock_outline',\n\n unhid: 'visibility',\n hid: 'visibility_off',\n\n changed_owner: 'grade',\n tookover: 'grade',\n\n added_participant: 'person_add',\n\n owner_left: 'person_outline',\n participant_left: 'person_outline',\n removed_participant: 'remove_circle_outline'\n}; /* jshint ignore:start */\n\n},{\"react\":\"react\"}],146:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n var className = 'event';\n if (props.post.isDeleted) {\n className = 'hide';\n } else if (props.post.is_hidden) {\n className = 'event post-hidden';\n }\n\n return _react2.default.createElement(\n 'li',\n { id: 'post-' + props.post.id, className: className },\n _react2.default.createElement(_unreadLabel2.default, { post: props.post }),\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-2 col-sm-3 text-right' },\n _react2.default.createElement(_icon2.default, props)\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-10 col-sm-9 text-left' },\n _react2.default.createElement(\n _waypoint2.default,\n { post: props.post },\n _react2.default.createElement(_message2.default, props),\n _react2.default.createElement(_info2.default, props)\n )\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _icon = require('./icon');\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nvar _info = require('./info');\n\nvar _info2 = _interopRequireDefault(_info);\n\nvar _message = require('./message');\n\nvar _message2 = _interopRequireDefault(_message);\n\nvar _unreadLabel = require('./unread-label');\n\nvar _unreadLabel2 = _interopRequireDefault(_unreadLabel);\n\nvar _waypoint = require('../waypoint');\n\nvar _waypoint2 = _interopRequireDefault(_waypoint);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../waypoint\":172,\"./icon\":145,\"./info\":147,\"./message\":148,\"./unread-label\":149,\"react\":\"react\"}],147:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'ul',\n { className: 'list-inline event-info' },\n _react2.default.createElement(Hidden, props),\n _react2.default.createElement(Poster, props),\n _react2.default.createElement(_controls2.default, props)\n );\n};\n\nexports.Hidden = Hidden;\nexports.Poster = Poster;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _escapeHtml = require('../../../utils/escape-html');\n\nvar _escapeHtml2 = _interopRequireDefault(_escapeHtml);\n\nvar _controls = require('./controls');\n\nvar _controls2 = _interopRequireDefault(_controls);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar DATE_ABBR = '%(relative)s'; /* jshint ignore:start */\n\nvar DATE_URL = '%(relative)s';\nvar USER_SPAN = '%(user)s';\nvar USER_URL = '%(user)s';\n\nfunction Hidden(props) {\n if (props.post.is_hidden) {\n var user = null;\n if (props.post.url.hidden_by) {\n user = interpolate(USER_URL, {\n url: (0, _escapeHtml2.default)(props.post.url.hidden_by),\n user: (0, _escapeHtml2.default)(props.post.hidden_by_name)\n }, true);\n } else {\n user = interpolate(USER_SPAN, {\n user: (0, _escapeHtml2.default)(props.post.hidden_by_name)\n }, true);\n }\n\n var date = interpolate(DATE_ABBR, {\n absolute: (0, _escapeHtml2.default)(props.post.hidden_on.format('LLL')),\n relative: (0, _escapeHtml2.default)(props.post.hidden_on.fromNow())\n }, true);\n\n var message = interpolate((0, _escapeHtml2.default)(gettext(\"Hidden by %(event_by)s %(event_on)s.\")), {\n event_by: user,\n event_on: date\n }, true);\n\n return _react2.default.createElement('li', {\n className: 'event-hidden-message',\n dangerouslySetInnerHTML: { __html: message }\n });\n } else {\n return null;\n }\n}\n\nfunction Poster(props) {\n var user = null;\n if (props.post.poster) {\n user = interpolate(USER_URL, {\n url: (0, _escapeHtml2.default)(props.post.poster.url),\n user: (0, _escapeHtml2.default)(props.post.poster_name)\n }, true);\n } else {\n user = interpolate(USER_SPAN, {\n user: (0, _escapeHtml2.default)(props.post.poster_name)\n }, true);\n }\n\n var date = interpolate(DATE_URL, {\n url: (0, _escapeHtml2.default)(props.post.url.index),\n absolute: (0, _escapeHtml2.default)(props.post.posted_on.format('LLL')),\n relative: (0, _escapeHtml2.default)(props.post.posted_on.fromNow())\n }, true);\n\n var message = interpolate((0, _escapeHtml2.default)(gettext(\"By %(event_by)s %(event_on)s.\")), {\n event_by: user,\n event_on: date\n }, true);\n\n return _react2.default.createElement('li', { className: 'event-posters', dangerouslySetInnerHTML: { __html: message } });\n}\n\n},{\"../../../utils/escape-html\":382,\"./controls\":144,\"react\":\"react\"}],148:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n if (MESSAGE[props.post.event_type]) {\n return _react2.default.createElement(\n 'p',\n { className: 'event-message' },\n MESSAGE[props.post.event_type]\n );\n } else if (props.post.event_type === 'changed_title') {\n return _react2.default.createElement(ChangedTitle, props);\n } else if (props.post.event_type === 'moved') {\n return _react2.default.createElement(Moved, props);\n } else if (props.post.event_type === 'merged') {\n return _react2.default.createElement(Merged, props);\n } else if (props.post.event_type === 'changed_owner') {\n return _react2.default.createElement(ChangedOwner, props);\n } else if (props.post.event_type === 'added_participant') {\n return _react2.default.createElement(AddedParticipant, props);\n } else if (props.post.event_type === 'removed_participant') {\n return _react2.default.createElement(RemovedParticipant, props);\n } else {\n return null;\n }\n};\n\nexports.ChangedTitle = ChangedTitle;\nexports.Moved = Moved;\nexports.Merged = Merged;\nexports.ChangedOwner = ChangedOwner;\nexports.AddedParticipant = AddedParticipant;\nexports.RemovedParticipant = RemovedParticipant;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _escapeHtml = require('../../../utils/escape-html');\n\nvar _escapeHtml2 = _interopRequireDefault(_escapeHtml);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nvar MESSAGE = {\n pinned_globally: gettext(\"Thread has been pinned globally.\"),\n pinned_locally: gettext(\"Thread has been pinned locally.\"),\n unpinned: gettext(\"Thread has been unpinned.\"),\n\n approved: gettext(\"Thread has been approved.\"),\n\n opened: gettext(\"Thread has been opened.\"),\n closed: gettext(\"Thread has been closed.\"),\n\n unhid: gettext(\"Thread has been revealed.\"),\n hid: gettext(\"Thread has been made hidden.\"),\n\n tookover: gettext(\"Took thread over.\"),\n\n owner_left: gettext(\"Owner has left thread. This thread is now closed.\"),\n participant_left: gettext(\"Participant has left thread.\")\n};\n\nvar ITEM_LINK = '%(name)s';\nvar ITEM_SPAN = '%(name)s';\n\nfunction ChangedTitle(props) {\n var msgstring = (0, _escapeHtml2.default)(gettext(\"Thread title has been changed from %(old_title)s.\"));\n var oldTitle = interpolate(ITEM_SPAN, {\n name: (0, _escapeHtml2.default)(props.post.event_context.old_title)\n }, true);\n var message = interpolate(msgstring, {\n old_title: oldTitle\n }, true);\n\n return _react2.default.createElement('p', { className: 'event-message', dangerouslySetInnerHTML: { __html: message } });\n}\n\nfunction Moved(props) {\n var msgstring = (0, _escapeHtml2.default)(gettext(\"Thread has been moved from %(from_category)s.\"));\n var fromCategory = interpolate(ITEM_LINK, {\n url: (0, _escapeHtml2.default)(props.post.event_context.from_category.url),\n name: (0, _escapeHtml2.default)(props.post.event_context.from_category.name)\n }, true);\n\n var message = interpolate(msgstring, {\n from_category: fromCategory\n }, true);\n\n return _react2.default.createElement('p', { className: 'event-message', dangerouslySetInnerHTML: { __html: message } });\n}\n\nfunction Merged(props) {\n var msgstring = (0, _escapeHtml2.default)(gettext(\"The %(merged_thread)s thread has been merged into this thread.\"));\n var mergedThread = interpolate(ITEM_SPAN, {\n name: (0, _escapeHtml2.default)(props.post.event_context.merged_thread)\n }, true);\n\n var message = interpolate(msgstring, {\n merged_thread: mergedThread\n }, true);\n\n return _react2.default.createElement('p', { className: 'event-message', dangerouslySetInnerHTML: { __html: message } });\n}\n\nfunction ChangedOwner(props) {\n var msgstring = (0, _escapeHtml2.default)(gettext(\"Changed thread owner to %(user)s.\"));\n var newOwner = interpolate(ITEM_LINK, {\n url: (0, _escapeHtml2.default)(props.post.event_context.user.url),\n name: (0, _escapeHtml2.default)(props.post.event_context.user.username)\n }, true);\n\n var message = interpolate(msgstring, {\n user: newOwner\n }, true);\n\n return _react2.default.createElement('p', { className: 'event-message', dangerouslySetInnerHTML: { __html: message } });\n}\n\nfunction AddedParticipant(props) {\n var msgstring = (0, _escapeHtml2.default)(gettext(\"Added %(user)s to thread.\"));\n var newOwner = interpolate(ITEM_LINK, {\n url: (0, _escapeHtml2.default)(props.post.event_context.user.url),\n name: (0, _escapeHtml2.default)(props.post.event_context.user.username)\n }, true);\n\n var message = interpolate(msgstring, {\n user: newOwner\n }, true);\n\n return _react2.default.createElement('p', { className: 'event-message', dangerouslySetInnerHTML: { __html: message } });\n}\n\nfunction RemovedParticipant(props) {\n var msgstring = (0, _escapeHtml2.default)(gettext(\"Removed %(user)s from thread.\"));\n var newOwner = interpolate(ITEM_LINK, {\n url: (0, _escapeHtml2.default)(props.post.event_context.user.url),\n name: (0, _escapeHtml2.default)(props.post.event_context.user.username)\n }, true);\n\n var message = interpolate(msgstring, {\n user: newOwner\n }, true);\n\n return _react2.default.createElement('p', { className: 'event-message', dangerouslySetInnerHTML: { __html: message } });\n}\n\n},{\"../../../utils/escape-html\":382,\"react\":\"react\"}],149:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var post = _ref.post;\n\n if (post.is_read) return null;\n\n return _react2.default.createElement(\n \"div\",\n { className: \"row\" },\n _react2.default.createElement(\n \"div\",\n { className: \"col-xs-10 col-xs-offset-2 col-sm-9 col-sm-offset-3 text-left\" },\n _react2.default.createElement(\n \"div\",\n { className: \"event-label\" },\n _react2.default.createElement(\n \"span\",\n { className: \"label label-unread\" },\n gettext(\"New event\")\n )\n )\n )\n );\n};\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],150:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /* jshint ignore:start */\n\n\nexports.default = function (props) {\n if (!props.posts.isLoaded) {\n return _react2.default.createElement(\n 'ul',\n { className: 'posts-list ui-preview' },\n _react2.default.createElement(_preview2.default, null)\n );\n }\n\n return _react2.default.createElement(\n 'ul',\n { className: 'posts-list ui-ready' },\n props.posts.results.map(function (post) {\n return _react2.default.createElement(ListItem, _extends({\n key: post.id,\n post: post\n }, props));\n })\n );\n};\n\nexports.ListItem = ListItem;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _event = require('./event');\n\nvar _event2 = _interopRequireDefault(_event);\n\nvar _post = require('./post');\n\nvar _post2 = _interopRequireDefault(_post);\n\nvar _preview = require('./post/preview');\n\nvar _preview2 = _interopRequireDefault(_preview);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ListItem(props) {\n if (props.post.is_event) {\n return _react2.default.createElement(_event2.default, props);\n }\n\n return _react2.default.createElement(_post2.default, props);\n}\n\n},{\"./event\":146,\"./post\":162,\"./post/preview\":170,\"react\":\"react\"}],151:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-md-6' },\n _react2.default.createElement(AttachmentPreview, props),\n _react2.default.createElement(\n 'div',\n { className: 'post-attachment' },\n _react2.default.createElement(\n 'a',\n { href: props.attachment.url.index, className: 'attachment-name item-title' },\n props.attachment.filename\n ),\n _react2.default.createElement(AttachmentDetails, props)\n )\n );\n};\n\nexports.AttachmentPreview = AttachmentPreview;\nexports.AttachmentIcon = AttachmentIcon;\nexports.AttachmentThumbnail = AttachmentThumbnail;\nexports.AttachmentDetails = AttachmentDetails;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _ = require('../../../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _escapeHtml = require('../../../../utils/escape-html');\n\nvar _escapeHtml2 = _interopRequireDefault(_escapeHtml);\n\nvar _fileSize = require('../../../../utils/file-size');\n\nvar _fileSize2 = _interopRequireDefault(_fileSize);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nvar DATE_ABBR = '%(relative)s';\nvar USER_SPAN = '%(user)s';\nvar USER_URL = '%(user)s';\n\nfunction AttachmentPreview(props) {\n if (props.attachment.is_image) {\n return _react2.default.createElement(\n 'div',\n { className: 'post-attachment-preview' },\n _react2.default.createElement(AttachmentThumbnail, props)\n );\n } else {\n return _react2.default.createElement(\n 'div',\n { className: 'post-attachment-preview' },\n _react2.default.createElement(AttachmentIcon, props)\n );\n }\n}\n\nfunction AttachmentIcon(props) {\n return _react2.default.createElement(\n 'a',\n { href: props.attachment.url.index, className: 'material-icon' },\n 'insert_drive_file'\n );\n}\n\nfunction AttachmentThumbnail(props) {\n var url = props.attachment.url.thumb || props.attachment.url.index;\n return _react2.default.createElement('a', {\n className: 'post-thumbnail',\n href: props.attachment.url.index,\n style: { backgroundImage: 'url(\"' + (0, _escapeHtml2.default)(url) + '\")' }\n });\n}\n\nfunction AttachmentDetails(props) {\n var user = null;\n if (props.attachment.url.uploader) {\n user = interpolate(USER_URL, {\n url: (0, _escapeHtml2.default)(props.attachment.url.uploader),\n user: (0, _escapeHtml2.default)(props.attachment.uploader_name)\n }, true);\n } else {\n user = interpolate(USER_SPAN, {\n user: (0, _escapeHtml2.default)(props.attachment.uploader_name)\n }, true);\n }\n\n var date = interpolate(DATE_ABBR, {\n absolute: (0, _escapeHtml2.default)(props.attachment.uploaded_on.format('LLL')),\n relative: (0, _escapeHtml2.default)(props.attachment.uploaded_on.fromNow())\n }, true);\n\n var message = interpolate((0, _escapeHtml2.default)(gettext(\"%(filetype)s, %(size)s, uploaded by %(uploader)s %(uploaded_on)s.\")), {\n filetype: props.attachment.filetype,\n size: (0, _fileSize2.default)(props.attachment.size),\n uploader: user,\n uploaded_on: date\n }, true);\n\n return _react2.default.createElement('p', {\n className: 'post-attachment-description',\n dangerouslySetInnerHTML: { __html: message }\n });\n}\n\n},{\"../../../..\":301,\"../../../../utils/escape-html\":382,\"../../../../utils/file-size\":383,\"react\":\"react\"}],152:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n if (!isVisible(props.post)) {\n return null;\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'post-attachments' },\n (0, _batch2.default)(props.post.attachments, 2).map(function (row) {\n var key = row.map(function (a) {\n return a ? a.id : 0;\n }).join('_');\n return _react2.default.createElement(Row, { key: key, row: row });\n })\n );\n};\n\nexports.isVisible = isVisible;\nexports.Row = Row;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _batch = require('../../../../utils/batch');\n\nvar _batch2 = _interopRequireDefault(_batch);\n\nvar _attachment = require('./attachment');\n\nvar _attachment2 = _interopRequireDefault(_attachment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nfunction isVisible(post) {\n return (!post.is_hidden || post.acl.can_see_hidden) && post.attachments;\n}\n\nfunction Row(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'row' },\n props.row.map(function (attachment) {\n return _react2.default.createElement(_attachment2.default, {\n attachment: attachment,\n key: attachment ? attachment.id : 0\n });\n })\n );\n}\n\n},{\"../../../../utils/batch\":379,\"./attachment\":151,\"react\":\"react\"}],153:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n if (props.post.is_hidden && !props.post.acl.can_see_hidden) {\n return _react2.default.createElement(Hidden, props);\n } else if (props.post.content) {\n return _react2.default.createElement(Default, props);\n } else {\n return _react2.default.createElement(Invalid, props);\n }\n};\n\nexports.Default = Default;\nexports.Hidden = Hidden;\nexports.Invalid = Invalid;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _waypoint = require('../waypoint');\n\nvar _waypoint2 = _interopRequireDefault(_waypoint);\n\nvar _misagoMarkup = require('../../misago-markup');\n\nvar _misagoMarkup2 = _interopRequireDefault(_misagoMarkup);\n\nvar _escapeHtml = require('../../../utils/escape-html');\n\nvar _escapeHtml2 = _interopRequireDefault(_escapeHtml);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nvar HIDDEN_BY_URL = '%(user)s';\nvar HIDDEN_BY_SPAN = '%(user)s';\nvar HIDDEN_ON = '%(relative)s';\n\nfunction Default(props) {\n return _react2.default.createElement(\n _waypoint2.default,\n { className: 'post-body', post: props.post },\n _react2.default.createElement(_misagoMarkup2.default, { markup: props.post.content })\n );\n}\n\nfunction Hidden(props) {\n var user = null;\n if (props.post.hidden_by) {\n user = interpolate(HIDDEN_BY_URL, {\n url: (0, _escapeHtml2.default)(props.post.url.hidden_by),\n user: (0, _escapeHtml2.default)(props.post.hidden_by_name)\n }, true);\n } else {\n user = interpolate(HIDDEN_BY_SPAN, {\n user: (0, _escapeHtml2.default)(props.post.hidden_by_name)\n }, true);\n }\n\n var date = interpolate(HIDDEN_ON, {\n absolute: (0, _escapeHtml2.default)(props.post.hidden_on.format('LLL')),\n relative: (0, _escapeHtml2.default)(props.post.hidden_on.fromNow())\n }, true);\n\n var message = interpolate((0, _escapeHtml2.default)(gettext(\"Hidden by %(hidden_by)s %(hidden_on)s.\")), {\n hidden_by: user,\n hidden_on: date\n }, true);\n\n return _react2.default.createElement(\n _waypoint2.default,\n { className: 'post-body post-body-hidden', post: props.post },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"This post is hidden. You cannot see its contents.\")\n ),\n _react2.default.createElement('p', { className: 'text-muted', dangerouslySetInnerHTML: { __html: message } })\n );\n}\n\nfunction Invalid(props) {\n return _react2.default.createElement(\n _waypoint2.default,\n { className: 'post-body post-body-invalid', post: props.post },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"This post's contents cannot be displayed.\")\n ),\n _react2.default.createElement(\n 'p',\n { className: 'text-muted' },\n gettext(\"This error is caused by invalid post content manipulation.\")\n )\n );\n}\n\n},{\"../../../utils/escape-html\":382,\"../../misago-markup\":59,\"../waypoint\":172,\"react\":\"react\"}],154:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.approve = approve;\nexports.protect = protect;\nexports.unprotect = unprotect;\nexports.hide = hide;\nexports.unhide = unhide;\nexports.like = like;\nexports.unlike = unlike;\nexports.patch = patch;\nexports.remove = remove;\nexports.markAsBestAnswer = markAsBestAnswer;\nexports.unmarkBestAnswer = unmarkBestAnswer;\nexports.patchThread = patchThread;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _thread = require('../../../../reducers/thread');\n\nvar thread = _interopRequireWildcard(_thread);\n\nvar _post = require('../../../../reducers/post');\n\nvar post = _interopRequireWildcard(_post);\n\nvar _ajax = require('../../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction approve(props) {\n _store2.default.dispatch(post.patch(props.post, {\n is_unapproved: false\n }));\n\n var ops = [{ 'op': 'replace', 'path': 'is-unapproved', 'value': false }];\n\n var previousState = {\n is_unapproved: props.post.is_unapproved\n };\n\n patch(props, ops, previousState);\n}\n\nfunction protect(props) {\n _store2.default.dispatch(post.patch(props.post, {\n is_protected: true\n }));\n\n var ops = [{ 'op': 'replace', 'path': 'is-protected', 'value': true }];\n\n var previousState = {\n is_protected: props.post.is_protected\n };\n\n patch(props, ops, previousState);\n}\n\nfunction unprotect(props) {\n _store2.default.dispatch(post.patch(props.post, {\n is_protected: false\n }));\n\n var ops = [{ 'op': 'replace', 'path': 'is-protected', 'value': false }];\n\n var previousState = {\n is_protected: props.post.is_protected\n };\n\n patch(props, ops, previousState);\n}\n\nfunction hide(props) {\n _store2.default.dispatch(post.patch(props.post, {\n is_hidden: true,\n hidden_on: (0, _moment2.default)(),\n hidden_by_name: props.user.username,\n url: Object.assign(props.post.url, {\n hidden_by: props.user.url\n })\n }));\n\n var ops = [{ 'op': 'replace', 'path': 'is-hidden', 'value': true }];\n\n var previousState = {\n is_hidden: props.post.is_hidden,\n hidden_on: props.post.hidden_on,\n hidden_by_name: props.post.hidden_by_name,\n url: props.post.url\n };\n\n patch(props, ops, previousState);\n}\n\nfunction unhide(props) {\n _store2.default.dispatch(post.patch(props.post, {\n is_hidden: false\n }));\n\n var ops = [{ 'op': 'replace', 'path': 'is-hidden', 'value': false }];\n\n var previousState = {\n is_hidden: props.post.is_hidden\n };\n\n patch(props, ops, previousState);\n}\n\nfunction like(props) {\n var lastLikes = props.post.last_likes || [];\n var concatedLikes = [props.user].concat(lastLikes);\n var finalLikes = concatedLikes.length > 3 ? concatedLikes.slice(0, -1) : concatedLikes;\n\n _store2.default.dispatch(post.patch(props.post, {\n is_liked: true,\n likes: props.post.likes + 1,\n last_likes: finalLikes\n }));\n\n var ops = [{ 'op': 'replace', 'path': 'is-liked', 'value': true }];\n\n var previousState = {\n is_liked: props.post.is_liked,\n likes: props.post.likes,\n last_likes: props.post.last_likes\n };\n\n patch(props, ops, previousState);\n}\n\nfunction unlike(props) {\n _store2.default.dispatch(post.patch(props.post, {\n is_liked: false,\n likes: props.post.likes - 1,\n last_likes: props.post.last_likes.filter(function (user) {\n return !user.id || user.id !== props.user.id;\n })\n }));\n\n var ops = [{ 'op': 'replace', 'path': 'is-liked', 'value': false }];\n\n var previousState = {\n is_liked: props.post.is_liked,\n likes: props.post.likes,\n last_likes: props.post.last_likes\n };\n\n patch(props, ops, previousState);\n}\n\nfunction patch(props, ops, previousState) {\n _ajax2.default.patch(props.post.api.index, ops).then(function (newState) {\n _store2.default.dispatch(post.patch(props.post, newState));\n }, function (rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n\n _store2.default.dispatch(post.patch(props.post, previousState));\n });\n}\n\nfunction remove(props) {\n var confirmed = confirm(gettext(\"Are you sure you want to delete this post? This action is not reversible!\"));\n if (!confirmed) {\n return;\n }\n\n _store2.default.dispatch(post.patch(props.post, {\n isDeleted: true\n }));\n\n _ajax2.default.delete(props.post.api.index).then(function () {\n _snackbar2.default.success(gettext(\"Post has been deleted.\"));\n }, function (rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n\n _store2.default.dispatch(post.patch(props.post, {\n isDeleted: false\n }));\n });\n}\n\nfunction markAsBestAnswer(props) {\n var post = props.post,\n user = props.user;\n\n\n _store2.default.dispatch(thread.update({\n best_answer: post.id,\n best_answer_is_protected: post.is_protected,\n best_answer_marked_on: (0, _moment2.default)(),\n best_answer_marked_by: user.id,\n best_answer_marked_by_name: user.username,\n best_answer_marked_by_slug: user.slug\n }));\n\n var ops = [{ 'op': 'replace', 'path': 'best-answer', 'value': post.id }, { 'op': 'add', 'path': 'acl', 'value': true }];\n\n var previousState = {\n best_answer: props.thread.best_answer,\n best_answer_is_protected: props.thread.best_answer_is_protected,\n best_answer_marked_on: props.thread.best_answer_marked_on,\n best_answer_marked_by: props.thread.best_answer_marked_by,\n best_answer_marked_by_name: props.thread.best_answer_marked_by_name,\n best_answer_marked_by_slug: props.thread.best_answer_marked_by_slug\n };\n\n patchThread(props, ops, previousState);\n}\n\nfunction unmarkBestAnswer(props) {\n var post = props.post;\n\n\n _store2.default.dispatch(thread.update({\n best_answer: null,\n best_answer_is_protected: false,\n best_answer_marked_on: null,\n best_answer_marked_by: null,\n best_answer_marked_by_name: null,\n best_answer_marked_by_slug: null\n }));\n\n var ops = [{ 'op': 'remove', 'path': 'best-answer', 'value': post.id }, { 'op': 'add', 'path': 'acl', 'value': true }];\n\n var previousState = {\n best_answer: props.thread.best_answer,\n best_answer_is_protected: props.thread.best_answer_is_protected,\n best_answer_marked_on: props.thread.best_answer_marked_on,\n best_answer_marked_by: props.thread.best_answer_marked_by,\n best_answer_marked_by_name: props.thread.best_answer_marked_by_name,\n best_answer_marked_by_slug: props.thread.best_answer_marked_by_slug\n };\n\n patchThread(props, ops, previousState);\n}\n\nfunction patchThread(props, ops, previousState) {\n _ajax2.default.patch(props.thread.api.index, ops).then(function (newState) {\n if (newState.best_answer_marked_on) {\n newState.best_answer_marked_on = (0, _moment2.default)(newState.best_answer_marked_on);\n }\n _store2.default.dispatch(thread.update(newState));\n }, function (rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n\n _store2.default.dispatch(thread.update(previousState));\n });\n}\n\n},{\"../../../../reducers/post\":352,\"../../../../reducers/thread\":359,\"../../../../services/ajax\":364,\"../../../../services/snackbar\":375,\"../../../../services/store\":376,\"moment\":\"moment\"}],155:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Delete = exports.Unhide = exports.Hide = exports.Unprotect = exports.Protect = exports.Split = exports.Move = exports.Approve = exports.PostEdits = exports.UnmarkMarkBestAnswer = exports.MarkAsBestAnswer = exports.Edit = exports.Permalink = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'ul',\n { className: 'dropdown-menu dropdown-menu-right stick-to-bottom' },\n _react2.default.createElement(Permalink, props),\n _react2.default.createElement(Edit, props),\n _react2.default.createElement(MarkAsBestAnswer, props),\n _react2.default.createElement(UnmarkMarkBestAnswer, props),\n _react2.default.createElement(PostEdits, props),\n _react2.default.createElement(Approve, props),\n _react2.default.createElement(Move, props),\n _react2.default.createElement(Split, props),\n _react2.default.createElement(Protect, props),\n _react2.default.createElement(Unprotect, props),\n _react2.default.createElement(Hide, props),\n _react2.default.createElement(Unhide, props),\n _react2.default.createElement(Delete, props)\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _modal = require('../../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _posting = require('../../../../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nvar _actions = require('./actions');\n\nvar moderation = _interopRequireWildcard(_actions);\n\nvar _move = require('./move');\n\nvar _move2 = _interopRequireDefault(_move);\n\nvar _postChangelog = require('../../../post-changelog');\n\nvar _postChangelog2 = _interopRequireDefault(_postChangelog);\n\nvar _split = require('./split');\n\nvar _split2 = _interopRequireDefault(_split);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar Permalink = exports.Permalink = function (_React$Component) {\n _inherits(Permalink, _React$Component);\n\n function Permalink() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Permalink);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Permalink.__proto__ || Object.getPrototypeOf(Permalink)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n var permaUrl = window.location.protocol + '//';\n permaUrl += window.location.host;\n permaUrl += _this.props.post.url.index;\n\n prompt(gettext(\"Permament link to this post:\"), permaUrl);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Permalink, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'link'\n ),\n gettext(\"Permament link\")\n )\n );\n }\n }]);\n\n return Permalink;\n}(_react2.default.Component);\n\nvar Edit = exports.Edit = function (_React$Component2) {\n _inherits(Edit, _React$Component2);\n\n function Edit() {\n var _ref2;\n\n var _temp2, _this2, _ret2;\n\n _classCallCheck(this, Edit);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, (_ref2 = Edit.__proto__ || Object.getPrototypeOf(Edit)).call.apply(_ref2, [this].concat(args))), _this2), _this2.onClick = function () {\n _posting2.default.open({\n mode: 'EDIT',\n\n config: _this2.props.post.api.editor,\n submit: _this2.props.post.api.index\n });\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n }\n\n _createClass(Edit, [{\n key: 'render',\n value: function render() {\n if (!this.props.post.acl.can_edit) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'edit'\n ),\n gettext(\"Edit\")\n )\n );\n }\n }]);\n\n return Edit;\n}(_react2.default.Component);\n\nvar MarkAsBestAnswer = exports.MarkAsBestAnswer = function (_React$Component3) {\n _inherits(MarkAsBestAnswer, _React$Component3);\n\n function MarkAsBestAnswer() {\n var _ref3;\n\n var _temp3, _this3, _ret3;\n\n _classCallCheck(this, MarkAsBestAnswer);\n\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _ret3 = (_temp3 = (_this3 = _possibleConstructorReturn(this, (_ref3 = MarkAsBestAnswer.__proto__ || Object.getPrototypeOf(MarkAsBestAnswer)).call.apply(_ref3, [this].concat(args))), _this3), _this3.onClick = function () {\n moderation.markAsBestAnswer(_this3.props);\n }, _temp3), _possibleConstructorReturn(_this3, _ret3);\n }\n\n _createClass(MarkAsBestAnswer, [{\n key: 'render',\n value: function render() {\n var _props = this.props,\n post = _props.post,\n thread = _props.thread;\n\n\n if (!thread.acl.can_mark_best_answer) return null;\n if (!post.acl.can_mark_as_best_answer) return null;\n if (post.id === thread.best_answer) return null;\n if (thread.best_answer && !thread.acl.can_change_best_answer) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'check_box'\n ),\n gettext(\"Mark as best answer\")\n )\n );\n }\n }]);\n\n return MarkAsBestAnswer;\n}(_react2.default.Component);\n\nvar UnmarkMarkBestAnswer = exports.UnmarkMarkBestAnswer = function (_React$Component4) {\n _inherits(UnmarkMarkBestAnswer, _React$Component4);\n\n function UnmarkMarkBestAnswer() {\n var _ref4;\n\n var _temp4, _this4, _ret4;\n\n _classCallCheck(this, UnmarkMarkBestAnswer);\n\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _ret4 = (_temp4 = (_this4 = _possibleConstructorReturn(this, (_ref4 = UnmarkMarkBestAnswer.__proto__ || Object.getPrototypeOf(UnmarkMarkBestAnswer)).call.apply(_ref4, [this].concat(args))), _this4), _this4.onClick = function () {\n moderation.unmarkBestAnswer(_this4.props);\n }, _temp4), _possibleConstructorReturn(_this4, _ret4);\n }\n\n _createClass(UnmarkMarkBestAnswer, [{\n key: 'render',\n value: function render() {\n var _props2 = this.props,\n post = _props2.post,\n thread = _props2.thread;\n\n\n if (post.id !== thread.best_answer) return null;\n if (!thread.acl.can_unmark_best_answer) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'check_box_outline_blank'\n ),\n gettext(\"Unmark best answer\")\n )\n );\n }\n }]);\n\n return UnmarkMarkBestAnswer;\n}(_react2.default.Component);\n\nvar PostEdits = exports.PostEdits = function (_React$Component5) {\n _inherits(PostEdits, _React$Component5);\n\n function PostEdits() {\n var _ref5;\n\n var _temp5, _this5, _ret5;\n\n _classCallCheck(this, PostEdits);\n\n for (var _len5 = arguments.length, args = Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n return _ret5 = (_temp5 = (_this5 = _possibleConstructorReturn(this, (_ref5 = PostEdits.__proto__ || Object.getPrototypeOf(PostEdits)).call.apply(_ref5, [this].concat(args))), _this5), _this5.onClick = function () {\n _modal2.default.show(_react2.default.createElement(_postChangelog2.default, { post: _this5.props.post }));\n }, _temp5), _possibleConstructorReturn(_this5, _ret5);\n }\n\n _createClass(PostEdits, [{\n key: 'render',\n value: function render() {\n var isHidden = this.props.post.is_hidden && !this.props.post.acl.can_see_hidden;\n var isUnedited = this.props.post.edits === 0;\n if (isHidden || isUnedited) return null;\n\n var message = ngettext(\"This post was edited %(edits)s time.\", \"This post was edited %(edits)s times.\", this.props.post.edits);\n\n var title = interpolate(message, {\n 'edits': this.props.post.edits\n }, true);\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'edit'\n ),\n gettext(\"Changes history\")\n )\n );\n }\n }]);\n\n return PostEdits;\n}(_react2.default.Component);\n\nvar Approve = exports.Approve = function (_React$Component6) {\n _inherits(Approve, _React$Component6);\n\n function Approve() {\n var _ref6;\n\n var _temp6, _this6, _ret6;\n\n _classCallCheck(this, Approve);\n\n for (var _len6 = arguments.length, args = Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n return _ret6 = (_temp6 = (_this6 = _possibleConstructorReturn(this, (_ref6 = Approve.__proto__ || Object.getPrototypeOf(Approve)).call.apply(_ref6, [this].concat(args))), _this6), _this6.onClick = function () {\n moderation.approve(_this6.props);\n }, _temp6), _possibleConstructorReturn(_this6, _ret6);\n }\n\n _createClass(Approve, [{\n key: 'render',\n value: function render() {\n if (!this.props.post.acl.can_approve) return null;\n if (!this.props.post.is_unapproved) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'done'\n ),\n gettext(\"Approve\")\n )\n );\n }\n }]);\n\n return Approve;\n}(_react2.default.Component);\n\nvar Move = exports.Move = function (_React$Component7) {\n _inherits(Move, _React$Component7);\n\n function Move() {\n var _ref7;\n\n var _temp7, _this7, _ret7;\n\n _classCallCheck(this, Move);\n\n for (var _len7 = arguments.length, args = Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n return _ret7 = (_temp7 = (_this7 = _possibleConstructorReturn(this, (_ref7 = Move.__proto__ || Object.getPrototypeOf(Move)).call.apply(_ref7, [this].concat(args))), _this7), _this7.onClick = function () {\n _modal2.default.show(_react2.default.createElement(_move2.default, _this7.props));\n }, _temp7), _possibleConstructorReturn(_this7, _ret7);\n }\n\n _createClass(Move, [{\n key: 'render',\n value: function render() {\n if (!this.props.post.acl.can_move) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'arrow_forward'\n ),\n gettext(\"Move\")\n )\n );\n }\n }]);\n\n return Move;\n}(_react2.default.Component);\n\nvar Split = exports.Split = function (_React$Component8) {\n _inherits(Split, _React$Component8);\n\n function Split() {\n var _ref8;\n\n var _temp8, _this8, _ret8;\n\n _classCallCheck(this, Split);\n\n for (var _len8 = arguments.length, args = Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n args[_key8] = arguments[_key8];\n }\n\n return _ret8 = (_temp8 = (_this8 = _possibleConstructorReturn(this, (_ref8 = Split.__proto__ || Object.getPrototypeOf(Split)).call.apply(_ref8, [this].concat(args))), _this8), _this8.onClick = function () {\n _modal2.default.show(_react2.default.createElement(_split2.default, _this8.props));\n }, _temp8), _possibleConstructorReturn(_this8, _ret8);\n }\n\n _createClass(Split, [{\n key: 'render',\n value: function render() {\n if (!this.props.post.acl.can_move) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'call_split'\n ),\n gettext(\"Split\")\n )\n );\n }\n }]);\n\n return Split;\n}(_react2.default.Component);\n\nvar Protect = exports.Protect = function (_React$Component9) {\n _inherits(Protect, _React$Component9);\n\n function Protect() {\n var _ref9;\n\n var _temp9, _this9, _ret9;\n\n _classCallCheck(this, Protect);\n\n for (var _len9 = arguments.length, args = Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n args[_key9] = arguments[_key9];\n }\n\n return _ret9 = (_temp9 = (_this9 = _possibleConstructorReturn(this, (_ref9 = Protect.__proto__ || Object.getPrototypeOf(Protect)).call.apply(_ref9, [this].concat(args))), _this9), _this9.onClick = function () {\n moderation.protect(_this9.props);\n }, _temp9), _possibleConstructorReturn(_this9, _ret9);\n }\n\n _createClass(Protect, [{\n key: 'render',\n value: function render() {\n if (!this.props.post.acl.can_protect) return null;\n if (this.props.post.is_protected) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'lock_outline'\n ),\n gettext(\"Protect\")\n )\n );\n }\n }]);\n\n return Protect;\n}(_react2.default.Component);\n\nvar Unprotect = exports.Unprotect = function (_React$Component10) {\n _inherits(Unprotect, _React$Component10);\n\n function Unprotect() {\n var _ref10;\n\n var _temp10, _this10, _ret10;\n\n _classCallCheck(this, Unprotect);\n\n for (var _len10 = arguments.length, args = Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\n args[_key10] = arguments[_key10];\n }\n\n return _ret10 = (_temp10 = (_this10 = _possibleConstructorReturn(this, (_ref10 = Unprotect.__proto__ || Object.getPrototypeOf(Unprotect)).call.apply(_ref10, [this].concat(args))), _this10), _this10.onClick = function () {\n moderation.unprotect(_this10.props);\n }, _temp10), _possibleConstructorReturn(_this10, _ret10);\n }\n\n _createClass(Unprotect, [{\n key: 'render',\n value: function render() {\n if (!this.props.post.acl.can_protect) return null;\n if (!this.props.post.is_protected) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'lock_open'\n ),\n gettext(\"Remove protection\")\n )\n );\n }\n }]);\n\n return Unprotect;\n}(_react2.default.Component);\n\nvar Hide = exports.Hide = function (_React$Component11) {\n _inherits(Hide, _React$Component11);\n\n function Hide() {\n var _ref11;\n\n var _temp11, _this11, _ret11;\n\n _classCallCheck(this, Hide);\n\n for (var _len11 = arguments.length, args = Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {\n args[_key11] = arguments[_key11];\n }\n\n return _ret11 = (_temp11 = (_this11 = _possibleConstructorReturn(this, (_ref11 = Hide.__proto__ || Object.getPrototypeOf(Hide)).call.apply(_ref11, [this].concat(args))), _this11), _this11.onClick = function () {\n moderation.hide(_this11.props);\n }, _temp11), _possibleConstructorReturn(_this11, _ret11);\n }\n\n _createClass(Hide, [{\n key: 'render',\n value: function render() {\n var _props3 = this.props,\n post = _props3.post,\n thread = _props3.thread;\n\n\n if (post.id === thread.best_answer) return null;\n if (!post.acl.can_hide) return null;\n if (post.is_hidden) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'visibility_off'\n ),\n gettext(\"Hide\")\n )\n );\n }\n }]);\n\n return Hide;\n}(_react2.default.Component);\n\nvar Unhide = exports.Unhide = function (_React$Component12) {\n _inherits(Unhide, _React$Component12);\n\n function Unhide() {\n var _ref12;\n\n var _temp12, _this12, _ret12;\n\n _classCallCheck(this, Unhide);\n\n for (var _len12 = arguments.length, args = Array(_len12), _key12 = 0; _key12 < _len12; _key12++) {\n args[_key12] = arguments[_key12];\n }\n\n return _ret12 = (_temp12 = (_this12 = _possibleConstructorReturn(this, (_ref12 = Unhide.__proto__ || Object.getPrototypeOf(Unhide)).call.apply(_ref12, [this].concat(args))), _this12), _this12.onClick = function () {\n moderation.unhide(_this12.props);\n }, _temp12), _possibleConstructorReturn(_this12, _ret12);\n }\n\n _createClass(Unhide, [{\n key: 'render',\n value: function render() {\n if (!this.props.post.acl.can_unhide) return null;\n if (!this.props.post.is_hidden) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'visibility'\n ),\n gettext(\"Unhide\")\n )\n );\n }\n }]);\n\n return Unhide;\n}(_react2.default.Component);\n\nvar Delete = exports.Delete = function (_React$Component13) {\n _inherits(Delete, _React$Component13);\n\n function Delete() {\n var _ref13;\n\n var _temp13, _this13, _ret13;\n\n _classCallCheck(this, Delete);\n\n for (var _len13 = arguments.length, args = Array(_len13), _key13 = 0; _key13 < _len13; _key13++) {\n args[_key13] = arguments[_key13];\n }\n\n return _ret13 = (_temp13 = (_this13 = _possibleConstructorReturn(this, (_ref13 = Delete.__proto__ || Object.getPrototypeOf(Delete)).call.apply(_ref13, [this].concat(args))), _this13), _this13.onClick = function () {\n moderation.remove(_this13.props);\n }, _temp13), _possibleConstructorReturn(_this13, _ret13);\n }\n\n _createClass(Delete, [{\n key: 'render',\n value: function render() {\n var _props4 = this.props,\n post = _props4.post,\n thread = _props4.thread;\n\n\n if (post.id === thread.best_answer) return null;\n if (!post.acl.can_delete) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'clear'\n ),\n gettext(\"Delete\")\n )\n );\n }\n }]);\n\n return Delete;\n}(_react2.default.Component);\n\n},{\"../../../../services/modal\":370,\"../../../../services/posting\":374,\"../../../post-changelog\":118,\"./actions\":154,\"./move\":157,\"./split\":158,\"react\":\"react\"}],156:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n { className: 'pull-right dropdown' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-expanded': 'true',\n 'aria-haspopup': 'true',\n className: 'btn btn-default btn-icon dropdown-toggle',\n 'data-toggle': 'dropdown',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'expand_more'\n )\n ),\n _react2.default.createElement(_dropdown2.default, props)\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _dropdown = require('./dropdown');\n\nvar _dropdown2 = _interopRequireDefault(_dropdown);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./dropdown\":155,\"react\":\"react\"}],157:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.ModalHeader = ModalHeader;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _post = require('../../../../reducers/post');\n\nvar post = _interopRequireWildcard(_post);\n\nvar _ajax = require('../../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.onUrlChange = function (event) {\n _this.changeValue('url', event.target.value);\n };\n\n _this.state = {\n isLoading: false,\n\n url: '',\n\n validators: {\n url: []\n },\n errors: {}\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'clean',\n value: function clean() {\n if (!this.state.url.trim().length) {\n _snackbar2.default.error(gettext(\"You have to enter link to the other thread.\"));\n return false;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.thread.api.posts.move, {\n new_thread: this.state.url,\n posts: [this.props.post.id]\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(success) {\n _store2.default.dispatch(post.patch(this.props.post, {\n isDeleted: true\n }));\n\n _modal2.default.hide();\n\n _snackbar2.default.success(gettext(\"Selected post was moved to the other thread.\"));\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-dialog', role: 'document' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(ModalHeader, null),\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n _formGroup2.default,\n {\n 'for': 'id_url',\n label: gettext(\"Link to thread you want to move post to\")\n },\n _react2.default.createElement('input', {\n className: 'form-control',\n disabled: this.state.isLoading,\n id: 'id_url',\n onChange: this.onUrlChange,\n value: this.state.url\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'button',\n { className: 'btn btn-primary', loading: this.state.isLoading },\n gettext(\"Move post\")\n )\n )\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\nfunction ModalHeader(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-label': gettext(\"Close\"),\n className: 'close',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Move post\")\n )\n );\n}\n\n},{\"../../../../reducers/post\":352,\"../../../../services/ajax\":364,\"../../../../services/modal\":370,\"../../../../services/snackbar\":375,\"../../../../services/store\":376,\"../../../button\":8,\"../../../form\":55,\"../../../form-group\":54,\"react\":\"react\"}],158:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ModerationForm = exports.PostingConfig = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /* jshint ignore:start */\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nexports.default = function (props) {\n return _react2.default.createElement(PostingConfig, _extends({}, props, { Form: ModerationForm }));\n};\n\nexports.Loader = Loader;\nexports.Error = Error;\nexports.Modal = Modal;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _categorySelect = require('../../../category-select');\n\nvar _categorySelect2 = _interopRequireDefault(_categorySelect);\n\nvar _modalLoader = require('../../../modal-loader');\n\nvar _modalLoader2 = _interopRequireDefault(_modalLoader);\n\nvar _select = require('../../../select');\n\nvar _select2 = _interopRequireDefault(_select);\n\nvar _post = require('../../../../reducers/post');\n\nvar post = _interopRequireWildcard(_post);\n\nvar _ajax = require('../../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _validators = require('../../../../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar PostingConfig = exports.PostingConfig = function (_React$Component) {\n _inherits(PostingConfig, _React$Component);\n\n function PostingConfig(props) {\n _classCallCheck(this, PostingConfig);\n\n var _this = _possibleConstructorReturn(this, (PostingConfig.__proto__ || Object.getPrototypeOf(PostingConfig)).call(this, props));\n\n _this.state = {\n isLoaded: false,\n isError: false,\n\n categories: []\n };\n return _this;\n }\n\n _createClass(PostingConfig, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n _ajax2.default.get(misago.get('THREAD_EDITOR_API')).then(function (data) {\n // hydrate categories, extract posting options\n var categories = data.map(function (item) {\n return Object.assign(item, {\n disabled: item.post === false,\n label: item.name,\n value: item.id,\n post: item.post\n });\n });\n\n _this2.setState({\n isLoaded: true,\n categories: categories\n });\n }, function (rejection) {\n _this2.setState({\n isError: rejection.detail\n });\n });\n }\n }, {\n key: 'render',\n value: function render() {\n if (this.state.isError) {\n return _react2.default.createElement(Error, { message: this.state.isError });\n } else if (this.state.isLoaded) {\n return _react2.default.createElement(ModerationForm, _extends({}, this.props, { categories: this.state.categories }));\n } else {\n return _react2.default.createElement(Loader, null);\n }\n }\n }]);\n\n return PostingConfig;\n}(_react2.default.Component);\n\nvar ModerationForm = exports.ModerationForm = function (_Form) {\n _inherits(ModerationForm, _Form);\n\n function ModerationForm(props) {\n _classCallCheck(this, ModerationForm);\n\n var _this3 = _possibleConstructorReturn(this, (ModerationForm.__proto__ || Object.getPrototypeOf(ModerationForm)).call(this, props));\n\n _this3.onCategoryChange = function (ev) {\n var categoryId = ev.target.value;\n var newState = {\n category: categoryId\n };\n\n if (_this3.acl[categoryId].can_pin_threads < newState.weight) {\n newState.weight = 0;\n }\n\n if (!_this3.acl[categoryId].can_hide_threads) {\n newState.is_hidden = 0;\n }\n\n if (!_this3.acl[categoryId].can_close_threads) {\n newState.is_closed = false;\n }\n\n _this3.setState(newState);\n };\n\n _this3.state = {\n isLoading: false,\n\n title: '',\n category: null,\n categories: props.categories,\n weight: 0,\n is_hidden: 0,\n is_closed: false,\n\n validators: {\n title: [validators.required()]\n },\n\n errors: {}\n };\n\n _this3.isHiddenChoices = [{\n 'value': 0,\n 'icon': 'visibility',\n 'label': gettext(\"No\")\n }, {\n 'value': 1,\n 'icon': 'visibility_off',\n 'label': gettext(\"Yes\")\n }];\n\n _this3.isClosedChoices = [{\n 'value': false,\n 'icon': 'lock_outline',\n 'label': gettext(\"No\")\n }, {\n 'value': true,\n 'icon': 'lock',\n 'label': gettext(\"Yes\")\n }];\n\n _this3.acl = {};\n _this3.props.categories.forEach(function (category) {\n if (category.post) {\n if (!_this3.state.category) {\n _this3.state.category = category.id;\n }\n\n _this3.acl[category.id] = {\n can_pin_threads: category.post.pin,\n can_close_threads: category.post.close,\n can_hide_threads: category.post.hide\n };\n }\n });\n return _this3;\n }\n\n _createClass(ModerationForm, [{\n key: 'clean',\n value: function clean() {\n if (this.isValid()) {\n return true;\n } else {\n _snackbar2.default.error(gettext(\"Form contains errors.\"));\n this.setState({\n errors: this.validate()\n });\n return false;\n }\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.thread.api.posts.split, {\n title: this.state.title,\n category: this.state.category,\n weight: this.state.weight,\n is_hidden: this.state.is_hidden,\n is_closed: this.state.is_closed,\n posts: [this.props.post.id]\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(apiResponse) {\n _store2.default.dispatch(post.patch(this.props.post, {\n isDeleted: true\n }));\n\n _modal2.default.hide();\n\n _snackbar2.default.success(gettext(\"Selected post was split into new thread.\"));\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n this.setState({\n 'errors': Object.assign({}, this.state.errors, rejection)\n });\n _snackbar2.default.error(gettext(\"Form contains errors.\"));\n } else if (rejection.status === 403 && Array.isArray(rejection)) {\n _modal2.default.show(_react2.default.createElement(ErrorsModal, { errors: rejection }));\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'getWeightChoices',\n value: function getWeightChoices() {\n var choices = [{\n 'value': 0,\n 'icon': 'remove',\n 'label': gettext(\"Not pinned\")\n }, {\n 'value': 1,\n 'icon': 'bookmark_border',\n 'label': gettext(\"Pinned locally\")\n }];\n\n if (this.acl[this.state.category].can_pin_threads == 2) {\n choices.push({\n 'value': 2,\n 'icon': 'bookmark',\n 'label': gettext(\"Pinned globally\")\n });\n }\n\n return choices;\n }\n }, {\n key: 'renderWeightField',\n value: function renderWeightField() {\n if (this.acl[this.state.category].can_pin_threads) {\n return _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Thread weight\"),\n 'for': 'id_weight',\n labelClass: 'col-sm-4', controlClass: 'col-sm-8' },\n _react2.default.createElement(_select2.default, { id: 'id_weight',\n onChange: this.bindInput('weight'),\n value: this.state.weight,\n choices: this.getWeightChoices() })\n );\n } else {\n return null;\n }\n }\n }, {\n key: 'renderHiddenField',\n value: function renderHiddenField() {\n if (this.acl[this.state.category].can_hide_threads) {\n return _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Hide thread\"),\n 'for': 'id_is_hidden',\n labelClass: 'col-sm-4', controlClass: 'col-sm-8' },\n _react2.default.createElement(_select2.default, { id: 'id_is_closed',\n onChange: this.bindInput('is_hidden'),\n value: this.state.is_hidden,\n choices: this.isHiddenChoices })\n );\n } else {\n return null;\n }\n }\n }, {\n key: 'renderClosedField',\n value: function renderClosedField() {\n if (this.acl[this.state.category].can_close_threads) {\n return _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Close thread\"),\n 'for': 'id_is_closed',\n labelClass: 'col-sm-4', controlClass: 'col-sm-8' },\n _react2.default.createElement(_select2.default, { id: 'id_is_closed',\n onChange: this.bindInput('is_closed'),\n value: this.state.is_closed,\n choices: this.isClosedChoices })\n );\n } else {\n return null;\n }\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n Modal,\n { className: 'modal-dialog' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Thread title\"),\n 'for': 'id_title',\n labelClass: 'col-sm-4', controlClass: 'col-sm-8',\n validation: this.state.errors.title },\n _react2.default.createElement('input', { id: 'id_title',\n className: 'form-control',\n type: 'text',\n onChange: this.bindInput('title'),\n value: this.state.title })\n ),\n _react2.default.createElement('div', { className: 'clearfix' }),\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Category\"),\n 'for': 'id_category',\n labelClass: 'col-sm-4', controlClass: 'col-sm-8',\n validation: this.state.errors.category },\n _react2.default.createElement(_categorySelect2.default, { id: 'id_category',\n onChange: this.onCategoryChange,\n value: this.state.category,\n choices: this.state.categories })\n ),\n _react2.default.createElement('div', { className: 'clearfix' }),\n this.renderWeightField(),\n this.renderHiddenField(),\n this.renderClosedField()\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary', loading: this.state.isLoading },\n gettext(\"Split post\")\n )\n )\n )\n );\n }\n }]);\n\n return ModerationForm;\n}(_form2.default);\n\nfunction Loader() {\n return _react2.default.createElement(\n Modal,\n { className: 'modal-dialog' },\n _react2.default.createElement(_modalLoader2.default, null)\n );\n}\n\nfunction Error(props) {\n return _react2.default.createElement(\n Modal,\n { className: 'modal-dialog modal-message' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'info_outline'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"You can't move this post at the moment.\")\n ),\n _react2.default.createElement(\n 'p',\n null,\n props.message\n )\n )\n );\n}\n\nfunction Modal(props) {\n return _react2.default.createElement(\n 'div',\n { className: props.className, role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-label': gettext(\"Close\"),\n className: 'close',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Split post into new thread\")\n )\n ),\n props.children\n )\n );\n}\n\n},{\"../../../../reducers/post\":352,\"../../../../services/ajax\":364,\"../../../../services/modal\":370,\"../../../../services/snackbar\":375,\"../../../../services/store\":376,\"../../../../utils/validators\":392,\"../../../button\":8,\"../../../category-select\":21,\"../../../form\":55,\"../../../form-group\":54,\"../../../modal-loader\":60,\"../../../select\":209,\"react\":\"react\"}],159:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FlagBestAnswer = FlagBestAnswer;\nexports.FlagHidden = FlagHidden;\nexports.FlagUnapproved = FlagUnapproved;\nexports.FlagProtected = FlagProtected;\nexports.isVisible = isVisible;\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction FlagBestAnswer(_ref) {\n var post = _ref.post,\n thread = _ref.thread,\n user = _ref.user;\n\n if (!(isVisible(post) && post.id === thread.best_answer)) {\n return null;\n }\n\n var message = null;\n if (user.id && thread.best_answer_marked_by === user.id) {\n message = interpolate(gettext(\"Marked as best answer by you %(marked_on)s.\"), {\n marked_on: thread.best_answer_marked_on.fromNow()\n }, true);\n } else {\n message = interpolate(gettext(\"Marked as best answer by %(marked_by)s %(marked_on)s.\"), {\n marked_by: thread.best_answer_marked_by_name,\n marked_on: thread.best_answer_marked_on.fromNow()\n }, true);\n }\n\n return _react2.default.createElement(\n \"div\",\n { className: \"post-status-message post-status-best-answer\" },\n _react2.default.createElement(\n \"span\",\n { className: \"material-icon\" },\n \"check_box\"\n ),\n _react2.default.createElement(\n \"p\",\n null,\n message\n )\n );\n} /* jshint ignore:start */\nfunction FlagHidden(props) {\n if (!(isVisible(props.post) && props.post.is_hidden)) {\n return null;\n }\n\n return _react2.default.createElement(\n \"div\",\n { className: \"post-status-message post-status-hidden\" },\n _react2.default.createElement(\n \"span\",\n { className: \"material-icon\" },\n \"visibility_off\"\n ),\n _react2.default.createElement(\n \"p\",\n null,\n gettext(\"This post is hidden. Only users with permission may see its contents.\")\n )\n );\n}\n\nfunction FlagUnapproved(props) {\n if (!(isVisible(props.post) && props.post.is_unapproved)) {\n return null;\n }\n\n return _react2.default.createElement(\n \"div\",\n { className: \"post-status-message post-status-unapproved\" },\n _react2.default.createElement(\n \"span\",\n { className: \"material-icon\" },\n \"remove_circle_outline\"\n ),\n _react2.default.createElement(\n \"p\",\n null,\n gettext(\"This post is unapproved. Only users with permission to approve posts and its author may see its contents.\")\n )\n );\n}\n\nfunction FlagProtected(props) {\n if (!(isVisible(props.post) && props.post.is_protected)) {\n return null;\n }\n\n return _react2.default.createElement(\n \"div\",\n { className: \"post-status-message post-status-protected visible-xs-block\" },\n _react2.default.createElement(\n \"span\",\n { className: \"material-icon\" },\n \"lock_outline\"\n ),\n _react2.default.createElement(\n \"p\",\n null,\n gettext(\"This post is protected. Only moderators may change it.\")\n )\n );\n}\n\nfunction isVisible(post) {\n return !post.is_hidden || post.acl.can_see_hidden;\n}\n\n},{\"react\":\"react\"}],160:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Edit = exports.Reply = exports.LikesCompact = exports.Likes = exports.Like = exports.MarkAsBestAnswerCompact = exports.MarkAsBestAnswer = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /* jshint ignore:start */\n\n\nexports.default = function (props) {\n if (!isVisible(props.post)) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'post-footer' },\n _react2.default.createElement(MarkAsBestAnswer, props),\n _react2.default.createElement(MarkAsBestAnswerCompact, props),\n _react2.default.createElement(Like, props),\n _react2.default.createElement(Likes, _extends({\n lastLikes: props.post.last_likes,\n likes: props.post.likes\n }, props)),\n _react2.default.createElement(LikesCompact, _extends({\n likes: props.post.likes\n }, props)),\n _react2.default.createElement(Reply, props),\n _react2.default.createElement(Edit, props)\n );\n};\n\nexports.isVisible = isVisible;\nexports.getLikesMessage = getLikesMessage;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _actions = require('./controls/actions');\n\nvar actions = _interopRequireWildcard(_actions);\n\nvar _postLikes = require('../../post-likes');\n\nvar _postLikes2 = _interopRequireDefault(_postLikes);\n\nvar _modal = require('../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _posting = require('../../../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction isVisible(post) {\n return (!post.is_hidden || post.acl.can_see_hidden) && (post.acl.can_reply || post.acl.can_edit || post.acl.can_see_likes && (post.last_likes || []).length || post.acl.can_like);\n}\n\nvar MarkAsBestAnswer = exports.MarkAsBestAnswer = function (_React$Component) {\n _inherits(MarkAsBestAnswer, _React$Component);\n\n function MarkAsBestAnswer() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, MarkAsBestAnswer);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = MarkAsBestAnswer.__proto__ || Object.getPrototypeOf(MarkAsBestAnswer)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n actions.markAsBestAnswer(_this.props);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(MarkAsBestAnswer, [{\n key: 'render',\n value: function render() {\n var _props = this.props,\n post = _props.post,\n thread = _props.thread;\n\n\n if (!thread.acl.can_mark_best_answer) return null;\n if (!post.acl.can_mark_as_best_answer) return null;\n if (thread.best_answer && !thread.acl.can_change_best_answer) return null;\n\n return _react2.default.createElement(\n 'button',\n {\n className: 'hidden-xs btn btn-default btn-sm pull-left',\n disabled: this.props.post.isBusy || post.id === thread.best_answer,\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'check_box'\n ),\n gettext(\"Best answer\")\n );\n }\n }]);\n\n return MarkAsBestAnswer;\n}(_react2.default.Component);\n\nvar MarkAsBestAnswerCompact = exports.MarkAsBestAnswerCompact = function (_React$Component2) {\n _inherits(MarkAsBestAnswerCompact, _React$Component2);\n\n function MarkAsBestAnswerCompact() {\n var _ref2;\n\n var _temp2, _this2, _ret2;\n\n _classCallCheck(this, MarkAsBestAnswerCompact);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, (_ref2 = MarkAsBestAnswerCompact.__proto__ || Object.getPrototypeOf(MarkAsBestAnswerCompact)).call.apply(_ref2, [this].concat(args))), _this2), _this2.onClick = function () {\n actions.markAsBestAnswer(_this2.props);\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n }\n\n _createClass(MarkAsBestAnswerCompact, [{\n key: 'render',\n value: function render() {\n var _props2 = this.props,\n post = _props2.post,\n thread = _props2.thread;\n\n\n if (!thread.acl.can_mark_best_answer) return null;\n if (!post.acl.can_mark_as_best_answer) return null;\n if (thread.best_answer && !thread.acl.can_change_best_answer) return null;\n\n return _react2.default.createElement(\n 'button',\n {\n className: 'visible-xs-inline-block btn btn-default btn-sm pull-left',\n disabled: this.props.post.isBusy || post.id === thread.best_answer,\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'check_box'\n )\n );\n }\n }]);\n\n return MarkAsBestAnswerCompact;\n}(_react2.default.Component);\n\nvar Like = exports.Like = function (_React$Component3) {\n _inherits(Like, _React$Component3);\n\n function Like() {\n var _ref3;\n\n var _temp3, _this3, _ret3;\n\n _classCallCheck(this, Like);\n\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _ret3 = (_temp3 = (_this3 = _possibleConstructorReturn(this, (_ref3 = Like.__proto__ || Object.getPrototypeOf(Like)).call.apply(_ref3, [this].concat(args))), _this3), _this3.onClick = function () {\n if (_this3.props.post.is_liked) {\n actions.unlike(_this3.props);\n } else {\n actions.like(_this3.props);\n }\n }, _temp3), _possibleConstructorReturn(_this3, _ret3);\n }\n\n _createClass(Like, [{\n key: 'render',\n value: function render() {\n if (!this.props.post.acl.can_like) return null;\n\n var className = 'btn btn-default btn-sm pull-left';\n if (this.props.post.is_liked) {\n className = 'btn btn-success btn-sm pull-left';\n }\n\n return _react2.default.createElement(\n 'button',\n {\n className: className,\n disabled: this.props.post.isBusy,\n onClick: this.onClick,\n type: 'button'\n },\n this.props.post.is_liked ? gettext(\"Liked\") : gettext(\"Like\")\n );\n }\n }]);\n\n return Like;\n}(_react2.default.Component);\n\nvar Likes = exports.Likes = function (_React$Component4) {\n _inherits(Likes, _React$Component4);\n\n function Likes() {\n var _ref4;\n\n var _temp4, _this4, _ret4;\n\n _classCallCheck(this, Likes);\n\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _ret4 = (_temp4 = (_this4 = _possibleConstructorReturn(this, (_ref4 = Likes.__proto__ || Object.getPrototypeOf(Likes)).call.apply(_ref4, [this].concat(args))), _this4), _this4.onClick = function () {\n _modal2.default.show(_react2.default.createElement(_postLikes2.default, {\n post: _this4.props.post\n }));\n }, _temp4), _possibleConstructorReturn(_this4, _ret4);\n }\n\n _createClass(Likes, [{\n key: 'render',\n value: function render() {\n var hasLikes = (this.props.post.last_likes || []).length > 0;\n if (!this.props.post.acl.can_see_likes || !hasLikes) return null;\n\n if (this.props.post.acl.can_see_likes === 2) {\n return _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link btn-sm pull-left hidden-xs',\n onClick: this.onClick,\n type: 'button'\n },\n getLikesMessage(this.props.likes, this.props.lastLikes)\n );\n }\n\n return _react2.default.createElement(\n 'p',\n { className: 'pull-left hidden-xs' },\n getLikesMessage(this.props.likes, this.props.lastLikes)\n );\n }\n }]);\n\n return Likes;\n}(_react2.default.Component);\n\nvar LikesCompact = exports.LikesCompact = function (_Likes) {\n _inherits(LikesCompact, _Likes);\n\n function LikesCompact() {\n _classCallCheck(this, LikesCompact);\n\n return _possibleConstructorReturn(this, (LikesCompact.__proto__ || Object.getPrototypeOf(LikesCompact)).apply(this, arguments));\n }\n\n _createClass(LikesCompact, [{\n key: 'render',\n value: function render() {\n var hasLikes = (this.props.post.last_likes || []).length > 0;\n if (!this.props.post.acl.can_see_likes || !hasLikes) return null;\n\n if (this.props.post.acl.can_see_likes === 2) {\n return _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link btn-sm likes-compact pull-left visible-xs-block',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'favorite'\n ),\n this.props.likes\n );\n }\n\n return _react2.default.createElement(\n 'p',\n { className: 'likes-compact pull-left visible-xs-block' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'favorite'\n ),\n this.props.likes\n );\n }\n }]);\n\n return LikesCompact;\n}(Likes);\n\nfunction getLikesMessage(likes, users) {\n var usernames = users.slice(0, 3).map(function (u) {\n return u.username;\n });\n\n if (usernames.length == 1) {\n return interpolate(gettext(\"%(user)s likes this.\"), {\n user: usernames[0]\n }, true);\n }\n\n var hiddenLikes = likes - usernames.length;\n\n var otherUsers = usernames.slice(0, -1).join(', ');\n var lastUser = usernames.slice(-1)[0];\n\n var usernamesList = interpolate(gettext(\"%(users)s and %(last_user)s\"), {\n users: otherUsers,\n last_user: lastUser\n }, true);\n\n if (hiddenLikes === 0) {\n return interpolate(gettext(\"%(users)s like this.\"), {\n users: usernamesList\n }, true);\n }\n\n var message = ngettext(\"%(users)s and %(likes)s other user like this.\", \"%(users)s and %(likes)s other users like this.\", hiddenLikes);\n\n return interpolate(message, {\n users: usernames.join(', '),\n likes: hiddenLikes\n }, true);\n}\n\nvar Reply = exports.Reply = function (_React$Component5) {\n _inherits(Reply, _React$Component5);\n\n function Reply() {\n var _ref5;\n\n var _temp5, _this6, _ret5;\n\n _classCallCheck(this, Reply);\n\n for (var _len5 = arguments.length, args = Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n return _ret5 = (_temp5 = (_this6 = _possibleConstructorReturn(this, (_ref5 = Reply.__proto__ || Object.getPrototypeOf(Reply)).call.apply(_ref5, [this].concat(args))), _this6), _this6.onClick = function () {\n _posting2.default.open({\n mode: 'REPLY',\n\n config: _this6.props.thread.api.editor,\n submit: _this6.props.thread.api.posts.index,\n\n context: {\n reply: _this6.props.post.id\n }\n });\n }, _temp5), _possibleConstructorReturn(_this6, _ret5);\n }\n\n _createClass(Reply, [{\n key: 'render',\n value: function render() {\n if (this.props.post.acl.can_reply) {\n return _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-primary btn-sm pull-right',\n type: 'button',\n onClick: this.onClick\n },\n gettext(\"Reply\")\n );\n } else {\n return null;\n }\n }\n }]);\n\n return Reply;\n}(_react2.default.Component);\n\nvar Edit = exports.Edit = function (_React$Component6) {\n _inherits(Edit, _React$Component6);\n\n function Edit() {\n var _ref6;\n\n var _temp6, _this7, _ret6;\n\n _classCallCheck(this, Edit);\n\n for (var _len6 = arguments.length, args = Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n return _ret6 = (_temp6 = (_this7 = _possibleConstructorReturn(this, (_ref6 = Edit.__proto__ || Object.getPrototypeOf(Edit)).call.apply(_ref6, [this].concat(args))), _this7), _this7.onClick = function () {\n _posting2.default.open({\n mode: 'EDIT',\n\n config: _this7.props.post.api.editor,\n submit: _this7.props.post.api.index\n });\n }, _temp6), _possibleConstructorReturn(_this7, _ret6);\n }\n\n _createClass(Edit, [{\n key: 'render',\n value: function render() {\n if (this.props.post.acl.can_edit) {\n return _react2.default.createElement(\n 'button',\n {\n className: 'hidden-xs btn btn-default btn-sm pull-right',\n type: 'button',\n onClick: this.onClick\n },\n gettext(\"Edit\")\n );\n } else {\n return null;\n }\n }\n }]);\n\n return Edit;\n}(_react2.default.Component);\n\n},{\"../../../services/modal\":370,\"../../../services/posting\":374,\"../../post-likes\":131,\"./controls/actions\":154,\"react\":\"react\"}],161:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PostEditsCompacts = exports.PostEdits = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n { className: 'post-heading' },\n _react2.default.createElement(UnreadLabel, props),\n _react2.default.createElement(UnreadCompact, props),\n _react2.default.createElement(PostedOn, props),\n _react2.default.createElement(PostedOnCompact, props),\n _react2.default.createElement(PostEdits, props),\n _react2.default.createElement(PostEditsCompacts, props),\n _react2.default.createElement(ProtectedLabel, props),\n _react2.default.createElement(_select2.default, props),\n _react2.default.createElement(_controls2.default, props)\n );\n};\n\nexports.UnreadLabel = UnreadLabel;\nexports.UnreadCompact = UnreadCompact;\nexports.PostedOn = PostedOn;\nexports.PostedOnCompact = PostedOnCompact;\nexports.ProtectedLabel = ProtectedLabel;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _controls = require('./controls');\n\nvar _controls2 = _interopRequireDefault(_controls);\n\nvar _select = require('./select');\n\nvar _select2 = _interopRequireDefault(_select);\n\nvar _userStatus = require('../../user-status');\n\nvar _postChangelog = require('../../post-changelog');\n\nvar _postChangelog2 = _interopRequireDefault(_postChangelog);\n\nvar _modal = require('../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nfunction UnreadLabel(props) {\n if (props.post.is_read) return null;\n\n return _react2.default.createElement(\n 'span',\n { className: 'label label-unread hidden-xs' },\n gettext(\"New post\")\n );\n}\n\nfunction UnreadCompact(props) {\n if (props.post.is_read) return null;\n\n return _react2.default.createElement(\n 'span',\n { className: 'label label-unread visible-xs-inline-block' },\n gettext(\"New\")\n );\n}\n\nfunction PostedOn(props) {\n var tooltip = interpolate(gettext(\"posted %(posted_on)s\"), {\n 'posted_on': props.post.posted_on.format('LL, LT')\n }, true);\n\n return _react2.default.createElement(\n 'a',\n {\n href: props.post.url.index,\n className: 'btn btn-link posted-on hidden-xs',\n title: tooltip\n },\n props.post.posted_on.fromNow()\n );\n}\n\nfunction PostedOnCompact(props) {\n return _react2.default.createElement(\n 'a',\n {\n href: props.post.url.index,\n className: 'btn btn-link posted-on visible-xs-inline-block'\n },\n props.post.posted_on.fromNow(true)\n );\n}\n\nvar PostEdits = exports.PostEdits = function (_React$Component) {\n _inherits(PostEdits, _React$Component);\n\n function PostEdits() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, PostEdits);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = PostEdits.__proto__ || Object.getPrototypeOf(PostEdits)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n _modal2.default.show(_react2.default.createElement(_postChangelog2.default, { post: _this.props.post }));\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(PostEdits, [{\n key: 'render',\n value: function render() {\n var isHidden = this.props.post.is_hidden && !this.props.post.acl.can_see_hidden;\n var isUnedited = this.props.post.edits === 0;\n if (isHidden || isUnedited) return null;\n\n var tooltip = ngettext(\"This post was edited %(edits)s time.\", \"This post was edited %(edits)s times.\", this.props.post.edits);\n\n var title = interpolate(tooltip, {\n 'edits': this.props.post.edits\n }, true);\n\n var label = ngettext(\"edited %(edits)s time\", \"edited %(edits)s times\", this.props.post.edits);\n\n return _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link btn-see-edits hidden-xs',\n onClick: this.onClick,\n title: title,\n type: 'button'\n },\n interpolate(label, {\n 'edits': this.props.post.edits\n }, true)\n );\n }\n }]);\n\n return PostEdits;\n}(_react2.default.Component);\n\nvar PostEditsCompacts = exports.PostEditsCompacts = function (_PostEdits) {\n _inherits(PostEditsCompacts, _PostEdits);\n\n function PostEditsCompacts() {\n _classCallCheck(this, PostEditsCompacts);\n\n return _possibleConstructorReturn(this, (PostEditsCompacts.__proto__ || Object.getPrototypeOf(PostEditsCompacts)).apply(this, arguments));\n }\n\n _createClass(PostEditsCompacts, [{\n key: 'render',\n value: function render() {\n var isHidden = this.props.post.is_hidden && !this.props.post.acl.can_see_hidden;\n var isUnedited = this.props.post.edits === 0;\n if (isHidden || isUnedited) return null;\n\n var label = ngettext(\"%(edits)s edit\", \"%(edits)s edits\", this.props.post.edits);\n\n return _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link btn-see-edits visible-xs-inline-block',\n onClick: this.onClick,\n type: 'button'\n },\n interpolate(label, {\n 'edits': this.props.post.edits\n }, true)\n );\n }\n }]);\n\n return PostEditsCompacts;\n}(PostEdits);\n\nfunction ProtectedLabel(props) {\n var postAuthor = props.post.poster && props.post.poster.id === props.user.id;\n var hasAcl = props.post.acl.can_protect;\n var isVisible = props.user.id && props.post.is_protected && (postAuthor || hasAcl);\n\n if (!isVisible) {\n return null;\n }\n\n return _react2.default.createElement(\n 'span',\n {\n className: 'label label-protected hidden-xs',\n title: gettext(\"This post is protected and may not be edited.\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'lock_outline'\n ),\n gettext(\"protected\")\n );\n}\n\n},{\"../../../services/modal\":370,\"../../post-changelog\":118,\"../../user-status\":273,\"./controls\":156,\"./select\":171,\"react\":\"react\"}],162:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n var className = 'post';\n if (props.post.isDeleted) {\n className = 'hide';\n } else if (props.post.is_hidden && !props.post.acl.can_see_hidden) {\n className = 'post post-hidden';\n }\n\n if (props.post.poster && props.post.poster.rank.css_class) {\n className += ' post-' + props.post.poster.rank.css_class;\n }\n\n if (!props.post.is_read) {\n className += ' post-new';\n }\n\n return _react2.default.createElement(\n 'li',\n { id: 'post-' + props.post.id, className: className },\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-post' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(_postSide2.default, props),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-md-9' },\n _react2.default.createElement(_header2.default, props),\n _react2.default.createElement(_flags.FlagBestAnswer, props),\n _react2.default.createElement(_flags.FlagUnapproved, props),\n _react2.default.createElement(_flags.FlagProtected, props),\n _react2.default.createElement(_flags.FlagHidden, props),\n _react2.default.createElement(_body2.default, props),\n _react2.default.createElement(_attachments2.default, props),\n _react2.default.createElement(_footer2.default, props)\n )\n )\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _attachments = require('./attachments');\n\nvar _attachments2 = _interopRequireDefault(_attachments);\n\nvar _body = require('./body');\n\nvar _body2 = _interopRequireDefault(_body);\n\nvar _flags = require('./flags');\n\nvar _footer = require('./footer');\n\nvar _footer2 = _interopRequireDefault(_footer);\n\nvar _header = require('./header');\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _postSide = require('./post-side');\n\nvar _postSide2 = _interopRequireDefault(_postSide);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./attachments\":152,\"./body\":153,\"./flags\":159,\"./footer\":160,\"./header\":161,\"./post-side\":165,\"react\":\"react\"}],163:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var post = _ref.post,\n thread = _ref.thread;\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-md-3 post-side post-side-anonymous' },\n _react2.default.createElement(_select2.default, {\n post: post,\n thread: thread\n }),\n _react2.default.createElement(_controls2.default, {\n post: post,\n thread: thread\n }),\n _react2.default.createElement(\n 'div',\n { className: 'media' },\n _react2.default.createElement(\n 'div',\n { className: 'media-left' },\n _react2.default.createElement(\n 'span',\n null,\n _react2.default.createElement(_avatar2.default, {\n className: 'poster-avatar',\n size: 100\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'media-body' },\n _react2.default.createElement(\n 'span',\n { className: 'media-heading item-title' },\n post.poster_name\n ),\n _react2.default.createElement(\n 'span',\n { className: 'user-title user-title-anonymous' },\n gettext(\"Removed user\")\n )\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _controls = require('../controls');\n\nvar _controls2 = _interopRequireDefault(_controls);\n\nvar _select = require('../select');\n\nvar _select2 = _interopRequireDefault(_select);\n\nvar _userStatus = require('../../../user-status');\n\nvar _userStatus2 = _interopRequireDefault(_userStatus);\n\nvar _userPostcount = require('./user-postcount');\n\nvar _userPostcount2 = _interopRequireDefault(_userPostcount);\n\nvar _userTitle = require('./user-title');\n\nvar _userTitle2 = _interopRequireDefault(_userTitle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../../avatar\":6,\"../../../user-status\":273,\"../controls\":156,\"../select\":171,\"./user-postcount\":167,\"./user-title\":169,\"react\":\"react\"}],164:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var title = _ref.title,\n rank = _ref.rank;\n\n return rank.is_tab || !!title || !!rank.title;\n};\n\n},{}],165:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n if (props.post.poster) {\n return _react2.default.createElement(_registered2.default, props);\n }\n\n return _react2.default.createElement(_anonymous2.default, props);\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _anonymous = require('./anonymous');\n\nvar _anonymous2 = _interopRequireDefault(_anonymous);\n\nvar _registered = require('./registered');\n\nvar _registered2 = _interopRequireDefault(_registered);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./anonymous\":163,\"./registered\":166,\"react\":\"react\"}],166:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var post = _ref.post,\n thread = _ref.thread;\n var poster = post.poster;\n\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-md-3 post-side post-side-registered' },\n _react2.default.createElement(_select2.default, {\n post: post,\n thread: thread\n }),\n _react2.default.createElement(_controls2.default, {\n post: post,\n thread: thread\n }),\n _react2.default.createElement(\n 'div',\n { className: 'media' },\n _react2.default.createElement(\n 'div',\n { className: 'media-left' },\n _react2.default.createElement(\n 'a',\n { href: poster.url },\n _react2.default.createElement(_avatar2.default, {\n className: 'poster-avatar',\n size: 100,\n user: poster\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'media-body' },\n _react2.default.createElement(\n 'div',\n { className: 'media-heading' },\n _react2.default.createElement(\n 'a',\n {\n className: 'item-title',\n href: poster.url\n },\n poster.username\n ),\n _react2.default.createElement(\n _userStatus2.default,\n { status: poster.status },\n _react2.default.createElement(_userStatus.StatusIcon, { status: poster.status })\n )\n ),\n _react2.default.createElement(_userTitle2.default, {\n rank: poster.rank,\n title: poster.title\n }),\n _react2.default.createElement(_userStatus4.default, { poster: poster }),\n _react2.default.createElement(_userPostcount2.default, { poster: poster })\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _controls = require('../controls');\n\nvar _controls2 = _interopRequireDefault(_controls);\n\nvar _select = require('../select');\n\nvar _select2 = _interopRequireDefault(_select);\n\nvar _userStatus = require('../../../user-status');\n\nvar _userStatus2 = _interopRequireDefault(_userStatus);\n\nvar _userPostcount = require('./user-postcount');\n\nvar _userPostcount2 = _interopRequireDefault(_userPostcount);\n\nvar _userStatus3 = require('./user-status');\n\nvar _userStatus4 = _interopRequireDefault(_userStatus3);\n\nvar _userTitle = require('./user-title');\n\nvar _userTitle2 = _interopRequireDefault(_userTitle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../../avatar\":6,\"../../../user-status\":273,\"../controls\":156,\"../select\":171,\"./user-postcount\":167,\"./user-status\":168,\"./user-title\":169,\"react\":\"react\"}],167:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var poster = _ref.poster;\n\n var message = ngettext(\"%(posts)s post\", \"%(posts)s posts\", poster.posts);\n\n var className = 'user-postcount';\n if ((0, _hasVisibleTitle2.default)(poster)) {\n className += ' hidden-xs hidden-sm';\n }\n\n return _react2.default.createElement(\n 'span',\n { className: className },\n interpolate(message, {\n 'posts': poster.posts\n }, true)\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _hasVisibleTitle = require('./has-visible-title');\n\nvar _hasVisibleTitle2 = _interopRequireDefault(_hasVisibleTitle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./has-visible-title\":164,\"react\":\"react\"}],168:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var poster = _ref.poster;\n\n var className = 'hidden-xs';\n if ((0, _hasVisibleTitle2.default)(poster)) {\n className += ' hidden-sm';\n }\n\n return _react2.default.createElement(\n 'span',\n { className: className },\n _react2.default.createElement(\n _userStatus2.default,\n { status: poster.status },\n _react2.default.createElement(_userStatus.StatusLabel, {\n status: poster.status,\n user: poster\n })\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _userStatus = require('../../../user-status');\n\nvar _userStatus2 = _interopRequireDefault(_userStatus);\n\nvar _hasVisibleTitle = require('./has-visible-title');\n\nvar _hasVisibleTitle2 = _interopRequireDefault(_hasVisibleTitle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../../user-status\":273,\"./has-visible-title\":164,\"react\":\"react\"}],169:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var rank = _ref.rank,\n title = _ref.title;\n\n var userTitle = title || rank.title;\n if (!userTitle && rank.is_tab) {\n userTitle = rank.name;\n }\n\n if (!userTitle) return null;\n\n var className = 'user-title';\n if (rank.css_class) {\n className += ' user-title-' + rank.css_class;\n }\n\n if (rank.is_tab) {\n return _react2.default.createElement(\n 'div',\n { className: className },\n _react2.default.createElement(\n 'a',\n { href: rank.url },\n userTitle\n )\n );\n }\n\n return _react2.default.createElement(\n 'div',\n { className: className },\n userTitle\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],170:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'li',\n { className: 'post' },\n _react2.default.createElement(\n 'div',\n { className: 'post-border' },\n _react2.default.createElement(\n 'div',\n { className: 'post-avatar' },\n _react2.default.createElement(_avatar2.default, { size: '100' })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'post-body' },\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-post' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading post-heading' },\n _react2.default.createElement(\n 'span',\n { className: 'ui-preview-text', style: { width: random.int(30, 100) + \"px\" } },\n '\\xA0'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'ui-preview-text', style: { width: random.int(30, 100) + \"px\" } },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n 'article',\n { className: 'misago-markup' },\n _react2.default.createElement(\n 'p',\n { className: 'ui-preview-text', style: { width: random.int(50, 100) + \"%\" } },\n '\\xA0'\n ),\n _react2.default.createElement(\n 'p',\n { className: 'ui-preview-text', style: { width: random.int(50, 100) + \"%\" } },\n '\\xA0'\n ),\n _react2.default.createElement(\n 'p',\n { className: 'ui-preview-text', style: { width: random.int(50, 100) + \"%\" } },\n '\\xA0'\n )\n )\n )\n )\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _random = require('../../../utils/random');\n\nvar random = _interopRequireWildcard(_random);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../../utils/random\":387,\"../../avatar\":6,\"react\":\"react\"}],171:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.isVisible = isVisible;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _posts = require('../../../reducers/posts');\n\nvar posts = _interopRequireWildcard(_posts);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n if (_this.props.post.isSelected) {\n _store2.default.dispatch(posts.deselect(_this.props.post));\n } else {\n _store2.default.dispatch(posts.select(_this.props.post));\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n if (!(this.props.thread.acl.can_merge_posts || isVisible(this.props.post.acl))) {\n return null;\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'pull-right hidden-xs' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-icon',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n this.props.post.isSelected ? 'check_box' : 'check_box_outline_blank'\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\nfunction isVisible(acl) {\n return acl.can_approve || acl.can_hide || acl.can_protect || acl.can_unhide || acl.can_delete || acl.can_move;\n}\n\n},{\"../../../reducers/posts\":353,\"../../../services/store\":376,\"react\":\"react\"}],172:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _post = require('../../reducers/post');\n\nvar post = _interopRequireWildcard(_post);\n\nvar _thread = require('../../reducers/thread');\n\nvar thread = _interopRequireWildcard(_thread);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n\n /*\n Super naive and de-facto placeholder implementation for reading posts on scroll\n */\n value: function componentDidMount() {\n var _this2 = this;\n\n if (this.props.post.is_read) return; // don't register read tracker\n\n $(this.documentNode).waypoint({\n handler: function handler(direction) {\n if (direction !== 'down' || _this2.props.post.is_read) return;\n\n // after 1500ms run flag post as read logic\n window.setTimeout(function () {\n // check if post's bottom edge is still in viewport\n var boundingClientRect = _this2.documentNode.getBoundingClientRect();\n var offsetBottom = boundingClientRect.height + boundingClientRect.top;\n var clientHeight = document.documentElement.clientHeight;\n\n if (offsetBottom < 5) return; // scrolled past the post\n if (offsetBottom > clientHeight) return; // scrolled back up\n\n // mark post as read\n _store2.default.dispatch(post.patch(_this2.props.post, {\n is_read: true\n }));\n\n // call API to let it know we have unread post\n _ajax2.default.post(_this2.props.post.api.read).then(function (data) {\n _store2.default.dispatch(thread.update(_this2.props.thread, {\n is_read: data.thread_is_read\n }));\n }, function (rejection) {\n _snackbar2.default.apiError(rejection);\n });\n }, 1000);\n },\n offset: 'bottom-in-view'\n });\n }\n }, {\n key: 'render',\n value: function render() {\n var _this3 = this;\n\n return _react2.default.createElement(\n 'div',\n { className: this.props.className, ref: function ref(node) {\n _this3.documentNode = node;\n } },\n this.props.children\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../reducers/post\":352,\"../../reducers/thread\":359,\"../../services/ajax\":364,\"../../services/snackbar\":375,\"../../services/store\":376,\"react\":\"react\"}],173:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _panelLoader = require('../panel-loader');\n\nvar _panelLoader2 = _interopRequireDefault(_panelLoader);\n\nvar _panelMessage = require('../panel-message');\n\nvar _panelMessage2 = _interopRequireDefault(_panelMessage);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _polls = require('../../services/polls');\n\nvar _polls2 = _interopRequireDefault(_polls);\n\nvar _pageTitle = require('../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.update = function (ban) {\n if (ban.expires_on) {\n ban.expires_on = (0, _moment2.default)(ban.expires_on);\n }\n\n _this.setState({\n isLoaded: true,\n error: null,\n\n ban: ban\n });\n };\n\n _this.error = function (error) {\n _this.setState({\n isLoaded: true,\n error: error.detail,\n ban: null\n });\n };\n\n if (_index2.default.has('PROFILE_BAN')) {\n _this.initWithPreloadedData(_index2.default.pop('PROFILE_BAN'));\n } else {\n _this.initWithoutPreloadedData();\n }\n\n _this.startPolling(props.profile.api.ban);\n return _this;\n }\n\n _createClass(_class, [{\n key: 'initWithPreloadedData',\n value: function initWithPreloadedData(ban) {\n if (ban.expires_on) {\n ban.expires_on = (0, _moment2.default)(ban.expires_on);\n }\n\n this.state = {\n isLoaded: true,\n ban: ban\n };\n }\n }, {\n key: 'initWithoutPreloadedData',\n value: function initWithoutPreloadedData() {\n this.state = {\n isLoaded: false\n };\n }\n }, {\n key: 'startPolling',\n value: function startPolling(api) {\n _polls2.default.start({\n poll: 'ban-details',\n url: api,\n frequency: 90 * 1000,\n update: this.update,\n error: this.error\n });\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'componentDidMount',\n\n /* jshint ignore:end */\n\n value: function componentDidMount() {\n _pageTitle2.default.set({\n title: gettext(\"Ban details\"),\n parent: this.props.profile.username\n });\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n _polls2.default.stop('ban-details');\n }\n }, {\n key: 'getUserMessage',\n value: function getUserMessage() {\n if (this.state.ban.user_message) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'panel-body ban-message ban-user-message' },\n _react2.default.createElement(\n 'h4',\n null,\n gettext(\"User-shown ban message\")\n ),\n _react2.default.createElement('div', { className: 'lead', dangerouslySetInnerHTML: {\n __html: this.state.ban.user_message.html\n } })\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'getStaffMessage',\n value: function getStaffMessage() {\n if (this.state.ban.staff_message) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'panel-body ban-message ban-staff-message' },\n _react2.default.createElement(\n 'h4',\n null,\n gettext(\"Team-shown ban message\")\n ),\n _react2.default.createElement('div', { className: 'lead', dangerouslySetInnerHTML: {\n __html: this.state.ban.staff_message.html\n } })\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'getExpirationMessage',\n value: function getExpirationMessage() {\n if (this.state.ban.expires_on) {\n if (this.state.ban.expires_on.isAfter((0, _moment2.default)())) {\n /* jshint ignore:start */\n var _title = interpolate(gettext(\"This ban expires on %(expires_on)s.\"), {\n 'expires_on': this.state.ban.expires_on.format('LL, LT')\n }, true);\n\n var message = interpolate(gettext(\"This ban expires %(expires_on)s.\"), {\n 'expires_on': this.state.ban.expires_on.fromNow()\n }, true);\n\n return _react2.default.createElement(\n 'abbr',\n { title: _title },\n message\n );\n /* jshint ignore:end */\n } else {\n return gettext(\"This ban has expired.\");\n }\n } else {\n return interpolate(gettext(\"%(username)s's ban is permanent.\"), {\n 'username': this.props.profile.username\n }, true);\n }\n }\n }, {\n key: 'getPanelBody',\n value: function getPanelBody() {\n if (this.state.ban) {\n if (Object.keys(this.state.ban).length) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n null,\n this.getUserMessage(),\n this.getStaffMessage(),\n _react2.default.createElement(\n 'div',\n { className: 'panel-body ban-expires' },\n _react2.default.createElement(\n 'h4',\n null,\n gettext(\"Ban expiration\")\n ),\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n this.getExpirationMessage()\n )\n )\n );\n /* jshint ignore:end */\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(_panelMessage2.default, { message: gettext(\"No ban is active at the moment.\") })\n );\n /* jshint ignore:end */\n }\n } else if (this.state.error) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(_panelMessage2.default, { icon: 'error_outline',\n message: this.state.error })\n );\n /* jshint ignore:end */\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(_panelLoader2.default, null)\n );\n /* jshint ignore:end */\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'profile-ban-details' },\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-default' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n gettext(\"Ban details\")\n )\n ),\n this.getPanelBody()\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../index\":301,\"../../services/page-title\":372,\"../../services/polls\":373,\"../panel-loader\":92,\"../panel-message\":93,\"moment\":\"moment\",\"react\":\"react\"}],174:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var isAuthenticated = _ref.isAuthenticated,\n profile = _ref.profile;\n\n var message = null;\n if (isAuthenticated) {\n message = gettext(\"You are not sharing any details with others.\");\n } else {\n message = interpolate(gettext(\"%(username)s is not sharing any details with others.\"), {\n 'username': profile.username\n }, true);\n }\n\n return _react2.default.createElement(\n \"div\",\n { className: \"panel panel-default\" },\n _react2.default.createElement(\n \"div\",\n { className: \"panel-body text-center lead\" },\n message\n )\n );\n};\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],175:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var html = _ref.html,\n text = _ref.text,\n url = _ref.url;\n\n if (html) {\n return _react2.default.createElement(\"div\", {\n className: \"form-control-static col-md-9\",\n dangerouslySetInnerHTML: { __html: html }\n });\n }\n\n return _react2.default.createElement(\n \"div\",\n { className: \"form-control-static col-md-9\" },\n _react2.default.createElement(SafeValue, {\n text: text,\n url: url\n })\n );\n};\n\nexports.SafeValue = SafeValue;\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nfunction SafeValue(_ref2) {\n var text = _ref2.text,\n url = _ref2.url;\n\n if (url) {\n return _react2.default.createElement(\n \"p\",\n null,\n _react2.default.createElement(\n \"a\",\n { href: url, target: \"_blank\", rel: \"nofollow\" },\n text || url\n )\n );\n }\n\n if (text) {\n return _react2.default.createElement(\n \"p\",\n null,\n text\n );\n }\n\n return null;\n}\n\n},{\"react\":\"react\"}],176:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n { className: 'form-group' },\n _react2.default.createElement(\n 'strong',\n { className: 'control-label col-md-3' },\n props.name,\n ':'\n ),\n _react2.default.createElement(_fieldValue2.default, props)\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _fieldValue = require('./field-value');\n\nvar _fieldValue2 = _interopRequireDefault(_fieldValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./field-value\":175,\"react\":\"react\"}],177:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var api = _ref.api,\n display = _ref.display,\n onCancel = _ref.onCancel,\n onSuccess = _ref.onSuccess;\n\n if (!display) return null;\n\n return _react2.default.createElement(_editDetails2.default, {\n api: api,\n onCancel: onCancel,\n onSuccess: onSuccess\n });\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _editDetails = require('../../edit-details');\n\nvar _editDetails2 = _interopRequireDefault(_editDetails);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../edit-details\":32,\"react\":\"react\"}],178:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var fields = _ref.fields,\n name = _ref.name;\n\n return _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-profile-details-group' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n name\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n 'div',\n { className: 'form-horizontal' },\n fields.map(function (_ref2) {\n var fieldname = _ref2.fieldname,\n html = _ref2.html,\n name = _ref2.name,\n text = _ref2.text,\n url = _ref2.url;\n\n return _react2.default.createElement(_field2.default, {\n key: fieldname,\n name: name,\n html: html,\n text: text,\n url: url\n });\n })\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _field = require('./field');\n\nvar _field2 = _interopRequireDefault(_field);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./field\":176,\"react\":\"react\"}],179:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var display = _ref.display,\n groups = _ref.groups,\n isAuthenticated = _ref.isAuthenticated,\n loading = _ref.loading,\n profile = _ref.profile;\n\n if (!display) return null;\n\n if (loading) {\n return _react2.default.createElement(_loader2.default, null);\n }\n\n if (!groups.length) {\n return _react2.default.createElement(_emptyMessage2.default, {\n isAuthenticated: isAuthenticated,\n profile: profile\n });\n }\n\n return _react2.default.createElement(\n 'div',\n null,\n groups.map(function (group, i) {\n return _react2.default.createElement(_group2.default, {\n fields: group.fields,\n key: i,\n name: group.name\n });\n })\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _emptyMessage = require('./empty-message');\n\nvar _emptyMessage2 = _interopRequireDefault(_emptyMessage);\n\nvar _group = require('./group');\n\nvar _group2 = _interopRequireDefault(_group);\n\nvar _loader = require('../../loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../loader\":57,\"./empty-message\":174,\"./group\":178,\"react\":\"react\"}],180:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var onEdit = _ref.onEdit,\n showEditButton = _ref.showEditButton;\n\n return _react2.default.createElement(\n \"div\",\n null,\n _react2.default.createElement(\n \"nav\",\n { className: \"toolbar\" },\n _react2.default.createElement(\n \"div\",\n { className: \"row\" },\n _react2.default.createElement(\n \"div\",\n { className: \"col-sm-8 col-md-10\" },\n _react2.default.createElement(\n \"h3\",\n { className: \"md-margin-top-no\" },\n gettext(\"Details\")\n )\n ),\n _react2.default.createElement(EditButton, {\n onEdit: onEdit,\n showEditButton: showEditButton\n })\n )\n )\n );\n};\n\nexports.EditButton = EditButton;\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nfunction EditButton(_ref2) {\n var onEdit = _ref2.onEdit,\n showEditButton = _ref2.showEditButton;\n\n if (!showEditButton) return null;\n\n return _react2.default.createElement(\n \"div\",\n { className: \"col-sm-4 col-md-2\" },\n _react2.default.createElement(\n \"button\",\n {\n className: \"btn btn-default btn-outline btn-block\",\n onClick: onEdit,\n type: \"button\"\n },\n gettext(\"Edit\")\n )\n );\n}\n\n},{\"react\":\"react\"}],181:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _groupsList = require('./groups-list');\n\nvar _groupsList2 = _interopRequireDefault(_groupsList);\n\nvar _header = require('./header');\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _profileDetails = require('../../../data/profile-details');\n\nvar _profileDetails2 = _interopRequireDefault(_profileDetails);\n\nvar _profileDetails3 = require('../../../reducers/profile-details');\n\nvar _pageTitle = require('../../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.onCancel = function () {\n _this.setState({ editing: false });\n };\n\n _this.onEdit = function () {\n _this.setState({ editing: true });\n };\n\n _this.onSuccess = function (newDetails) {\n var _this$props = _this.props,\n dispatch = _this$props.dispatch,\n isAuthenticated = _this$props.isAuthenticated,\n profile = _this$props.profile;\n\n\n var message = null;\n if (isAuthenticated) {\n message = gettext(\"Your details have been updated.\");\n } else {\n message = interpolate(gettext(\"%(username)s's details have been updated.\"), {\n 'username': profile.username\n }, true);\n }\n\n _snackbar2.default.info(message);\n dispatch((0, _profileDetails3.load)(newDetails));\n _this.setState({ editing: false });\n };\n\n _this.state = {\n editing: false\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n _pageTitle2.default.set({\n title: gettext(\"Details\"),\n parent: this.props.profile.username\n });\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n dispatch = _props.dispatch,\n isAuthenticated = _props.isAuthenticated,\n profile = _props.profile,\n profileDetails = _props.profileDetails;\n\n var loading = profileDetails.id !== profile.id;\n\n return _react2.default.createElement(\n _profileDetails2.default,\n {\n data: profileDetails,\n dispatch: dispatch,\n user: profile\n },\n _react2.default.createElement(\n 'div',\n { className: 'profile-details' },\n _react2.default.createElement(_header2.default, {\n onEdit: this.onEdit,\n showEditButton: !!profileDetails.edit && !this.state.editing\n }),\n _react2.default.createElement(_groupsList2.default, {\n display: !this.state.editing,\n groups: profileDetails.groups,\n isAuthenticated: isAuthenticated,\n loading: loading,\n profile: profile\n }),\n _react2.default.createElement(_form2.default, {\n api: profile.api.edit_details,\n dispatch: dispatch,\n display: this.state.editing,\n onCancel: this.onCancel,\n onSuccess: this.onSuccess\n })\n )\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../data/profile-details\":300,\"../../../reducers/profile-details\":354,\"../../../services/page-title\":372,\"../../../services/snackbar\":375,\"./form\":177,\"./groups-list\":179,\"./header\":180,\"react\":\"react\"}],182:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // jshint ignore:start\n\n\nexports.Threads = Threads;\nexports.Posts = Posts;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _route = require('./route');\n\nvar _route2 = _interopRequireDefault(_route);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction Threads(props) {\n var emptyMessage = null;\n if (props.user.id === props.profile.id) {\n emptyMessage = gettext(\"You have no started threads.\");\n } else {\n emptyMessage = interpolate(gettext(\"%(username)s started no threads.\"), {\n 'username': props.profile.username\n }, true);\n }\n\n var header = null;\n if (!props.posts.isLoaded) {\n header = gettext('Loading...');\n } else if (props.profile.id === props.user.id) {\n var message = ngettext(\"You have started %(threads)s thread.\", \"You have started %(threads)s threads.\", props.posts.count);\n\n header = interpolate(message, {\n 'threads': props.posts.count\n }, true);\n } else {\n var _message = ngettext(\"%(username)s has started %(threads)s thread.\", \"%(username)s has started %(threads)s threads.\", props.posts.count);\n\n header = interpolate(_message, {\n 'username': props.profile.username,\n 'threads': props.posts.count\n }, true);\n }\n\n return _react2.default.createElement(_route2.default, _extends({\n api: props.profile.api.threads,\n emptyMessage: emptyMessage,\n header: header,\n title: gettext(\"Threads\")\n }, props));\n}\n\nfunction Posts(props) {\n var emptyMessage = null;\n if (props.user.id === props.profile.id) {\n emptyMessage = gettext(\"You have posted no messages.\");\n } else {\n emptyMessage = interpolate(gettext(\"%(username)s posted no messages.\"), {\n 'username': props.profile.username\n }, true);\n }\n\n var header = null;\n if (!props.posts.isLoaded) {\n header = gettext('Loading...');\n } else if (props.profile.id === props.user.id) {\n var message = ngettext(\"You have posted %(posts)s message.\", \"You have posted %(posts)s messages.\", props.posts.count);\n\n header = interpolate(message, {\n 'posts': props.posts.count\n }, true);\n } else {\n var _message2 = ngettext(\"%(username)s has posted %(posts)s message.\", \"%(username)s has posted %(posts)s messages.\", props.posts.count);\n\n header = interpolate(_message2, {\n 'username': props.profile.username,\n 'posts': props.posts.count\n }, true);\n }\n\n return _react2.default.createElement(_route2.default, _extends({\n api: props.profile.api.posts,\n emptyMessage: emptyMessage,\n header: header,\n title: gettext(\"Posts\")\n }, props));\n}\n\n},{\"./route\":183,\"react\":\"react\"}],183:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.Feed = Feed;\nexports.LoadMoreButton = LoadMoreButton;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _postFeed = require('../../post-feed');\n\nvar _postFeed2 = _interopRequireDefault(_postFeed);\n\nvar _button = require('../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _posts = require('../../../reducers/posts');\n\nvar posts = _interopRequireWildcard(_posts);\n\nvar _pageTitle = require('../../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.loadMore = function () {\n _this.setState({\n isLoading: true\n });\n\n _this.loadItems(_this.props.posts.page + 1);\n };\n\n _this.state = {\n isLoading: false\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'loadItems',\n value: function loadItems() {\n var _this2 = this;\n\n var page = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n\n _ajax2.default.get(this.props.api, {\n page: page || 1\n }).then(function (data) {\n if (page === 1) {\n _store2.default.dispatch(posts.load(data));\n } else {\n _store2.default.dispatch(posts.append(data));\n }\n\n _this2.setState({\n isLoading: false\n });\n }, function (rejection) {\n _this2.setState({\n isLoading: false\n });\n\n _snackbar2.default.apiError(rejection);\n });\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n _pageTitle2.default.set({\n title: this.props.title,\n parent: this.props.profile.username\n });\n\n this.loadItems();\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'div',\n { className: 'profile-feed' },\n _react2.default.createElement(\n 'nav',\n { className: 'toolbar' },\n _react2.default.createElement(\n 'h3',\n { className: 'toolbar-left' },\n this.props.header\n )\n ),\n _react2.default.createElement(Feed, _extends({\n isLoading: this.state.isLoading,\n loadMore: this.loadMore\n }, this.props))\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\nfunction Feed(props) {\n if (!props.posts.count) {\n return _react2.default.createElement(\n 'p',\n { className: 'lead' },\n props.emptyMessage\n );\n }\n\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(_postFeed2.default, {\n isReady: props.posts.isLoaded,\n posts: props.posts.results,\n poster: props.profile\n }),\n _react2.default.createElement(LoadMoreButton, {\n isLoading: props.isLoading,\n loadMore: props.loadMore,\n more: props.posts.more\n })\n );\n}\n\nfunction LoadMoreButton(props) {\n if (!props.more) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'pager-more' },\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn btn-default btn-outline',\n loading: props.isLoading,\n onClick: props.loadMore\n },\n interpolate(gettext(\"Show more (%(more)s)\"), {\n 'more': props.more\n }, true)\n )\n );\n}\n\n},{\"../../../reducers/posts\":353,\"../../../services/ajax\":364,\"../../../services/page-title\":372,\"../../../services/snackbar\":375,\"../../../services/store\":376,\"../../button\":8,\"../../post-feed\":121,\"react\":\"react\"}],184:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _profile = require('../../reducers/profile');\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.action = function () {\n _this.setState({\n isLoading: true\n });\n\n if (_this.props.profile.is_followed) {\n _store2.default.dispatch((0, _profile.patch)({\n is_followed: false,\n followers: _this.props.profile.followers - 1\n }));\n } else {\n _store2.default.dispatch((0, _profile.patch)({\n is_followed: true,\n followers: _this.props.profile.followers + 1\n }));\n }\n\n _ajax2.default.post(_this.props.profile.api.follow).then(function (data) {\n _this.setState({\n isLoading: false\n });\n\n _store2.default.dispatch((0, _profile.patch)(data));\n }, function (rejection) {\n _this.setState({\n isLoading: false\n });\n _snackbar2.default.apiError(rejection);\n });\n };\n\n _this.state = {\n isLoading: false\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'getClassName',\n value: function getClassName() {\n if (this.props.profile.is_followed) {\n return this.props.className + ' btn-default btn-following';\n } else {\n return this.props.className + ' btn-default btn-follow';\n }\n }\n }, {\n key: 'getIcon',\n value: function getIcon() {\n if (this.props.profile.is_followed) {\n return 'favorite';\n } else {\n return 'favorite_border';\n }\n }\n }, {\n key: 'getLabel',\n value: function getLabel() {\n if (this.props.profile.is_followed) {\n return gettext(\"Following\");\n } else {\n return gettext(\"Follow\");\n }\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n _button2.default,\n { className: this.getClassName(),\n disabled: this.state.isLoading,\n onClick: this.action },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n this.getIcon()\n ),\n this.getLabel()\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../reducers/profile\":355,\"../../services/ajax\":364,\"../../services/snackbar\":375,\"../../services/store\":376,\"../button\":8,\"react\":\"react\"}],185:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _quickSearch = require('../quick-search');\n\nvar _quickSearch2 = _interopRequireDefault(_quickSearch);\n\nvar _usersList = require('../users-list');\n\nvar _usersList2 = _interopRequireDefault(_usersList);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _users = require('../../reducers/users');\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _pageTitle = require('../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.loadMore = function () {\n _this.setState({\n isBusy: true\n });\n\n _this.loadUsers(_this.state.page + 1, _this.state.search);\n };\n\n _this.search = function (ev) {\n _this.setState({\n isLoaded: false,\n isBusy: true,\n\n search: ev.target.value,\n\n count: 0,\n more: 0,\n\n page: 1,\n pages: 1\n });\n\n _this.loadUsers(1, ev.target.value);\n };\n\n _this.setSpecialProps();\n\n if (_index2.default.has(_this.PRELOADED_DATA_KEY)) {\n _this.initWithPreloadedData(_index2.default.pop(_this.PRELOADED_DATA_KEY));\n } else {\n _this.initWithoutPreloadedData();\n }\n return _this;\n }\n\n _createClass(_class, [{\n key: 'setSpecialProps',\n value: function setSpecialProps() {\n this.PRELOADED_DATA_KEY = 'PROFILE_FOLLOWERS';\n this.TITLE = gettext('Followers');\n this.API_FILTER = 'followers';\n }\n }, {\n key: 'initWithPreloadedData',\n value: function initWithPreloadedData(data) {\n this.state = {\n isLoaded: true,\n isBusy: false,\n\n search: '',\n\n count: data.count,\n more: data.more,\n\n page: data.page,\n pages: data.pages\n };\n\n _store2.default.dispatch((0, _users.hydrate)(data.results));\n }\n }, {\n key: 'initWithoutPreloadedData',\n value: function initWithoutPreloadedData() {\n this.state = {\n isLoaded: false,\n isBusy: false,\n\n search: '',\n\n count: 0,\n more: 0,\n\n page: 1,\n pages: 1\n };\n\n this.loadUsers();\n }\n }, {\n key: 'loadUsers',\n value: function loadUsers() {\n var _this2 = this;\n\n var page = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n var search = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n var apiUrl = this.props.profile.api[this.API_FILTER];\n\n _ajax2.default.get(apiUrl, {\n search: search,\n page: page || 1\n }, 'user-' + this.API_FILTER).then(function (data) {\n if (page === 1) {\n _store2.default.dispatch((0, _users.hydrate)(data.results));\n } else {\n _store2.default.dispatch((0, _users.append)(data.results));\n }\n\n _this2.setState({\n isLoaded: true,\n isBusy: false,\n\n count: data.count,\n more: data.more,\n\n page: data.page,\n pages: data.pages\n });\n }, function (rejection) {\n _snackbar2.default.apiError(rejection);\n });\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n _pageTitle2.default.set({\n title: this.TITLE,\n parent: this.props.profile.username\n });\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'getLabel',\n\n /* jshint ignore:end */\n\n value: function getLabel() {\n if (!this.state.isLoaded) {\n return gettext('Loading...');\n } else if (this.state.search) {\n var message = ngettext(\"Found %(users)s user.\", \"Found %(users)s users.\", this.state.count);\n\n return interpolate(message, {\n 'users': this.state.count\n }, true);\n } else if (this.props.profile.id === this.props.user.id) {\n var _message = ngettext(\"You have %(users)s follower.\", \"You have %(users)s followers.\", this.state.count);\n\n return interpolate(_message, {\n 'users': this.state.count\n }, true);\n } else {\n var _message2 = ngettext(\"%(username)s has %(users)s follower.\", \"%(username)s has %(users)s followers.\", this.state.count);\n\n return interpolate(_message2, {\n 'username': this.props.profile.username,\n 'users': this.state.count\n }, true);\n }\n }\n }, {\n key: 'getEmptyMessage',\n value: function getEmptyMessage() {\n if (this.state.search) {\n return gettext(\"Search returned no users matching specified criteria.\");\n } else if (this.props.user.id === this.props.profile.id) {\n return gettext(\"You have no followers.\");\n } else {\n return interpolate(gettext(\"%(username)s has no followers.\"), {\n 'username': this.props.profile.username\n }, true);\n }\n }\n }, {\n key: 'getMoreButton',\n value: function getMoreButton() {\n if (!this.state.more) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'pager-more' },\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn btn-default btn-outline',\n loading: this.state.isBusy,\n onClick: this.loadMore\n },\n interpolate(gettext(\"Show more (%(more)s)\"), {\n 'more': this.state.more\n }, true)\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getListBody',\n value: function getListBody() {\n if (this.state.isLoaded && this.state.count === 0) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'p',\n { className: 'lead' },\n this.getEmptyMessage()\n );\n /* jshint ignore:end */\n }\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(_usersList2.default, {\n cols: 3,\n isReady: this.state.isLoaded,\n users: this.props.users\n }),\n this.getMoreButton()\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getClassName',\n value: function getClassName() {\n return 'profile-' + this.API_FILTER;\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: this.getClassName() },\n _react2.default.createElement(\n 'nav',\n { className: 'toolbar' },\n _react2.default.createElement(\n 'h3',\n { className: 'toolbar-left' },\n this.getLabel()\n ),\n _react2.default.createElement(_quickSearch2.default, { className: 'toolbar-right',\n value: this.state.search,\n onChange: this.search,\n placeholder: gettext(\"Search users...\") })\n ),\n this.getListBody()\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../index\":301,\"../../reducers/users\":363,\"../../services/ajax\":364,\"../../services/page-title\":372,\"../../services/snackbar\":375,\"../../services/store\":376,\"../button\":8,\"../quick-search\":196,\"../users-list\":283,\"react\":\"react\"}],186:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _followers = require('./followers');\n\nvar _followers2 = _interopRequireDefault(_followers);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n\n\nvar _class = function (_Followers) {\n _inherits(_class, _Followers);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'setSpecialProps',\n value: function setSpecialProps() {\n this.PRELOADED_DATA_KEY = 'PROFILE_FOLLOWS';\n this.TITLE = gettext('Follows');\n this.API_FILTER = 'follows';\n }\n }, {\n key: 'getLabel',\n value: function getLabel() {\n if (!this.state.isLoaded) {\n return gettext('Loading...');\n } else if (this.state.search) {\n var message = ngettext(\"Found %(users)s user.\", \"Found %(users)s users.\", this.state.count);\n\n return interpolate(message, {\n 'users': this.state.count\n }, true);\n } else if (this.props.profile.id === this.props.user.id) {\n var _message = ngettext(\"You are following %(users)s user.\", \"You are following %(users)s users.\", this.state.count);\n\n return interpolate(_message, {\n 'users': this.state.count\n }, true);\n } else {\n var _message2 = ngettext(\"%(username)s is following %(users)s user.\", \"%(username)s is following %(users)s users.\", this.state.count);\n\n return interpolate(_message2, {\n 'username': this.props.profile.username,\n 'users': this.state.count\n }, true);\n }\n }\n }, {\n key: 'getEmptyMessage',\n value: function getEmptyMessage() {\n if (this.state.search) {\n return gettext(\"Search returned no users matching specified criteria.\");\n } else if (this.props.user.id === this.props.profile.id) {\n return gettext(\"You are not following any users.\");\n } else {\n return interpolate(gettext(\"%(username)s is not following any users.\"), {\n 'username': this.props.profile.username\n }, true);\n }\n }\n }]);\n\n return _class;\n}(_followers2.default);\n\nexports.default = _class;\n\n},{\"./followers\":185,\"react\":\"react\"}],187:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.IsDisabledMessage = IsDisabledMessage;\nexports.getColStyle = getColStyle;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _dropdownToggle = require('../dropdown-toggle');\n\nvar _dropdownToggle2 = _interopRequireDefault(_dropdownToggle);\n\nvar _followButton = require('./follow-button');\n\nvar _followButton2 = _interopRequireDefault(_followButton);\n\nvar _messageButton = require('./message-button');\n\nvar _messageButton2 = _interopRequireDefault(_messageButton);\n\nvar _nav = require('./moderation/nav');\n\nvar _nav2 = _interopRequireDefault(_nav);\n\nvar _navs = require('./navs');\n\nvar _userStatus = require('../user-status');\n\nvar _userStatus2 = _interopRequireDefault(_userStatus);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'getUserStatus',\n value: function getUserStatus() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: 'user-status-display' },\n _react2.default.createElement(\n _userStatus2.default,\n {\n user: this.props.profile,\n status: this.props.profile.status\n },\n _react2.default.createElement(_userStatus.StatusIcon, {\n user: this.props.profile,\n status: this.props.profile.status\n }),\n _react2.default.createElement(_userStatus.StatusLabel, {\n user: this.props.profile,\n status: this.props.profile.status,\n className: 'status-label'\n })\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getUserRank',\n value: function getUserRank() {\n if (this.props.profile.rank.is_tab) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: 'user-rank' },\n _react2.default.createElement(\n 'a',\n { href: this.props.profile.rank.url, className: 'item-title' },\n this.props.profile.rank.name\n )\n );\n /* jshint ignore:end */\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: 'user-rank' },\n _react2.default.createElement(\n 'span',\n { className: 'item-title' },\n this.props.profile.rank.name\n )\n );\n /* jshint ignore:end */\n }\n }\n }, {\n key: 'getUserTitle',\n value: function getUserTitle() {\n if (this.props.profile.title) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: 'user-title' },\n this.props.profile.title\n );\n /* jshint ignore:end */\n } else if (this.props.profile.rank.title) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: 'user-title' },\n this.props.profile.rank.title\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'getJoinedOn',\n value: function getJoinedOn() {\n /* jshint ignore:start */\n var title = interpolate(gettext(\"Joined on %(joined_on)s\"), {\n 'joined_on': this.props.profile.joined_on.format('LL, LT')\n }, true);\n\n var age = interpolate(gettext(\"Joined %(joined_on)s\"), {\n 'joined_on': this.props.profile.joined_on.fromNow()\n }, true);\n\n return _react2.default.createElement(\n 'li',\n { className: 'user-joined-on' },\n _react2.default.createElement(\n 'abbr',\n { title: title },\n age\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getEmail',\n value: function getEmail() {\n if (this.props.profile.email) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: 'user-email' },\n _react2.default.createElement(\n 'a',\n { href: 'mailto:' + this.props.profile.email, className: 'item-title' },\n this.props.profile.email\n )\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'getFollowButton',\n value: function getFollowButton() {\n if (this.props.profile.acl.can_follow) {\n /* jshint ignore:start */\n return _react2.default.createElement(_followButton2.default, {\n className: 'btn btn-block btn-outline',\n profile: this.props.profile\n });\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'getModerationButton',\n value: function getModerationButton() {\n if (this.props.profile.acl.can_moderate) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'btn-group btn-group-justified' },\n _react2.default.createElement(\n 'div',\n { className: 'btn-group' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-moderate btn-outline dropdown-toggle',\n type: 'button',\n 'data-toggle': 'dropdown',\n 'aria-haspopup': 'true',\n 'aria-expanded': 'false'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'tonality'\n ),\n gettext(\"Moderation\")\n ),\n _react2.default.createElement(_nav2.default, { profile: this.props.profile })\n )\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n var canFollow = this.props.profile.acl.can_follow;\n var canModerate = this.props.profile.acl.can_moderate;\n\n var isProfileOwner = this.props.user.id === this.props.profile.id;\n var canMessage = !isProfileOwner && this.props.user.acl.can_start_private_threads;\n\n var cols = 0;\n if (canFollow) cols += 1;\n if (canModerate) cols += 1;\n if (canMessage) cols += 1;\n\n var colsWidth = cols ? 2 * cols + 1 : 0;\n\n var headerClassName = 'page-header';\n if (this.props.profile.rank.css_class) {\n headerClassName += ' page-header-rank-' + this.props.profile.rank.css_class;\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'page-header-bg' },\n _react2.default.createElement(\n 'div',\n { className: headerClassName },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(IsDisabledMessage, {\n isActive: this.props.profile.is_active,\n isDeletingAccount: this.props.profile.is_deleting_account\n }),\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-9 col-md-offset-3' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: \"col-sm-\" + (12 - colsWidth) },\n _react2.default.createElement(_avatar2.default, {\n className: 'user-avatar user-avatar-sm',\n user: this.props.profile,\n size: '100',\n size2x: '200'\n }),\n _react2.default.createElement(\n 'h1',\n null,\n this.props.profile.username\n )\n ),\n !!cols && _react2.default.createElement(\n 'div',\n { className: \"col-sm-\" + colsWidth },\n _react2.default.createElement(\n 'div',\n { className: 'row xs-margin-top sm-margin-top' },\n !!canMessage && _react2.default.createElement(\n 'div',\n { className: getColStyle(cols, 0) },\n _react2.default.createElement(_messageButton2.default, {\n className: 'btn btn-default btn-block btn-outline',\n profile: this.props.profile,\n user: this.props.user\n })\n ),\n !!canFollow && _react2.default.createElement(\n 'div',\n { className: getColStyle(cols, 1) },\n this.getFollowButton()\n ),\n !!canModerate && _react2.default.createElement(\n 'div',\n { className: getColStyle(cols, 2) },\n this.getModerationButton()\n )\n )\n )\n )\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'header-stats' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-9 col-md-offset-3' },\n _react2.default.createElement(\n 'ul',\n { className: 'list-inline' },\n this.getUserStatus(),\n this.getUserRank(),\n this.getUserTitle(),\n this.getJoinedOn(),\n this.getEmail()\n )\n )\n )\n )\n ),\n _react2.default.createElement(_navs.CompactNav, {\n baseUrl: this.props.baseUrl,\n pages: this.props.pages,\n profile: this.props.profile\n })\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\n/* jshint ignore:start */\n\n\nexports.default = _class;\nfunction IsDisabledMessage(_ref) {\n var isActive = _ref.isActive,\n isDeletingAccount = _ref.isDeletingAccount;\n\n if (isActive !== false && isDeletingAccount !== true) return null;\n\n var message = null;\n if (isDeletingAccount) {\n message = gettext(\"This user is deleting their account.\");\n } else {\n message = gettext(\"This user's account has been disabled by administrator.\");\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'alert alert-danger' },\n _react2.default.createElement(\n 'p',\n null,\n message\n )\n );\n}\n\nfunction getColStyle(cols, col) {\n var colStyle = \"\";\n\n if (cols == 1) {\n colStyle = \"col-xs-12\";\n }\n\n if (cols == 2) {\n colStyle = \"col-xs-6 col-sm-6\";\n }\n\n if (cols == 3) {\n if (col == 2) {\n colStyle = \"col-xs-12 col-sm-4 xs-margin-top\";\n } else {\n colStyle += \"col-xs-6 col-sm-4\";\n }\n }\n\n return colStyle;\n}\n/* jshint ignore:end */\n\n},{\"../avatar\":6,\"../dropdown-toggle\":27,\"../user-status\":273,\"./follow-button\":184,\"./message-button\":188,\"./moderation/nav\":192,\"./navs\":193,\"react\":\"react\"}],188:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _posting = require('../../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n _posting2.default.open({\n mode: 'START_PRIVATE',\n submit: _2.default.get('PRIVATE_THREADS_API'),\n\n to: [_this.props.profile]\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n var canMessage = this.props.user.acl.can_start_private_threads;\n var isProfileOwner = this.props.user.id === this.props.profile.id;\n\n if (!canMessage || isProfileOwner) return null;\n\n return _react2.default.createElement(\n 'button',\n {\n className: this.props.className,\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'comment'\n ),\n gettext(\"Message\")\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../..\":301,\"../../services/posting\":374,\"react\":\"react\"}],189:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _modalLoader = require('../../modal-loader');\n\nvar _modalLoader2 = _interopRequireDefault(_modalLoader);\n\nvar _yesNoSwitch = require('../../yes-no-switch');\n\nvar _yesNoSwitch2 = _interopRequireDefault(_yesNoSwitch);\n\nvar _modalMessage = require('../../modal-message');\n\nvar _modalMessage2 = _interopRequireDefault(_modalMessage);\n\nvar _users = require('../../../reducers/users');\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.state = {\n isLoaded: false,\n isLoading: false,\n error: null,\n\n is_avatar_locked: '',\n avatar_lock_user_message: '',\n avatar_lock_staff_message: ''\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n _ajax2.default.get(this.props.profile.api.moderate_avatar).then(function (options) {\n _this2.setState({\n isLoaded: true,\n\n is_avatar_locked: options.is_avatar_locked,\n avatar_lock_user_message: options.avatar_lock_user_message || '',\n avatar_lock_staff_message: options.avatar_lock_staff_message || ''\n });\n }, function (rejection) {\n _this2.setState({\n isLoaded: true,\n error: rejection.detail\n });\n });\n }\n }, {\n key: 'clean',\n value: function clean() {\n if (this.isValid()) {\n return true;\n } else {\n _snackbar2.default.error(this.validate().username[0]);\n return false;\n }\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.profile.api.moderate_avatar, {\n is_avatar_locked: this.state.is_avatar_locked,\n avatar_lock_user_message: this.state.avatar_lock_user_message,\n avatar_lock_staff_message: this.state.avatar_lock_staff_message\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(apiResponse) {\n _store2.default.dispatch((0, _users.updateAvatar)(this.props.profile, apiResponse.avatar_hash));\n _snackbar2.default.success(gettext(\"Avatar controls have been changed.\"));\n }\n }, {\n key: 'getFormBody',\n value: function getFormBody() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Lock avatar\"),\n helpText: gettext(\"Locking user avatar will prohibit user from changing his avatar and will reset his/her avatar to default one.\"),\n 'for': 'id_is_avatar_locked' },\n _react2.default.createElement(_yesNoSwitch2.default, { id: 'id_is_avatar_locked',\n disabled: this.state.isLoading,\n iconOn: 'lock_outline',\n iconOff: 'lock_open',\n labelOn: gettext(\"Disallow user from changing avatar\"),\n labelOff: gettext(\"Allow user to change avatar\"),\n onChange: this.bindInput('is_avatar_locked'),\n value: this.state.is_avatar_locked })\n ),\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"User message\"),\n helpText: gettext(\"Optional message for user explaining why he/she is prohibited form changing avatar.\"),\n 'for': 'id_avatar_lock_user_message' },\n _react2.default.createElement('textarea', { id: 'id_avatar_lock_user_message',\n className: 'form-control',\n rows: '4',\n disabled: this.state.isLoading,\n onChange: this.bindInput('avatar_lock_user_message'),\n value: this.state.avatar_lock_user_message })\n ),\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Staff message\"),\n helpText: gettext(\"Optional message for forum team members explaining why user is prohibited form changing avatar.\"),\n 'for': 'id_avatar_lock_staff_message' },\n _react2.default.createElement('textarea', { id: 'id_avatar_lock_staff_message',\n className: 'form-control',\n rows: '4',\n disabled: this.state.isLoading,\n onChange: this.bindInput('avatar_lock_staff_message'),\n value: this.state.avatar_lock_staff_message })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-default', 'data-dismiss': 'modal' },\n gettext(\"Close\")\n ),\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary', loading: this.state.isLoading },\n gettext(\"Save changes\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getModalBody',\n value: function getModalBody() {\n if (this.state.error) {\n /* jshint ignore:start */\n return _react2.default.createElement(_modalMessage2.default, { icon: 'remove_circle_outline',\n message: this.state.error });\n /* jshint ignore:end */\n } else if (this.state.isLoaded) {\n return this.getFormBody();\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(_modalLoader2.default, null);\n /* jshint ignore:end */\n }\n }\n }, {\n key: 'getClassName',\n value: function getClassName() {\n if (this.state.error) {\n return \"modal-dialog modal-message modal-avatar-controls\";\n } else {\n return \"modal-dialog modal-avatar-controls\";\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: this.getClassName(),\n role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'close', 'data-dismiss': 'modal',\n 'aria-label': gettext(\"Close\") },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Avatar controls\")\n )\n ),\n this.getModalBody()\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../../reducers/users\":363,\"../../../services/ajax\":364,\"../../../services/snackbar\":375,\"../../../services/store\":376,\"../../button\":8,\"../../form\":55,\"../../form-group\":54,\"../../modal-loader\":60,\"../../modal-message\":61,\"../../yes-no-switch\":299,\"react\":\"react\"}],190:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _modalLoader = require('../../modal-loader');\n\nvar _modalLoader2 = _interopRequireDefault(_modalLoader);\n\nvar _modalMessage = require('../../modal-message');\n\nvar _modalMessage2 = _interopRequireDefault(_modalMessage);\n\nvar _usernameHistory = require('../../../reducers/username-history');\n\nvar _users = require('../../../reducers/users');\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _validators = require('../../../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.state = {\n isLoaded: false,\n isLoading: false,\n error: null,\n\n username: '',\n validators: {\n username: [validators.usernameContent()]\n }\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n _ajax2.default.get(this.props.profile.api.moderate_username).then(function () {\n _this2.setState({\n isLoaded: true\n });\n }, function (rejection) {\n _this2.setState({\n isLoaded: true,\n error: rejection.detail\n });\n });\n }\n }, {\n key: 'clean',\n value: function clean() {\n if (this.isValid()) {\n return true;\n } else {\n _snackbar2.default.error(this.validate().username[0]);\n return false;\n }\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.profile.api.moderate_username, {\n username: this.state.username\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(apiResponse) {\n this.setState({\n username: ''\n });\n\n _store2.default.dispatch((0, _usernameHistory.addNameChange)(apiResponse, this.props.profile, this.props.user));\n _store2.default.dispatch((0, _users.updateUsername)(this.props.profile, apiResponse.username, apiResponse.slug));\n\n _snackbar2.default.success(gettext(\"Username has been changed.\"));\n }\n }, {\n key: 'getFormBody',\n value: function getFormBody() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"New username\"), 'for': 'id_username' },\n _react2.default.createElement('input', { type: 'text', id: 'id_username', className: 'form-control',\n disabled: this.state.isLoading,\n onChange: this.bindInput('username'),\n value: this.state.username })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n disabled: this.state.isLoading,\n type: 'button'\n },\n gettext(\"Cancel\")\n ),\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary', loading: this.state.isLoading },\n gettext(\"Change username\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getModalBody',\n value: function getModalBody() {\n if (this.state.error) {\n /* jshint ignore:start */\n return _react2.default.createElement(_modalMessage2.default, { icon: 'remove_circle_outline',\n message: this.state.error });\n /* jshint ignore:end */\n } else if (this.state.isLoaded) {\n return this.getFormBody();\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(_modalLoader2.default, null);\n /* jshint ignore:end */\n }\n }\n }, {\n key: 'getClassName',\n value: function getClassName() {\n if (this.state.error) {\n return \"modal-dialog modal-message modal-rename-user\";\n } else {\n return \"modal-dialog modal-rename-user\";\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: this.getClassName(),\n role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'close', 'data-dismiss': 'modal',\n 'aria-label': gettext(\"Close\") },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Change username\")\n )\n ),\n this.getModalBody()\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../../reducers/username-history\":362,\"../../../reducers/users\":363,\"../../../services/ajax\":364,\"../../../services/snackbar\":375,\"../../../services/store\":376,\"../../../utils/validators\":392,\"../../button\":8,\"../../form\":55,\"../../form-group\":54,\"../../modal-loader\":60,\"../../modal-message\":61,\"react\":\"react\"}],191:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _modalLoader = require('../../modal-loader');\n\nvar _modalLoader2 = _interopRequireDefault(_modalLoader);\n\nvar _modalMessage = require('../../modal-message');\n\nvar _modalMessage2 = _interopRequireDefault(_modalMessage);\n\nvar _yesNoSwitch = require('../../yes-no-switch');\n\nvar _yesNoSwitch2 = _interopRequireDefault(_yesNoSwitch);\n\nvar _index = require('../../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _polls = require('../../../services/polls');\n\nvar _polls2 = _interopRequireDefault(_polls);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.countdown = function () {\n window.setTimeout(function () {\n if (_this.state.countdown > 1) {\n _this.setState({\n countdown: _this.state.countdown - 1\n });\n _this.countdown();\n } else if (!_this.state.confirm) {\n _this.setState({\n confirm: true\n });\n }\n }, 1000);\n };\n\n _this.state = {\n isLoaded: false,\n isLoading: false,\n isDeleted: false,\n error: null,\n\n countdown: 5,\n confirm: false,\n\n with_content: false\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n _ajax2.default.get(this.props.profile.api.delete).then(function () {\n _this2.setState({\n isLoaded: true\n });\n\n _this2.countdown();\n }, function (rejection) {\n _this2.setState({\n isLoaded: true,\n error: rejection.detail\n });\n });\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'send',\n\n /* jshint ignore:end */\n\n value: function send() {\n return _ajax2.default.post(this.props.profile.api.delete, {\n with_content: this.state.with_content\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess() {\n _polls2.default.stop('user-profile');\n\n if (this.state.with_content) {\n this.setState({\n isDeleted: interpolate(gettext(\"%(username)s's account, threads, posts and other content has been deleted.\"), {\n 'username': this.props.profile.username\n }, true)\n });\n } else {\n this.setState({\n isDeleted: interpolate(gettext(\"%(username)s's account has been deleted and other content has been hidden.\"), {\n 'username': this.props.profile.username\n }, true)\n });\n }\n }\n }, {\n key: 'getButtonLabel',\n value: function getButtonLabel() {\n if (this.state.confirm) {\n return interpolate(gettext(\"Delete %(username)s\"), {\n 'username': this.props.profile.username\n }, true);\n } else {\n return interpolate(gettext(\"Please wait... (%(countdown)ss)\"), {\n 'countdown': this.state.countdown\n }, true);\n }\n }\n }, {\n key: 'getForm',\n value: function getForm() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"User content\"),\n 'for': 'id_with_content' },\n _react2.default.createElement(_yesNoSwitch2.default, { id: 'id_with_content',\n disabled: this.state.isLoading,\n labelOn: gettext(\"Delete together with user's account\"),\n labelOff: gettext(\"Hide after deleting user's account\"),\n onChange: this.bindInput('with_content'),\n value: this.state.with_content })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'button',\n { type: 'button',\n className: 'btn btn-default',\n 'data-dismiss': 'modal' },\n gettext(\"Cancel\")\n ),\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-danger',\n loading: this.state.isLoading,\n disabled: !this.state.confirm },\n this.getButtonLabel()\n )\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getDeletedBody',\n value: function getDeletedBody() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'info_outline'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n this.state.isDeleted\n ),\n _react2.default.createElement(\n 'p',\n null,\n _react2.default.createElement(\n 'a',\n { href: _index2.default.get('USERS_LIST_URL') },\n gettext(\"Return to users list\")\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getModalBody',\n value: function getModalBody() {\n if (this.state.error) {\n /* jshint ignore:start */\n return _react2.default.createElement(_modalMessage2.default, { icon: 'remove_circle_outline',\n message: this.state.error });\n /* jshint ignore:end */\n } else if (this.state.isLoaded) {\n if (this.state.isDeleted) {\n return this.getDeletedBody();\n } else {\n return this.getForm();\n }\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(_modalLoader2.default, null);\n /* jshint ignore:end */\n }\n }\n }, {\n key: 'getClassName',\n value: function getClassName() {\n if (this.state.error || this.state.isDeleted) {\n return \"modal-dialog modal-message modal-delete-account\";\n } else {\n return \"modal-dialog modal-delete-account\";\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: this.getClassName(),\n role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'close', 'data-dismiss': 'modal',\n 'aria-label': gettext(\"Close\") },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Delete user account\")\n )\n ),\n this.getModalBody()\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../../index\":301,\"../../../services/ajax\":364,\"../../../services/polls\":373,\"../../button\":8,\"../../form\":55,\"../../form-group\":54,\"../../modal-loader\":60,\"../../modal-message\":61,\"../../yes-no-switch\":299,\"react\":\"react\"}],192:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRedux = require('react-redux');\n\nvar _avatarControls = require('./avatar-controls');\n\nvar _avatarControls2 = _interopRequireDefault(_avatarControls);\n\nvar _changeUsername = require('./change-username');\n\nvar _changeUsername2 = _interopRequireDefault(_changeUsername);\n\nvar _deleteAccount = require('./delete-account');\n\nvar _deleteAccount2 = _interopRequireDefault(_deleteAccount);\n\nvar _modal = require('../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\n/* jshint ignore:start */\nvar select = function select(store) {\n return {\n tick: store.tick,\n user: store.auth,\n profile: store.profile\n };\n};\n/* jshint ignore:end */\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.showAvatarDialog = function () {\n _modal2.default.show((0, _reactRedux.connect)(select)(_avatarControls2.default));\n }, _this.showRenameDialog = function () {\n _modal2.default.show((0, _reactRedux.connect)(select)(_changeUsername2.default));\n }, _this.showDeleteDialog = function () {\n _modal2.default.show((0, _reactRedux.connect)(select)(_deleteAccount2.default));\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'getAvatarButton',\n\n /* jshint ignore:end */\n\n value: function getAvatarButton() {\n if (this.props.profile.acl.can_moderate_avatar) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n type: 'button',\n className: 'btn btn-link',\n onClick: this.showAvatarDialog\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'portrait'\n ),\n gettext(\"Avatar controls\")\n )\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'getRenameButton',\n\n /* jshint ignore:end */\n\n value: function getRenameButton() {\n if (this.props.profile.acl.can_rename) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n type: 'button',\n className: 'btn btn-link',\n onClick: this.showRenameDialog\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'credit_card'\n ),\n gettext(\"Change username\")\n )\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'getDeleteButton',\n\n /* jshint ignore:end */\n\n value: function getDeleteButton() {\n if (this.props.profile.acl.can_delete) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n type: 'button',\n className: 'btn btn-link',\n onClick: this.showDeleteDialog\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'clear'\n ),\n gettext(\"Delete account\")\n )\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'ul',\n {\n className: 'dropdown-menu dropdown-menu-right stick-to-bottom',\n role: 'menu'\n },\n this.getAvatarButton(),\n this.getRenameButton(),\n this.getDeleteButton()\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../services/modal\":370,\"./avatar-controls\":189,\"./change-username\":190,\"./delete-account\":191,\"react\":\"react\",\"react-redux\":\"react-redux\"}],193:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SideNav = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.CompactNav = CompactNav;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRouter = require('react-router');\n\nvar _li = require('../li');\n\nvar _li2 = _interopRequireDefault(_li);\n\nvar _followButton = require('./follow-button');\n\nvar _followButton2 = _interopRequireDefault(_followButton);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n//jshint ignore:line\n// jshint ignore:line\n\n\n//jshint ignore:line\n\nvar SideNav = exports.SideNav = function (_React$Component) {\n _inherits(SideNav, _React$Component);\n\n function SideNav() {\n _classCallCheck(this, SideNav);\n\n return _possibleConstructorReturn(this, (SideNav.__proto__ || Object.getPrototypeOf(SideNav)).apply(this, arguments));\n }\n\n _createClass(SideNav, [{\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n // jshint ignore:start\n return _react2.default.createElement(\n 'div',\n { className: 'list-group nav-side' },\n this.props.pages.map(function (page) {\n return _react2.default.createElement(\n _reactRouter.Link,\n {\n to: _this2.props.baseUrl + page.component + '/',\n className: 'list-group-item',\n activeClassName: 'active',\n key: page.component\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n page.icon\n ),\n page.name\n );\n })\n );\n // jshint ignore:end\n }\n }]);\n\n return SideNav;\n}(_react2.default.Component);\n\n// jshint ignore:start\n\n\nfunction CompactNav(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'page-tabs hidden-md hidden-lg' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'ul',\n { className: 'nav nav-pills', role: 'menu' },\n props.pages.map(function (page) {\n return _react2.default.createElement(\n _li2.default,\n {\n path: props.baseUrl + page.component + '/',\n key: page.component\n },\n _react2.default.createElement(\n _reactRouter.Link,\n {\n to: props.baseUrl + page.component + '/',\n onClick: props.hideNav\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n page.icon\n ),\n page.name\n )\n );\n })\n )\n )\n );\n}\n// jshint ignore:end\n\n},{\"../../index\":301,\"../li\":56,\"./follow-button\":184,\"react\":\"react\",\"react-router\":\"react-router\"}],194:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.select = select;\nexports.paths = paths;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRedux = require('react-redux');\n\nvar _banDetails = require('./ban-details');\n\nvar _banDetails2 = _interopRequireDefault(_banDetails);\n\nvar _details = require('./details');\n\nvar _details2 = _interopRequireDefault(_details);\n\nvar _feed = require('./feed');\n\nvar _followers = require('./followers');\n\nvar _followers2 = _interopRequireDefault(_followers);\n\nvar _follows = require('./follows');\n\nvar _follows2 = _interopRequireDefault(_follows);\n\nvar _usernameHistory = require('./username-history');\n\nvar _usernameHistory2 = _interopRequireDefault(_usernameHistory);\n\nvar _header = require('./header');\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _nav = require('./moderation/nav');\n\nvar _nav2 = _interopRequireDefault(_nav);\n\nvar _navs = require('./navs');\n\nvar _avatar = require('../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _withDropdown = require('../with-dropdown');\n\nvar _withDropdown2 = _interopRequireDefault(_withDropdown);\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _profile = require('../../reducers/profile');\n\nvar _polls = require('../../services/polls');\n\nvar _polls2 = _interopRequireDefault(_polls);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_WithDropdown) {\n _inherits(_class, _WithDropdown);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.update = function (data) {\n _store2.default.dispatch((0, _profile.hydrate)(data));\n };\n\n _this.startPolling(props.profile.api.index);\n return _this;\n }\n\n _createClass(_class, [{\n key: 'startPolling',\n value: function startPolling(api) {\n _polls2.default.start({\n poll: 'user-profile',\n url: api,\n frequency: 90 * 1000,\n update: this.update\n });\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n var baseUrl = _2.default.get('PROFILE').url;\n var pages = _2.default.get('PROFILE_PAGES');\n\n return _react2.default.createElement(\n 'div',\n { className: 'page page-user-profile' },\n _react2.default.createElement(_header2.default, {\n baseUrl: baseUrl,\n pages: pages,\n profile: this.props.profile,\n toggleNav: this.toggleNav,\n toggleModeration: this.toggleModeration,\n user: this.props.user\n }),\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-3 hidden-xs hidden-sm' },\n _react2.default.createElement(\n 'div',\n { className: 'profile-side-avatar' },\n _react2.default.createElement(_avatar2.default, { user: this.props.profile, size: '400' })\n ),\n _react2.default.createElement(_navs.SideNav, {\n baseUrl: baseUrl,\n pages: pages,\n profile: this.props.profile\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-md-9' },\n this.props.children\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_withDropdown2.default);\n\nexports.default = _class;\nfunction select(store) {\n return {\n isAuthenticated: store.auth.user.id === store.profile.id,\n\n tick: store.tick.tick,\n user: store.auth.user,\n users: store.users,\n posts: store.posts,\n profile: store.profile,\n profileDetails: store['profile-details'],\n 'username-history': store['username-history']\n };\n}\n\nvar COMPONENTS = {\n 'posts': _feed.Posts,\n 'threads': _feed.Threads,\n 'followers': _followers2.default,\n 'follows': _follows2.default,\n 'details': _details2.default,\n 'username-history': _usernameHistory2.default,\n 'ban-details': _banDetails2.default\n};\n\nfunction paths() {\n var paths = [];\n _2.default.get('PROFILE_PAGES').forEach(function (item) {\n paths.push(Object.assign({}, item, {\n path: _2.default.get('PROFILE').url + item.component + '/',\n component: (0, _reactRedux.connect)(select)(COMPONENTS[item.component])\n }));\n });\n\n return paths;\n}\n\n},{\"../..\":301,\"../../reducers/profile\":355,\"../../services/polls\":373,\"../../services/store\":376,\"../avatar\":6,\"../with-dropdown\":298,\"./ban-details\":173,\"./details\":181,\"./feed\":182,\"./followers\":185,\"./follows\":186,\"./header\":187,\"./moderation/nav\":192,\"./navs\":193,\"./username-history\":195,\"react\":\"react\",\"react-redux\":\"react-redux\"}],195:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _quickSearch = require('../quick-search');\n\nvar _quickSearch2 = _interopRequireDefault(_quickSearch);\n\nvar _root = require('../username-history/root');\n\nvar _root2 = _interopRequireDefault(_root);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _usernameHistory = require('../../reducers/username-history');\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _pageTitle = require('../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.loadMore = function () {\n _this.setState({\n isBusy: true\n });\n\n _this.loadChanges(_this.state.page + 1, _this.state.search);\n };\n\n _this.search = function (ev) {\n _this.setState({\n isLoaded: false,\n isBusy: true,\n\n search: ev.target.value,\n\n count: 0,\n more: 0,\n\n page: 1,\n pages: 1\n });\n\n _this.loadChanges(1, ev.target.value);\n };\n\n if (_index2.default.has('PROFILE_NAME_HISTORY')) {\n _this.initWithPreloadedData(_index2.default.pop('PROFILE_NAME_HISTORY'));\n } else {\n _this.initWithoutPreloadedData();\n }\n return _this;\n }\n\n _createClass(_class, [{\n key: 'initWithPreloadedData',\n value: function initWithPreloadedData(data) {\n this.state = {\n isLoaded: true,\n isBusy: false,\n\n search: '',\n\n count: data.count,\n more: data.more,\n\n page: data.page,\n pages: data.pages\n };\n\n _store2.default.dispatch((0, _usernameHistory.hydrate)(data.results));\n }\n }, {\n key: 'initWithoutPreloadedData',\n value: function initWithoutPreloadedData() {\n this.state = {\n isLoaded: false,\n isBusy: false,\n\n search: '',\n\n count: 0,\n more: 0,\n\n page: 1,\n pages: 1\n };\n\n this.loadChanges();\n }\n }, {\n key: 'loadChanges',\n value: function loadChanges() {\n var _this2 = this;\n\n var page = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n var search = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n _ajax2.default.get(_index2.default.get('USERNAME_CHANGES_API'), {\n user: this.props.profile.id,\n search: search,\n page: page || 1\n }, 'search-username-history').then(function (data) {\n if (page === 1) {\n _store2.default.dispatch((0, _usernameHistory.hydrate)(data.results));\n } else {\n _store2.default.dispatch((0, _usernameHistory.append)(data.results));\n }\n\n _this2.setState({\n isLoaded: true,\n isBusy: false,\n\n count: data.count,\n more: data.more,\n\n page: data.page,\n pages: data.pages\n });\n }, function (rejection) {\n _snackbar2.default.apiError(rejection);\n });\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n _pageTitle2.default.set({\n title: gettext(\"Username history\"),\n parent: this.props.profile.username\n });\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'getLabel',\n\n /* jshint ignore:end */\n\n value: function getLabel() {\n if (!this.state.isLoaded) {\n return gettext('Loading...');\n } else if (this.state.search) {\n var message = ngettext(\"Found %(changes)s username change.\", \"Found %(changes)s username changes.\", this.state.count);\n\n return interpolate(message, {\n 'changes': this.state.count\n }, true);\n } else if (this.props.profile.id === this.props.user.id) {\n var _message = ngettext(\"Your username was changed %(changes)s time.\", \"Your username was changed %(changes)s times.\", this.state.count);\n\n return interpolate(_message, {\n 'changes': this.state.count\n }, true);\n } else {\n var _message2 = ngettext(\"%(username)s's username was changed %(changes)s time.\", \"%(username)s's username was changed %(changes)s times.\", this.state.count);\n\n return interpolate(_message2, {\n 'username': this.props.profile.username,\n 'changes': this.state.count\n }, true);\n }\n }\n }, {\n key: 'getEmptyMessage',\n value: function getEmptyMessage() {\n if (this.state.search) {\n return gettext(\"Search returned no username changes matching specified criteria.\");\n } else if (this.props.user.id === this.props.profile.id) {\n return gettext(\"No name changes have been recorded for your account.\");\n } else {\n return interpolate(gettext(\"%(username)s's username was never changed.\"), {\n 'username': this.props.profile.username\n }, true);\n }\n }\n }, {\n key: 'getMoreButton',\n value: function getMoreButton() {\n if (!this.state.more) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'pager-more' },\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn btn-default btn-outline',\n loading: this.state.isBusy,\n onClick: this.loadMore\n },\n interpolate(gettext(\"Show older (%(more)s)\"), {\n 'more': this.state.more\n }, true)\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'profile-username-history' },\n _react2.default.createElement(\n 'nav',\n { className: 'toolbar' },\n _react2.default.createElement(\n 'h3',\n { className: 'toolbar-left' },\n this.getLabel()\n ),\n _react2.default.createElement(_quickSearch2.default, { className: 'toolbar-right',\n value: this.state.search,\n onChange: this.search,\n placeholder: gettext(\"Search history...\") })\n ),\n _react2.default.createElement(_root2.default, { isLoaded: this.state.isLoaded,\n emptyMessage: this.getEmptyMessage(),\n changes: this.props['username-history'] }),\n this.getMoreButton()\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../index\":301,\"../../reducers/username-history\":362,\"../../services/ajax\":364,\"../../services/page-title\":372,\"../../services/snackbar\":375,\"../../services/store\":376,\"../button\":8,\"../quick-search\":196,\"../username-history/root\":279,\"react\":\"react\"}],196:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: \"getClassName\",\n value: function getClassName() {\n if (this.props.className) {\n return \"form-search \" + this.props.className;\n } else {\n return \"form-search\";\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n \"div\",\n { className: this.getClassName() },\n _react2.default.createElement(\"input\", { type: \"text\",\n className: \"form-control\",\n value: this.props.value,\n onChange: this.props.onChange,\n placeholder: this.props.placeholder || gettext(\"Search...\") }),\n _react2.default.createElement(\n \"span\",\n { className: \"material-icon\" },\n \"search\"\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\"}],197:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _loader = require('./loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nvar _register = require('./register.js');\n\nvar _register2 = _interopRequireDefault(_register);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _captcha = require('../services/captcha');\n\nvar _captcha2 = _interopRequireDefault(_captcha);\n\nvar _modal = require('../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.showRegisterForm = function () {\n if (misago.get('SETTINGS').account_activation === 'closed') {\n _snackbar2.default.info(gettext(\"New registrations are currently disabled.\"));\n } else if (_this.state.isLoaded) {\n _modal2.default.show(_react2.default.createElement(_register2.default, {\n criteria: _this.state.criteria\n }));\n } else {\n _this.setState({ isLoading: true });\n\n Promise.all([_captcha2.default.load(), _ajax2.default.get(misago.get('AUTH_CRITERIA_API'))]).then(function (result) {\n _this.setState({\n isLoading: false,\n isLoaded: true,\n criteria: result[1]\n });\n\n _modal2.default.show(_react2.default.createElement(_register2.default, {\n criteria: result[1]\n }));\n }, function () {\n _this.setState({ isLoading: false });\n\n _snackbar2.default.error(gettext(\"Registration is currently unavailable due to an error.\"));\n });\n }\n };\n\n _this.state = {\n isLoading: false,\n isLoaded: false,\n\n criteria: null\n };\n return _this;\n }\n\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'getClassName',\n\n /* jshint ignore:end */\n\n value: function getClassName() {\n return this.props.className + (this.state.isLoading ? ' btn-loading' : '');\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'button',\n {\n className: 'btn ' + this.getClassName(),\n disabled: this.state.isLoading,\n onClick: this.showRegisterForm,\n type: 'button'\n },\n gettext(\"Register\"),\n this.state.isLoading ? _react2.default.createElement(_loader2.default, null) : null\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../services/ajax\":364,\"../services/captcha\":366,\"../services/modal\":370,\"../services/snackbar\":375,\"./loader\":57,\"./register.js\":198,\"react\":\"react\"}],198:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.RegisterComplete = exports.RegisterForm = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('./button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('./form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _passwordStrength = require('./password-strength');\n\nvar _passwordStrength2 = _interopRequireDefault(_passwordStrength);\n\nvar _RegisterLegalFootnote = require('./RegisterLegalFootnote');\n\nvar _RegisterLegalFootnote2 = _interopRequireDefault(_RegisterLegalFootnote);\n\nvar _StartSocialAuth = require('./StartSocialAuth');\n\nvar _StartSocialAuth2 = _interopRequireDefault(_StartSocialAuth);\n\nvar _ = require('..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _auth = require('../services/auth');\n\nvar _auth2 = _interopRequireDefault(_auth);\n\nvar _captcha = require('../services/captcha');\n\nvar _captcha2 = _interopRequireDefault(_captcha);\n\nvar _modal = require('../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _bannedPage = require('../utils/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nvar _validators = require('../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar RegisterForm = exports.RegisterForm = function (_Form) {\n _inherits(RegisterForm, _Form);\n\n function RegisterForm(props) {\n _classCallCheck(this, RegisterForm);\n\n var _this = _possibleConstructorReturn(this, (RegisterForm.__proto__ || Object.getPrototypeOf(RegisterForm)).call(this, props));\n\n _this.handlePrivacyPolicyChange = function (event) {\n var value = event.target.value;\n _this.handleToggleAgreement('privacyPolicy', value);\n };\n\n _this.handleTermsOfServiceChange = function (event) {\n var value = event.target.value;\n _this.handleToggleAgreement('termsOfService', value);\n };\n\n _this.handleToggleAgreement = function (agreement, value) {\n _this.setState(function (prevState, props) {\n if (prevState[agreement] === null) {\n var _errors = _extends({}, prevState.errors, _defineProperty({}, agreement, null));\n return _defineProperty({ errors: _errors }, agreement, value);\n }\n\n var validator = _this.state.validators[agreement][0];\n var errors = _extends({}, prevState.errors, _defineProperty({}, agreement, [validator(null)]));\n return _defineProperty({ errors: errors }, agreement, null);\n });\n };\n\n var _this$props$criteria = _this.props.criteria,\n username = _this$props$criteria.username,\n password = _this$props$criteria.password;\n\n\n var passwordMinLength = 0;\n password.forEach(function (item) {\n if (item.name === 'MinimumLengthValidator') {\n passwordMinLength = item.min_length;\n }\n });\n\n var formValidators = {\n username: [validators.usernameContent(), validators.usernameMinLength(username.min_length), validators.usernameMaxLength(username.max_length)],\n email: [validators.email()],\n password: [validators.passwordMinLength(passwordMinLength)],\n captcha: _captcha2.default.validator()\n };\n\n if (!!_2.default.get('TERMS_OF_SERVICE_ID')) {\n formValidators.termsOfService = [validators.requiredTermsOfService()];\n }\n\n if (!!_2.default.get('PRIVACY_POLICY_ID')) {\n formValidators.privacyPolicy = [validators.requiredPrivacyPolicy()];\n }\n\n _this.state = {\n isLoading: false,\n\n username: '',\n email: '',\n password: '',\n captcha: '',\n\n termsOfService: null,\n privacyPolicy: null,\n\n validators: formValidators,\n errors: {}\n };\n return _this;\n }\n\n _createClass(RegisterForm, [{\n key: 'clean',\n value: function clean() {\n if (this.isValid()) {\n return true;\n } else {\n _snackbar2.default.error(gettext(\"Form contains errors.\"));\n this.setState({\n errors: this.validate()\n });\n return false;\n }\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(_2.default.get('USERS_API'), {\n username: this.state.username,\n email: this.state.email,\n password: this.state.password,\n captcha: this.state.captcha,\n terms_of_service: this.state.termsOfService,\n privacy_policy: this.state.privacyPolicy\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(apiResponse) {\n this.props.callback(apiResponse);\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n this.setState({\n 'errors': Object.assign({}, this.state.errors, rejection)\n });\n\n if (rejection.__all__ && rejection.__all__.length > 0) {\n _snackbar2.default.error(rejection.__all__[0]);\n } else {\n _snackbar2.default.error(gettext(\"Form contains errors.\"));\n }\n } else if (rejection.status === 403 && rejection.ban) {\n (0, _bannedPage2.default)(rejection.ban);\n _modal2.default.hide();\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'modal-dialog modal-register', role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'close', 'data-dismiss': 'modal',\n 'aria-label': gettext(\"Close\") },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Register\")\n )\n ),\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement('input', { type: 'type', style: { display: 'none' } }),\n _react2.default.createElement('input', { type: 'password', style: { display: 'none' } }),\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(_StartSocialAuth2.default, {\n buttonClassName: 'col-xs-12 col-sm-6',\n buttonLabel: gettext(\"Join with %(site)s\"),\n formLabel: gettext(\"Or create forum account:\")\n }),\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Username\"), 'for': 'id_username',\n validation: this.state.errors.username },\n _react2.default.createElement('input', { type: 'text', id: 'id_username', className: 'form-control',\n 'aria-describedby': 'id_username_status',\n disabled: this.state.isLoading,\n onChange: this.bindInput('username'),\n value: this.state.username })\n ),\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"E-mail\"), 'for': 'id_email',\n validation: this.state.errors.email },\n _react2.default.createElement('input', { type: 'text', id: 'id_email', className: 'form-control',\n 'aria-describedby': 'id_email_status',\n disabled: this.state.isLoading,\n onChange: this.bindInput('email'),\n value: this.state.email })\n ),\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Password\"), 'for': 'id_password',\n validation: this.state.errors.password,\n extra: _react2.default.createElement(_passwordStrength2.default, {\n password: this.state.password,\n inputs: [this.state.username, this.state.email]\n }) },\n _react2.default.createElement('input', { type: 'password', id: 'id_password', className: 'form-control',\n 'aria-describedby': 'id_password_status',\n disabled: this.state.isLoading,\n onChange: this.bindInput('password'),\n value: this.state.password })\n ),\n _captcha2.default.component({\n form: this\n }),\n _react2.default.createElement(_RegisterLegalFootnote2.default, {\n errors: this.state.errors,\n privacyPolicy: this.state.privacyPolicy,\n termsOfService: this.state.termsOfService,\n onPrivacyPolicyChange: this.handlePrivacyPolicyChange,\n onTermsOfServiceChange: this.handleTermsOfServiceChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n disabled: this.state.isLoading,\n type: 'button'\n },\n gettext(\"Cancel\")\n ),\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary', loading: this.state.isLoading },\n gettext(\"Register account\")\n )\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return RegisterForm;\n}(_form2.default);\n\nvar RegisterComplete = exports.RegisterComplete = function (_React$Component) {\n _inherits(RegisterComplete, _React$Component);\n\n function RegisterComplete() {\n _classCallCheck(this, RegisterComplete);\n\n return _possibleConstructorReturn(this, (RegisterComplete.__proto__ || Object.getPrototypeOf(RegisterComplete)).apply(this, arguments));\n }\n\n _createClass(RegisterComplete, [{\n key: 'getLead',\n value: function getLead() {\n if (this.props.activation === 'user') {\n return gettext(\"%(username)s, your account has been created but you need to activate it before you will be able to sign in.\");\n } else if (this.props.activation === 'admin') {\n return gettext(\"%(username)s, your account has been created but board administrator will have to activate it before you will be able to sign in.\");\n }\n }\n }, {\n key: 'getSubscript',\n value: function getSubscript() {\n if (this.props.activation === 'user') {\n return gettext(\"We have sent an e-mail to %(email)s with link that you have to click to activate your account.\");\n } else if (this.props.activation === 'admin') {\n return gettext(\"We will send an e-mail to %(email)s when this takes place.\");\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'modal-dialog modal-message modal-register',\n role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'close', 'data-dismiss': 'modal',\n 'aria-label': gettext(\"Close\") },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Registration complete\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'info_outline'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n interpolate(this.getLead(), { 'username': this.props.username }, true)\n ),\n _react2.default.createElement(\n 'p',\n null,\n interpolate(this.getSubscript(), { 'email': this.props.email }, true)\n ),\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n gettext(\"Ok\")\n )\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return RegisterComplete;\n}(_react2.default.Component);\n\nvar _class = function (_React$Component2) {\n _inherits(_class, _React$Component2);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this3 = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this3.completeRegistration = function (apiResponse) {\n if (apiResponse.activation === 'active') {\n _modal2.default.hide();\n _auth2.default.signIn(apiResponse);\n } else {\n _this3.setState({\n complete: apiResponse\n });\n }\n };\n\n _this3.state = {\n complete: false\n };\n return _this3;\n }\n\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n if (this.state.complete) {\n return _react2.default.createElement(RegisterComplete, {\n activation: this.state.complete.activation,\n email: this.state.complete.email,\n username: this.state.complete.username\n });\n }\n\n return _react2.default.createElement(RegisterForm, _extends({\n callback: this.completeRegistration\n }, this.props));\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"..\":301,\"../services/ajax\":364,\"../services/auth\":365,\"../services/captcha\":366,\"../services/modal\":370,\"../services/snackbar\":375,\"../utils/banned-page\":378,\"../utils/validators\":392,\"./RegisterLegalFootnote\":1,\"./StartSocialAuth\":2,\"./button\":8,\"./form\":55,\"./form-group\":54,\"./password-strength\":102,\"react\":\"react\"}],199:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LinkSent = exports.RequestLinkForm = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _button = require('./button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _validators = require('../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nvar _bannedPage = require('../utils/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n\n\nvar RequestLinkForm = exports.RequestLinkForm = function (_Form) {\n _inherits(RequestLinkForm, _Form);\n\n function RequestLinkForm(props) {\n _classCallCheck(this, RequestLinkForm);\n\n var _this = _possibleConstructorReturn(this, (RequestLinkForm.__proto__ || Object.getPrototypeOf(RequestLinkForm)).call(this, props));\n\n _this.state = {\n 'isLoading': false,\n\n 'email': '',\n\n 'validators': {\n 'email': [validators.email()]\n }\n };\n return _this;\n }\n\n _createClass(RequestLinkForm, [{\n key: 'clean',\n value: function clean() {\n if (this.isValid()) {\n return true;\n } else {\n _snackbar2.default.error(gettext(\"Enter a valid email address.\"));\n return false;\n }\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(_index2.default.get('SEND_ACTIVATION_API'), {\n 'email': this.state.email\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(apiResponse) {\n this.props.callback(apiResponse);\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (['already_active', 'inactive_admin'].indexOf(rejection.code) > -1) {\n _snackbar2.default.info(rejection.detail);\n } else if (rejection.status === 403 && rejection.ban) {\n (0, _bannedPage2.default)(rejection.ban);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'well well-form well-form-request-activation-link' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'form-group' },\n _react2.default.createElement(\n 'div',\n { className: 'control-input' },\n _react2.default.createElement('input', { type: 'text', className: 'form-control',\n placeholder: gettext(\"Your e-mail address\"),\n disabled: this.state.isLoading,\n onChange: this.bindInput('email'),\n value: this.state.email })\n )\n ),\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary btn-block',\n loading: this.state.isLoading },\n gettext(\"Send link\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return RequestLinkForm;\n}(_form2.default);\n\nvar LinkSent = exports.LinkSent = function (_React$Component) {\n _inherits(LinkSent, _React$Component);\n\n function LinkSent() {\n _classCallCheck(this, LinkSent);\n\n return _possibleConstructorReturn(this, (LinkSent.__proto__ || Object.getPrototypeOf(LinkSent)).apply(this, arguments));\n }\n\n _createClass(LinkSent, [{\n key: 'getMessage',\n value: function getMessage() {\n return interpolate(gettext(\"Activation link was sent to %(email)s\"), {\n email: this.props.user.email\n }, true);\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'well well-form well-form-request-activation-link well-done' },\n _react2.default.createElement(\n 'div',\n { className: 'done-message' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'check'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n null,\n this.getMessage()\n )\n ),\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-primary btn-block',\n type: 'button',\n onClick: this.props.callback\n },\n gettext(\"Request another link\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return LinkSent;\n}(_react2.default.Component);\n\nvar _class = function (_React$Component2) {\n _inherits(_class, _React$Component2);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this3 = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this3.complete = function (apiResponse) {\n _this3.setState({\n complete: apiResponse\n });\n };\n\n _this3.reset = function () {\n _this3.setState({\n complete: false\n });\n };\n\n _this3.state = {\n complete: false\n };\n return _this3;\n }\n\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n if (this.state.complete) {\n return _react2.default.createElement(LinkSent, { user: this.state.complete, callback: this.reset });\n } else {\n return _react2.default.createElement(RequestLinkForm, { callback: this.complete });\n };\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../index\":301,\"../services/ajax\":364,\"../services/snackbar\":375,\"../utils/banned-page\":378,\"../utils/validators\":392,\"./button\":8,\"./form\":55,\"react\":\"react\"}],200:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AccountInactivePage = exports.LinkSent = exports.RequestResetForm = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _button = require('./button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _validators = require('../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nvar _bannedPage = require('../utils/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar RequestResetForm = exports.RequestResetForm = function (_Form) {\n _inherits(RequestResetForm, _Form);\n\n function RequestResetForm(props) {\n _classCallCheck(this, RequestResetForm);\n\n var _this = _possibleConstructorReturn(this, (RequestResetForm.__proto__ || Object.getPrototypeOf(RequestResetForm)).call(this, props));\n\n _this.state = {\n 'isLoading': false,\n\n 'email': '',\n\n 'validators': {\n 'email': [validators.email()]\n }\n };\n return _this;\n }\n\n _createClass(RequestResetForm, [{\n key: 'clean',\n value: function clean() {\n if (this.isValid()) {\n return true;\n } else {\n _snackbar2.default.error(gettext(\"Enter a valid email address.\"));\n return false;\n }\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(_index2.default.get('SEND_PASSWORD_RESET_API'), {\n 'email': this.state.email\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(apiResponse) {\n this.props.callback(apiResponse);\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (['inactive_user', 'inactive_admin'].indexOf(rejection.code) > -1) {\n this.props.showInactivePage(rejection);\n } else if (rejection.status === 403 && rejection.ban) {\n (0, _bannedPage2.default)(rejection.ban);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'well well-form well-form-request-password-reset' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'form-group' },\n _react2.default.createElement(\n 'div',\n { className: 'control-input' },\n _react2.default.createElement('input', { type: 'text', className: 'form-control',\n placeholder: gettext(\"Your e-mail address\"),\n disabled: this.state.isLoading,\n onChange: this.bindInput('email'),\n value: this.state.email })\n )\n ),\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary btn-block',\n loading: this.state.isLoading },\n gettext(\"Send link\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return RequestResetForm;\n}(_form2.default);\n\nvar LinkSent = exports.LinkSent = function (_React$Component) {\n _inherits(LinkSent, _React$Component);\n\n function LinkSent() {\n _classCallCheck(this, LinkSent);\n\n return _possibleConstructorReturn(this, (LinkSent.__proto__ || Object.getPrototypeOf(LinkSent)).apply(this, arguments));\n }\n\n _createClass(LinkSent, [{\n key: 'getMessage',\n value: function getMessage() {\n return interpolate(gettext(\"Reset password link was sent to %(email)s\"), {\n email: this.props.user.email\n }, true);\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'well well-form well-form-request-password-reset well-done' },\n _react2.default.createElement(\n 'div',\n { className: 'done-message' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'check'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n null,\n this.getMessage()\n )\n ),\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-primary btn-block',\n onClick: this.props.callback },\n gettext(\"Request another link\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return LinkSent;\n}(_react2.default.Component);\n\nvar AccountInactivePage = exports.AccountInactivePage = function (_React$Component2) {\n _inherits(AccountInactivePage, _React$Component2);\n\n function AccountInactivePage() {\n _classCallCheck(this, AccountInactivePage);\n\n return _possibleConstructorReturn(this, (AccountInactivePage.__proto__ || Object.getPrototypeOf(AccountInactivePage)).apply(this, arguments));\n }\n\n _createClass(AccountInactivePage, [{\n key: 'getActivateButton',\n value: function getActivateButton() {\n if (this.props.activation === 'inactive_user') {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'p',\n null,\n _react2.default.createElement(\n 'a',\n { href: _index2.default.get('REQUEST_ACTIVATION_URL') },\n gettext(\"Activate your account.\")\n )\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'page page-message page-message-info page-forgotten-password-inactive' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'message-panel' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'info_outline'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"Your account is inactive.\")\n ),\n _react2.default.createElement(\n 'p',\n null,\n this.props.message\n ),\n this.getActivateButton()\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return AccountInactivePage;\n}(_react2.default.Component);\n\nvar _class = function (_React$Component3) {\n _inherits(_class, _React$Component3);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this4 = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this4.complete = function (apiResponse) {\n _this4.setState({\n complete: apiResponse\n });\n };\n\n _this4.reset = function () {\n _this4.setState({\n complete: false\n });\n };\n\n _this4.state = {\n complete: false\n };\n return _this4;\n }\n\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'showInactivePage',\n value: function showInactivePage(apiResponse) {\n _reactDom2.default.render(_react2.default.createElement(AccountInactivePage, {\n activation: apiResponse.code,\n message: apiResponse.detail\n }), document.getElementById('page-mount'));\n }\n /* jshint ignore:end */\n\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n if (this.state.complete) {\n return _react2.default.createElement(LinkSent, {\n callback: this.reset,\n user: this.state.complete\n });\n }\n\n return _react2.default.createElement(RequestResetForm, {\n callback: this.complete,\n showInactivePage: this.showInactivePage\n });\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../index\":301,\"../services/ajax\":364,\"../services/snackbar\":375,\"../utils/banned-page\":378,\"../utils/validators\":392,\"./button\":8,\"./form\":55,\"react\":\"react\",\"react-dom\":\"react-dom\"}],201:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PasswordChangedPage = exports.ResetPasswordForm = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _button = require('./button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _signIn = require('./sign-in.js');\n\nvar _signIn2 = _interopRequireDefault(_signIn);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _auth = require('../services/auth');\n\nvar _auth2 = _interopRequireDefault(_auth);\n\nvar _modal = require('../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _bannedPage = require('../utils/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar ResetPasswordForm = exports.ResetPasswordForm = function (_Form) {\n _inherits(ResetPasswordForm, _Form);\n\n function ResetPasswordForm(props) {\n _classCallCheck(this, ResetPasswordForm);\n\n var _this = _possibleConstructorReturn(this, (ResetPasswordForm.__proto__ || Object.getPrototypeOf(ResetPasswordForm)).call(this, props));\n\n _this.state = {\n 'isLoading': false,\n\n 'password': ''\n };\n return _this;\n }\n\n _createClass(ResetPasswordForm, [{\n key: 'clean',\n value: function clean() {\n if (this.state.password.trim().length) {\n return true;\n } else {\n _snackbar2.default.error(gettext(\"Enter new password.\"));\n return false;\n }\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(_index2.default.get('CHANGE_PASSWORD_API'), {\n 'password': this.state.password\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(apiResponse) {\n this.props.callback(apiResponse);\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 403 && rejection.ban) {\n (0, _bannedPage2.default)(rejection.ban);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'well well-form well-form-reset-password' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'form-group' },\n _react2.default.createElement(\n 'div',\n { className: 'control-input' },\n _react2.default.createElement('input', { type: 'password', className: 'form-control',\n placeholder: gettext(\"Enter new password\"),\n disabled: this.state.isLoading,\n onChange: this.bindInput('password'),\n value: this.state.password })\n )\n ),\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary btn-block',\n loading: this.state.isLoading },\n gettext(\"Change password\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return ResetPasswordForm;\n}(_form2.default);\n\nvar PasswordChangedPage = exports.PasswordChangedPage = function (_React$Component) {\n _inherits(PasswordChangedPage, _React$Component);\n\n function PasswordChangedPage() {\n _classCallCheck(this, PasswordChangedPage);\n\n return _possibleConstructorReturn(this, (PasswordChangedPage.__proto__ || Object.getPrototypeOf(PasswordChangedPage)).apply(this, arguments));\n }\n\n _createClass(PasswordChangedPage, [{\n key: 'getMessage',\n value: function getMessage() {\n return interpolate(gettext(\"%(username)s, your password has been changed successfully.\"), {\n username: this.props.user.username\n }, true);\n }\n }, {\n key: 'showSignIn',\n value: function showSignIn() {\n _modal2.default.show(_signIn2.default);\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'page page-message page-message-success page-forgotten-password-changed' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'message-panel' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'check'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n this.getMessage()\n ),\n _react2.default.createElement(\n 'p',\n null,\n gettext(\"You will have to sign in using new password before continuing.\")\n ),\n _react2.default.createElement(\n 'p',\n null,\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-primary', onClick: this.showSignIn },\n gettext(\"Sign in\")\n )\n )\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return PasswordChangedPage;\n}(_react2.default.Component);\n\nvar _class = function (_React$Component2) {\n _inherits(_class, _React$Component2);\n\n function _class() {\n var _ref;\n\n var _temp, _this3, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this3 = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this3), _this3.complete = function (apiResponse) {\n _auth2.default.softSignOut();\n\n // nuke \"redirect_to\" field so we don't end\n // coming back to error page after sign in\n $('#hidden-login-form input[name=\"redirect_to\"]').remove();\n\n _reactDom2.default.render(_react2.default.createElement(PasswordChangedPage, { user: apiResponse }), document.getElementById('page-mount'));\n }, _temp), _possibleConstructorReturn(_this3, _ret);\n }\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(ResetPasswordForm, { callback: this.complete });\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../index\":301,\"../services/ajax\":364,\"../services/auth\":365,\"../services/modal\":370,\"../services/snackbar\":375,\"../utils/banned-page\":378,\"./button\":8,\"./form\":55,\"./sign-in.js\":210,\"react\":\"react\",\"react-dom\":\"react-dom\"}],202:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _form = require('../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _posts = require('../../reducers/posts');\n\nvar _search = require('../../reducers/search');\n\nvar _users = require('../../reducers/users');\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.onQueryChange = function (event) {\n _this.changeValue('query', event.target.value);\n };\n\n _this.state = {\n isLoading: false,\n\n query: props.search.query\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.state.query.length) {\n this.handleSubmit();\n }\n }\n }, {\n key: 'clean',\n value: function clean() {\n if (!this.state.query.trim().length) {\n _snackbar2.default.error(gettext(\"You have to enter search query.\"));\n return false;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n _store2.default.dispatch((0, _search.update)({\n isLoading: true\n }));\n\n return _ajax2.default.get(_2.default.get('SEARCH_API'), {\n q: this.state.query.trim()\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(providers) {\n _store2.default.dispatch((0, _search.update)({\n query: this.state.query.trim(),\n isLoading: false,\n providers: providers\n }));\n\n providers.forEach(function (provider) {\n if (provider.id === 'users') {\n _store2.default.dispatch((0, _users.hydrate)(provider.results.results));\n } else if (provider.id === 'threads') {\n _store2.default.dispatch((0, _posts.load)(provider.results));\n }\n });\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n _snackbar2.default.apiError(rejection);\n\n _store2.default.dispatch((0, _search.update)({\n isLoading: false\n }));\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'div',\n { className: 'page-header-bg' },\n _react2.default.createElement(\n 'div',\n { className: 'page-header page-search-form' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-md-3' },\n _react2.default.createElement(\n 'h1',\n null,\n gettext(\"Search\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-md-9' },\n _react2.default.createElement(\n 'div',\n { className: 'row xs-margin-top sm-margin-top' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-8 col-md-9' },\n _react2.default.createElement(\n 'div',\n { className: 'form-group' },\n _react2.default.createElement('input', {\n className: 'form-control',\n disabled: this.props.search.isLoading || this.state.isLoading,\n onChange: this.onQueryChange,\n type: 'text',\n value: this.state.query\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-4 col-md-3' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-primary btn-block btn-outline',\n disabled: this.props.search.isLoading || this.state.isLoading\n },\n gettext(\"Search\")\n )\n )\n )\n )\n )\n )\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../..\":301,\"../../reducers/posts\":353,\"../../reducers/search\":356,\"../../reducers/users\":363,\"../../services/ajax\":364,\"../../services/snackbar\":375,\"../../services/store\":376,\"../form\":55,\"react\":\"react\"}],203:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.select = select;\n\nexports.default = function (providers) {\n return providers.map(function (provider) {\n return {\n path: provider.url,\n component: (0, _reactRedux.connect)(select)(components[provider.id]),\n provider: provider\n };\n });\n};\n\nvar _reactRedux = require('react-redux');\n\nvar _threads = require('./threads');\n\nvar _threads2 = _interopRequireDefault(_threads);\n\nvar _users = require('./users');\n\nvar _users2 = _interopRequireDefault(_users);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n threads: _threads2.default,\n users: _users2.default\n};\n\nfunction select(store) {\n return {\n 'posts': store.posts,\n 'search': store.search,\n 'tick': store.tick.tick,\n 'user': store.auth.user,\n 'users': store.users\n };\n}\n\n},{\"./threads\":206,\"./users\":208,\"react-redux\":\"react-redux\"}],204:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n { className: 'page page-search' },\n _react2.default.createElement(_form2.default, {\n provider: props.provider,\n search: props.search\n }),\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-3' },\n _react2.default.createElement(_sidenav2.default, { providers: props.search.providers })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-md-9' },\n props.children,\n _react2.default.createElement(SearchTime, {\n provider: props.provider,\n search: props.search\n })\n )\n )\n )\n );\n};\n\nexports.SearchTime = SearchTime;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _sidenav = require('./sidenav');\n\nvar _sidenav2 = _interopRequireDefault(_sidenav);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:start\nfunction SearchTime(props) {\n var time = null;\n props.search.providers.forEach(function (p) {\n if (p.id === props.provider.id) {\n time = p.time;\n }\n });\n\n if (time === null) return null;\n\n var copy = gettext(\"Search took %(time)s s to complete\");\n\n return _react2.default.createElement(\n 'footer',\n { className: 'search-footer' },\n _react2.default.createElement(\n 'p',\n null,\n interpolate(copy, { time: time }, true)\n )\n );\n}\n\n},{\"./form\":202,\"./sidenav\":205,\"react\":\"react\"}],205:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n { className: 'list-group nav-side' },\n props.providers.map(function (provider) {\n return _react2.default.createElement(\n _reactRouter.Link,\n {\n activeClassName: 'active',\n className: 'list-group-item',\n key: provider.id,\n to: provider.url\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n provider.icon\n ),\n provider.name,\n _react2.default.createElement(Badge, { results: provider.results })\n );\n })\n );\n};\n\nexports.Badge = Badge;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRouter = require('react-router');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction Badge(props) {\n if (!props.results) return null;\n\n var count = props.results.count;\n if (count > 1000000) {\n count = Math.ceil(count / 1000000) + 'KK';\n } else if (count > 1000) {\n count = Math.ceil(count / 1000) + 'K';\n }\n\n return _react2.default.createElement(\n 'span',\n { className: 'badge' },\n count\n );\n} // jshint ignore:start\n\n},{\"react\":\"react\",\"react-router\":\"react-router\"}],206:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // jshint ignore:start\n\n\nexports.default = function (props) {\n return _react2.default.createElement(\n _page2.default,\n {\n provider: props.route.provider,\n search: props.search\n },\n _react2.default.createElement(\n Blankslate,\n {\n query: props.search.query,\n posts: props.posts\n },\n _react2.default.createElement(_results2.default, _extends({\n provider: props.route.provider,\n query: props.search.query\n }, props.posts))\n )\n );\n};\n\nexports.Blankslate = Blankslate;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _page = require('../page');\n\nvar _page2 = _interopRequireDefault(_page);\n\nvar _results = require('./results');\n\nvar _results2 = _interopRequireDefault(_results);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction Blankslate(props) {\n if (props.posts && props.posts.count) return props.children;\n\n if (props.query.length) {\n return _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"No threads matching search query have been found.\")\n );\n }\n\n return _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"Enter at least two characters to search threads.\")\n );\n}\n\n},{\"../page\":204,\"./results\":207,\"react\":\"react\"}],207:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LoadMore = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(_postFeed2.default, {\n isReady: true,\n posts: props.results\n }),\n _react2.default.createElement(LoadMore, props)\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _postFeed = require('../../post-feed');\n\nvar _postFeed2 = _interopRequireDefault(_postFeed);\n\nvar _button = require('../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _misagoMarkup = require('../../misago-markup');\n\nvar _misagoMarkup2 = _interopRequireDefault(_misagoMarkup);\n\nvar _posts = require('../../../reducers/posts');\n\nvar _search = require('../../../reducers/search');\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar LoadMore = exports.LoadMore = function (_React$Component) {\n _inherits(LoadMore, _React$Component);\n\n function LoadMore() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, LoadMore);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = LoadMore.__proto__ || Object.getPrototypeOf(LoadMore)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n _store2.default.dispatch((0, _posts.update)({\n isBusy: true\n }));\n\n _ajax2.default.get(_this.props.provider.api, {\n q: _this.props.query,\n page: _this.props.next\n }).then(function (providers) {\n providers.forEach(function (provider) {\n if (provider.id !== 'threads') return;\n _store2.default.dispatch((0, _posts.append)(provider.results));\n _store2.default.dispatch((0, _search.updateProvider)(provider));\n });\n\n _store2.default.dispatch((0, _posts.update)({\n isBusy: false\n }));\n }, function (rejection) {\n _snackbar2.default.apiError(rejection);\n\n _store2.default.dispatch((0, _posts.update)({\n isBusy: false\n }));\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(LoadMore, [{\n key: 'render',\n value: function render() {\n if (!this.props.more) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'pager-more' },\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn btn-default btn-outline',\n loading: this.props.isBusy,\n onClick: this.onClick\n },\n gettext(\"Show more\")\n )\n );\n }\n }]);\n\n return LoadMore;\n}(_react2.default.Component);\n\n},{\"../../../reducers/posts\":353,\"../../../reducers/search\":356,\"../../../services/ajax\":364,\"../../../services/snackbar\":375,\"../../../services/store\":376,\"../../button\":8,\"../../misago-markup\":59,\"../../post-feed\":121,\"react\":\"react\"}],208:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n _page2.default,\n {\n provider: props.route.provider,\n search: props.search\n },\n _react2.default.createElement(\n Blankslate,\n {\n query: props.search.query,\n users: props.users\n },\n _react2.default.createElement(_usersList2.default, {\n cols: 3,\n isReady: true,\n users: props.users\n })\n )\n );\n};\n\nexports.Blankslate = Blankslate;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _page = require('../page');\n\nvar _page2 = _interopRequireDefault(_page);\n\nvar _usersList = require('../../users-list');\n\nvar _usersList2 = _interopRequireDefault(_usersList);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:start\nfunction Blankslate(props) {\n if (props.users.length) return props.children;\n\n if (props.query.length) {\n return _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"No users matching search query have been found.\")\n );\n }\n\n return _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"Enter at least two characters to search users.\")\n );\n}\n\n},{\"../../users-list\":283,\"../page\":204,\"react\":\"react\"}],209:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.Icon = Icon;\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.change = function (value) {\n return function () {\n _this.props.onChange({\n target: {\n value: value\n }\n });\n };\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: \"getChoice\",\n value: function getChoice() {\n var _this2 = this;\n\n var choice = null;\n this.props.choices.map(function (item) {\n if (item.value === _this2.props.value) {\n choice = item;\n }\n });\n return choice;\n }\n }, {\n key: \"getIcon\",\n value: function getIcon() {\n return this.getChoice().icon;\n }\n }, {\n key: \"getLabel\",\n value: function getLabel() {\n return this.getChoice().label;\n }\n\n /* jshint ignore:start */\n\n }, {\n key: \"render\",\n\n /* jshint ignore:end */\n\n value: function render() {\n var _this3 = this;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n \"div\",\n { className: \"btn-group btn-select-group\" },\n _react2.default.createElement(\n \"button\",\n { type: \"button\",\n className: \"btn btn-select dropdown-toggle\",\n id: this.props.id || null,\n \"data-toggle\": \"dropdown\",\n \"aria-haspopup\": \"true\",\n \"aria-expanded\": \"false\",\n \"aria-describedby\": this.props['aria-describedby'] || null,\n disabled: this.props.disabled || false },\n _react2.default.createElement(Icon, { icon: this.getIcon() }),\n this.getLabel()\n ),\n _react2.default.createElement(\n \"ul\",\n { className: \"dropdown-menu\" },\n this.props.choices.map(function (item, i) {\n return _react2.default.createElement(\n \"li\",\n { key: i },\n _react2.default.createElement(\n \"button\",\n { type: \"button\", className: \"btn-link\",\n onClick: _this3.change(item.value) },\n _react2.default.createElement(Icon, { icon: item.icon }),\n item.label\n )\n );\n })\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\n/* jshint ignore:start */\n\n\nexports.default = _class;\nfunction Icon(_ref2) {\n var icon = _ref2.icon;\n\n if (!icon) return null;\n\n return _react2.default.createElement(\n \"span\",\n { className: \"material-icon\" },\n icon\n );\n}\n/* jshint ignore:end */\n\n},{\"react\":\"react\"}],210:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _button = require('./button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _StartSocialAuth = require('./StartSocialAuth');\n\nvar _StartSocialAuth2 = _interopRequireDefault(_StartSocialAuth);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _bannedPage = require('../utils/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.state = {\n 'isLoading': false,\n 'showActivation': false,\n\n 'username': '',\n 'password': '',\n\n 'validators': {\n 'username': [],\n 'password': []\n }\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'clean',\n value: function clean() {\n if (!this.isValid()) {\n _snackbar2.default.error(gettext(\"Fill out both fields.\"));\n return false;\n } else {\n return true;\n }\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(_index2.default.get('AUTH_API'), {\n 'username': this.state.username,\n 'password': this.state.password\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess() {\n var form = $('#hidden-login-form');\n\n form.append('');\n form.append('');\n\n // fill out form with user credentials and submit it, this will tell\n // Misago to redirect user back to right page, and will trigger browser's\n // key ring feature\n form.find('input[type=\"hidden\"]').val(_ajax2.default.getCsrfToken());\n form.find('input[name=\"redirect_to\"]').val(window.location.pathname);\n form.find('input[name=\"username\"]').val(this.state.username);\n form.find('input[name=\"password\"]').val(this.state.password);\n form.submit();\n\n // keep form loading\n this.setState({\n 'isLoading': true\n });\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n if (rejection.code === 'inactive_admin') {\n _snackbar2.default.info(rejection.detail);\n } else if (rejection.code === 'inactive_user') {\n _snackbar2.default.info(rejection.detail);\n this.setState({\n 'showActivation': true\n });\n } else if (rejection.code === 'banned') {\n (0, _bannedPage2.default)(rejection.detail);\n _modal2.default.hide();\n } else {\n _snackbar2.default.error(rejection.detail);\n }\n } else if (rejection.status === 403 && rejection.ban) {\n (0, _bannedPage2.default)(rejection.ban);\n _modal2.default.hide();\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'getActivationButton',\n value: function getActivationButton() {\n if (!this.state.showActivation) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'a',\n {\n className: 'btn btn-success btn-block',\n href: _index2.default.get('REQUEST_ACTIVATION_URL')\n },\n gettext(\"Activate account\")\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n {\n className: 'modal-dialog modal-sm modal-sign-in',\n role: 'document'\n },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-label': gettext(\"Close\"),\n className: 'close',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Sign in\")\n )\n ),\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(_StartSocialAuth2.default, {\n buttonLabel: gettext(\"Sign in with %(site)s\"),\n formLabel: gettext(\"Or use your forum account:\"),\n labelClassName: 'text-center'\n }),\n _react2.default.createElement(\n 'div',\n { className: 'form-group' },\n _react2.default.createElement(\n 'div',\n { className: 'control-input' },\n _react2.default.createElement('input', {\n className: 'form-control input-lg',\n disabled: this.state.isLoading,\n id: 'id_username',\n onChange: this.bindInput('username'),\n placeholder: gettext(\"Username or e-mail\"),\n type: 'text',\n value: this.state.username\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'form-group' },\n _react2.default.createElement(\n 'div',\n { className: 'control-input' },\n _react2.default.createElement('input', {\n className: 'form-control input-lg',\n disabled: this.state.isLoading,\n id: 'id_password',\n onChange: this.bindInput('password'),\n placeholder: gettext(\"Password\"),\n type: 'password',\n value: this.state.password\n })\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n this.getActivationButton(),\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-primary btn-block',\n loading: this.state.isLoading\n },\n gettext(\"Sign in\")\n ),\n _react2.default.createElement(\n 'a',\n {\n className: 'btn btn-default btn-block',\n href: _index2.default.get('FORGOTTEN_PASSWORD_URL')\n },\n gettext(\"Forgot password?\")\n )\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../index\":301,\"../services/ajax\":364,\"../services/modal\":370,\"../services/snackbar\":375,\"../utils/banned-page\":378,\"./StartSocialAuth\":2,\"./button\":8,\"./form\":55,\"react\":\"react\"}],211:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Snackbar = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.select = select;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/* jshint ignore:start */\nvar TYPES_CLASSES = {\n 'info': 'alert-info',\n 'success': 'alert-success',\n 'warning': 'alert-warning',\n 'error': 'alert-danger'\n};\n/* jshint ignore:end */\n\nvar Snackbar = exports.Snackbar = function (_React$Component) {\n _inherits(Snackbar, _React$Component);\n\n function Snackbar() {\n _classCallCheck(this, Snackbar);\n\n return _possibleConstructorReturn(this, (Snackbar.__proto__ || Object.getPrototypeOf(Snackbar)).apply(this, arguments));\n }\n\n _createClass(Snackbar, [{\n key: 'getSnackbarClass',\n value: function getSnackbarClass() {\n var snackbarClass = 'alerts-snackbar';\n if (this.props.isVisible) {\n snackbarClass += ' in';\n } else {\n snackbarClass += ' out';\n }\n return snackbarClass;\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: this.getSnackbarClass() },\n _react2.default.createElement(\n 'p',\n { className: 'alert ' + TYPES_CLASSES[this.props.type] },\n this.props.message\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return Snackbar;\n}(_react2.default.Component);\n\nfunction select(state) {\n return state.snackbar;\n}\n\n},{\"react\":\"react\"}],212:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _header = require('./header');\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Complete = function Complete(_ref) {\n var activation = _ref.activation,\n backend_name = _ref.backend_name,\n username = _ref.username;\n\n var icon = '';\n var message = '';\n if (activation === 'user') {\n message = gettext(\"%(username)s, your account has been created but you need to activate it before you will be able to sign in.\");\n } else if (activation === 'admin') {\n message = gettext(\"%(username)s, your account has been created but board administrator will have to activate it before you will be able to sign in.\");\n } else {\n message = gettext(\"%(username)s, your account has been created and you have been signed in to it.\");\n }\n\n if (activation === 'active') {\n icon = 'check';\n } else {\n icon = 'info_outline';\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'page page-social-auth page-social-sauth-register' },\n _react2.default.createElement(_header2.default, { backendName: backend_name }),\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-6 col-md-offset-3' },\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-form' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n gettext(\"Registration completed!\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-body panel-message-body' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n icon\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n interpolate(message, { username: username }, true)\n ),\n _react2.default.createElement(\n 'p',\n { className: 'help-block' },\n _react2.default.createElement(\n 'a',\n {\n className: 'btn btn-default',\n href: _2.default.get('MISAGO_PATH')\n },\n gettext(\"Return to forum index\")\n )\n )\n )\n )\n )\n )\n )\n )\n );\n}; /* jshint ignore:start */\nexports.default = Complete;\n\n},{\"../..\":301,\"./header\":213,\"react\":\"react\"}],213:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Header = function Header(_ref) {\n var backendName = _ref.backendName;\n\n var pageTitleTpl = gettext(\"Sign in with %(backend)s\");\n var pageTitle = interpolate(pageTitleTpl, { backend: backendName }, true);\n\n return _react2.default.createElement(\n \"div\",\n { className: \"page-header-bg\" },\n _react2.default.createElement(\n \"div\",\n { className: \"page-header\" },\n _react2.default.createElement(\n \"div\",\n { className: \"container\" },\n _react2.default.createElement(\n \"h1\",\n null,\n pageTitle\n )\n )\n )\n );\n}; /* jshint ignore:start */\nexports.default = Header;\n\n},{\"react\":\"react\"}],214:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _register = require('./register');\n\nvar _register2 = _interopRequireDefault(_register);\n\nvar _complete = require('./complete');\n\nvar _complete2 = _interopRequireDefault(_complete);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar SocialAuth = function (_React$Component) {\n _inherits(SocialAuth, _React$Component);\n\n function SocialAuth(props) {\n _classCallCheck(this, SocialAuth);\n\n var _this = _possibleConstructorReturn(this, (SocialAuth.__proto__ || Object.getPrototypeOf(SocialAuth)).call(this, props));\n\n _this.handleRegistrationComplete = function (_ref) {\n var activation = _ref.activation,\n email = _ref.email,\n step = _ref.step,\n username = _ref.username;\n\n _this.setState({ activation: activation, email: email, step: step, username: username });\n };\n\n _this.state = {\n step: props.step,\n\n activation: props.activation || '',\n email: props.email || '',\n username: props.username || ''\n };\n return _this;\n }\n\n _createClass(SocialAuth, [{\n key: 'render',\n value: function render() {\n var _props = this.props,\n backend_name = _props.backend_name,\n url = _props.url;\n var _state = this.state,\n activation = _state.activation,\n email = _state.email,\n step = _state.step,\n username = _state.username;\n\n\n if (step === 'register') {\n return _react2.default.createElement(_register2.default, {\n backend_name: backend_name,\n email: email,\n url: url,\n username: username,\n onRegistrationComplete: this.handleRegistrationComplete\n });\n }\n\n return _react2.default.createElement(_complete2.default, {\n activation: activation,\n backend_name: backend_name,\n email: email,\n url: url,\n username: username\n });\n }\n }]);\n\n return SocialAuth;\n}(_react2.default.Component);\n\nexports.default = SocialAuth;\n\n},{\"./complete\":212,\"./register\":215,\"react\":\"react\"}],215:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _RegisterLegalFootnote = require('../RegisterLegalFootnote');\n\nvar _RegisterLegalFootnote2 = _interopRequireDefault(_RegisterLegalFootnote);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _validators = require('../../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nvar _header = require('./header');\n\nvar _header2 = _interopRequireDefault(_header);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar Register = function (_Form) {\n _inherits(Register, _Form);\n\n function Register(props) {\n _classCallCheck(this, Register);\n\n var _this = _possibleConstructorReturn(this, (Register.__proto__ || Object.getPrototypeOf(Register)).call(this, props));\n\n _this.handlePrivacyPolicyChange = function (event) {\n var value = event.target.value;\n _this.handleToggleAgreement('privacyPolicy', value);\n };\n\n _this.handleTermsOfServiceChange = function (event) {\n var value = event.target.value;\n _this.handleToggleAgreement('termsOfService', value);\n };\n\n _this.handleToggleAgreement = function (agreement, value) {\n _this.setState(function (prevState, props) {\n if (prevState[agreement] === null) {\n var _errors = _extends({}, prevState.errors, _defineProperty({}, agreement, null));\n return _defineProperty({ errors: _errors }, agreement, value);\n }\n\n var validator = _this.state.validators[agreement][0];\n var errors = _extends({}, prevState.errors, _defineProperty({}, agreement, [validator(null)]));\n return _defineProperty({ errors: errors }, agreement, null);\n });\n };\n\n var formValidators = {\n email: [validators.email()],\n username: [validators.usernameContent()]\n };\n\n if (!!_2.default.get('TERMS_OF_SERVICE_ID')) {\n formValidators.termsOfService = [validators.requiredTermsOfService()];\n }\n\n if (!!_2.default.get('PRIVACY_POLICY_ID')) {\n formValidators.privacyPolicy = [validators.requiredPrivacyPolicy()];\n }\n\n _this.state = {\n email: props.email || '',\n emailProtected: !!props.email,\n username: props.username || '',\n\n termsOfService: null,\n privacyPolicy: null,\n\n validators: formValidators,\n errors: {},\n\n isLoading: false\n };\n return _this;\n }\n\n _createClass(Register, [{\n key: 'clean',\n value: function clean() {\n var errors = this.validate();\n var lengths = [this.state.email.trim().length, this.state.username.trim().length];\n\n if (lengths.indexOf(0) !== -1) {\n _snackbar2.default.error(gettext(\"Fill out all fields.\"));\n return false;\n }\n\n var validators = this.state.validators;\n\n\n var checkTermsOfService = !!_2.default.get('TERMS_OF_SERVICE_ID');\n if (checkTermsOfService && this.state.termsOfService === null) {\n _snackbar2.default.error(validators.termsOfService[0](null));\n return false;\n }\n\n var checkPrivacyPolicy = !!_2.default.get('PRIVACY_POLICY_ID');\n if (checkPrivacyPolicy && this.state.privacyPolicy === null) {\n _snackbar2.default.error(validators.privacyPolicy[0](null));\n _snackbar2.default.error(gettext(\"You need to accept the privacy policy.\"));\n return false;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.url, {\n email: this.state.email,\n username: this.state.username,\n terms_of_service: this.state.termsOfService,\n privacy_policy: this.state.privacyPolicy\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(response) {\n onRegistrationComplete(response);\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 200) {\n // We've entered \"errored\" state because response is HTML instead of exptected JSON\n var _onRegistrationComplete = this.props.onRegistrationComplete;\n var username = this.state.username;\n\n _onRegistrationComplete({ activation: 'active', step: 'done', username: username });\n } else if (rejection.status === 400) {\n var stateUpdate = { errors: rejection };\n if (rejection.email) {\n stateUpdate.emailProtected = false;\n }\n this.setState(stateUpdate);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var backend_name = this.props.backend_name;\n var _state = this.state,\n email = _state.email,\n emailProtected = _state.emailProtected,\n username = _state.username,\n isLoading = _state.isLoading;\n\n\n var emailHelpText = null;\n if (emailProtected) {\n var emailHelpTextTpl = gettext(\"Your e-mail address has been verified by %(backend)s.\");\n emailHelpText = interpolate(emailHelpTextTpl, { backend: backend_name }, true);\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'page page-social-auth page-social-sauth-register' },\n _react2.default.createElement(_header2.default, { backendName: backend_name }),\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-6 col-md-offset-3' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-form' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n gettext(\"Complete your details\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n _formGroup2.default,\n {\n 'for': 'id_username',\n label: gettext(\"Username\"),\n validation: this.state.errors.username\n },\n _react2.default.createElement('input', {\n type: 'text',\n id: 'id_username',\n className: 'form-control',\n disabled: isLoading,\n onChange: this.bindInput('username'),\n value: username\n })\n ),\n _react2.default.createElement(\n _formGroup2.default,\n {\n 'for': 'id_email',\n label: gettext(\"E-mail address\"),\n helpText: emailHelpText,\n validation: emailProtected ? null : this.state.errors.email\n },\n _react2.default.createElement('input', {\n type: 'email',\n id: 'id_email',\n className: 'form-control',\n disabled: isLoading || emailProtected,\n onChange: this.bindInput('email'),\n value: email\n })\n ),\n _react2.default.createElement(_RegisterLegalFootnote2.default, {\n errors: this.state.errors,\n privacyPolicy: this.state.privacyPolicy,\n termsOfService: this.state.termsOfService,\n onPrivacyPolicyChange: this.handlePrivacyPolicyChange,\n onTermsOfServiceChange: this.handleTermsOfServiceChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-footer' },\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary', loading: this.state.isLoading },\n gettext(\"Sign in\")\n )\n )\n )\n )\n )\n )\n )\n );\n }\n }]);\n\n return Register;\n}(_form2.default);\n\nexports.default = Register;\n\n},{\"../..\":301,\"../../services/ajax\":364,\"../../services/snackbar\":375,\"../../utils/validators\":392,\"../RegisterLegalFootnote\":1,\"../button\":8,\"../form\":55,\"../form-group\":54,\"./header\":213,\"react\":\"react\"}],216:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n \"div\",\n { className: \"page-breadcrumbs\" },\n _react2.default.createElement(\n \"div\",\n { className: \"container\" },\n _react2.default.createElement(\n \"ol\",\n { className: \"breadcrumb hidden-xs\" },\n props.path.map(function (item) {\n return _react2.default.createElement(Breadcrumb, {\n key: item.id,\n node: item\n });\n })\n ),\n _react2.default.createElement(GoBack, props)\n )\n );\n};\n\nexports.Breadcrumb = Breadcrumb;\nexports.GoBack = GoBack;\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nfunction Breadcrumb(props) {\n return _react2.default.createElement(\n \"li\",\n null,\n _react2.default.createElement(\n \"a\",\n { href: props.node.url.index },\n props.node.name\n )\n );\n}\n\nfunction GoBack(props) {\n var lastItem = props.path[props.path.length - 1];\n\n return _react2.default.createElement(\n \"a\",\n { href: lastItem.url.index, className: \"go-back-sm visible-xs-block\" },\n _react2.default.createElement(\n \"span\",\n { className: \"material-icon\" },\n \"chevron_left\"\n ),\n lastItem.name\n );\n}\n/* jshint ignore:end */\n\n},{\"react\":\"react\"}],217:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.Moderation = Moderation;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _breadcrumbs = require('./breadcrumbs');\n\nvar _breadcrumbs2 = _interopRequireDefault(_breadcrumbs);\n\nvar _thread = require('../moderation/thread');\n\nvar _stats = require('./stats');\n\nvar _stats2 = _interopRequireDefault(_stats);\n\nvar _form = require('../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _validators = require('../../posting/utils/validators');\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _thread2 = require('../../../reducers/thread');\n\nvar thread = _interopRequireWildcard(_thread2);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.onChange = function (event) {\n _this.changeValue('title', event.target.value);\n };\n\n _this.onEdit = function () {\n _this.setState({\n isEditing: true\n });\n };\n\n _this.onCancel = function () {\n _this.setState({\n title: _this.props.thread.title,\n\n isEditing: false\n });\n };\n\n _this.state = {\n isEditing: false,\n isLoading: false,\n\n title: props.thread.title,\n\n validators: {\n title: (0, _validators.getTitleValidators)()\n },\n errors: {}\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'clean',\n value: function clean() {\n if (!this.state.title.trim().length) {\n _snackbar2.default.error(gettext(\"You have to enter thread title.\"));\n return false;\n }\n\n var errors = this.validate();\n\n if (errors.title) {\n _snackbar2.default.error(errors.title[0]);\n return false;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.patch(this.props.thread.api.index, [{ op: 'replace', path: 'title', value: this.state.title }]);\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(data) {\n _store2.default.dispatch(thread.update(data));\n\n this.setState({\n 'isEditing': false\n });\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n thread = _props.thread,\n user = _props.user;\n\n var showModeration = !!user.id && (0, _thread.isModerationVisible)(thread);\n\n if (this.state.isEditing) {\n return _react2.default.createElement(\n 'div',\n { className: 'page-header' },\n _react2.default.createElement(_breadcrumbs2.default, { path: thread.path }),\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'row xs-margin-top title-edit-form' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'col-sm-6 col-md-6' },\n _react2.default.createElement('input', {\n className: 'form-control',\n type: 'text',\n value: this.state.title,\n onChange: this.onChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-sm-6 col-md-4' },\n _react2.default.createElement(\n 'div',\n { className: 'row xs-margin-top-half sm-margin-top-no md-margin-top-no' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-6' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-primary btn-block btn-outline',\n disabled: this.state.isLoading,\n title: gettext(\"Change title\")\n },\n gettext(\"Save changes\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-6' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-block btn-outline',\n disabled: this.state.isLoading,\n onClick: this.onCancel,\n title: gettext(\"Cancel\"),\n type: 'button'\n },\n gettext(\"Cancel\")\n )\n )\n )\n )\n )\n )\n ),\n _react2.default.createElement(_stats2.default, { thread: thread })\n );\n } else if (user.id && thread.acl.can_edit) {\n return _react2.default.createElement(\n 'div',\n { className: 'page-header' },\n _react2.default.createElement(_breadcrumbs2.default, { path: thread.path }),\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: showModeration ? \"col-sm-9 col-md-8\" : \"col-sm-10 col-md-10\" },\n _react2.default.createElement(\n 'h1',\n null,\n thread.title\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: showModeration ? \"col-sm-3 col-md-4\" : \"col-sm-3 col-md-2\" },\n _react2.default.createElement(\n 'div',\n { className: 'row xs-margin-top md-margin-top-no' },\n _react2.default.createElement(\n 'div',\n { className: showModeration ? \"col-xs-6\" : \"col-xs-12\" },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-block btn-outline',\n onClick: this.onEdit,\n title: gettext(\"Edit title\"),\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'edit'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'hidden-sm' },\n gettext(\"Edit\")\n )\n )\n ),\n showModeration && _react2.default.createElement(Moderation, this.props)\n )\n )\n )\n ),\n _react2.default.createElement(_stats2.default, { thread: thread })\n );\n } else if (showModeration) {\n return _react2.default.createElement(\n 'div',\n { className: 'page-header' },\n _react2.default.createElement(_breadcrumbs2.default, { path: thread.path }),\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-sm-9 col-md-10' },\n _react2.default.createElement(\n 'h1',\n null,\n thread.title\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-sm-3 col-md-2' },\n _react2.default.createElement(\n 'div',\n { className: 'row xs-margin-top md-margin-top-no' },\n _react2.default.createElement(Moderation, _extends({\n isSingle: true\n }, this.props))\n )\n )\n )\n ),\n _react2.default.createElement(_stats2.default, { thread: thread })\n );\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'page-header' },\n _react2.default.createElement(_breadcrumbs2.default, { path: thread.path }),\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'h1',\n null,\n thread.title\n )\n ),\n _react2.default.createElement(_stats2.default, { thread: thread })\n );\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\nfunction Moderation(props) {\n return _react2.default.createElement(\n 'div',\n { className: props.isSingle ? \"col-xs-12\" : \"col-xs-6\" },\n _react2.default.createElement(\n 'div',\n { className: 'btn-group btn-group-justified' },\n _react2.default.createElement(\n 'div',\n { className: 'btn-group' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-expanded': 'false',\n 'aria-haspopup': 'true',\n className: 'btn btn-default btn-outline dropdown-toggle',\n 'data-toggle': 'dropdown',\n disabled: props.thread.isBusy,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'settings'\n ),\n _react2.default.createElement(\n 'span',\n { className: props.isSingle ? \"\" : \"hidden-sm\" },\n gettext(\"Moderation\")\n )\n ),\n _react2.default.createElement(_thread.ModerationControls, {\n posts: props.posts,\n thread: props.thread,\n user: props.user\n })\n )\n )\n );\n}\n\n},{\"../../../reducers/thread\":359,\"../../../services/ajax\":364,\"../../../services/snackbar\":375,\"../../../services/store\":376,\"../../form\":55,\"../../posting/utils/validators\":143,\"../moderation/thread\":226,\"./breadcrumbs\":216,\"./stats\":218,\"react\":\"react\"}],218:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Weight = Weight;\nexports.Unapproved = Unapproved;\nexports.IsHidden = IsHidden;\nexports.IsClosed = IsClosed;\nexports.Replies = Replies;\nexports.LastReply = LastReply;\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n { className: 'header-stats' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'ul',\n { className: 'list-inline' },\n _react2.default.createElement(Weight, { thread: props.thread }),\n _react2.default.createElement(Unapproved, { thread: props.thread }),\n _react2.default.createElement(IsHidden, { thread: props.thread }),\n _react2.default.createElement(IsClosed, { thread: props.thread }),\n _react2.default.createElement(Replies, { thread: props.thread }),\n _react2.default.createElement(LastReply, { thread: props.thread })\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _escapeHtml = require('../../../utils/escape-html');\n\nvar _escapeHtml2 = _interopRequireDefault(_escapeHtml);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nvar LAST_POSTER_URL = '%(user)s';\nvar LAST_POSTER_SPAN = '%(user)s';\nvar LAST_REPLY = '%(relative)s';\n\nfunction Weight(props) {\n if (props.thread.weight == 2) {\n return _react2.default.createElement(\n 'li',\n { className: 'thread-pinned-globally' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'bookmark'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'icon-legend' },\n gettext(\"Pinned globally\")\n )\n );\n } else if (props.thread.weight == 1) {\n return _react2.default.createElement(\n 'li',\n { className: 'thread-pinned-locally' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'bookmark_border'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'icon-legend' },\n gettext(\"Pinned locally\")\n )\n );\n } else {\n return null;\n }\n}\n\nfunction Unapproved(props) {\n if (props.thread.is_unapproved) {\n return _react2.default.createElement(\n 'li',\n { className: 'thread-unapproved' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'remove_circle'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'icon-legend' },\n gettext(\"Unapproved\")\n )\n );\n } else if (props.thread.has_unapproved_posts) {\n return _react2.default.createElement(\n 'li',\n { className: 'thread-unapproved-posts' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'remove_circle_outline'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'icon-legend' },\n gettext(\"Unapproved posts\")\n )\n );\n } else {\n return null;\n }\n}\n\nfunction IsHidden(props) {\n if (props.thread.is_hidden) {\n return _react2.default.createElement(\n 'li',\n { className: 'thread-hidden' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'visibility_off'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'icon-legend' },\n gettext(\"Hidden\")\n )\n );\n } else {\n return null;\n }\n}\n\nfunction IsClosed(props) {\n if (props.thread.is_closed) {\n return _react2.default.createElement(\n 'li',\n { className: 'thread-closed' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'lock_outline'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'icon-legend' },\n gettext(\"Closed\")\n )\n );\n } else {\n return null;\n }\n}\n\nfunction Replies(props) {\n var message = ngettext(\"%(replies)s reply\", \"%(replies)s replies\", props.thread.replies);\n var legend = interpolate(message, { 'replies': props.thread.replies }, true);\n\n return _react2.default.createElement(\n 'li',\n { className: 'thread-replies' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'forum'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'icon-legend' },\n legend\n )\n );\n}\n\n/* jshint ignore:end */\nfunction LastReply(props) {\n var user = null;\n if (props.thread.url.last_poster) {\n user = interpolate(LAST_POSTER_URL, {\n url: (0, _escapeHtml2.default)(props.thread.url.last_poster),\n user: (0, _escapeHtml2.default)(props.thread.last_poster_name)\n }, true);\n } else {\n user = interpolate(LAST_POSTER_SPAN, {\n user: (0, _escapeHtml2.default)(props.thread.last_poster_name)\n }, true);\n };\n\n var date = interpolate(LAST_REPLY, {\n absolute: (0, _escapeHtml2.default)(props.thread.last_post_on.format('LLL')),\n relative: (0, _escapeHtml2.default)(props.thread.last_post_on.fromNow())\n }, true);\n\n var message = interpolate((0, _escapeHtml2.default)(gettext(\"last reply by %(user)s %(date)s\")), {\n date: date, user: user\n }, true);\n\n return _react2.default.createElement('li', { className: 'thread-last-reply', dangerouslySetInnerHTML: { __html: message } });\n}\n\n},{\"../../../utils/escape-html\":382,\"react\":\"react\"}],219:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.approve = approve;\nexports.protect = protect;\nexports.unprotect = unprotect;\nexports.hide = hide;\nexports.unhide = unhide;\nexports.patch = patch;\nexports.merge = merge;\nexports.remove = remove;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _post = require('../../../../reducers/post');\n\nvar post = _interopRequireWildcard(_post);\n\nvar _posts = require('../../../../reducers/posts');\n\nvar posts = _interopRequireWildcard(_posts);\n\nvar _ajax = require('../../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _errorsList = require('./errors-list');\n\nvar _errorsList2 = _interopRequireDefault(_errorsList);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:line\n\nfunction approve(props) {\n var selection = props.selection;\n\n\n var ops = [{ 'op': 'replace', 'path': 'is-unapproved', 'value': false }];\n\n var newState = selection.map(function (post) {\n return {\n id: post.id,\n is_unapproved: false\n };\n });\n\n var previousState = selection.map(function (post) {\n return {\n id: post.id,\n is_unapproved: post.is_unapproved\n };\n });\n\n patch(props, ops, newState, previousState);\n} // jshint ignore:line\n// jshint ignore:line\nfunction protect(props) {\n var selection = props.selection;\n\n\n var ops = [{ 'op': 'replace', 'path': 'is-protected', 'value': true }];\n\n var newState = selection.map(function (post) {\n return {\n id: post.id,\n is_protected: true\n };\n });\n\n var previousState = selection.map(function (post) {\n return {\n id: post.id,\n is_protected: post.is_protected\n };\n });\n\n patch(props, ops, newState, previousState);\n}\n\nfunction unprotect(props) {\n var selection = props.selection;\n\n\n var ops = [{ 'op': 'replace', 'path': 'is-protected', 'value': false }];\n\n var newState = selection.map(function (post) {\n return {\n id: post.id,\n is_protected: false\n };\n });\n\n var previousState = selection.map(function (post) {\n return {\n id: post.id,\n is_protected: post.is_protected\n };\n });\n\n patch(props, ops, newState, previousState);\n}\n\nfunction hide(props) {\n var selection = props.selection;\n\n\n var ops = [{ 'op': 'replace', 'path': 'is-hidden', 'value': true }];\n\n var newState = selection.map(function (post) {\n return {\n id: post.id,\n is_hidden: true,\n hidden_on: (0, _moment2.default)(),\n hidden_by_name: props.user.username,\n url: Object.assign(post.url, {\n hidden_by: props.user.url\n })\n };\n });\n\n var previousState = selection.map(function (post) {\n return {\n id: post.id,\n is_hidden: post.is_hidden,\n hidden_on: post.hidden_on,\n hidden_by_name: post.hidden_by_name,\n url: post.url\n };\n });\n\n patch(props, ops, newState, previousState);\n}\n\nfunction unhide(props) {\n var selection = props.selection;\n\n\n var ops = [{ 'op': 'replace', 'path': 'is-hidden', 'value': false }];\n\n var newState = selection.map(function (post) {\n return {\n id: post.id,\n is_hidden: false,\n hidden_on: (0, _moment2.default)(),\n hidden_by_name: props.user.username,\n url: Object.assign(post.url, {\n hidden_by: props.user.url\n })\n };\n });\n\n var previousState = selection.map(function (post) {\n return {\n id: post.id,\n is_hidden: post.is_hidden,\n hidden_on: post.hidden_on,\n hidden_by_name: post.hidden_by_name,\n url: post.url\n };\n });\n\n patch(props, ops, newState, previousState);\n}\n\nfunction patch(props, ops, newState, previousState) {\n var selection = props.selection,\n thread = props.thread;\n\n // patch selected items\n\n newState.forEach(function (item) {\n post.patch(item, item);\n });\n\n // deselect all the things\n _store2.default.dispatch(posts.deselectAll());\n\n // call ajax\n var data = {\n ops: ops,\n\n ids: selection.map(function (post) {\n return post.id;\n })\n };\n\n _ajax2.default.patch(thread.api.posts.index, data).then(function (data) {\n data.forEach(function (item) {\n _store2.default.dispatch(post.patch(item, item));\n });\n }, function (rejection) {\n if (rejection.status !== 400) {\n // rollback all\n previousState.forEach(function (item) {\n _store2.default.dispatch(post.patch(item, item));\n });\n return _snackbar2.default.apiError(rejection);\n }\n\n var errors = [];\n var rollback = [];\n\n rejection.forEach(function (item) {\n if (item.detail) {\n errors.push(item);\n rollback.push(item.id);\n } else {\n _store2.default.dispatch(post.patch(item, item));\n }\n\n previousState.forEach(function (item) {\n if (rollback.indexOf(item) !== -1) {\n _store2.default.dispatch(post.patch(item, item));\n }\n });\n });\n\n var posts = {};\n selection.forEach(function (item) {\n posts[item.id] = item;\n });\n\n /* jshint ignore:start */\n _modal2.default.show(_react2.default.createElement(_errorsList2.default, {\n errors: errors,\n posts: posts\n }));\n /* jshint ignore:end */\n });\n}\n\nfunction merge(props) {\n var confirmed = confirm(gettext(\"Are you sure you want to merge selected posts? This action is not reversible!\"));\n if (!confirmed) {\n return;\n }\n\n props.selection.slice(1).map(function (selection) {\n _store2.default.dispatch(post.patch(selection, {\n isDeleted: true\n }));\n });\n\n _ajax2.default.post(props.thread.api.posts.merge, {\n posts: props.selection.map(function (post) {\n return post.id;\n })\n }).then(function (data) {\n _store2.default.dispatch(post.patch(data, post.hydrate(data)));\n }, function (rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n\n props.selection.slice(1).map(function (selection) {\n _store2.default.dispatch(post.patch(selection, {\n isDeleted: false\n }));\n });\n });\n\n _store2.default.dispatch(posts.deselectAll());\n}\n\nfunction remove(props) {\n var confirmed = confirm(gettext(\"Are you sure you want to delete selected posts? This action is not reversible!\"));\n if (!confirmed) {\n return;\n }\n\n props.selection.map(function (selection) {\n _store2.default.dispatch(post.patch(selection, {\n isDeleted: true\n }));\n });\n\n var ids = props.selection.map(function (post) {\n return post.id;\n });\n\n _ajax2.default.delete(props.thread.api.posts.index, ids).then(function () {\n return;\n }, function (rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n\n props.selection.map(function (selection) {\n _store2.default.dispatch(post.patch(selection, {\n isDeleted: false\n }));\n });\n });\n\n _store2.default.dispatch(posts.deselectAll());\n}\n\n},{\"../../../../reducers/post\":352,\"../../../../reducers/posts\":353,\"../../../../services/ajax\":364,\"../../../../services/modal\":370,\"../../../../services/snackbar\":375,\"../../../../services/store\":376,\"./errors-list\":221,\"moment\":\"moment\",\"react\":\"react\"}],220:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Delete = exports.Unhide = exports.Hide = exports.Unprotect = exports.Protect = exports.Split = exports.Move = exports.Merge = exports.Approve = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'ul',\n { className: 'dropdown-menu' },\n _react2.default.createElement(Approve, props),\n _react2.default.createElement(Merge, props),\n _react2.default.createElement(Move, props),\n _react2.default.createElement(Split, props),\n _react2.default.createElement(Protect, props),\n _react2.default.createElement(Unprotect, props),\n _react2.default.createElement(Unhide, props),\n _react2.default.createElement(Hide, props),\n _react2.default.createElement(Delete, props)\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _modal = require('../../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _actions = require('./actions');\n\nvar moderation = _interopRequireWildcard(_actions);\n\nvar _move = require('./move');\n\nvar _move2 = _interopRequireDefault(_move);\n\nvar _split = require('./split');\n\nvar _split2 = _interopRequireDefault(_split);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar Approve = exports.Approve = function (_React$Component) {\n _inherits(Approve, _React$Component);\n\n function Approve() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Approve);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Approve.__proto__ || Object.getPrototypeOf(Approve)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n moderation.approve(_this.props);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Approve, [{\n key: 'render',\n value: function render() {\n var isVisible = this.props.selection.find(function (post) {\n return post.acl.can_approve && post.is_unapproved;\n });\n\n if (!isVisible) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-link', onClick: this.onClick },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'done'\n ),\n gettext(\"Approve\")\n )\n );\n }\n }]);\n\n return Approve;\n}(_react2.default.Component);\n\nvar Merge = exports.Merge = function (_React$Component2) {\n _inherits(Merge, _React$Component2);\n\n function Merge() {\n var _ref2;\n\n var _temp2, _this2, _ret2;\n\n _classCallCheck(this, Merge);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, (_ref2 = Merge.__proto__ || Object.getPrototypeOf(Merge)).call.apply(_ref2, [this].concat(args))), _this2), _this2.onClick = function () {\n moderation.merge(_this2.props);\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n }\n\n _createClass(Merge, [{\n key: 'render',\n value: function render() {\n var isVisible = this.props.selection.length > 1 && this.props.selection.find(function (post) {\n return post.acl.can_merge;\n });\n\n if (!isVisible) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-link', onClick: this.onClick },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'call_merge'\n ),\n gettext(\"Merge\")\n )\n );\n }\n }]);\n\n return Merge;\n}(_react2.default.Component);\n\nvar Move = exports.Move = function (_React$Component3) {\n _inherits(Move, _React$Component3);\n\n function Move() {\n var _ref3;\n\n var _temp3, _this3, _ret3;\n\n _classCallCheck(this, Move);\n\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _ret3 = (_temp3 = (_this3 = _possibleConstructorReturn(this, (_ref3 = Move.__proto__ || Object.getPrototypeOf(Move)).call.apply(_ref3, [this].concat(args))), _this3), _this3.onClick = function () {\n _modal2.default.show(_react2.default.createElement(_move2.default, _this3.props));\n }, _temp3), _possibleConstructorReturn(_this3, _ret3);\n }\n\n _createClass(Move, [{\n key: 'render',\n value: function render() {\n var isVisible = this.props.selection.find(function (post) {\n return post.acl.can_move;\n });\n\n if (!isVisible) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-link', onClick: this.onClick },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'arrow_forward'\n ),\n gettext(\"Move\")\n )\n );\n }\n }]);\n\n return Move;\n}(_react2.default.Component);\n\nvar Split = exports.Split = function (_React$Component4) {\n _inherits(Split, _React$Component4);\n\n function Split() {\n var _ref4;\n\n var _temp4, _this4, _ret4;\n\n _classCallCheck(this, Split);\n\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _ret4 = (_temp4 = (_this4 = _possibleConstructorReturn(this, (_ref4 = Split.__proto__ || Object.getPrototypeOf(Split)).call.apply(_ref4, [this].concat(args))), _this4), _this4.onClick = function () {\n _modal2.default.show(_react2.default.createElement(_split2.default, _this4.props));\n }, _temp4), _possibleConstructorReturn(_this4, _ret4);\n }\n\n _createClass(Split, [{\n key: 'render',\n value: function render() {\n var isVisible = this.props.selection.find(function (post) {\n return post.acl.can_move;\n });\n\n if (!isVisible) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-link', onClick: this.onClick },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'call_split'\n ),\n gettext(\"Split\")\n )\n );\n }\n }]);\n\n return Split;\n}(_react2.default.Component);\n\nvar Protect = exports.Protect = function (_React$Component5) {\n _inherits(Protect, _React$Component5);\n\n function Protect() {\n var _ref5;\n\n var _temp5, _this5, _ret5;\n\n _classCallCheck(this, Protect);\n\n for (var _len5 = arguments.length, args = Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n return _ret5 = (_temp5 = (_this5 = _possibleConstructorReturn(this, (_ref5 = Protect.__proto__ || Object.getPrototypeOf(Protect)).call.apply(_ref5, [this].concat(args))), _this5), _this5.onClick = function () {\n moderation.protect(_this5.props);\n }, _temp5), _possibleConstructorReturn(_this5, _ret5);\n }\n\n _createClass(Protect, [{\n key: 'render',\n value: function render() {\n var isVisible = this.props.selection.find(function (post) {\n return !post.is_protected && post.acl.can_protect;\n });\n\n if (!isVisible) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-link', onClick: this.onClick },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'lock_outline'\n ),\n gettext(\"Protect\")\n )\n );\n }\n }]);\n\n return Protect;\n}(_react2.default.Component);\n\nvar Unprotect = exports.Unprotect = function (_React$Component6) {\n _inherits(Unprotect, _React$Component6);\n\n function Unprotect() {\n var _ref6;\n\n var _temp6, _this6, _ret6;\n\n _classCallCheck(this, Unprotect);\n\n for (var _len6 = arguments.length, args = Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n return _ret6 = (_temp6 = (_this6 = _possibleConstructorReturn(this, (_ref6 = Unprotect.__proto__ || Object.getPrototypeOf(Unprotect)).call.apply(_ref6, [this].concat(args))), _this6), _this6.onClick = function () {\n moderation.unprotect(_this6.props);\n }, _temp6), _possibleConstructorReturn(_this6, _ret6);\n }\n\n _createClass(Unprotect, [{\n key: 'render',\n value: function render() {\n var isVisible = this.props.selection.find(function (post) {\n return post.is_protected && post.acl.can_protect;\n });\n\n if (!isVisible) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-link', onClick: this.onClick },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'lock_open'\n ),\n gettext(\"Unprotect\")\n )\n );\n }\n }]);\n\n return Unprotect;\n}(_react2.default.Component);\n\nvar Hide = exports.Hide = function (_React$Component7) {\n _inherits(Hide, _React$Component7);\n\n function Hide() {\n var _ref7;\n\n var _temp7, _this7, _ret7;\n\n _classCallCheck(this, Hide);\n\n for (var _len7 = arguments.length, args = Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n return _ret7 = (_temp7 = (_this7 = _possibleConstructorReturn(this, (_ref7 = Hide.__proto__ || Object.getPrototypeOf(Hide)).call.apply(_ref7, [this].concat(args))), _this7), _this7.onClick = function () {\n moderation.hide(_this7.props);\n }, _temp7), _possibleConstructorReturn(_this7, _ret7);\n }\n\n _createClass(Hide, [{\n key: 'render',\n value: function render() {\n var isVisible = this.props.selection.find(function (post) {\n return post.acl.can_hide && !post.is_hidden;\n });\n\n if (!isVisible) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-link', onClick: this.onClick },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'visibility_off'\n ),\n gettext(\"Hide\")\n )\n );\n }\n }]);\n\n return Hide;\n}(_react2.default.Component);\n\nvar Unhide = exports.Unhide = function (_React$Component8) {\n _inherits(Unhide, _React$Component8);\n\n function Unhide() {\n var _ref8;\n\n var _temp8, _this8, _ret8;\n\n _classCallCheck(this, Unhide);\n\n for (var _len8 = arguments.length, args = Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n args[_key8] = arguments[_key8];\n }\n\n return _ret8 = (_temp8 = (_this8 = _possibleConstructorReturn(this, (_ref8 = Unhide.__proto__ || Object.getPrototypeOf(Unhide)).call.apply(_ref8, [this].concat(args))), _this8), _this8.onClick = function () {\n moderation.unhide(_this8.props);\n }, _temp8), _possibleConstructorReturn(_this8, _ret8);\n }\n\n _createClass(Unhide, [{\n key: 'render',\n value: function render() {\n var isVisible = this.props.selection.find(function (post) {\n return post.acl.can_unhide && post.is_hidden;\n });\n\n if (!isVisible) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-link', onClick: this.onClick },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'visibility'\n ),\n gettext(\"Unhide\")\n )\n );\n }\n }]);\n\n return Unhide;\n}(_react2.default.Component);\n\nvar Delete = exports.Delete = function (_React$Component9) {\n _inherits(Delete, _React$Component9);\n\n function Delete() {\n var _ref9;\n\n var _temp9, _this9, _ret9;\n\n _classCallCheck(this, Delete);\n\n for (var _len9 = arguments.length, args = Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n args[_key9] = arguments[_key9];\n }\n\n return _ret9 = (_temp9 = (_this9 = _possibleConstructorReturn(this, (_ref9 = Delete.__proto__ || Object.getPrototypeOf(Delete)).call.apply(_ref9, [this].concat(args))), _this9), _this9.onClick = function () {\n moderation.remove(_this9.props);\n }, _temp9), _possibleConstructorReturn(_this9, _ret9);\n }\n\n _createClass(Delete, [{\n key: 'render',\n value: function render() {\n var isVisible = this.props.selection.find(function (post) {\n return post.acl.can_delete;\n });\n\n if (!isVisible) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-link', onClick: this.onClick },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'clear'\n ),\n gettext(\"Delete\")\n )\n );\n }\n }]);\n\n return Delete;\n}(_react2.default.Component);\n\n},{\"../../../../services/modal\":370,\"./actions\":219,\"./move\":223,\"./split\":224,\"react\":\"react\"}],221:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var errors = _ref.errors,\n posts = _ref.posts;\n\n return _react2.default.createElement(\n \"div\",\n { className: \"modal-dialog\", role: \"document\" },\n _react2.default.createElement(\n \"div\",\n { className: \"modal-content\" },\n _react2.default.createElement(\n \"div\",\n { className: \"modal-header\" },\n _react2.default.createElement(\n \"button\",\n {\n \"aria-label\": gettext(\"Close\"),\n className: \"close\",\n \"data-dismiss\": \"modal\",\n type: \"button\"\n },\n _react2.default.createElement(\n \"span\",\n { \"aria-hidden\": \"true\" },\n \"\\xD7\"\n )\n ),\n _react2.default.createElement(\n \"h4\",\n { className: \"modal-title\" },\n gettext(\"Moderation\")\n )\n ),\n _react2.default.createElement(\n \"div\",\n { className: \"modal-body\" },\n _react2.default.createElement(\n \"p\",\n { className: \"lead\" },\n gettext(\"One or more posts could not be changed:\")\n ),\n _react2.default.createElement(\n \"ul\",\n { className: \"list-unstyled list-errored-items\" },\n errors.map(function (post) {\n return _react2.default.createElement(PostErrors, {\n errors: post.detail,\n key: post.id,\n post: posts[post.id]\n });\n })\n )\n )\n )\n );\n};\n\nexports.PostErrors = PostErrors;\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nfunction PostErrors(_ref2) {\n var errors = _ref2.errors,\n post = _ref2.post;\n\n var heading = interpolate(gettext(\"%(username)s on %(posted_on)s\"), {\n posted_on: post.posted_on.format('LL, LT'),\n username: post.poster_name\n }, true);\n\n return _react2.default.createElement(\n \"li\",\n null,\n _react2.default.createElement(\n \"h5\",\n null,\n heading,\n \":\"\n ),\n errors.map(function (error, i) {\n return _react2.default.createElement(\n \"p\",\n { key: i },\n error\n );\n })\n );\n}\n\n},{\"react\":\"react\"}],222:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /* jshint ignore:start */\n\n\nexports.default = function (props) {\n if (!props.user.id || !isVisible(props.thread, props.posts.results)) {\n return null;\n }\n\n var selection = props.posts.results.filter(function (post) {\n return post.isSelected;\n });\n\n return _react2.default.createElement(\n 'div',\n { className: 'dropup' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-expanded': 'true',\n 'aria-haspopup': 'true',\n className: 'btn btn-default dropdown-toggle btn-block btn-outline',\n 'data-toggle': 'dropdown',\n disabled: !selection.length,\n type: 'button'\n },\n gettext(\"Posts options\")\n ),\n _react2.default.createElement(_dropdown2.default, _extends({ selection: selection }, props))\n );\n};\n\nexports.isVisible = isVisible;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _dropdown = require('./dropdown');\n\nvar _dropdown2 = _interopRequireDefault(_dropdown);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction isVisible(thread, posts) {\n if (thread.acl.can_merge_posts && posts.length > 1) {\n // fast test: show moderation menu if we can merge posts\n return true;\n }\n\n // slow test: show moderation if any of posts has moderation options\n var visible = false;\n posts.forEach(function (post) {\n if (!post.is_event) {\n var showModeration = post.acl.can_approve && post.is_unapproved || post.acl.can_delete || !post.is_hidden && post.acl.can_hide || post.acl.can_move || post.acl.can_merge || post.acl.can_protect || post.is_hidden && post.acl.can_unhide || post.acl.can_unprotect;\n\n if (showModeration) {\n visible = true;\n }\n }\n });\n return visible;\n}\n\n},{\"./dropdown\":220,\"react\":\"react\"}],223:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.ModalHeader = ModalHeader;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _post = require('../../../../reducers/post');\n\nvar post = _interopRequireWildcard(_post);\n\nvar _ajax = require('../../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.onUrlChange = function (event) {\n _this.changeValue('url', event.target.value);\n };\n\n _this.state = {\n isLoading: false,\n\n url: '',\n\n validators: {\n url: []\n },\n errors: {}\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'clean',\n value: function clean() {\n if (!this.state.url.trim().length) {\n _snackbar2.default.error(gettext(\"You have to enter link to the other thread.\"));\n return false;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.thread.api.posts.move, {\n new_thread: this.state.url,\n posts: this.props.selection.map(function (post) {\n return post.id;\n })\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(success) {\n this.props.selection.forEach(function (selection) {\n _store2.default.dispatch(post.patch(selection, {\n isDeleted: true\n }));\n });\n\n _modal2.default.hide();\n\n _snackbar2.default.success(gettext(\"Selected posts were moved to the other thread.\"));\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-dialog', role: 'document' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(ModalHeader, null),\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n _formGroup2.default,\n {\n 'for': 'id_url',\n label: gettext(\"Link to thread you want to move posts to\")\n },\n _react2.default.createElement('input', {\n className: 'form-control',\n disabled: this.state.isLoading,\n id: 'id_url',\n onChange: this.onUrlChange,\n value: this.state.url\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n disabled: this.state.isLoading,\n type: 'button'\n },\n gettext(\"Cancel\")\n ),\n _react2.default.createElement(\n 'button',\n { className: 'btn btn-primary', loading: this.state.isLoading },\n gettext(\"Move posts\")\n )\n )\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\nfunction ModalHeader(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-label': gettext(\"Close\"),\n className: 'close',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Move posts\")\n )\n );\n}\n\n},{\"../../../../reducers/post\":352,\"../../../../services/ajax\":364,\"../../../../services/modal\":370,\"../../../../services/snackbar\":375,\"../../../../services/store\":376,\"../../../button\":8,\"../../../form\":55,\"../../../form-group\":54,\"react\":\"react\"}],224:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ModerationForm = exports.PostingConfig = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /* jshint ignore:start */\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nexports.default = function (props) {\n return _react2.default.createElement(PostingConfig, _extends({}, props, { Form: ModerationForm }));\n};\n\nexports.Loader = Loader;\nexports.Error = Error;\nexports.Modal = Modal;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _categorySelect = require('../../../category-select');\n\nvar _categorySelect2 = _interopRequireDefault(_categorySelect);\n\nvar _modalLoader = require('../../../modal-loader');\n\nvar _modalLoader2 = _interopRequireDefault(_modalLoader);\n\nvar _select = require('../../../select');\n\nvar _select2 = _interopRequireDefault(_select);\n\nvar _post = require('../../../../reducers/post');\n\nvar post = _interopRequireWildcard(_post);\n\nvar _ajax = require('../../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _validators = require('../../../../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar PostingConfig = exports.PostingConfig = function (_React$Component) {\n _inherits(PostingConfig, _React$Component);\n\n function PostingConfig(props) {\n _classCallCheck(this, PostingConfig);\n\n var _this = _possibleConstructorReturn(this, (PostingConfig.__proto__ || Object.getPrototypeOf(PostingConfig)).call(this, props));\n\n _this.state = {\n isLoaded: false,\n isError: false,\n\n categories: []\n };\n return _this;\n }\n\n _createClass(PostingConfig, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n _ajax2.default.get(misago.get('THREAD_EDITOR_API')).then(function (data) {\n // hydrate categories, extract posting options\n var categories = data.map(function (item) {\n return Object.assign(item, {\n disabled: item.post === false,\n label: item.name,\n value: item.id,\n post: item.post\n });\n });\n\n _this2.setState({\n isLoaded: true,\n categories: categories\n });\n }, function (rejection) {\n _this2.setState({\n isError: rejection.detail\n });\n });\n }\n }, {\n key: 'render',\n value: function render() {\n if (this.state.isError) {\n return _react2.default.createElement(Error, { message: this.state.isError });\n } else if (this.state.isLoaded) {\n return _react2.default.createElement(ModerationForm, _extends({}, this.props, { categories: this.state.categories }));\n } else {\n return _react2.default.createElement(Loader, null);\n }\n }\n }]);\n\n return PostingConfig;\n}(_react2.default.Component);\n\nvar ModerationForm = exports.ModerationForm = function (_Form) {\n _inherits(ModerationForm, _Form);\n\n function ModerationForm(props) {\n _classCallCheck(this, ModerationForm);\n\n var _this3 = _possibleConstructorReturn(this, (ModerationForm.__proto__ || Object.getPrototypeOf(ModerationForm)).call(this, props));\n\n _this3.onCategoryChange = function (ev) {\n var categoryId = ev.target.value;\n var newState = {\n category: categoryId\n };\n\n if (_this3.acl[categoryId].can_pin_threads < newState.weight) {\n newState.weight = 0;\n }\n\n if (!_this3.acl[categoryId].can_hide_threads) {\n newState.is_hidden = 0;\n }\n\n if (!_this3.acl[categoryId].can_close_threads) {\n newState.is_closed = false;\n }\n\n _this3.setState(newState);\n };\n\n _this3.state = {\n isLoading: false,\n\n title: '',\n category: null,\n categories: props.categories,\n weight: 0,\n is_hidden: 0,\n is_closed: false,\n\n validators: {\n title: [validators.required()]\n },\n\n errors: {}\n };\n\n _this3.isHiddenChoices = [{\n 'value': 0,\n 'icon': 'visibility',\n 'label': gettext(\"No\")\n }, {\n 'value': 1,\n 'icon': 'visibility_off',\n 'label': gettext(\"Yes\")\n }];\n\n _this3.isClosedChoices = [{\n 'value': false,\n 'icon': 'lock_outline',\n 'label': gettext(\"No\")\n }, {\n 'value': true,\n 'icon': 'lock',\n 'label': gettext(\"Yes\")\n }];\n\n _this3.acl = {};\n _this3.props.categories.forEach(function (category) {\n if (category.post) {\n if (!_this3.state.category) {\n _this3.state.category = category.id;\n }\n\n _this3.acl[category.id] = {\n can_pin_threads: category.post.pin,\n can_close_threads: category.post.close,\n can_hide_threads: category.post.hide\n };\n }\n });\n return _this3;\n }\n\n _createClass(ModerationForm, [{\n key: 'clean',\n value: function clean() {\n if (this.isValid()) {\n return true;\n } else {\n _snackbar2.default.error(gettext(\"Form contains errors.\"));\n this.setState({\n errors: this.validate()\n });\n return false;\n }\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.thread.api.posts.split, {\n title: this.state.title,\n category: this.state.category,\n weight: this.state.weight,\n is_hidden: this.state.is_hidden,\n is_closed: this.state.is_closed,\n posts: this.props.selection.map(function (post) {\n return post.id;\n })\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(apiResponse) {\n this.props.selection.forEach(function (selection) {\n _store2.default.dispatch(post.patch(selection, {\n isDeleted: true\n }));\n });\n\n _modal2.default.hide();\n\n _snackbar2.default.success(gettext(\"Selected posts were split into new thread.\"));\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n this.setState({\n 'errors': Object.assign({}, this.state.errors, rejection)\n });\n _snackbar2.default.error(gettext(\"Form contains errors.\"));\n } else if (rejection.status === 403 && Array.isArray(rejection)) {\n _modal2.default.show(_react2.default.createElement(ErrorsModal, { errors: rejection }));\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'getWeightChoices',\n value: function getWeightChoices() {\n var choices = [{\n 'value': 0,\n 'icon': 'remove',\n 'label': gettext(\"Not pinned\")\n }, {\n 'value': 1,\n 'icon': 'bookmark_border',\n 'label': gettext(\"Pinned locally\")\n }];\n\n if (this.acl[this.state.category].can_pin_threads == 2) {\n choices.push({\n 'value': 2,\n 'icon': 'bookmark',\n 'label': gettext(\"Pinned globally\")\n });\n }\n\n return choices;\n }\n }, {\n key: 'renderWeightField',\n value: function renderWeightField() {\n if (this.acl[this.state.category].can_pin_threads) {\n return _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Thread weight\"),\n 'for': 'id_weight',\n labelClass: 'col-sm-4', controlClass: 'col-sm-8' },\n _react2.default.createElement(_select2.default, { id: 'id_weight',\n onChange: this.bindInput('weight'),\n value: this.state.weight,\n choices: this.getWeightChoices() })\n );\n } else {\n return null;\n }\n }\n }, {\n key: 'renderHiddenField',\n value: function renderHiddenField() {\n if (this.acl[this.state.category].can_hide_threads) {\n return _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Hide thread\"),\n 'for': 'id_is_hidden',\n labelClass: 'col-sm-4', controlClass: 'col-sm-8' },\n _react2.default.createElement(_select2.default, { id: 'id_is_closed',\n onChange: this.bindInput('is_hidden'),\n value: this.state.is_hidden,\n choices: this.isHiddenChoices })\n );\n } else {\n return null;\n }\n }\n }, {\n key: 'renderClosedField',\n value: function renderClosedField() {\n if (this.acl[this.state.category].can_close_threads) {\n return _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Close thread\"),\n 'for': 'id_is_closed',\n labelClass: 'col-sm-4', controlClass: 'col-sm-8' },\n _react2.default.createElement(_select2.default, { id: 'id_is_closed',\n onChange: this.bindInput('is_closed'),\n value: this.state.is_closed,\n choices: this.isClosedChoices })\n );\n } else {\n return null;\n }\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n Modal,\n { className: 'modal-dialog' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Thread title\"),\n 'for': 'id_title',\n labelClass: 'col-sm-4', controlClass: 'col-sm-8',\n validation: this.state.errors.title },\n _react2.default.createElement('input', { id: 'id_title',\n className: 'form-control',\n type: 'text',\n onChange: this.bindInput('title'),\n value: this.state.title })\n ),\n _react2.default.createElement('div', { className: 'clearfix' }),\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Category\"),\n 'for': 'id_category',\n labelClass: 'col-sm-4', controlClass: 'col-sm-8',\n validation: this.state.errors.category },\n _react2.default.createElement(_categorySelect2.default, { id: 'id_category',\n onChange: this.onCategoryChange,\n value: this.state.category,\n choices: this.state.categories })\n ),\n _react2.default.createElement('div', { className: 'clearfix' }),\n this.renderWeightField(),\n this.renderHiddenField(),\n this.renderClosedField()\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n disabled: this.state.isLoading,\n type: 'button'\n },\n gettext(\"Cancel\")\n ),\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary', loading: this.state.isLoading },\n gettext(\"Split posts\")\n )\n )\n )\n );\n }\n }]);\n\n return ModerationForm;\n}(_form2.default);\n\nfunction Loader() {\n return _react2.default.createElement(\n Modal,\n { className: 'modal-dialog' },\n _react2.default.createElement(_modalLoader2.default, null)\n );\n}\n\nfunction Error(props) {\n return _react2.default.createElement(\n Modal,\n { className: 'modal-dialog modal-message' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'info_outline'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"You can't move selected posts at the moment.\")\n ),\n _react2.default.createElement(\n 'p',\n null,\n props.message\n ),\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n gettext(\"Ok\")\n )\n )\n );\n}\n\nfunction Modal(props) {\n return _react2.default.createElement(\n 'div',\n { className: props.className, role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-label': gettext(\"Close\"),\n className: 'close',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Split posts into new thread\")\n )\n ),\n props.children\n )\n );\n}\n\n},{\"../../../../reducers/post\":352,\"../../../../services/ajax\":364,\"../../../../services/modal\":370,\"../../../../services/snackbar\":375,\"../../../../services/store\":376,\"../../../../utils/validators\":392,\"../../../button\":8,\"../../../category-select\":21,\"../../../form\":55,\"../../../form-group\":54,\"../../../modal-loader\":60,\"../../../select\":209,\"react\":\"react\"}],225:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _merge = require('./merge');\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _move = require('./move');\n\nvar _move2 = _interopRequireDefault(_move);\n\nvar _thread = require('../../../../reducers/thread');\n\nvar thread = _interopRequireWildcard(_thread);\n\nvar _ajax = require('../../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.callApi = function (ops, successMessage) {\n _store2.default.dispatch(thread.busy());\n\n // by the chance update thread acl too\n ops.push({ op: 'add', path: 'acl', value: true });\n\n _ajax2.default.patch(_this.props.thread.api.index, ops).then(function (data) {\n _store2.default.dispatch(thread.update(data));\n _store2.default.dispatch(thread.release());\n _snackbar2.default.success(successMessage);\n }, function (rejection) {\n _store2.default.dispatch(thread.release());\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n });\n }, _this.pinGlobally = function () {\n _this.callApi([{\n op: 'replace',\n path: 'weight',\n value: 2\n }], gettext(\"Thread has been pinned globally.\"));\n }, _this.pinLocally = function () {\n _this.callApi([{\n op: 'replace',\n path: 'weight',\n value: 1\n }], gettext(\"Thread has been pinned locally.\"));\n }, _this.unpin = function () {\n _this.callApi([{\n op: 'replace',\n path: 'weight',\n value: 0\n }], gettext(\"Thread has been unpinned.\"));\n }, _this.approve = function () {\n _this.callApi([{\n op: 'replace',\n path: 'is-unapproved',\n value: false\n }], gettext(\"Thread has been approved.\"));\n }, _this.open = function () {\n _this.callApi([{\n op: 'replace',\n path: 'is-closed',\n value: false\n }], gettext(\"Thread has been opened.\"));\n }, _this.close = function () {\n _this.callApi([{\n op: 'replace',\n path: 'is-closed',\n value: true\n }], gettext(\"Thread has been closed.\"));\n }, _this.unhide = function () {\n _this.callApi([{\n op: 'replace',\n path: 'is-hidden',\n value: false\n }], gettext(\"Thread has been made visible.\"));\n }, _this.hide = function () {\n _this.callApi([{\n op: 'replace',\n path: 'is-hidden',\n value: true\n }], gettext(\"Thread has been made hidden.\"));\n }, _this.move = function () {\n _modal2.default.show(_react2.default.createElement(_move2.default, {\n posts: _this.props.posts,\n thread: _this.props.thread\n }));\n }, _this.merge = function () {\n _modal2.default.show(_react2.default.createElement(_merge2.default, { thread: _this.props.thread }));\n }, _this.delete = function () {\n if (!confirm(gettext(\"Are you sure you want to delete this thread?\"))) {\n return;\n }\n\n _store2.default.dispatch(thread.busy());\n\n _ajax2.default.delete(_this.props.thread.api.index).then(function (data) {\n _snackbar2.default.success(gettext(\"Thread has been deleted.\"));\n window.location = _this.props.thread.category.url.index;\n }, function (rejection) {\n _store2.default.dispatch(thread.release());\n _snackbar2.default.apiError(rejection);\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'getPinGloballyButton',\n value: function getPinGloballyButton() {\n if (this.props.thread.weight === 2) return null;\n if (!this.props.thread.acl.can_pin_globally) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.pinGlobally,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'bookmark'\n ),\n gettext(\"Pin globally\")\n )\n );\n }\n }, {\n key: 'getPinLocallyButton',\n value: function getPinLocallyButton() {\n if (this.props.thread.weight === 1) return null;\n if (!this.props.thread.acl.can_pin) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.pinLocally,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'bookmark_border'\n ),\n gettext(\"Pin locally\")\n )\n );\n }\n }, {\n key: 'getUnpinButton',\n value: function getUnpinButton() {\n if (this.props.thread.weight === 0) return null;\n if (!this.props.thread.acl.can_pin) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.unpin,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'panorama_fish_eye'\n ),\n gettext(\"Unpin\")\n )\n );\n }\n }, {\n key: 'getMoveButton',\n value: function getMoveButton() {\n if (!this.props.thread.acl.can_move) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.move,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'arrow_forward'\n ),\n gettext(\"Move\")\n )\n );\n }\n }, {\n key: 'getMergeButton',\n value: function getMergeButton() {\n if (!this.props.thread.acl.can_merge) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.merge,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'call_merge'\n ),\n gettext(\"Merge\")\n )\n );\n }\n }, {\n key: 'getApproveButton',\n value: function getApproveButton() {\n if (!this.props.thread.is_unapproved) return null;\n if (!this.props.thread.acl.can_approve) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.approve,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'done'\n ),\n gettext(\"Approve\")\n )\n );\n }\n }, {\n key: 'getOpenButton',\n value: function getOpenButton() {\n if (!this.props.thread.is_closed) return null;\n if (!this.props.thread.acl.can_close) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.open,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'lock_open'\n ),\n gettext(\"Open\")\n )\n );\n }\n }, {\n key: 'getCloseButton',\n value: function getCloseButton() {\n if (this.props.thread.is_closed) return null;\n if (!this.props.thread.acl.can_close) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.close,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'lock_outline'\n ),\n gettext(\"Close\")\n )\n );\n }\n }, {\n key: 'getUnhideButton',\n value: function getUnhideButton() {\n if (!this.props.thread.is_hidden) return null;\n if (!this.props.thread.acl.can_unhide) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.unhide,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'visibility'\n ),\n gettext(\"Unhide\")\n )\n );\n }\n }, {\n key: 'getHideButton',\n value: function getHideButton() {\n if (this.props.thread.is_hidden) return null;\n if (!this.props.thread.acl.can_hide) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.hide,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'visibility_off'\n ),\n gettext(\"Hide\")\n )\n );\n }\n }, {\n key: 'getDeleteButton',\n value: function getDeleteButton() {\n if (!this.props.thread.acl.can_delete) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.delete,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'clear'\n ),\n gettext(\"Delete\")\n )\n );\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'ul',\n { className: 'dropdown-menu dropdown-menu-right stick-to-bottom' },\n this.getPinGloballyButton(),\n this.getPinLocallyButton(),\n this.getUnpinButton(),\n this.getMoveButton(),\n this.getMergeButton(),\n this.getApproveButton(),\n this.getOpenButton(),\n this.getCloseButton(),\n this.getUnhideButton(),\n this.getHideButton(),\n this.getDeleteButton()\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../../reducers/thread\":359,\"../../../../services/ajax\":364,\"../../../../services/modal\":370,\"../../../../services/snackbar\":375,\"../../../../services/store\":376,\"./merge\":228,\"./move\":229,\"react\":\"react\"}],226:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isModerationVisible = exports.ModerationControls = undefined;\n\nvar _controls = require('./controls');\n\nvar _controls2 = _interopRequireDefault(_controls);\n\nvar _isVisible = require('./is-visible');\n\nvar _isVisible2 = _interopRequireDefault(_isVisible);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.ModerationControls = _controls2.default;\nexports.isModerationVisible = _isVisible2.default;\n\n},{\"./controls\":225,\"./is-visible\":227}],227:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (thread) {\n return !!(thread.acl.can_approve && thread.is_unapproved || thread.acl.can_close || thread.acl.can_delete || thread.acl.can_hide || thread.acl.can_move || thread.acl.can_merge || thread.acl.can_pin || thread.acl.can_pin_globally && thread.weight !== 2 || thread.acl.can_unhide && thread.is_hidden);\n};\n\n},{}],228:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.ModalHeader = ModalHeader;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _form = require('../../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _mergeConflict = require('../../../merge-conflict');\n\nvar _mergeConflict2 = _interopRequireDefault(_mergeConflict);\n\nvar _thread = require('../../../../reducers/thread');\n\nvar thread = _interopRequireWildcard(_thread);\n\nvar _ajax = require('../../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.handleSuccess = function (success) {\n _this.handleSuccessUnmounted(success);\n\n // keep form loading\n _this.setState({\n 'isLoading': true\n });\n };\n\n _this.handleSuccessUnmounted = function (success) {\n _snackbar2.default.success(gettext(\"Thread has been merged with other one.\"));\n window.location = success.url;\n };\n\n _this.handleError = function (rejection) {\n _store2.default.dispatch(thread.release());\n\n if (rejection.status === 400) {\n if (rejection.best_answers || rejection.polls) {\n _modal2.default.show(_react2.default.createElement(_mergeConflict2.default, {\n api: _this.props.thread.api.merge,\n bestAnswers: rejection.best_answers,\n data: { other_thread: _this.state.url },\n polls: rejection.polls,\n onError: _this.handleError,\n onSuccess: _this.handleSuccessUnmounted\n }));\n } else if (rejection.best_answer) {\n _snackbar2.default.error(rejection.best_answer[0]);\n } else if (rejection.poll) {\n _snackbar2.default.error(rejection.poll[0]);\n } else {\n _snackbar2.default.error(rejection.detail);\n }\n } else {\n _snackbar2.default.apiError(rejection);\n }\n };\n\n _this.onUrlChange = function (event) {\n _this.changeValue('url', event.target.value);\n };\n\n _this.state = {\n isLoading: false,\n\n url: '',\n\n validators: {\n url: []\n },\n errors: {}\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'clean',\n value: function clean() {\n if (!this.state.url.trim().length) {\n _snackbar2.default.error(gettext(\"You have to enter link to the other thread.\"));\n return false;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n // freeze thread\n _store2.default.dispatch(thread.busy());\n\n return _ajax2.default.post(this.props.thread.api.merge, {\n other_thread: this.state.url\n });\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'modal-dialog', role: 'document' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(ModalHeader, null),\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n _formGroup2.default,\n {\n 'for': 'id_url',\n label: gettext(\"Link to thread you want to merge with\"),\n help_text: gettext(\"Merge will delete current thread and move its contents to the thread specified here.\")\n },\n _react2.default.createElement('input', {\n className: 'form-control',\n disabled: this.state.isLoading || this.props.thread.isBusy,\n id: 'id_url',\n onChange: this.onUrlChange,\n value: this.state.url\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n disabled: this.state.isLoading,\n type: 'button'\n },\n gettext(\"Cancel\")\n ),\n _react2.default.createElement(\n 'button',\n { className: 'btn btn-primary', loading: this.state.isLoading || this.props.thread.isBusy },\n gettext(\"Merge thread\")\n )\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\n/* jshint ignore:start */\n\n\nexports.default = _class;\nfunction ModalHeader(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-label': gettext(\"Close\"),\n className: 'close',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Merge thread\")\n )\n );\n}\n/* jshint ignore:end */\n\n},{\"../../../../reducers/thread\":359,\"../../../../services/ajax\":364,\"../../../../services/modal\":370,\"../../../../services/snackbar\":375,\"../../../../services/store\":376,\"../../../form\":55,\"../../../form-group\":54,\"../../../merge-conflict\":58,\"react\":\"react\"}],229:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.ModalHeader = ModalHeader;\nexports.ModalLoading = ModalLoading;\nexports.ModalMessage = ModalMessage;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _form = require('../../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _categorySelect = require('../../../category-select');\n\nvar _categorySelect2 = _interopRequireDefault(_categorySelect);\n\nvar _modalLoader = require('../../../modal-loader');\n\nvar _modalLoader2 = _interopRequireDefault(_modalLoader);\n\nvar _posts = require('../../../../reducers/posts');\n\nvar posts = _interopRequireWildcard(_posts);\n\nvar _thread = require('../../../../reducers/thread');\n\nvar thread = _interopRequireWildcard(_thread);\n\nvar _ = require('../../../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _ajax = require('../../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.onCategoryChange = function (event) {\n _this.changeValue('category', event.target.value);\n };\n\n _this.state = {\n isReady: false,\n isLoading: false,\n isError: false,\n\n category: null,\n categories: []\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n _ajax2.default.get(_2.default.get('THREAD_EDITOR_API')).then(function (data) {\n var category = null;\n\n // hydrate categories, extract posting options\n var categories = data.map(function (item) {\n // pick first category that allows posting and if it may, override it with initial one\n if (item.post !== false && !category) {\n category = item.id;\n }\n\n return Object.assign(item, {\n disabled: item.post === false,\n label: item.name,\n value: item.id\n });\n });\n\n _this2.setState({\n isReady: true,\n\n category: category,\n categories: categories\n });\n }, function (rejection) {\n _this2.setState({\n isError: rejection.detail\n });\n });\n }\n }, {\n key: 'send',\n value: function send() {\n // freeze thread\n _store2.default.dispatch(thread.busy());\n\n return _ajax2.default.patch(this.props.thread.api.index, [{ op: 'replace', path: 'category', value: this.state.category }]);\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess() {\n // refresh thread and displayed posts\n _ajax2.default.get(this.props.thread.api.posts.index, { page: this.props.posts.page }).then(function (data) {\n _store2.default.dispatch(thread.replace(data));\n _store2.default.dispatch(posts.load(data.post_set));\n _store2.default.dispatch(thread.release());\n\n _snackbar2.default.success(gettext(\"Thread has been moved.\"));\n _modal2.default.hide();\n }, function (rejection) {\n _store2.default.dispatch(thread.release());\n _snackbar2.default.apiError(rejection);\n });\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n if (this.state.isReady) {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-dialog', role: 'document' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(ModalHeader, null),\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n _formGroup2.default,\n { 'for': 'id_category', label: gettext(\"New category\") },\n _react2.default.createElement(_categorySelect2.default, {\n choices: this.state.categories,\n disabled: this.state.isLoading || this.props.thread.isBusy,\n id: 'id_category',\n onChange: this.onCategoryChange,\n value: this.state.category\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n disabled: this.state.isLoading,\n type: 'button'\n },\n gettext(\"Cancel\")\n ),\n _react2.default.createElement(\n 'button',\n { className: 'btn btn-primary', loading: this.state.isLoading || this.props.thread.isBusy },\n gettext(\"Move thread\")\n )\n )\n )\n )\n );\n } else if (this.state.isError) {\n return _react2.default.createElement(ModalMessage, { message: this.state.isError });\n } else {\n return _react2.default.createElement(ModalLoading, null);\n }\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\n/* jshint ignore:start */\n\n\nexports.default = _class;\nfunction ModalHeader(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-label': gettext(\"Close\"),\n className: 'close',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Move thread\")\n )\n );\n}\n\nfunction ModalLoading(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-dialog', role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(ModalHeader, null),\n _react2.default.createElement(_modalLoader2.default, null)\n )\n );\n}\n\nfunction ModalMessage(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-dialog modal-message', role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(ModalHeader, null),\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'info_outline'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"You can't move this thread at the moment.\")\n ),\n _react2.default.createElement(\n 'p',\n null,\n props.message\n ),\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n gettext(\"Ok\")\n )\n )\n )\n );\n}\n/* jshint ignore:end */\n\n},{\"../../../..\":301,\"../../../../reducers/posts\":353,\"../../../../reducers/thread\":359,\"../../../../services/ajax\":364,\"../../../../services/modal\":370,\"../../../../services/snackbar\":375,\"../../../../services/store\":376,\"../../../category-select\":21,\"../../../form\":55,\"../../../form-group\":54,\"../../../modal-loader\":60,\"react\":\"react\"}],230:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'nav',\n { className: 'misago-pagination pull-left' },\n _react2.default.createElement(Pager, props),\n _react2.default.createElement(More, { more: props.posts.more })\n );\n};\n\nexports.Pager = Pager;\nexports.FirstPage = FirstPage;\nexports.PreviousPage = PreviousPage;\nexports.NextPage = NextPage;\nexports.LastPage = LastPage;\nexports.More = More;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRouter = require('react-router');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction Pager(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'row row-paginator' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-3' },\n _react2.default.createElement(FirstPage, props)\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-3' },\n _react2.default.createElement(PreviousPage, props)\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-3' },\n _react2.default.createElement(NextPage, props)\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-3' },\n _react2.default.createElement(LastPage, props)\n )\n );\n} /* jshint ignore:start */\nfunction FirstPage(props) {\n if (props.posts.isLoaded && props.posts.first) {\n return _react2.default.createElement(\n _reactRouter.Link,\n {\n className: 'btn btn-default btn-block btn-outline btn-icon',\n to: props.thread.url.index,\n title: gettext(\"Go to first page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'first_page'\n )\n );\n } else {\n return _react2.default.createElement(\n 'span',\n {\n className: 'btn btn-default btn-block btn-outline btn-icon disabled',\n title: gettext(\"Go to first page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'first_page'\n )\n );\n }\n}\n\nfunction PreviousPage(props) {\n if (props.posts.isLoaded && props.posts.page > 1) {\n var previousUrl = '';\n if (props.posts.previous) {\n previousUrl = props.posts.previous + '/';\n }\n\n return _react2.default.createElement(\n _reactRouter.Link,\n {\n className: 'btn btn-default btn-block btn-outline btn-icon',\n to: props.thread.url.index + previousUrl,\n title: gettext(\"Go to previous page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'chevron_left'\n )\n );\n } else {\n return _react2.default.createElement(\n 'span',\n {\n className: 'btn btn-default btn-block btn-outline btn-icon disabled',\n title: gettext(\"Go to previous page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'chevron_left'\n )\n );\n }\n}\n\nfunction NextPage(props) {\n if (props.posts.isLoaded && props.posts.more) {\n var nextUrl = '';\n if (props.posts.next) {\n nextUrl = props.posts.next + '/';\n }\n\n return _react2.default.createElement(\n _reactRouter.Link,\n {\n className: 'btn btn-default btn-block btn-outline btn-icon',\n to: props.thread.url.index + nextUrl,\n title: gettext(\"Go to next page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'chevron_right'\n )\n );\n } else {\n return _react2.default.createElement(\n 'span',\n {\n className: 'btn btn-default btn-block btn-outline btn-icon disabled',\n title: gettext(\"Go to next page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'chevron_right'\n )\n );\n }\n}\n\nfunction LastPage(props) {\n if (props.posts.isLoaded && props.posts.last) {\n return _react2.default.createElement(\n _reactRouter.Link,\n {\n className: 'btn btn-default btn-block btn-outline btn-icon',\n to: props.thread.url.index + props.posts.last + '/',\n title: gettext(\"Go to last page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'last_page'\n )\n );\n } else {\n return _react2.default.createElement(\n 'span',\n {\n className: 'btn btn-default btn-block btn-outline btn-icon disabled',\n title: gettext(\"Go to last page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'last_page'\n )\n );\n }\n}\n\nfunction More(props) {\n var message = null;\n if (props.more) {\n message = ngettext(\"There is %(more)s more post in this thread.\", \"There are %(more)s more posts in this thread.\", props.more);\n message = interpolate(message, { 'more': props.more }, true);\n } else {\n message = gettext(\"There are no more posts in this thread.\");\n }\n\n return _react2.default.createElement(\n 'p',\n null,\n message\n );\n}\n\n},{\"react\":\"react\",\"react-router\":\"react-router\"}],231:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'button',\n {\n className: props.className || 'btn btn-primary btn-outline',\n onClick: props.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'chat'\n ),\n gettext(\"Reply\")\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],232:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.select = select;\nexports.paths = paths;\n\nvar _reactRedux = require('react-redux');\n\nvar _route = require('./route');\n\nvar _route2 = _interopRequireDefault(_route);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction select(store) {\n return {\n 'participants': store.participants,\n 'poll': store.poll,\n 'posts': store.posts,\n 'thread': store.thread,\n 'tick': store.tick.tick,\n 'user': store.auth.user\n };\n}\n\nfunction paths() {\n var thread = _index2.default.get('THREAD');\n var basePath = thread.url.index.replace(thread.slug + '-' + thread.pk, ':slug');\n\n return [{\n path: basePath,\n component: (0, _reactRedux.connect)(select)(_route2.default)\n }, {\n path: basePath + ':page/',\n component: (0, _reactRedux.connect)(select)(_route2.default)\n }];\n}\n\n},{\"../../index\":301,\"./route\":233,\"react-redux\":\"react-redux\"}],233:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _participants = require('../participants');\n\nvar _participants2 = _interopRequireDefault(_participants);\n\nvar _poll = require('../poll');\n\nvar _postsList = require('../posts-list');\n\nvar _postsList2 = _interopRequireDefault(_postsList);\n\nvar _header = require('./header');\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _toolbarTop = require('./toolbar-top');\n\nvar _toolbarTop2 = _interopRequireDefault(_toolbarTop);\n\nvar _toolbarBottom = require('./toolbar-bottom');\n\nvar _toolbarBottom2 = _interopRequireDefault(_toolbarBottom);\n\nvar _participants3 = require('../../reducers/participants');\n\nvar participants = _interopRequireWildcard(_participants3);\n\nvar _poll2 = require('../../reducers/poll');\n\nvar poll = _interopRequireWildcard(_poll2);\n\nvar _posts = require('../../reducers/posts');\n\nvar posts = _interopRequireWildcard(_posts);\n\nvar _thread = require('../../reducers/thread');\n\nvar thread = _interopRequireWildcard(_thread);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _polls = require('../../services/polls');\n\nvar _polls2 = _interopRequireDefault(_polls);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _posting = require('../../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _pageTitle = require('../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.update = function (data) {\n _store2.default.dispatch(thread.replace(data));\n _store2.default.dispatch(posts.load(data.post_set));\n\n if (data.participants) {\n _store2.default.dispatch(participants.replace(data.participants));\n }\n\n if (data.poll) {\n _store2.default.dispatch(poll.replace(data.poll));\n }\n\n _this.setPageTitle();\n }, _this.openReplyForm = function () {\n _posting2.default.open({\n mode: 'REPLY',\n\n config: _this.props.thread.api.editor,\n submit: _this.props.thread.api.posts.index\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.shouldFetchData()) {\n this.fetchData();\n this.setPageTitle();\n }\n\n this.startPollingApi();\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n if (this.shouldFetchData()) {\n this.fetchData();\n this.startPollingApi();\n this.setPageTitle();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.stopPollingApi();\n }\n }, {\n key: 'shouldFetchData',\n value: function shouldFetchData() {\n if (this.props.posts.isLoaded) {\n var page = (this.props.params.page || 1) * 1;\n return page != this.props.posts.page;\n } else {\n return false;\n }\n }\n }, {\n key: 'fetchData',\n value: function fetchData() {\n var _this2 = this;\n\n _store2.default.dispatch(posts.unload());\n\n _ajax2.default.get(this.props.thread.api.posts.index, {\n page: this.props.params.page || 1\n }, 'posts').then(function (data) {\n _this2.update(data);\n }, function (rejection) {\n _snackbar2.default.apiError(rejection);\n });\n }\n }, {\n key: 'startPollingApi',\n value: function startPollingApi() {\n _polls2.default.start({\n poll: 'thread-posts',\n\n url: this.props.thread.api.posts.index,\n data: {\n page: this.props.params.page || 1\n },\n update: this.update,\n\n frequency: 120 * 1000,\n delayed: true\n });\n }\n }, {\n key: 'stopPollingApi',\n value: function stopPollingApi() {\n _polls2.default.stop('thread-posts');\n }\n }, {\n key: 'setPageTitle',\n value: function setPageTitle() {\n _pageTitle2.default.set({\n title: this.props.thread.title,\n parent: this.props.thread.category.name,\n page: (this.props.params.page || 1) * 1\n });\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n var className = 'page page-thread';\n if (this.props.thread.category.css_class) {\n className += ' page-thread-' + this.props.thread.category.css_class;\n }\n\n return _react2.default.createElement(\n 'div',\n { className: className },\n _react2.default.createElement(\n 'div',\n { className: 'page-header-bg' },\n _react2.default.createElement(_header2.default, this.props)\n ),\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(_toolbarTop2.default, _extends({\n openReplyForm: this.openReplyForm\n }, this.props)),\n _react2.default.createElement(_poll.Poll, {\n poll: this.props.poll,\n thread: this.props.thread,\n user: this.props.user\n }),\n _react2.default.createElement(_participants2.default, {\n participants: this.props.participants,\n thread: this.props.thread,\n user: this.props.user\n }),\n _react2.default.createElement(_postsList2.default, this.props),\n _react2.default.createElement(_toolbarBottom2.default, _extends({\n openReplyForm: this.openReplyForm\n }, this.props))\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../reducers/participants\":350,\"../../reducers/poll\":351,\"../../reducers/posts\":353,\"../../reducers/thread\":359,\"../../services/ajax\":364,\"../../services/page-title\":372,\"../../services/polls\":373,\"../../services/posting\":374,\"../../services/snackbar\":375,\"../../services/store\":376,\"../participants\":100,\"../poll\":105,\"../posts-list\":150,\"./header\":217,\"./toolbar-bottom\":235,\"./toolbar-top\":236,\"react\":\"react\"}],234:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Email = exports.Enable = exports.Disable = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = function (props) {\n if (!props.user.id) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: props.className },\n _react2.default.createElement(\n 'button',\n {\n 'aria-expanded': 'true',\n 'aria-haspopup': 'true',\n className: 'btn btn-default dropdown-toggle btn-block btn-outline',\n 'data-toggle': 'dropdown',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n getIcon(props.thread.subscription)\n ),\n getLabel(props.thread.subscription)\n ),\n _react2.default.createElement(Dropdown, props)\n );\n};\n\nexports.getIcon = getIcon;\nexports.getLabel = getLabel;\nexports.Dropdown = Dropdown;\nexports.update = update;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _thread = require('../../reducers/thread');\n\nvar actions = _interopRequireWildcard(_thread);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nfunction getIcon(subscription) {\n if (subscription === true) {\n return 'star';\n } else if (subscription === false) {\n return 'star_half';\n } else {\n return 'star_border';\n }\n}\n\nfunction getLabel(subscription) {\n if (subscription === true) {\n return gettext(\"E-mail\");\n } else if (subscription === false) {\n return gettext(\"Enabled\");\n } else {\n return gettext(\"Disabled\");\n }\n}\n\nfunction Dropdown(props) {\n return _react2.default.createElement(\n 'ul',\n { className: props.dropdownClassName || \"dropdown-menu stick-to-bottom\" },\n _react2.default.createElement(Disable, props),\n _react2.default.createElement(Enable, props),\n _react2.default.createElement(Email, props)\n );\n}\n\nvar Disable = exports.Disable = function (_React$Component) {\n _inherits(Disable, _React$Component);\n\n function Disable() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Disable);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Disable.__proto__ || Object.getPrototypeOf(Disable)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n if (_this.props.thread.subscription === null) {\n return;\n }\n\n update(_this.props.thread, null, 'unsubscribe');\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Disable, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { className: 'btn btn-link', onClick: this.onClick },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'star_border'\n ),\n gettext(\"Unsubscribe\")\n )\n );\n }\n }]);\n\n return Disable;\n}(_react2.default.Component);\n\nvar Enable = exports.Enable = function (_React$Component2) {\n _inherits(Enable, _React$Component2);\n\n function Enable() {\n var _ref2;\n\n var _temp2, _this2, _ret2;\n\n _classCallCheck(this, Enable);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, (_ref2 = Enable.__proto__ || Object.getPrototypeOf(Enable)).call.apply(_ref2, [this].concat(args))), _this2), _this2.onClick = function () {\n if (_this2.props.thread.subscription === false) {\n return;\n }\n\n update(_this2.props.thread, false, 'notify');\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n }\n\n _createClass(Enable, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { className: 'btn btn-link', onClick: this.onClick },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'star_half'\n ),\n gettext(\"Subscribe\")\n )\n );\n }\n }]);\n\n return Enable;\n}(_react2.default.Component);\n\nvar Email = exports.Email = function (_React$Component3) {\n _inherits(Email, _React$Component3);\n\n function Email() {\n var _ref3;\n\n var _temp3, _this3, _ret3;\n\n _classCallCheck(this, Email);\n\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _ret3 = (_temp3 = (_this3 = _possibleConstructorReturn(this, (_ref3 = Email.__proto__ || Object.getPrototypeOf(Email)).call.apply(_ref3, [this].concat(args))), _this3), _this3.onClick = function () {\n if (_this3.props.thread.subscription === true) {\n return;\n }\n\n update(_this3.props.thread, true, 'email');\n }, _temp3), _possibleConstructorReturn(_this3, _ret3);\n }\n\n _createClass(Email, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { className: 'btn btn-link', onClick: this.onClick },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'star'\n ),\n gettext(\"Subscribe with e-mail\")\n )\n );\n }\n }]);\n\n return Email;\n}(_react2.default.Component);\n\nfunction update(thread, newState, value) {\n var oldState = {\n subscription: thread.subscription\n };\n\n _store2.default.dispatch(actions.update({\n subscription: newState\n }));\n\n _ajax2.default.patch(thread.api.index, [{ op: 'replace', path: 'subscription', value: value }]).then(function (finalState) {\n _store2.default.dispatch(actions.update(finalState));\n }, function (rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n\n _store2.default.dispatch(actions.update(oldState));\n });\n}\n\n},{\"../../reducers/thread\":359,\"../../services/ajax\":364,\"../../services/snackbar\":375,\"../../services/store\":376,\"react\":\"react\"}],235:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /* jshint ignore:start */\n\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n { className: 'row row-toolbar' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 text-center visible-xs-block' },\n _react2.default.createElement(_paginator.More, { more: props.posts.more }),\n _react2.default.createElement('div', { className: 'toolbar-vertical-spacer' })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-md-7' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-sm-4 col-md-5' },\n _react2.default.createElement(_paginator.Pager, props)\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-sm-8 col-md-7 hidden-xs' },\n _react2.default.createElement(_paginator.More, { more: props.posts.more })\n )\n )\n ),\n _react2.default.createElement(\n Options,\n { visible: !!props.user.id },\n _react2.default.createElement('div', { className: 'toolbar-vertical-spacer hidden-md hidden-lg' }),\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(Spacer, props),\n _react2.default.createElement(Moderation, props),\n _react2.default.createElement(Subscription, props),\n _react2.default.createElement(Reply, {\n thread: props.thread,\n onClick: props.openReplyForm\n })\n )\n )\n );\n};\n\nexports.Options = Options;\nexports.Moderation = Moderation;\nexports.Subscription = Subscription;\nexports.Reply = Reply;\nexports.Spacer = Spacer;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _paginator = require('./paginator');\n\nvar _posts = require('./moderation/posts');\n\nvar _posts2 = _interopRequireDefault(_posts);\n\nvar _replyButton = require('./reply-button');\n\nvar _replyButton2 = _interopRequireDefault(_replyButton);\n\nvar _subscription = require('./subscription');\n\nvar _subscription2 = _interopRequireDefault(_subscription);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction Options(props) {\n if (!props.visible) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-md-5' },\n props.children\n );\n}\n\nfunction Moderation(props) {\n if (!props.user.id) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-sm-4 hidden-xs' },\n _react2.default.createElement(_posts2.default, props)\n );\n}\n\nfunction Subscription(props) {\n var xsClass = \"col-xs-6\";\n if (!props.thread.acl.can_reply) {\n xsClass = 'col-xs-12';\n }\n\n return _react2.default.createElement(\n 'div',\n { className: xsClass + \" col-sm-4\" },\n _react2.default.createElement(_subscription2.default, _extends({\n btnClassName: 'btn-block',\n className: 'dropup'\n }, props))\n );\n}\n\nfunction Reply(props) {\n if (!props.thread.acl.can_reply) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-6 col-sm-4' },\n _react2.default.createElement(_replyButton2.default, {\n className: 'btn btn-primary btn-block btn-outline',\n onClick: props.onClick\n })\n );\n}\n\nfunction Spacer(props) {\n if (props.thread.acl.can_reply) return null;\n\n return _react2.default.createElement('div', { className: 'hidden-xs hidden-sm col-sm-4' });\n}\n\n},{\"./moderation/posts\":222,\"./paginator\":230,\"./reply-button\":231,\"./subscription\":234,\"react\":\"react\"}],236:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.StartPollCompact = exports.StartPoll = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /* jshint ignore:start */\n\n\nexports.default = function (props) {\n var hiddenSpecialOption = !props.thread.acl.can_start_poll || props.thread.poll;\n\n return _react2.default.createElement(\n 'div',\n { className: 'row row-toolbar row-toolbar-bottom-margin' },\n _react2.default.createElement(GotoMenu, props),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-9 col-md-5 col-md-offset-2' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(Spacer, { visible: !props.user.id }),\n _react2.default.createElement(Spacer, { visible: hiddenSpecialOption }),\n _react2.default.createElement(SubscriptionMenu, props),\n _react2.default.createElement(StartPoll, props),\n _react2.default.createElement(Reply, props)\n )\n )\n );\n};\n\nexports.GotoMenu = GotoMenu;\nexports.GotoNew = GotoNew;\nexports.GotoBestAnswer = GotoBestAnswer;\nexports.GotoUnapproved = GotoUnapproved;\nexports.GotoLast = GotoLast;\nexports.CompactOptions = CompactOptions;\nexports.GotoNewCompact = GotoNewCompact;\nexports.GotoUnapprovedCompact = GotoUnapprovedCompact;\nexports.GotoLastCompact = GotoLastCompact;\nexports.Reply = Reply;\nexports.SubscriptionMenu = SubscriptionMenu;\nexports.Spacer = Spacer;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _replyButton = require('./reply-button');\n\nvar _replyButton2 = _interopRequireDefault(_replyButton);\n\nvar _subscription = require('./subscription');\n\nvar _subscription2 = _interopRequireDefault(_subscription);\n\nvar _posting = require('../../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction GotoMenu(props) {\n var user = props.user;\n\n\n var className = 'col-xs-3 col-sm-3 col-md-5';\n if (user.is_anonymous) {\n className = 'col-xs-12 col-sm-3 col-md-5';\n }\n\n return _react2.default.createElement(\n 'div',\n { className: className },\n _react2.default.createElement(\n 'div',\n { className: 'row hidden-xs hidden-sm' },\n _react2.default.createElement(GotoLast, { thread: props.thread }),\n _react2.default.createElement(GotoNew, { thread: props.thread }),\n _react2.default.createElement(GotoBestAnswer, { thread: props.thread }),\n _react2.default.createElement(GotoUnapproved, { thread: props.thread })\n ),\n _react2.default.createElement(CompactOptions, props)\n );\n}\n\nfunction GotoNew(props) {\n if (!props.thread.is_new) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-sm-4' },\n _react2.default.createElement(\n 'a',\n {\n href: props.thread.url.new_post,\n className: 'btn btn-default btn-block btn-outline',\n title: gettext('Go to first new post')\n },\n gettext(\"New\")\n )\n );\n}\n\nfunction GotoBestAnswer(props) {\n if (!props.thread.best_answer) {\n return null;\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-sm-4' },\n _react2.default.createElement(\n 'a',\n {\n href: props.thread.url.best_answer,\n className: 'btn btn-default btn-block btn-outline',\n title: gettext('Go to best answer')\n },\n gettext(\"Best answer\")\n )\n );\n}\n\nfunction GotoUnapproved(props) {\n if (!props.thread.has_unapproved_posts || !props.thread.acl.can_approve) {\n return null;\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-sm-4' },\n _react2.default.createElement(\n 'a',\n {\n href: props.thread.url.unapproved_post,\n className: 'btn btn-default btn-block btn-outline',\n title: gettext('Go to first unapproved post')\n },\n gettext(\"Unapproved\")\n )\n );\n}\n\nfunction GotoLast(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'col-sm-4' },\n _react2.default.createElement(\n 'a',\n {\n href: props.thread.url.last_post,\n className: 'btn btn-default btn-block btn-outline',\n title: gettext('Go to last post')\n },\n gettext(\"Last\")\n )\n );\n}\n\nfunction CompactOptions(props) {\n var user = props.user;\n\n if (user.is_anonymous) {\n return _react2.default.createElement(\n 'div',\n { className: 'visible-xs-block visible-sm-block' },\n _react2.default.createElement(\n 'a',\n {\n href: props.thread.url.last_post,\n className: 'btn btn-default btn-block btn-outline'\n },\n gettext(\"Last post\")\n )\n );\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'dropdown visible-xs-block visible-sm-block' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-expanded': 'true',\n 'aria-haspopup': 'true',\n className: 'btn btn-default dropdown-toggle btn-block btn-outline',\n 'data-toggle': 'dropdown',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'expand_more'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'btn-text hidden-xs' },\n gettext(\"Options\")\n )\n ),\n _react2.default.createElement(\n 'ul',\n { className: 'dropdown-menu' },\n _react2.default.createElement(StartPollCompact, props),\n _react2.default.createElement(GotoNewCompact, props),\n _react2.default.createElement(GotoUnapprovedCompact, props),\n _react2.default.createElement(GotoLastCompact, props)\n )\n );\n}\n\nfunction GotoNewCompact(props) {\n if (!props.thread.is_new) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'a',\n {\n href: props.thread.url.new_post,\n className: 'btn btn-link'\n },\n gettext(\"Go to first new post\")\n )\n );\n}\n\nfunction GotoUnapprovedCompact(props) {\n if (!props.thread.has_unapproved_posts || !props.thread.acl.can_approve) {\n return null;\n }\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'a',\n {\n href: props.thread.url.unapproved_post,\n className: 'btn btn-link'\n },\n gettext(\"Go to first unapproved post\")\n )\n );\n}\n\nfunction GotoLastCompact(props) {\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'a',\n {\n href: props.thread.url.last_post,\n className: 'btn btn-link'\n },\n gettext(\"Go to last post\")\n )\n );\n}\n\nfunction Reply(props) {\n if (!props.thread.acl.can_reply) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-sm-4 hidden-xs' },\n _react2.default.createElement(_replyButton2.default, {\n className: 'btn btn-primary btn-block btn-outline',\n onClick: props.openReplyForm\n })\n );\n}\n\nfunction SubscriptionMenu(props) {\n if (!props.user.id) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-4' },\n _react2.default.createElement(_subscription2.default, _extends({\n className: 'dropdown',\n dropdownClassName: 'dropdown-menu dropdown-menu-right stick-to-bottom'\n }, props))\n );\n}\n\nvar StartPoll = exports.StartPoll = function (_React$Component) {\n _inherits(StartPoll, _React$Component);\n\n function StartPoll() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, StartPoll);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = StartPoll.__proto__ || Object.getPrototypeOf(StartPoll)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n _posting2.default.open({\n mode: 'POLL',\n submit: _this.props.thread.api.poll,\n\n thread: _this.props.thread,\n poll: null\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(StartPoll, [{\n key: 'render',\n value: function render() {\n if (!this.props.thread.acl.can_start_poll || this.props.thread.poll) {\n return null;\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-sm-4 hidden-xs' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-block btn-outline',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'poll'\n ),\n gettext(\"Add poll\")\n )\n );\n }\n }]);\n\n return StartPoll;\n}(_react2.default.Component);\n\nvar StartPollCompact = exports.StartPollCompact = function (_StartPoll) {\n _inherits(StartPollCompact, _StartPoll);\n\n function StartPollCompact() {\n _classCallCheck(this, StartPollCompact);\n\n return _possibleConstructorReturn(this, (StartPollCompact.__proto__ || Object.getPrototypeOf(StartPollCompact)).apply(this, arguments));\n }\n\n _createClass(StartPollCompact, [{\n key: 'render',\n value: function render() {\n if (!this.props.thread.acl.can_start_poll || this.props.thread.poll) {\n return null;\n }\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n gettext(\"Add poll\")\n )\n );\n }\n }]);\n\n return StartPollCompact;\n}(StartPoll);\n\nfunction Spacer(props) {\n if (!props.visible) return null;\n\n return _react2.default.createElement('div', { className: 'col-sm-4 hidden-xs' });\n}\n\n},{\"../../services/posting\":374,\"./reply-button\":231,\"./subscription\":234,\"react\":\"react\"}],237:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n if (!props.isLoaded) {\n return _react2.default.createElement(_preview2.default, null);\n }\n\n if (props.threads.length === 0) {\n return _react2.default.createElement(\n _empty2.default,\n {\n diffSize: props.diffSize,\n applyDiff: props.applyDiff\n },\n props.children\n );\n }\n\n return _react2.default.createElement(_ready2.default, {\n activeCategory: props.category,\n categories: props.categories,\n list: props.list,\n threads: props.threads,\n\n diffSize: props.diffSize,\n applyDiff: props.applyDiff,\n\n showOptions: props.showOptions,\n selection: props.selection,\n\n busyThreads: props.busyThreads\n });\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _empty = require('./list/empty');\n\nvar _empty2 = _interopRequireDefault(_empty);\n\nvar _ready = require('./list/ready');\n\nvar _ready2 = _interopRequireDefault(_ready);\n\nvar _preview = require('./list/preview');\n\nvar _preview2 = _interopRequireDefault(_preview);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./list/empty\":239,\"./list/preview\":240,\"./list/ready\":241,\"react\":\"react\"}],238:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n var diffSize = props.diffSize,\n applyDiff = props.applyDiff;\n\n\n if (diffSize === 0) return null;\n\n return _react2.default.createElement(\n \"li\",\n { className: \"list-group-item threads-diff-message\" },\n _react2.default.createElement(\n \"button\",\n {\n type: \"button\",\n className: \"btn btn-block btn-default\",\n onClick: applyDiff\n },\n _react2.default.createElement(\n \"span\",\n { className: \"material-icon\" },\n \"cached\"\n ),\n _react2.default.createElement(\n \"span\",\n { className: \"diff-message\" },\n getMessage(diffSize)\n )\n )\n );\n};\n\nexports.getMessage = getMessage;\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nfunction getMessage(diffSize) {\n var message = 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.\", diffSize);\n\n return interpolate(message, {\n threads: diffSize\n }, true);\n}\n\n},{\"react\":\"react\"}],239:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _diffMessage = require('./diff-message');\n\nvar _diffMessage2 = _interopRequireDefault(_diffMessage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'getDiffMessage',\n value: function getDiffMessage() {\n if (this.props.diffSize === 0) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(_diffMessage2.default, {\n applyDiff: this.props.applyDiff,\n diffSize: this.props.diffSize\n });\n /* jshint ignore:end */\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'threads-list ui-ready' },\n _react2.default.createElement(\n 'ul',\n { className: 'list-group' },\n this.getDiffMessage(),\n this.props.children\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"./diff-message\":238,\"react\":\"react\"}],240:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _preview = require('../thread/preview');\n\nvar _preview2 = _interopRequireDefault(_preview);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n return false;\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'threads-list ui-preview' },\n _react2.default.createElement(\n 'ul',\n { className: 'list-group' },\n _react2.default.createElement(_preview2.default, null)\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../thread/preview\":248,\"react\":\"react\"}],241:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n { className: 'threads-list ui-ready' },\n _react2.default.createElement(\n 'ul',\n { className: 'list-group' },\n _react2.default.createElement(_diffMessage2.default, {\n diffSize: props.diffSize,\n applyDiff: props.applyDiff\n }),\n props.threads.map(function (thread) {\n return _react2.default.createElement(_ready2.default, {\n activeCategory: props.activeCategory,\n categories: props.categories,\n list: props.list,\n thread: thread,\n\n showOptions: props.showOptions,\n isSelected: props.selection.indexOf(thread.id) >= 0,\n\n isBusy: props.busyThreads.indexOf(thread.id) >= 0,\n key: thread.id\n });\n })\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _diffMessage = require('./diff-message');\n\nvar _diffMessage2 = _interopRequireDefault(_diffMessage);\n\nvar _ready = require('../thread/ready');\n\nvar _ready2 = _interopRequireDefault(_ready);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../thread/ready\":249,\"./diff-message\":238,\"react\":\"react\"}],242:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var category = _ref.category,\n isBusy = _ref.isBusy,\n showOptions = _ref.showOptions,\n isSelected = _ref.isSelected,\n thread = _ref.thread;\n\n var className = 'col-xs-12 col-sm-12';\n if (showOptions) {\n if (thread.moderation.length) {\n className = 'col-xs-6 col-sm-12';\n } else {\n className = 'col-xs-9 col-sm-12';\n }\n }\n\n var statusFlags = 0;\n if (thread.is_hidden) statusFlags += 1;\n if (thread.is_closed) statusFlags += 1;\n if (thread.has_poll) statusFlags += 1;\n\n var allFlagsVisible = showOptions && statusFlags === 3;\n\n var textClassName = 'detail-text hidden-xs';\n if (allFlagsVisible) {\n textClassName += ' hidden-sm';\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'row thread-details-bottom' },\n _react2.default.createElement(\n 'div',\n { className: className },\n _react2.default.createElement(_category2.default, {\n className: 'item-title thread-detail-category hidden-xs',\n category: category\n }),\n _react2.default.createElement(HiddenLabel, {\n textClassName: textClassName,\n display: thread.is_hidden\n }),\n _react2.default.createElement(ClosedLabel, {\n textClassName: textClassName,\n display: thread.is_closed\n }),\n _react2.default.createElement(PollLabel, {\n textClassName: textClassName,\n display: thread.has_poll\n }),\n _react2.default.createElement(BestAnswerLabel, { thread: thread }),\n _react2.default.createElement(RepliesLabel, {\n forceFullText: !showOptions || statusFlags < 2,\n replies: thread.replies\n }),\n _react2.default.createElement(LastReplyLabel, {\n datetime: thread.last_post_on,\n url: thread.url.last_post\n }),\n _react2.default.createElement(LastPoster, {\n posterName: thread.last_poster_name,\n url: thread.url.last_poster\n })\n ),\n _react2.default.createElement(_options.OptionsXs, {\n disabled: isBusy,\n display: showOptions,\n isSelected: isSelected,\n thread: thread\n })\n );;\n};\n\nexports.HiddenLabel = HiddenLabel;\nexports.ClosedLabel = ClosedLabel;\nexports.PollLabel = PollLabel;\nexports.BestAnswerLabel = BestAnswerLabel;\nexports.RepliesLabel = RepliesLabel;\nexports.LastReplyLabel = LastReplyLabel;\nexports.LastPoster = LastPoster;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _category = require('./category');\n\nvar _category2 = _interopRequireDefault(_category);\n\nvar _options = require('../options');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nfunction HiddenLabel(_ref2) {\n var display = _ref2.display,\n textClassName = _ref2.textClassName;\n\n if (!display) return null;\n\n return _react2.default.createElement(\n 'span',\n { className: 'thread-detail-hidden' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'visibility_off'\n ),\n _react2.default.createElement(\n 'span',\n { className: textClassName },\n gettext(\"Hidden\")\n )\n );\n}\n\nfunction ClosedLabel(_ref3) {\n var display = _ref3.display,\n textClassName = _ref3.textClassName;\n\n if (!display) return null;\n\n return _react2.default.createElement(\n 'span',\n { className: 'thread-detail-closed' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'lock_outline'\n ),\n _react2.default.createElement(\n 'span',\n { className: textClassName },\n gettext(\"Closed\")\n )\n );\n}\n\nfunction PollLabel(_ref4) {\n var display = _ref4.display,\n textClassName = _ref4.textClassName;\n\n if (!display) return null;\n\n return _react2.default.createElement(\n 'span',\n { className: 'thread-detail-poll' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'assessment'\n ),\n _react2.default.createElement(\n 'span',\n { className: textClassName },\n gettext(\"Poll\")\n )\n );\n}\n\nfunction BestAnswerLabel(_ref5) {\n var thread = _ref5.thread;\n\n if (!thread.best_answer) return null;\n\n return _react2.default.createElement(\n 'a',\n {\n className: 'visible-xs-inline-block thread-detail-answered',\n href: thread.url.best_answer\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'check_box'\n )\n );\n}\n\nfunction RepliesLabel(_ref6) {\n var replies = _ref6.replies,\n forceFullText = _ref6.forceFullText;\n\n var text = ngettext(\"%(replies)s reply\", \"%(replies)s replies\", replies);\n\n var compactClassName = '';\n var fullClassName = '';\n\n if (forceFullText) {\n compactClassName = 'detail-text hide';\n fullClassName = 'detail-text';\n } else {\n compactClassName = 'detail-text visible-xs-inline-block';\n fullClassName = 'detail-text hidden-xs';\n }\n\n return _react2.default.createElement(\n 'span',\n { className: 'thread-detail-replies' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'forum'\n ),\n _react2.default.createElement(\n 'span',\n { className: compactClassName },\n replies\n ),\n _react2.default.createElement(\n 'span',\n { className: fullClassName },\n interpolate(text, { replies: replies }, true)\n )\n );\n}\n\nfunction LastReplyLabel(_ref7) {\n var datetime = _ref7.datetime,\n url = _ref7.url;\n\n return _react2.default.createElement(\n 'a',\n {\n className: 'visible-sm-inline-block thread-detail-last-reply',\n href: url,\n title: datetime.format('LLL')\n },\n datetime.fromNow(true)\n );\n}\n\nfunction LastPoster(props) {\n var posterName = props.posterName,\n url = props.url;\n\n var className = 'visible-sm-inline-block item-title thread-last-poster';\n\n if (url) {\n return _react2.default.createElement(\n 'a',\n { className: className, href: url },\n posterName\n );\n }\n\n return _react2.default.createElement(\n 'span',\n { className: className },\n posterName\n );;\n}\n\n},{\"../options\":247,\"./category\":243,\"react\":\"react\"}],243:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var category = _ref.category,\n className = _ref.className;\n\n if (!category) return null;\n\n if (category.css_class) {\n className += ' thread-detail-category-' + category.css_class;\n }\n\n return _react2.default.createElement(\n 'a',\n {\n className: className,\n href: category.url.index\n },\n category.name\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],244:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TopDetails = exports.BottomDetails = undefined;\n\nvar _bottom = require('./bottom');\n\nvar _bottom2 = _interopRequireDefault(_bottom);\n\nvar _top = require('./top');\n\nvar _top2 = _interopRequireDefault(_top);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nexports.BottomDetails = _bottom2.default;\nexports.TopDetails = _top2.default;\n\n},{\"./bottom\":242,\"./top\":245}],245:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var category = _ref.category,\n thread = _ref.thread;\n\n return _react2.default.createElement(\n 'div',\n { className: 'thread-details-top' },\n _react2.default.createElement(NewLabel, {\n isRead: thread.is_read,\n url: thread.url.new_post\n }),\n _react2.default.createElement(PinnedLabel, { weight: thread.weight }),\n _react2.default.createElement(UnapprovedLabel, {\n thread: thread.is_unapproved,\n posts: thread.has_unapproved_posts\n }),\n _react2.default.createElement(BestAnswerLabel, { thread: thread }),\n _react2.default.createElement(_category2.default, {\n className: 'item-title thread-detail-category visible-xs-inline-block',\n category: category\n }),\n _react2.default.createElement(LastReplyLabel, {\n datetime: thread.last_post_on,\n url: thread.url.last_post\n }),\n _react2.default.createElement(LastPoster, {\n posterName: thread.last_poster_name,\n url: thread.url.last_poster\n })\n );\n};\n\nexports.NewLabel = NewLabel;\nexports.PinnedLabel = PinnedLabel;\nexports.UnapprovedLabel = UnapprovedLabel;\nexports.BestAnswerLabel = BestAnswerLabel;\nexports.LastReplyLabel = LastReplyLabel;\nexports.LastPoster = LastPoster;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _category = require('./category');\n\nvar _category2 = _interopRequireDefault(_category);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction NewLabel(_ref2) {\n var isRead = _ref2.isRead,\n url = _ref2.url;\n\n if (isRead) return null;\n\n return _react2.default.createElement(\n 'a',\n {\n className: 'thread-detail-new',\n href: url\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'comment'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'detail-text' },\n gettext(\"New posts\")\n )\n );\n} /* jshint ignore:start */\nfunction PinnedLabel(_ref3) {\n var weight = _ref3.weight;\n\n if (weight === 0) return null;\n\n var className = 'thread-detail-pinned-globally';\n var icon = 'bookmark';\n var text = gettext(\"Pinned globally\");\n\n if (weight === 1) {\n className = 'thread-detail-pinned-locally';\n icon = 'bookmark_border';\n text = gettext(\"Pinned locally\");\n }\n\n return _react2.default.createElement(\n 'span',\n { className: className },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n icon\n ),\n _react2.default.createElement(\n 'span',\n { className: 'detail-text' },\n text\n )\n );\n}\n\nfunction UnapprovedLabel(_ref4) {\n var posts = _ref4.posts,\n thread = _ref4.thread;\n\n if (!posts && !thread) return null;\n\n var className = 'thread-detail-unapproved-posts';\n var icon = 'remove_circle_outline';\n var text = gettext(\"Unapproved posts\");\n\n if (thread) {\n className = 'thread-detail-unapproved';\n icon = 'remove_circle';\n text = gettext(\"Unapproved\");\n }\n\n return _react2.default.createElement(\n 'span',\n { className: className },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n icon\n ),\n _react2.default.createElement(\n 'span',\n { className: 'detail-text' },\n text\n )\n );\n}\n\nfunction BestAnswerLabel(_ref5) {\n var thread = _ref5.thread;\n\n if (!thread.best_answer) return null;\n\n return _react2.default.createElement(\n 'a',\n {\n className: 'hidden-xs thread-detail-answered',\n href: thread.url.best_answer\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'check_box'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'detail-text' },\n gettext(\"Answered\")\n )\n );\n}\n\nfunction LastReplyLabel(_ref6) {\n var datetime = _ref6.datetime,\n url = _ref6.url;\n\n return _react2.default.createElement(\n 'a',\n {\n className: 'visible-xs-inline-block thread-detail-last-reply',\n href: url,\n title: datetime.format('LLL')\n },\n datetime.fromNow(true)\n );\n}\n\nfunction LastPoster(props) {\n var posterName = props.posterName,\n url = props.url;\n\n\n if (url) {\n return _react2.default.createElement(\n 'a',\n {\n className: 'visible-xs-inline-block item-title thread-last-poster',\n href: url\n },\n posterName\n );\n }\n\n return _react2.default.createElement(\n 'span',\n { className: 'visible-xs-inline-block item-title thread-last-poster' },\n posterName\n );\n}\n\n},{\"./category\":243,\"react\":\"react\"}],246:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var thread = _ref.thread;\n\n return _react2.default.createElement(\n 'div',\n { className: 'media' },\n _react2.default.createElement(\n 'div',\n { className: 'media-left' },\n _react2.default.createElement(\n _userUrl2.default,\n {\n className: 'thread-last-poster-avatar',\n title: thread.last_poster_name,\n url: thread.url.last_poster\n },\n _react2.default.createElement(_avatar2.default, {\n className: 'media-object',\n size: 40,\n user: thread.last_poster\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'media-body' },\n _react2.default.createElement(\n _userUrl2.default,\n {\n className: 'item-title thread-last-poster',\n url: thread.url.last_poster\n },\n thread.last_poster_name\n ),\n _react2.default.createElement(Timestamp, {\n datetime: thread.last_post_on,\n url: thread.url.last_post\n })\n )\n );\n};\n\nexports.Timestamp = Timestamp;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _userUrl = require('./user-url');\n\nvar _userUrl2 = _interopRequireDefault(_userUrl);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nfunction Timestamp(_ref2) {\n var datetime = _ref2.datetime,\n url = _ref2.url;\n\n return _react2.default.createElement(\n 'a',\n {\n className: 'thread-last-reply',\n href: url,\n title: datetime.format('LLL')\n },\n datetime.fromNow(true)\n );\n}\n\n},{\"../../avatar\":6,\"./user-url\":254,\"react\":\"react\"}],247:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Checkbox = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.Options = Options;\nexports.OptionsXs = OptionsXs;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _compact = require('./subscription/compact');\n\nvar _compact2 = _interopRequireDefault(_compact);\n\nvar _full = require('./subscription/full');\n\nvar _full2 = _interopRequireDefault(_full);\n\nvar _selection = require('../../../reducers/selection');\n\nvar select = _interopRequireWildcard(_selection);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nfunction Options(_ref) {\n var display = _ref.display,\n disabled = _ref.disabled,\n isSelected = _ref.isSelected,\n thread = _ref.thread;\n\n if (!display) return null;\n\n var className = 'col-sm-2 col-md-2 hidden-xs';\n if (thread.moderation.length) {\n className = 'col-sm-3 col-md-2 hidden-xs';\n }\n\n return _react2.default.createElement(\n 'div',\n { className: className },\n _react2.default.createElement(\n 'div',\n { className: 'row thread-options' },\n _react2.default.createElement(_full2.default, {\n thread: thread,\n disabled: disabled\n }),\n _react2.default.createElement(_compact2.default, {\n thread: thread,\n disabled: disabled\n }),\n _react2.default.createElement(Checkbox, {\n thread: thread,\n disabled: disabled,\n isSelected: isSelected\n })\n )\n );\n}\n\nfunction OptionsXs(_ref2) {\n var display = _ref2.display,\n disabled = _ref2.disabled,\n isSelected = _ref2.isSelected,\n thread = _ref2.thread;\n\n if (!display) return null;\n\n var className = '';\n if (thread.moderation.length) {\n className += 'col-xs-6';\n } else {\n className += 'col-xs-3';\n }\n className += ' visible-xs-block thread-options-xs';\n\n return _react2.default.createElement(\n 'div',\n { className: className },\n _react2.default.createElement(\n 'div',\n { className: 'row thread-options' },\n _react2.default.createElement(_full2.default, {\n thread: thread,\n disabled: disabled\n }),\n _react2.default.createElement(_compact2.default, {\n thread: thread,\n disabled: disabled\n }),\n _react2.default.createElement(Checkbox, {\n thread: thread,\n disabled: disabled,\n isSelected: isSelected\n })\n )\n );\n}\n\nvar Checkbox = exports.Checkbox = function (_React$Component) {\n _inherits(Checkbox, _React$Component);\n\n function Checkbox() {\n var _ref3;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Checkbox);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref3 = Checkbox.__proto__ || Object.getPrototypeOf(Checkbox)).call.apply(_ref3, [this].concat(args))), _this), _this.toggleSelection = function () {\n _store2.default.dispatch(select.item(_this.props.thread.id));\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Checkbox, [{\n key: 'render',\n value: function render() {\n var _props = this.props,\n disabled = _props.disabled,\n isSelected = _props.isSelected,\n thread = _props.thread;\n\n\n if (!thread.moderation.length) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-6' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-icon btn-block',\n onClick: this.toggleSelection,\n disabled: disabled\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n isSelected ? 'check_box' : 'check_box_outline_blank'\n )\n )\n );\n }\n }]);\n\n return Checkbox;\n}(_react2.default.Component);\n\n},{\"../../../reducers/selection\":357,\"../../../services/store\":376,\"./subscription/compact\":250,\"./subscription/full\":251,\"react\":\"react\"}],248:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _random = require('../../../utils/random');\n\nvar random = _interopRequireWildcard(_random);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n return false;\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: 'list-group-item thread-preview' },\n _react2.default.createElement(\n 'div',\n { className: 'thread-details-top visible-xs-block' },\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 80) + \"px\" }\n },\n '\\xA0'\n ),\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 80) + \"px\" }\n },\n '\\xA0'\n ),\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 80) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'span',\n { className: 'item-title thread-title' },\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(60, 200) + \"px\" }\n },\n '\\xA0'\n ),\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text hidden-xs',\n style: { width: random.int(60, 200) + \"px\" }\n },\n '\\xA0'\n ),\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text hidden-xs',\n style: { width: random.int(60, 200) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'thread-details-bottom' },\n _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 80) + \"px\" }\n },\n '\\xA0'\n ),\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 80) + \"px\" }\n },\n '\\xA0'\n ),\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 80) + \"px\" }\n },\n '\\xA0'\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../utils/random\":387,\"react\":\"react\"}],249:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n var activeCategory = props.activeCategory,\n categories = props.categories,\n list = props.list,\n thread = props.thread,\n isBusy = props.isBusy,\n isSelected = props.isSelected,\n showOptions = props.showOptions;\n\n\n var category = null;\n if (activeCategory.id !== thread.category) {\n category = categories[thread.category];\n }\n\n var flavor = category || activeCategory;\n\n var className = 'thread-main col-xs-12';\n if (showOptions) {\n if (thread.moderation.length) {\n className += ' col-sm-9 col-md-7';\n } else {\n className += ' col-sm-10 col-md-7';\n }\n } else {\n className += ' col-sm-12 col-md-9';\n }\n\n return _react2.default.createElement(\n 'li',\n { className: getClassName(thread.is_read, isBusy, isSelected, flavor) },\n _react2.default.createElement(_details.TopDetails, {\n category: category,\n thread: thread\n }),\n _react2.default.createElement(\n 'div',\n { className: 'row thread-row' },\n _react2.default.createElement(\n 'div',\n { className: className },\n _react2.default.createElement(\n 'div',\n { className: 'media' },\n _react2.default.createElement(\n 'div',\n { className: 'media-left hidden-xs' },\n _react2.default.createElement(\n _userUrl2.default,\n {\n className: 'thread-starter-avatar',\n title: thread.starter_name,\n url: thread.url.starter\n },\n _react2.default.createElement(_avatar2.default, {\n size: 40,\n user: thread.starter\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'media-body' },\n _react2.default.createElement(\n 'a',\n { href: thread.url.index, className: 'item-title thread-title' },\n thread.title\n ),\n _react2.default.createElement(_details.BottomDetails, {\n category: category,\n disabled: isBusy,\n isSelected: isSelected,\n showOptions: showOptions,\n thread: thread\n })\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-md-3 hidden-xs hidden-sm thread-last-action' },\n _react2.default.createElement(_lastAction2.default, { thread: thread })\n ),\n _react2.default.createElement(_options.Options, {\n disabled: isBusy,\n display: showOptions,\n isSelected: isSelected,\n thread: thread\n })\n )\n );\n};\n\nexports.getClassName = getClassName;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _details = require('./details');\n\nvar _lastAction = require('./last-action');\n\nvar _lastAction2 = _interopRequireDefault(_lastAction);\n\nvar _options = require('./options');\n\nvar _userUrl = require('./user-url');\n\nvar _userUrl2 = _interopRequireDefault(_userUrl);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getClassName(isRead, isBusy, isSelected, flavor) {\n var styles = ['list-group-item'];\n\n if (flavor && flavor.css_class) {\n styles.push('list-group-category-has-flavor');\n styles.push('list-group-item-category-' + flavor.css_class);\n }\n\n if (isRead) {\n styles.push('thread-read');\n } else {\n styles.push('thread-new');\n }\n\n if (isBusy) {\n styles.push('thread-busy');\n } else if (isSelected) {\n styles.push('thread-selected');\n }\n\n return styles.join(' ');\n} /* jshint ignore:start */\n\n},{\"../../avatar\":6,\"./details\":244,\"./last-action\":246,\"./options\":247,\"./user-url\":254,\"react\":\"react\"}],250:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _full = require('./full');\n\nvar _full2 = _interopRequireDefault(_full);\n\nvar _modal = require('./modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _modal3 = require('../../../../services/modal');\n\nvar _modal4 = _interopRequireDefault(_modal3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_SubscriptionFull) {\n _inherits(_class, _SubscriptionFull);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.showOptions = function () {\n _modal4.default.show(_react2.default.createElement(_modal2.default, { thread: _this.props.thread }));\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n var moderation = this.props.thread.moderation;\n\n\n var className = '';\n if (moderation.length) {\n className += 'col-xs-6';\n } else {\n className += 'col-xs-12';\n }\n className += ' hidden-md hidden-lg';\n\n return _react2.default.createElement(\n 'div',\n { className: className },\n _react2.default.createElement(\n 'button',\n {\n type: 'button',\n className: this.getClassName(),\n disabled: this.props.disabled,\n onClick: this.showOptions\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n this.getIcon()\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_full2.default);\n\nexports.default = _class;\n\n},{\"../../../../services/modal\":370,\"./full\":251,\"./modal\":252,\"react\":\"react\"}],251:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.Label = Label;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _options = require('./options');\n\nvar _options2 = _interopRequireDefault(_options);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'getIcon',\n value: function getIcon() {\n if (this.props.thread.subscription === true) {\n return 'star';\n } else if (this.props.thread.subscription === false) {\n return 'star_half';\n }\n\n return 'star_border';\n }\n }, {\n key: 'getClassName',\n value: function getClassName() {\n if (this.props.thread.subscription === true) {\n return \"btn btn-default btn-icon btn-block btn-subscribe btn-subscribe-full dropdown-toggle\";\n } else if (this.props.thread.subscription === false) {\n return \"btn btn-default btn-icon btn-block btn-subscribe btn-subscribe-half dropdown-toggle\";\n }\n\n return \"btn btn-default btn-icon btn-block btn-subscribe dropdown-toggle\";\n }\n }, {\n key: 'render',\n value: function render() {\n var _props$thread = this.props.thread,\n moderation = _props$thread.moderation,\n subscription = _props$thread.subscription;\n\n var fullwidth = !moderation.length;\n\n var className = fullwidth ? 'col-xs-12' : 'col-xs-6';\n className += ' hidden-xs hidden-sm';\n\n return _react2.default.createElement(\n 'div',\n { className: className },\n _react2.default.createElement(\n 'div',\n { className: 'btn-group btn-group-justified' },\n _react2.default.createElement(\n 'div',\n { className: 'btn-group' },\n _react2.default.createElement(\n 'button',\n {\n type: 'button',\n className: this.getClassName(),\n disabled: this.props.disabled,\n 'data-toggle': 'dropdown',\n 'aria-haspopup': 'true',\n 'aria-expanded': 'false'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n this.getIcon()\n ),\n _react2.default.createElement(Label, {\n moderation: moderation,\n subscription: subscription\n })\n ),\n _react2.default.createElement(_options2.default, {\n className: 'dropdown-menu dropdown-menu-right',\n thread: this.props.thread\n })\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\nfunction Label(_ref) {\n var moderation = _ref.moderation,\n subscription = _ref.subscription;\n\n if (moderation.length) return null;\n\n var text = gettext(\"Disabled\");\n if (subscription === true) {\n text = gettext(\"E-mail\");\n } else if (subscription === false) {\n text = gettext(\"Enabled\");\n }\n\n return _react2.default.createElement(\n 'span',\n { className: 'btn-text' },\n text\n );\n}\n\n},{\"./options\":253,\"react\":\"react\"}],252:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _options = require('./options');\n\nvar _options2 = _interopRequireDefault(_options);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'modal-dialog modal-sm',\n role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'close', 'data-dismiss': 'modal',\n 'aria-label': gettext(\"Close\") },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Change subscription\")\n )\n ),\n _react2.default.createElement(_options2.default, { className: 'modal-menu', thread: this.props.thread })\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"./options\":253,\"react\":\"react\"}],253:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _threads = require('../../../../reducers/threads');\n\nvar _ajax = require('../../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\n/* jshint ignore:start */\nvar STATE_UPDATES = {\n 'unsubscribe': null,\n 'notify': false,\n 'email': true\n};\n/* jshint ignore:end */\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.setSubscription = function (newState) {\n _modal2.default.hide();\n\n _this.setState({\n isLoading: true\n });\n\n var oldState = _this.props.thread.subscription;\n\n _store2.default.dispatch((0, _threads.patch)(_this.props.thread, {\n subscription: STATE_UPDATES[newState]\n }));\n\n _ajax2.default.patch(_this.props.thread.api.index, [{ op: 'replace', path: 'subscription', value: newState }]).then(function () {\n _this.setState({\n isLoading: false\n });\n }, function (rejection) {\n _this.setState({\n isLoading: false\n });\n _store2.default.dispatch((0, _threads.patch)(_this.props.thread, {\n subscription: STATE_UPDATES[oldState]\n }));\n _snackbar2.default.apiError(rejection);\n });\n };\n\n _this.unsubscribe = function () {\n _this.setSubscription('unsubscribe');\n };\n\n _this.notify = function () {\n _this.setSubscription('notify');\n };\n\n _this.email = function () {\n _this.setSubscription('email');\n };\n\n _this.state = {\n isLoading: false\n };\n return _this;\n }\n\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'ul',\n { className: this.props.className },\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { className: 'btn-link', onClick: this.unsubscribe },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'star_border'\n ),\n gettext(\"Unsubscribe\")\n )\n ),\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { className: 'btn-link', onClick: this.notify },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'star_half'\n ),\n gettext(\"Subscribe\")\n )\n ),\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { className: 'btn-link', onClick: this.email },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'star'\n ),\n gettext(\"Subscribe with e-mail\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../../reducers/threads\":360,\"../../../../services/ajax\":364,\"../../../../services/modal\":370,\"../../../../services/snackbar\":375,\"../../../../services/store\":376,\"../../../button\":8,\"react\":\"react\"}],254:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var children = _ref.children,\n className = _ref.className,\n title = _ref.title,\n url = _ref.url;\n\n if (url) {\n return _react2.default.createElement(\n 'a',\n {\n className: className,\n href: url,\n title: title\n },\n children\n );\n }\n\n return _react2.default.createElement(\n 'span',\n {\n className: className,\n title: title\n },\n children\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],255:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Subcategory = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRouter = require('react-router');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar Subcategory = exports.Subcategory = function (_React$Component) {\n _inherits(Subcategory, _React$Component);\n\n function Subcategory() {\n _classCallCheck(this, Subcategory);\n\n return _possibleConstructorReturn(this, (Subcategory.__proto__ || Object.getPrototypeOf(Subcategory)).apply(this, arguments));\n }\n\n _createClass(Subcategory, [{\n key: 'getUrl',\n value: function getUrl() {\n if (this.props.listPath) {\n return this.props.category.url.index + this.props.listPath;\n } else {\n return this.props.category.url.index;\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n _reactRouter.Link,\n { to: this.getUrl(), className: 'btn btn-link' },\n this.props.category.name\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return Subcategory;\n}(_react2.default.Component);\n\nvar _class = function (_React$Component2) {\n _inherits(_class, _React$Component2);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n var _this3 = this;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'dropdown category-picker' },\n _react2.default.createElement(\n 'button',\n {\n type: 'button',\n className: 'btn btn-default btn-outline dropdown-toggle btn-block',\n 'data-toggle': 'dropdown',\n 'aria-haspopup': 'true',\n 'aria-expanded': 'false'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'label_outline'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'hidden-xs' },\n gettext(\"Category\")\n )\n ),\n _react2.default.createElement(\n 'ul',\n { className: 'dropdown-menu stick-to-bottom categories-menu' },\n this.props.choices.map(function (id) {\n if (_this3.props.categories[id]) {\n return _react2.default.createElement(Subcategory, {\n category: _this3.props.categories[id],\n listPath: _this3.props.list.path,\n key: id\n });\n } else {\n return null;\n }\n })\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\",\"react-router\":\"react-router\"}],256:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.compareLastPostAge = compareLastPostAge;\nexports.compareGlobalWeight = compareGlobalWeight;\nexports.compareWeight = compareWeight;\nfunction compareLastPostAge(a, b) {\n if (a.last_post > b.last_post) {\n return -1;\n } else if (a.last_post < b.last_post) {\n return 1;\n } else {\n return 0;\n }\n}\n\nfunction compareGlobalWeight(a, b) {\n if (a.weight === 2 && a.weight > b.weight) {\n return -1;\n } else if (b.weight === 2 && a.weight < b.weight) {\n return 1;\n } else {\n return compareLastPostAge(a, b);\n }\n}\n\nfunction compareWeight(a, b) {\n if (a.weight > b.weight) {\n return -1;\n } else if (a.weight < b.weight) {\n return 1;\n } else {\n return compareLastPostAge(a, b);\n }\n}\n\n},{}],257:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _pageLead = require('../page-lead');\n\nvar _pageLead2 = _interopRequireDefault(_pageLead);\n\nvar _toolbar = require('./toolbar');\n\nvar _toolbar2 = _interopRequireDefault(_toolbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'getCategoryDescription',\n value: function getCategoryDescription() {\n if (this.props.pageLead) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'category-description' },\n _react2.default.createElement(\n 'div',\n { className: 'page-lead' },\n _react2.default.createElement(\n 'p',\n null,\n this.props.pageLead\n )\n )\n );\n /* jshint ignore:end */\n } else if (this.props.route.category.description) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'category-description' },\n _react2.default.createElement(_pageLead2.default, { copy: this.props.route.category.description.html })\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'getDisableToolbar',\n value: function getDisableToolbar() {\n return !this.props.isLoaded || this.props.isBusy || this.props.busyThreads.length;\n }\n }, {\n key: 'getToolbar',\n value: function getToolbar() {\n var isVisible = this.props.subcategories.length || this.props.user.id;\n\n if (!isVisible) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(_toolbar2.default, {\n subcategories: this.props.subcategories,\n categories: this.props.route.categories,\n categoriesMap: this.props.route.categoriesMap,\n list: this.props.route.list,\n\n threads: this.props.threads,\n moderation: this.props.moderation,\n selection: this.props.selection,\n selectAllThreads: this.props.selectAllThreads,\n selectNoneThreads: this.props.selectNoneThreads,\n\n addThreads: this.props.addThreads,\n freezeThread: this.props.freezeThread,\n deleteThread: this.props.deleteThread,\n updateThread: this.props.updateThread,\n\n api: this.props.api,\n route: this.props.route,\n disabled: this.getDisableToolbar(),\n user: this.props.user\n });\n /* jshint ignore:end */\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'container' },\n this.getCategoryDescription(),\n this.getToolbar(),\n this.props.children\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../page-lead\":91,\"./toolbar\":268,\"react\":\"react\"}],258:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.ParentCategory = ParentCategory;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRouter = require('react-router');\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _dropdownToggle = require('../dropdown-toggle');\n\nvar _dropdownToggle2 = _interopRequireDefault(_dropdownToggle);\n\nvar _nav = require('./nav');\n\nvar _nav2 = _interopRequireDefault(_nav);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _posting = require('../../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.startThread = function () {\n _posting2.default.open(_this.props.startThread || {\n mode: 'START',\n\n config: _2.default.get('THREAD_EDITOR_API'),\n submit: _2.default.get('THREADS_API'),\n\n category: _this.props.route.category.id\n });\n };\n\n _this.state = {\n isBusy: false\n };\n return _this;\n }\n\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'hasGoBackButton',\n\n /* jshint ignore:end */\n\n value: function hasGoBackButton() {\n return !!this.props.route.category.parent;\n }\n }, {\n key: 'getGoBackButton',\n value: function getGoBackButton() {\n if (!this.props.route.category.parent) return null;\n\n /* jshint ignore:start */\n var parent = this.props.categories[this.props.route.category.parent];\n\n return _react2.default.createElement(\n 'div',\n { className: 'hidden-xs col-sm-2 col-lg-1' },\n _react2.default.createElement(\n _reactRouter.Link,\n {\n className: 'btn btn-default btn-icon btn-aligned btn-go-back btn-block btn-outline',\n to: parent.url.index + this.props.route.list.path\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'keyboard_arrow_left'\n )\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getStartThreadButton',\n value: function getStartThreadButton() {\n if (!this.props.user.id) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-primary btn-block btn-outline',\n onClick: this.startThread,\n disabled: this.props.disabled\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'chat'\n ),\n gettext(\"Start thread\")\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n var headerClassName = 'col-xs-12';\n if (this.hasGoBackButton()) {\n headerClassName += ' col-sm-10 col-lg-11 sm-align-row-buttons';\n }\n\n var isAuthenticated = !!this.props.user.id;\n\n return _react2.default.createElement(\n 'div',\n { className: 'page-header-bg' },\n _react2.default.createElement(\n 'div',\n { className: 'page-header' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: isAuthenticated ? \"col-sm-9 col-md-10\" : \"col-xs-12\" },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n this.getGoBackButton(),\n _react2.default.createElement(\n 'div',\n { className: headerClassName },\n _react2.default.createElement(ParentCategory, {\n categories: this.props.categories,\n category: this.props.route.category.parent\n }),\n _react2.default.createElement(\n 'h1',\n null,\n this.props.title\n )\n )\n )\n ),\n isAuthenticated && _react2.default.createElement(\n 'div',\n { className: 'col-sm-3 col-md-2 xs-margin-top' },\n this.getStartThreadButton()\n )\n )\n ),\n _react2.default.createElement(_nav2.default, {\n baseUrl: this.props.route.category.url.index,\n list: this.props.route.list,\n lists: this.props.route.lists\n })\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\n/* jshint ignore:start */\n\n\nexports.default = _class;\nfunction ParentCategory(_ref) {\n var categories = _ref.categories,\n category = _ref.category;\n\n if (!category) return null;\n\n var parent = categories[category];\n\n return _react2.default.createElement(\n _reactRouter.Link,\n {\n className: 'go-back-sm visible-xs-block',\n to: parent.url.index\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'chevron_left'\n ),\n parent.parent ? parent.name : gettext(\"Threads\")\n );\n}\n/* jshint ignore:end */\n\n},{\"../..\":301,\"../../services/ajax\":364,\"../../services/posting\":374,\"../../services/snackbar\":375,\"../../services/store\":376,\"../button\":8,\"../dropdown-toggle\":27,\"./nav\":265,\"react\":\"react\",\"react-router\":\"react-router\"}],259:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n if (this.props.list.type === 'all') {\n if (this.props.emptyMessage) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: 'list-group-item empty-message' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n this.props.emptyMessage\n ),\n _react2.default.createElement(\n 'p',\n null,\n gettext(\"Why not start one yourself?\")\n )\n );\n /* jshint ignore:end */\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: 'list-group-item empty-message' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n this.props.category.special_role ? gettext(\"There are no threads on this forum... yet!\") : gettext(\"There are no threads in this category.\")\n ),\n _react2.default.createElement(\n 'p',\n null,\n gettext(\"Why not start one yourself?\")\n )\n );\n /* jshint ignore:end */\n }\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: 'list-group-item empty-message' },\n gettext(\"No threads matching specified criteria were found.\")\n );\n /* jshint ignore:end */\n }\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\"}],260:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _errorsList = require('./errors-list');\n\nvar _errorsList2 = _interopRequireDefault(_errorsList);\n\nvar _merge = require('./merge');\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _move = require('./move');\n\nvar _move2 = _interopRequireDefault(_move);\n\nvar _selection = require('../../../reducers/selection');\n\nvar select = _interopRequireWildcard(_selection);\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _countdown = require('../../../utils/countdown');\n\nvar _countdown2 = _interopRequireDefault(_countdown);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.callApi = function (ops, successMessage) {\n var onSuccess = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n // freeze threads\n _this.props.threads.forEach(function (thread) {\n _this.props.freezeThread(thread.id);\n });\n\n // list ids\n var ids = _this.props.threads.map(function (thread) {\n return thread.id;\n });\n\n // always return current acl\n ops.push({ op: 'add', path: 'acl', value: true });\n\n _ajax2.default.patch(_this.props.api, { ids: ids, ops: ops }).then(function (data) {\n // unfreeze\n _this.props.threads.forEach(function (thread) {\n _this.props.freezeThread(thread.id);\n });\n\n // update threads\n data.forEach(function (thread) {\n _this.props.updateThread(thread);\n });\n\n // show success message and call callback\n _snackbar2.default.success(successMessage);\n if (onSuccess) {\n onSuccess();\n }\n }, function (rejection) {\n // unfreeze\n _this.props.threads.forEach(function (thread) {\n _this.props.freezeThread(thread.id);\n });\n\n // escape on non-400 error\n if (rejection.status !== 400) {\n return _snackbar2.default.apiError(rejection);\n }\n\n // build errors list\n var errors = [];\n var threadsMap = {};\n\n _this.props.threads.forEach(function (thread) {\n threadsMap[thread.id] = thread;\n });\n\n rejection.forEach(function (_ref2) {\n var id = _ref2.id,\n detail = _ref2.detail;\n\n if (typeof threadsMap[id] !== 'undefined') {\n errors.push({\n errors: detail,\n thread: threadsMap[id]\n });\n }\n });\n\n _modal2.default.show(_react2.default.createElement(_errorsList2.default, { errors: errors }));\n });\n }, _this.pinGlobally = function () {\n _this.callApi([{\n op: 'replace',\n path: 'weight',\n value: 2\n }], gettext(\"Selected threads were pinned globally.\"));\n }, _this.pinLocally = function () {\n _this.callApi([{\n op: 'replace',\n path: 'weight',\n value: 1\n }], gettext(\"Selected threads were pinned locally.\"));\n }, _this.unpin = function () {\n _this.callApi([{\n op: 'replace',\n path: 'weight',\n value: 0\n }], gettext(\"Selected threads were unpinned.\"));\n }, _this.approve = function () {\n _this.callApi([{\n op: 'replace',\n path: 'is-unapproved',\n value: false\n }], gettext(\"Selected threads were approved.\"));\n }, _this.open = function () {\n _this.callApi([{\n op: 'replace',\n path: 'is-closed',\n value: false\n }], gettext(\"Selected threads were opened.\"));\n }, _this.close = function () {\n _this.callApi([{\n op: 'replace',\n path: 'is-closed',\n value: true\n }], gettext(\"Selected threads were closed.\"));\n }, _this.unhide = function () {\n _this.callApi([{\n op: 'replace',\n path: 'is-hidden',\n value: false\n }], gettext(\"Selected threads were unhidden.\"));\n }, _this.hide = function () {\n _this.callApi([{\n op: 'replace',\n path: 'is-hidden',\n value: true\n }], gettext(\"Selected threads were hidden.\"));\n }, _this.move = function () {\n _modal2.default.show(_react2.default.createElement(_move2.default, {\n callApi: _this.callApi,\n categories: _this.props.categories,\n categoriesMap: _this.props.categoriesMap,\n route: _this.props.route,\n user: _this.props.user\n }));\n }, _this.merge = function () {\n var errors = [];\n _this.props.threads.forEach(function (thread) {\n if (!thread.acl.can_merge) {\n errors.append({\n 'id': thread.id,\n 'title': thread.title,\n 'errors': [gettext(\"You don't have permission to merge this thread with others.\")]\n });\n }\n });\n\n if (_this.props.threads.length < 2) {\n _snackbar2.default.info(gettext(\"You have to select at least two threads to merge.\"));\n } else if (errors.length) {\n _modal2.default.show(_react2.default.createElement(_errorsList2.default, { errors: errors }));\n return;\n } else {\n _modal2.default.show(_react2.default.createElement(_merge2.default, _this.props));\n }\n }, _this.delete = function () {\n if (!confirm(gettext(\"Are you sure you want to delete selected threads?\"))) {\n return;\n }\n\n _this.props.threads.map(function (thread) {\n _this.props.freezeThread(thread.id);\n });\n\n var ids = _this.props.threads.map(function (thread) {\n return thread.id;\n });\n\n _ajax2.default.delete(_this.props.api, ids).then(function () {\n _this.props.threads.map(function (thread) {\n _this.props.freezeThread(thread.id);\n _this.props.deleteThread(thread);\n });\n\n _snackbar2.default.success(gettext(\"Selected threads were deleted.\"));\n }, function (rejection) {\n if (rejection.status === 400) {\n var failedThreads = rejection.map(function (thread) {\n return thread.id;\n });\n\n _this.props.threads.map(function (thread) {\n _this.props.freezeThread(thread.id);\n if (failedThreads.indexOf(thread.id) === -1) {\n _this.props.deleteThread(thread);\n }\n });\n\n _modal2.default.show(_react2.default.createElement(_errorsList2.default, { errors: rejection }));\n } else {\n _snackbar2.default.apiError(rejection);\n }\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'getPinGloballyButton',\n\n /* jshint ignore:end */\n\n value: function getPinGloballyButton() {\n if (!this.props.moderation.can_pin_globally) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.pinGlobally,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'bookmark'\n ),\n gettext(\"Pin threads globally\")\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getPinLocallyButton',\n value: function getPinLocallyButton() {\n if (!this.props.moderation.can_pin) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.pinLocally,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'bookmark_border'\n ),\n gettext(\"Pin threads locally\")\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getUnpinButton',\n value: function getUnpinButton() {\n if (!this.props.moderation.can_pin) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.unpin,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'panorama_fish_eye'\n ),\n gettext(\"Unpin threads\")\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getMoveButton',\n value: function getMoveButton() {\n if (!this.props.moderation.can_move) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.move,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'arrow_forward'\n ),\n gettext(\"Move threads\")\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getMergeButton',\n value: function getMergeButton() {\n if (!this.props.moderation.can_merge) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.merge,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'call_merge'\n ),\n gettext(\"Merge threads\")\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getApproveButton',\n value: function getApproveButton() {\n if (!this.props.moderation.can_approve) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.approve,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'done'\n ),\n gettext(\"Approve threads\")\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getOpenButton',\n value: function getOpenButton() {\n if (!this.props.moderation.can_close) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.open,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'lock_open'\n ),\n gettext(\"Open threads\")\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getCloseButton',\n value: function getCloseButton() {\n if (!this.props.moderation.can_close) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.close,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'lock_outline'\n ),\n gettext(\"Close threads\")\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getUnhideButton',\n value: function getUnhideButton() {\n if (!this.props.moderation.can_unhide) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.unhide,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'visibility'\n ),\n gettext(\"Unhide threads\")\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getHideButton',\n value: function getHideButton() {\n if (!this.props.moderation.can_hide) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n onClick: this.hide,\n type: 'button',\n className: 'btn btn-link'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'visibility_off'\n ),\n gettext(\"Hide threads\")\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getDeleteButton',\n value: function getDeleteButton() {\n if (!this.props.moderation.can_delete) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.delete,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'clear'\n ),\n gettext(\"Delete threads\")\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'ul',\n { className: this.props.className },\n this.getPinGloballyButton(),\n this.getPinLocallyButton(),\n this.getUnpinButton(),\n this.getMoveButton(),\n this.getMergeButton(),\n this.getApproveButton(),\n this.getOpenButton(),\n this.getCloseButton(),\n this.getUnhideButton(),\n this.getHideButton(),\n this.getDeleteButton()\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../reducers/selection\":357,\"../../../services/ajax\":364,\"../../../services/modal\":370,\"../../../services/snackbar\":375,\"../../../services/store\":376,\"../../../utils/countdown\":381,\"./errors-list\":261,\"./merge\":262,\"./move\":263,\"react\":\"react\"}],261:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.ThreadErrors = ThreadErrors;\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: \"render\",\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n \"div\",\n { className: \"modal-dialog\", role: \"document\" },\n _react2.default.createElement(\n \"div\",\n { className: \"modal-content\" },\n _react2.default.createElement(\n \"div\",\n { className: \"modal-header\" },\n _react2.default.createElement(\n \"button\",\n {\n \"aria-label\": gettext(\"Close\"),\n className: \"close\",\n \"data-dismiss\": \"modal\",\n type: \"button\"\n },\n _react2.default.createElement(\n \"span\",\n { \"aria-hidden\": \"true\" },\n \"\\xD7\"\n )\n ),\n _react2.default.createElement(\n \"h4\",\n { className: \"modal-title\" },\n gettext(\"Threads moderation\")\n )\n ),\n _react2.default.createElement(\n \"div\",\n { className: \"modal-body\" },\n _react2.default.createElement(\n \"p\",\n { className: \"lead\" },\n gettext(\"One or more threads could not be deleted:\")\n ),\n _react2.default.createElement(\n \"ul\",\n { className: \"list-unstyled list-errored-items\" },\n this.props.errors.map(function (item) {\n return _react2.default.createElement(ThreadErrors, {\n errors: item.errors,\n key: item.thread.id,\n thread: item.thread\n });\n })\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\n/* jshint ignore:start */\n\n\nexports.default = _class;\nfunction ThreadErrors(_ref) {\n var errors = _ref.errors,\n thread = _ref.thread;\n\n return _react2.default.createElement(\n \"li\",\n null,\n _react2.default.createElement(\n \"h5\",\n null,\n thread.title\n ),\n errors.map(function (message, i) {\n return _react2.default.createElement(\n \"p\",\n null,\n message\n );\n })\n );\n}\n/* jshint ignore:end */\n\n},{\"react\":\"react\"}],262:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _categorySelect = require('../../category-select');\n\nvar _categorySelect2 = _interopRequireDefault(_categorySelect);\n\nvar _select = require('../../select');\n\nvar _select2 = _interopRequireDefault(_select);\n\nvar _index = require('../../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _threads = require('../../../reducers/threads');\n\nvar _selection = require('../../../reducers/selection');\n\nvar select = _interopRequireWildcard(_selection);\n\nvar _errorsList = require('./errors-list');\n\nvar _errorsList2 = _interopRequireDefault(_errorsList);\n\nvar _mergeConflict = require('../../merge-conflict');\n\nvar _mergeConflict2 = _interopRequireDefault(_mergeConflict);\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _validators = require('../../../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.getFormdata = function () {\n return {\n threads: _this.props.threads.map(function (thread) {\n return thread.id;\n }),\n title: _this.state.title,\n category: _this.state.category,\n weight: _this.state.weight,\n is_hidden: _this.state.is_hidden,\n is_closed: _this.state.is_closed\n };\n };\n\n _this.handleSuccess = function (apiResponse) {\n // unfreeze and remove merged threads\n _this.props.threads.forEach(function (thread) {\n _this.props.freezeThread(thread.id);\n _this.props.deleteThread(thread);\n });\n\n // deselect all threads\n _store2.default.dispatch(select.none());\n\n // append merged thread, filter threads\n _this.props.addThreads([apiResponse]);\n _store2.default.dispatch((0, _threads.filterThreads)(_this.props.route.category, _this.props.categoriesMap));\n\n // hide modal\n _modal2.default.hide();\n };\n\n _this.handleError = function (rejection) {\n if (rejection.status === 400) {\n if (rejection.best_answers || rejection.polls) {\n _modal2.default.show(_react2.default.createElement(_mergeConflict2.default, {\n api: _index2.default.get('MERGE_THREADS_API'),\n bestAnswers: rejection.best_answers,\n data: _this.getFormdata(),\n polls: rejection.polls,\n onError: _this.handleError,\n onSuccess: _this.handleSuccess\n }));\n } else {\n _this.setState({\n 'errors': Object.assign({}, _this.state.errors, rejection)\n });\n _snackbar2.default.error(gettext(\"Form contains errors.\"));\n }\n } else if (rejection.status === 403 && Array.isArray(rejection)) {\n _modal2.default.show(_react2.default.createElement(_errorsList2.default, { errors: rejection }));\n } else if (rejection.best_answer) {\n _snackbar2.default.error(rejection.best_answer[0]);\n } else if (rejection.poll) {\n _snackbar2.default.error(rejection.poll[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n };\n\n _this.onCategoryChange = function (ev) {\n var categoryId = ev.target.value;\n var newState = {\n category: categoryId\n };\n\n if (_this.acl[categoryId].can_pin_threads < newState.weight) {\n newState.weight = 0;\n }\n\n if (!_this.acl[categoryId].can_hide_threads) {\n newState.is_hidden = 0;\n }\n\n if (!_this.acl[categoryId].can_close_threads) {\n newState.is_closed = false;\n }\n\n _this.setState(newState);\n };\n\n _this.state = {\n isLoading: false,\n\n title: '',\n category: null,\n weight: 0,\n is_hidden: 0,\n is_closed: false,\n\n validators: {\n title: [validators.required()]\n },\n\n errors: {}\n };\n\n _this.acl = {};\n for (var i in props.user.acl.categories) {\n if (!props.user.acl.categories.hasOwnProperty(i)) {\n continue;\n }\n\n var acl = props.user.acl.categories[i];\n _this.acl[acl.id] = acl;\n }\n\n _this.categoryChoices = [];\n props.categories.forEach(function (category) {\n if (category.level > 0) {\n var _acl = _this.acl[category.id];\n var disabled = !_acl.can_start_threads || category.is_closed && !_acl.can_close_threads;\n\n _this.categoryChoices.push({\n value: category.id,\n disabled: disabled,\n level: category.level - 1,\n label: category.name\n });\n\n if (!disabled && !_this.state.category) {\n _this.state.category = category.id;\n }\n }\n });\n\n _this.isHiddenChoices = [{\n 'value': 0,\n 'icon': 'visibility',\n 'label': gettext(\"No\")\n }, {\n 'value': 1,\n 'icon': 'visibility_off',\n 'label': gettext(\"Yes\")\n }];\n\n _this.isClosedChoices = [{\n 'value': false,\n 'icon': 'lock_outline',\n 'label': gettext(\"No\")\n }, {\n 'value': true,\n 'icon': 'lock',\n 'label': gettext(\"Yes\")\n }];\n return _this;\n }\n\n _createClass(_class, [{\n key: 'clean',\n value: function clean() {\n if (this.isValid()) {\n return true;\n } else {\n _snackbar2.default.error(gettext(\"Form contains errors.\"));\n this.setState({\n errors: this.validate()\n });\n return false;\n }\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(_index2.default.get('MERGE_THREADS_API'), this.getFormdata());\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'getWeightChoices',\n\n /* jshint ignore:end */\n\n value: function getWeightChoices() {\n var choices = [{\n 'value': 0,\n 'icon': 'remove',\n 'label': gettext(\"Not pinned\")\n }, {\n 'value': 1,\n 'icon': 'bookmark_border',\n 'label': gettext(\"Pinned locally\")\n }];\n\n if (this.acl[this.state.category].can_pin_threads == 2) {\n choices.push({\n 'value': 2,\n 'icon': 'bookmark',\n 'label': gettext(\"Pinned globally\")\n });\n }\n\n return choices;\n }\n }, {\n key: 'renderWeightField',\n value: function renderWeightField() {\n if (this.acl[this.state.category].can_pin_threads) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Thread weight\"),\n 'for': 'id_weight' },\n _react2.default.createElement(_select2.default, { id: 'id_weight',\n onChange: this.bindInput('weight'),\n value: this.state.weight,\n choices: this.getWeightChoices() })\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'renderHiddenField',\n value: function renderHiddenField() {\n if (this.acl[this.state.category].can_hide_threads) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Hide thread\"),\n 'for': 'id_is_hidden' },\n _react2.default.createElement(_select2.default, { id: 'id_is_closed',\n onChange: this.bindInput('is_hidden'),\n value: this.state.is_hidden,\n choices: this.isHiddenChoices })\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'renderClosedField',\n value: function renderClosedField() {\n if (this.acl[this.state.category].can_close_threads) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Close thread\"),\n 'for': 'id_is_closed' },\n _react2.default.createElement(_select2.default, { id: 'id_is_closed',\n onChange: this.bindInput('is_closed'),\n value: this.state.is_closed,\n choices: this.isClosedChoices })\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'renderForm',\n value: function renderForm() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Thread title\"),\n 'for': 'id_title',\n validation: this.state.errors.title },\n _react2.default.createElement('input', { id: 'id_title',\n className: 'form-control',\n type: 'text',\n onChange: this.bindInput('title'),\n value: this.state.title })\n ),\n _react2.default.createElement('div', { className: 'clearfix' }),\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Category\"),\n 'for': 'id_category',\n validation: this.state.errors.category },\n _react2.default.createElement(_categorySelect2.default, { id: 'id_category',\n onChange: this.onCategoryChange,\n value: this.state.category,\n choices: this.categoryChoices })\n ),\n _react2.default.createElement('div', { className: 'clearfix' }),\n this.renderWeightField(),\n this.renderHiddenField(),\n this.renderClosedField()\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n disabled: this.state.isLoading,\n type: 'button'\n },\n gettext(\"Cancel\")\n ),\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary', loading: this.state.isLoading },\n gettext(\"Merge threads\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'renderCantMergeMessage',\n value: function renderCantMergeMessage() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'info_outline'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"You can't move threads because there are no categories you are allowed to move them to.\")\n ),\n _react2.default.createElement(\n 'p',\n null,\n gettext(\"You need permission to start threads in category to be able to merge threads to it.\")\n ),\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n gettext(\"Ok\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getClassName',\n value: function getClassName() {\n if (!this.state.category) {\n return 'modal-dialog modal-message';\n } else {\n return 'modal-dialog';\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: this.getClassName(), role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'close', 'data-dismiss': 'modal',\n 'aria-label': gettext(\"Close\") },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Merge threads\")\n )\n ),\n this.state.category ? this.renderForm() : this.renderCantMergeMessage()\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../../index\":301,\"../../../reducers/selection\":357,\"../../../reducers/threads\":360,\"../../../services/ajax\":364,\"../../../services/modal\":370,\"../../../services/snackbar\":375,\"../../../services/store\":376,\"../../../utils/validators\":392,\"../../button\":8,\"../../category-select\":21,\"../../form\":55,\"../../form-group\":54,\"../../merge-conflict\":58,\"../../select\":209,\"./errors-list\":261,\"react\":\"react\"}],263:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _form = require('../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _categorySelect = require('../../category-select');\n\nvar _categorySelect2 = _interopRequireDefault(_categorySelect);\n\nvar _selection = require('../../../reducers/selection');\n\nvar select = _interopRequireWildcard(_selection);\n\nvar _threads = require('../../../reducers/threads');\n\nvar _modal = require('../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.handleSubmit = function (event) {\n // we don't reload page on submissions\n event.preventDefault();\n\n _modal2.default.hide();\n\n var onSuccess = function onSuccess() {\n _store2.default.dispatch((0, _threads.filterThreads)(_this.props.route.category, _this.props.categoriesMap));\n\n // deselect threads moved outside of visible scope\n var storeState = _store2.default.getState();\n var leftThreads = storeState.threads.map(function (thread) {\n return thread.id;\n });\n _store2.default.dispatch(select.all(storeState.selection.filter(function (thread) {\n return leftThreads.indexOf(thread) !== -1;\n })));\n };\n\n _this.props.callApi([{ op: 'replace', path: 'category', value: _this.state.category }, { op: 'replace', path: 'flatten-categories', value: null }, { op: 'add', path: 'acl', value: true }], gettext(\"Selected threads were moved.\"), onSuccess);\n };\n\n _this.state = {\n category: null\n };\n\n var acls = {};\n for (var i in props.user.acl.categories) {\n if (!props.user.acl.categories.hasOwnProperty(i)) {\n continue;\n }\n\n var acl = props.user.acl.categories[i];\n acls[acl.id] = acl;\n }\n\n _this.categoryChoices = [];\n props.categories.forEach(function (category) {\n if (category.level > 0) {\n var _acl = acls[category.id];\n var disabled = !_acl.can_start_threads || category.is_closed && !_acl.can_close_threads;\n\n _this.categoryChoices.push({\n value: category.id,\n disabled: disabled,\n level: category.level - 1,\n label: category.name\n });\n\n if (!disabled && !_this.state.category) {\n _this.state.category = category.id;\n }\n }\n });\n return _this;\n }\n\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'getClassName',\n\n /* jshint ignore:end */\n\n value: function getClassName() {\n if (!this.state.category) {\n return 'modal-dialog modal-message';\n } else {\n return 'modal-dialog';\n }\n }\n }, {\n key: 'renderForm',\n value: function renderForm() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"New category\"),\n 'for': 'id_new_category' },\n _react2.default.createElement(_categorySelect2.default, { id: 'id_new_category',\n onChange: this.bindInput('category'),\n value: this.state.category,\n choices: this.categoryChoices })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n disabled: this.state.isLoading,\n type: 'button'\n },\n gettext(\"Cancel\")\n ),\n _react2.default.createElement(\n 'button',\n { className: 'btn btn-primary' },\n gettext(\"Move threads\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'renderCantMoveMessage',\n value: function renderCantMoveMessage() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'info_outline'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"You can't move threads because there are no categories you are allowed to move them to.\")\n ),\n _react2.default.createElement(\n 'p',\n null,\n gettext(\"You need permission to start threads in category to be able to move threads to it.\")\n ),\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n gettext(\"Ok\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: this.getClassName(), role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'close', 'data-dismiss': 'modal',\n 'aria-label': gettext(\"Close\") },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Move threads\")\n )\n ),\n this.state.category ? this.renderForm() : this.renderCantMoveMessage()\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../../reducers/selection\":357,\"../../../reducers/threads\":360,\"../../../services/modal\":370,\"../../../services/store\":376,\"../../category-select\":21,\"../../form\":55,\"../../form-group\":54,\"react\":\"react\"}],264:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _selection = require('../../../reducers/selection');\n\nvar select = _interopRequireWildcard(_selection);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.selectAll = function () {\n _store2.default.dispatch(select.all(_this.props.threads.map(function (thread) {\n return thread.id;\n })));\n }, _this.selectNone = function () {\n _store2.default.dispatch(select.none());\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'ul',\n { className: this.props.className },\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n type: 'button',\n onClick: this.selectAll\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'check_box'\n ),\n gettext(\"Select all\")\n )\n ),\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n type: 'button',\n onClick: this.selectNone\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'check_box_outline_blank'\n ),\n gettext(\"Select none\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../reducers/selection\":357,\"../../../services/store\":376,\"react\":\"react\"}],265:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var baseUrl = _ref.baseUrl,\n list = _ref.list,\n lists = _ref.lists;\n\n if (lists.length < 2) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'page-tabs' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'ul',\n { className: 'nav nav-pills' },\n lists.map(function (item) {\n return _react2.default.createElement(\n _li2.default,\n {\n isControlled: true,\n isActive: item.path === list.path,\n key: baseUrl + item.path\n },\n _react2.default.createElement(\n _reactRouter.Link,\n { to: baseUrl + item.path },\n item.name\n )\n );\n })\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRouter = require('react-router');\n\nvar _li = require('../li');\n\nvar _li2 = _interopRequireDefault(_li);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../li\":56,\"react\":\"react\",\"react-router\":\"react-router\"}],266:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getSelect = getSelect;\nexports.getLists = getLists;\nexports.paths = paths;\n\nvar _reactRedux = require('react-redux');\n\nvar _route = require('./route');\n\nvar _route2 = _interopRequireDefault(_route);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getSelect(options) {\n return function (store) {\n return {\n 'options': options,\n 'selection': store.selection,\n 'threads': store.threads,\n 'tick': store.tick.tick,\n 'user': store.auth.user\n };\n };\n}\n\nfunction getLists(user) {\n var lists = [{\n type: 'all',\n path: '',\n name: gettext(\"All\"),\n longName: gettext(\"All threads\")\n }];\n\n if (user.id) {\n lists.push({\n type: 'my',\n path: 'my/',\n name: gettext(\"My\"),\n longName: gettext(\"My threads\")\n });\n lists.push({\n type: 'new',\n path: 'new/',\n name: gettext(\"New\"),\n longName: gettext(\"New threads\")\n });\n lists.push({\n type: 'unread',\n path: 'unread/',\n name: gettext(\"Unread\"),\n longName: gettext(\"Unread threads\")\n });\n lists.push({\n type: 'subscribed',\n path: 'subscribed/',\n name: gettext(\"Subscribed\"),\n longName: gettext(\"Subscribed threads\")\n });\n\n if (user.acl.can_see_unapproved_content_lists) {\n lists.push({\n type: 'unapproved',\n path: 'unapproved/',\n name: gettext(\"Unapproved\"),\n longName: gettext(\"Unapproved content\")\n });\n }\n }\n\n return lists;\n}\n\nfunction paths(user, mode) {\n var lists = getLists(user);\n var routes = [];\n var categoriesMap = {};\n\n _index2.default.get('CATEGORIES').forEach(function (category) {\n lists.forEach(function (list) {\n categoriesMap[category.id] = category;\n\n routes.push({\n path: category.url.index + list.path,\n component: (0, _reactRedux.connect)(getSelect(mode))(_route2.default),\n\n categories: _index2.default.get('CATEGORIES'),\n categoriesMap: categoriesMap,\n category: category,\n\n lists: lists,\n list: list\n });\n });\n });\n\n return routes;\n}\n\n},{\"../../index\":301,\"./route\":267,\"react-redux\":\"react-redux\"}],267:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _compare = require('./compare');\n\nvar _container = require('./container');\n\nvar _container2 = _interopRequireDefault(_container);\n\nvar _header = require('./header');\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _utils = require('./utils');\n\nvar _threadsList = require('../threads-list');\n\nvar _threadsList2 = _interopRequireDefault(_threadsList);\n\nvar _listEmpty = require('./list-empty');\n\nvar _listEmpty2 = _interopRequireDefault(_listEmpty);\n\nvar _withDropdown = require('../with-dropdown');\n\nvar _withDropdown2 = _interopRequireDefault(_withDropdown);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _selection = require('../../reducers/selection');\n\nvar select = _interopRequireWildcard(_selection);\n\nvar _threads = require('../../reducers/threads');\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _polls = require('../../services/polls');\n\nvar _polls2 = _interopRequireDefault(_polls);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _pageTitle = require('../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nvar _sets = require('../../utils/sets');\n\nvar sets = _interopRequireWildcard(_sets);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_WithDropdown) {\n _inherits(_class, _WithDropdown);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.loadMore = function () {\n _this.setState({\n isBusy: true\n });\n\n _this.loadThreads(_this.getCategory(), _this.state.page + 1);\n };\n\n _this.pollResponse = function (data) {\n _this.setState({\n diff: Object.assign({}, data, {\n results: (0, _utils.diffThreads)(_this.props.threads, data.results)\n })\n });\n };\n\n _this.addThreads = function (threads) {\n _store2.default.dispatch((0, _threads.append)(threads, _this.getSorting()));\n };\n\n _this.applyDiff = function () {\n _this.addThreads(_this.state.diff.results);\n\n _this.setState(Object.assign({}, _this.state.diff, {\n moderation: (0, _utils.getModerationActions)(_store2.default.getState().threads),\n\n diff: {\n results: []\n }\n }));\n };\n\n _this.freezeThread = function (thread) {\n _this.setState(function (currentState) {\n return {\n busyThreads: sets.toggle(currentState.busyThreads, thread)\n };\n });\n };\n\n _this.updateThread = function (thread) {\n _store2.default.dispatch((0, _threads.patch)(thread, thread, _this.getSorting()));\n };\n\n _this.deleteThread = function (thread) {\n _store2.default.dispatch((0, _threads.deleteThread)(thread));\n };\n\n _this.state = {\n isMounted: true,\n\n isLoaded: false,\n isBusy: false,\n\n diff: {\n results: []\n },\n\n moderation: [],\n busyThreads: [],\n\n dropdown: false,\n subcategories: [],\n\n count: 0,\n more: 0,\n\n page: 1,\n pages: 1\n };\n\n var category = _this.getCategory();\n\n if (_index2.default.has('THREADS')) {\n _this.initWithPreloadedData(category, _index2.default.get('THREADS'));\n } else {\n _this.initWithoutPreloadedData(category);\n }\n return _this;\n }\n\n _createClass(_class, [{\n key: 'getCategory',\n value: function getCategory() {\n if (!this.props.route.category.special_role) {\n return this.props.route.category.id;\n } else {\n return null;\n }\n }\n }, {\n key: 'initWithPreloadedData',\n value: function initWithPreloadedData(category, data) {\n this.state = Object.assign(this.state, {\n moderation: (0, _utils.getModerationActions)(data.results),\n\n subcategories: data.subcategories,\n\n count: data.count,\n more: data.more,\n\n page: data.page,\n pages: data.pages\n });\n\n this.startPolling(category);\n }\n }, {\n key: 'initWithoutPreloadedData',\n value: function initWithoutPreloadedData(category) {\n this.loadThreads(category);\n }\n }, {\n key: 'loadThreads',\n value: function loadThreads(category) {\n var _this2 = this;\n\n var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n\n _ajax2.default.get(this.props.options.api, {\n category: category,\n list: this.props.route.list.type,\n page: page || 1\n }, 'threads').then(function (data) {\n if (!_this2.state.isMounted) {\n // user changed route before loading completion\n return;\n }\n\n if (page === 1) {\n _store2.default.dispatch((0, _threads.hydrate)(data.results));\n } else {\n _store2.default.dispatch((0, _threads.append)(data.results, _this2.getSorting()));\n }\n\n _this2.setState({\n isLoaded: true,\n isBusy: false,\n\n moderation: (0, _utils.getModerationActions)(_store2.default.getState().threads),\n\n subcategories: data.subcategories,\n\n count: data.count,\n more: data.more,\n\n page: data.page,\n pages: data.pages\n });\n\n _this2.startPolling(category);\n }, function (rejection) {\n _snackbar2.default.apiError(rejection);\n });\n }\n }, {\n key: 'startPolling',\n value: function startPolling(category) {\n _polls2.default.start({\n poll: 'threads',\n url: this.props.options.api,\n data: {\n category: category,\n list: this.props.route.list.type\n },\n frequency: 120 * 1000,\n update: this.pollResponse\n });\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.setPageTitle();\n\n if (_index2.default.has('THREADS')) {\n // unlike in other components, routes are root components for threads\n // so we can't dispatch store action from constructor\n _store2.default.dispatch((0, _threads.hydrate)(_index2.default.pop('THREADS').results));\n\n this.setState({\n isLoaded: true\n });\n }\n\n _store2.default.dispatch(select.none());\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.state.isMounted = false;\n _polls2.default.stop('threads');\n }\n }, {\n key: 'getTitle',\n value: function getTitle() {\n if (this.props.options.title) {\n return this.props.options.title;\n }\n\n return (0, _utils.getTitle)(this.props.route);\n }\n }, {\n key: 'setPageTitle',\n value: function setPageTitle() {\n if (this.props.route.category.level || !_index2.default.get('THREADS_ON_INDEX')) {\n _pageTitle2.default.set((0, _utils.getPageTitle)(this.props.route));\n } else if (this.props.options.title) {\n _pageTitle2.default.set(this.props.options.title);\n } else {\n if (_index2.default.get('SETTINGS').forum_index_title) {\n document.title = _index2.default.get('SETTINGS').forum_index_title;\n } else {\n document.title = _index2.default.get('SETTINGS').forum_name;\n }\n }\n }\n }, {\n key: 'getSorting',\n value: function getSorting() {\n if (this.props.route.category.level) {\n return _compare.compareWeight;\n } else {\n return _compare.compareGlobalWeight;\n }\n }\n\n /* jshint ignore:start */\n\n // AJAX\n\n // Thread state utils\n\n }, {\n key: 'getMoreButton',\n\n /* jshint ignore:end */\n\n value: function getMoreButton() {\n if (this.state.more) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'pager-more' },\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn btn-default btn-outline',\n loading: this.state.isBusy || this.state.busyThreads.length,\n onClick: this.loadMore\n },\n gettext(\"Show more\")\n )\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'getClassName',\n value: function getClassName() {\n var className = 'page page-threads';\n className += ' page-threads-' + this.props.route.list.type;\n if (this.props.route.category.css_class) {\n className += ' page-threads-' + this.props.route.category.css_class;\n }\n return className;\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: this.getClassName() },\n _react2.default.createElement(_header2.default, {\n categories: this.props.route.categoriesMap,\n disabled: !this.state.isLoaded,\n startThread: this.props.options.startThread,\n threads: this.props.threads,\n title: this.getTitle(),\n toggleNav: this.toggleNav,\n route: this.props.route,\n user: this.props.user\n }),\n _react2.default.createElement(\n _container2.default,\n {\n api: this.props.options.api,\n\n route: this.props.route,\n subcategories: this.state.subcategories,\n user: this.props.user,\n\n pageLead: this.props.options.pageLead,\n\n threads: this.props.threads,\n threadsCount: this.state.count,\n\n moderation: this.state.moderation,\n selection: this.props.selection,\n\n busyThreads: this.state.busyThreads,\n addThreads: this.addThreads,\n freezeThread: this.freezeThread,\n deleteThread: this.deleteThread,\n updateThread: this.updateThread,\n\n isLoaded: this.state.isLoaded,\n isBusy: this.state.isBusy\n },\n _react2.default.createElement(\n _threadsList2.default,\n {\n category: this.props.route.category,\n categories: this.props.route.categoriesMap,\n list: this.props.route.list,\n selection: this.props.selection,\n threads: this.props.threads,\n\n diffSize: this.state.diff.results.length,\n applyDiff: this.applyDiff,\n\n showOptions: !!this.props.user.id,\n\n isLoaded: this.state.isLoaded,\n busyThreads: this.state.busyThreads\n },\n _react2.default.createElement(_listEmpty2.default, {\n category: this.props.route.category,\n emptyMessage: this.props.options.emptyMessage,\n list: this.props.route.list\n })\n ),\n this.getMoreButton()\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_withDropdown2.default);\n\nexports.default = _class;\n\n},{\"../../index\":301,\"../../reducers/selection\":357,\"../../reducers/threads\":360,\"../../services/ajax\":364,\"../../services/page-title\":372,\"../../services/polls\":373,\"../../services/snackbar\":375,\"../../services/store\":376,\"../../utils/sets\":390,\"../button\":8,\"../threads-list\":237,\"../with-dropdown\":298,\"./compare\":256,\"./container\":257,\"./header\":258,\"./list-empty\":259,\"./utils\":269,\"react\":\"react\"}],268:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _categoryPicker = require('./category-picker');\n\nvar _categoryPicker2 = _interopRequireDefault(_categoryPicker);\n\nvar _controls = require('./moderation/controls');\n\nvar _controls2 = _interopRequireDefault(_controls);\n\nvar _selection = require('./moderation/selection');\n\nvar _selection2 = _interopRequireDefault(_selection);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'getCategoryPicker',\n value: function getCategoryPicker() {\n if (!this.props.subcategories.length) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(_categoryPicker2.default, {\n categories: this.props.categoriesMap,\n choices: this.props.subcategories,\n list: this.props.list\n });\n /* jshint ignore:end */\n }\n }, {\n key: 'showModerationOptions',\n value: function showModerationOptions() {\n return this.props.user.id && this.props.moderation.allow;\n }\n }, {\n key: 'getSelectedThreads',\n value: function getSelectedThreads() {\n var _this2 = this;\n\n return this.props.threads.filter(function (thread) {\n return _this2.props.selection.indexOf(thread.id) >= 0;\n });\n }\n }, {\n key: 'getModerationButton',\n value: function getModerationButton() {\n if (!this.showModerationOptions()) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-6 col-sm-3 col-md-2' },\n _react2.default.createElement(\n 'div',\n { className: 'btn-group btn-group-justified' },\n _react2.default.createElement(\n 'div',\n { className: 'btn-group dropdown' },\n _react2.default.createElement(\n 'button',\n {\n type: 'button',\n className: 'btn btn-default btn-outline dropdown-toggle',\n 'data-toggle': 'dropdown',\n 'aria-haspopup': 'true',\n 'aria-expanded': 'false',\n disabled: this.props.disabled || !this.props.selection.length\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'settings'\n ),\n gettext(\"Options\")\n ),\n _react2.default.createElement(_controls2.default, {\n addThreads: this.props.addThreads,\n api: this.props.api,\n categories: this.props.categories,\n categoriesMap: this.props.categoriesMap,\n className: 'dropdown-menu dropdown-menu-right stick-to-bottom',\n deleteThread: this.props.deleteThread,\n freezeThread: this.props.freezeThread,\n moderation: this.props.moderation,\n route: this.props.route,\n threads: this.getSelectedThreads(),\n updateThread: this.props.updateThread,\n user: this.props.user\n })\n )\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getSelectionButton',\n value: function getSelectionButton() {\n if (!this.showModerationOptions()) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-3 col-sm-2 col-md-1' },\n _react2.default.createElement(\n 'div',\n { className: 'btn-group btn-group-justified' },\n _react2.default.createElement(\n 'div',\n { className: 'btn-group dropdown' },\n _react2.default.createElement(\n 'button',\n {\n type: 'button',\n className: 'btn btn-default btn-outline btn-icon dropdown-toggle',\n 'data-toggle': 'dropdown',\n 'aria-haspopup': 'true',\n 'aria-expanded': 'false',\n disabled: this.props.disabled\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'select_all'\n )\n ),\n _react2.default.createElement(_selection2.default, {\n className: 'dropdown-menu dropdown-menu-right stick-to-bottom',\n threads: this.props.threads\n })\n )\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'row row-toolbar row-toolbar-bottom-margin' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-3 col-sm-3 col-md-2 dropdown' },\n this.getCategoryPicker()\n ),\n _react2.default.createElement('div', { className: 'hidden-xs col-sm-4 col-md-7' }),\n this.getModerationButton(),\n this.getSelectionButton()\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"./category-picker\":255,\"./moderation/controls\":260,\"./moderation/selection\":264,\"react\":\"react\"}],269:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getPageTitle = getPageTitle;\nexports.getTitle = getTitle;\nexports.isThreadChanged = isThreadChanged;\nexports.diffThreads = diffThreads;\nexports.getModerationActions = getModerationActions;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getPageTitle(route) {\n if (route.category.level) {\n if (route.list.path) {\n return {\n title: route.list.longName,\n parent: route.category.name\n };\n } else {\n return {\n title: route.category.name\n };\n }\n } else if (_index2.default.get('THREADS_ON_INDEX')) {\n if (route.list.path) {\n return {\n title: route.list.longName\n };\n } else {\n return null;\n }\n } else {\n if (route.list.path) {\n return {\n title: route.list.longName,\n parent: gettext(\"Threads\")\n };\n } else {\n return {\n title: gettext(\"Threads\")\n };\n }\n }\n}\n\nfunction getTitle(route) {\n if (route.category.level) {\n return route.category.name;\n } else if (_index2.default.get('THREADS_ON_INDEX')) {\n if (_index2.default.get('SETTINGS').forum_index_title) {\n return _index2.default.get('SETTINGS').forum_index_title;\n } else {\n return _index2.default.get('SETTINGS').forum_name;\n }\n } else {\n return gettext(\"Threads\");\n }\n}\n\nfunction isThreadChanged(current, fromDb) {\n return [current.title === fromDb.title, current.weight === fromDb.weight, current.category === fromDb.category, current.last_post === fromDb.last_post, current.last_poster_name === fromDb.last_poster_name].indexOf(false) >= 0;\n}\n\nfunction diffThreads(current, fromDb) {\n var currentMap = {};\n current.forEach(function (thread) {\n currentMap[thread.id] = thread;\n });\n\n return fromDb.filter(function (thread) {\n if (currentMap[thread.id]) {\n return isThreadChanged(currentMap[thread.id], thread);\n } else {\n return true;\n }\n });\n}\n\nfunction getModerationActions(threads) {\n var moderation = {\n allow: false,\n\n can_approve: 0,\n can_close: 0,\n can_delete: 0,\n can_hide: 0,\n can_merge: 0,\n can_move: 0,\n can_pin: 0,\n can_pin_globally: 0,\n can_unhide: 0\n };\n\n threads.forEach(function (thread) {\n if (thread.is_unapproved && thread.acl.can_approve > moderation.can_approve) {\n moderation.can_approve = thread.acl.can_approve;\n }\n\n if (thread.acl.can_close > moderation.can_close) {\n moderation.can_close = thread.acl.can_close;\n }\n\n if (thread.acl.can_delete > moderation.can_delete) {\n moderation.can_delete = thread.acl.can_delete;\n }\n\n if (thread.acl.can_hide > moderation.can_hide) {\n moderation.can_hide = thread.acl.can_hide;\n }\n\n if (thread.acl.can_merge > moderation.can_merge) {\n moderation.can_merge = thread.acl.can_merge;\n }\n\n if (thread.acl.can_move > moderation.can_move) {\n moderation.can_move = thread.acl.can_move;\n }\n\n if (thread.acl.can_pin > moderation.can_pin) {\n moderation.can_pin = thread.acl.can_pin;\n }\n\n if (thread.acl.can_pin_globally > moderation.can_pin_globally) {\n moderation.can_pin_globally = thread.acl.can_pin_globally;\n }\n\n if (thread.acl.can_unhide > moderation.can_unhide) {\n moderation.can_unhide = thread.acl.can_unhide;\n }\n\n moderation.allow = moderation.can_approve || moderation.can_close || moderation.can_delete || moderation.can_hide || moderation.can_merge || moderation.can_move || moderation.can_pin || moderation.can_pin_globally || moderation.can_unhide;\n });\n\n return moderation;\n}\n\n},{\"../../index\":301}],270:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CompactGuestNav = exports.GuestNav = exports.GuestMenu = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _navbarSearch = require('../navbar-search');\n\nvar _navbarSearch2 = _interopRequireDefault(_navbarSearch);\n\nvar _registerButton = require('../register-button');\n\nvar _registerButton2 = _interopRequireDefault(_registerButton);\n\nvar _signIn = require('../sign-in.js');\n\nvar _signIn2 = _interopRequireDefault(_signIn);\n\nvar _mobileNavbarDropdown = require('../../services/mobile-navbar-dropdown');\n\nvar _mobileNavbarDropdown2 = _interopRequireDefault(_mobileNavbarDropdown);\n\nvar _modal = require('../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar GuestMenu = exports.GuestMenu = function (_React$Component) {\n _inherits(GuestMenu, _React$Component);\n\n function GuestMenu() {\n _classCallCheck(this, GuestMenu);\n\n return _possibleConstructorReturn(this, (GuestMenu.__proto__ || Object.getPrototypeOf(GuestMenu)).apply(this, arguments));\n }\n\n _createClass(GuestMenu, [{\n key: 'showSignInModal',\n value: function showSignInModal() {\n _modal2.default.show(_signIn2.default);\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'ul',\n {\n className: 'dropdown-menu user-dropdown dropdown-menu-right',\n role: 'menu'\n },\n _react2.default.createElement(\n 'li',\n { className: 'guest-preview' },\n _react2.default.createElement(\n 'h4',\n null,\n gettext(\"You are browsing as guest.\")\n ),\n _react2.default.createElement(\n 'p',\n null,\n gettext('Sign in or register to start and participate in discussions.')\n ),\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-6' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-sign-in btn-block',\n onClick: this.showSignInModal,\n type: 'button'\n },\n gettext(\"Sign in\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-6' },\n _react2.default.createElement(\n _registerButton2.default,\n { className: 'btn-primary btn-register btn-block' },\n gettext(\"Register\")\n )\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return GuestMenu;\n}(_react2.default.Component);\n\nvar GuestNav = exports.GuestNav = function (_GuestMenu) {\n _inherits(GuestNav, _GuestMenu);\n\n function GuestNav() {\n _classCallCheck(this, GuestNav);\n\n return _possibleConstructorReturn(this, (GuestNav.__proto__ || Object.getPrototypeOf(GuestNav)).apply(this, arguments));\n }\n\n _createClass(GuestNav, [{\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'nav nav-guest' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn navbar-btn btn-default btn-sign-in',\n onClick: this.showSignInModal,\n type: 'button'\n },\n gettext(\"Sign in\")\n ),\n _react2.default.createElement(\n _registerButton2.default,\n { className: 'navbar-btn btn-primary btn-register' },\n gettext(\"Register\")\n ),\n _react2.default.createElement(\n 'div',\n { className: 'navbar-left' },\n _react2.default.createElement(_navbarSearch2.default, null)\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return GuestNav;\n}(GuestMenu);\n\nvar CompactGuestNav = exports.CompactGuestNav = function (_React$Component2) {\n _inherits(CompactGuestNav, _React$Component2);\n\n function CompactGuestNav() {\n _classCallCheck(this, CompactGuestNav);\n\n return _possibleConstructorReturn(this, (CompactGuestNav.__proto__ || Object.getPrototypeOf(CompactGuestNav)).apply(this, arguments));\n }\n\n _createClass(CompactGuestNav, [{\n key: 'showGuestMenu',\n value: function showGuestMenu() {\n _mobileNavbarDropdown2.default.show(GuestMenu);\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'button',\n { type: 'button', onClick: this.showGuestMenu },\n _react2.default.createElement(_avatar2.default, { size: '64' })\n );\n /* jshint ignore:end */\n }\n }]);\n\n return CompactGuestNav;\n}(_react2.default.Component);\n\n},{\"../../services/mobile-navbar-dropdown\":369,\"../../services/modal\":370,\"../avatar\":6,\"../navbar-search\":76,\"../register-button\":197,\"../sign-in.js\":210,\"react\":\"react\"}],271:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CompactUserMenu = exports.UserMenu = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.select = select;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _guestNav = require('./guest-nav');\n\nvar _userNav = require('./user-nav');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n\n\n// jshint ignore:line\n\nvar UserMenu = exports.UserMenu = function (_React$Component) {\n _inherits(UserMenu, _React$Component);\n\n function UserMenu() {\n _classCallCheck(this, UserMenu);\n\n return _possibleConstructorReturn(this, (UserMenu.__proto__ || Object.getPrototypeOf(UserMenu)).apply(this, arguments));\n }\n\n _createClass(UserMenu, [{\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n if (this.props.isAuthenticated) {\n return _react2.default.createElement(_userNav.UserNav, { user: this.props.user });\n } else {\n return _react2.default.createElement(_guestNav.GuestNav, null);\n }\n /* jshint ignore:end */\n }\n }]);\n\n return UserMenu;\n}(_react2.default.Component);\n\nvar CompactUserMenu = exports.CompactUserMenu = function (_React$Component2) {\n _inherits(CompactUserMenu, _React$Component2);\n\n function CompactUserMenu() {\n _classCallCheck(this, CompactUserMenu);\n\n return _possibleConstructorReturn(this, (CompactUserMenu.__proto__ || Object.getPrototypeOf(CompactUserMenu)).apply(this, arguments));\n }\n\n _createClass(CompactUserMenu, [{\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n if (this.props.isAuthenticated) {\n return _react2.default.createElement(_userNav.CompactUserNav, { user: this.props.user });\n } else {\n return _react2.default.createElement(_guestNav.CompactGuestNav, null);\n }\n /* jshint ignore:end */\n }\n }]);\n\n return CompactUserMenu;\n}(_react2.default.Component);\n\nfunction select(state) {\n return state.auth;\n}\n\n},{\"./guest-nav\":270,\"./user-nav\":272,\"react\":\"react\"}],272:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CompactUserNav = exports.UserMenu = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.PrivateThreadsBadge = PrivateThreadsBadge;\nexports.UserNav = UserNav;\nexports.UserPrivateThreadsLink = UserPrivateThreadsLink;\nexports.selectUserMenu = selectUserMenu;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRedux = require('react-redux');\n\nvar _avatar = require('../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _root = require('../change-avatar/root');\n\nvar _root2 = _interopRequireDefault(_root);\n\nvar _navbarSearch = require('../navbar-search');\n\nvar _navbarSearch2 = _interopRequireDefault(_navbarSearch);\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _mobileNavbarDropdown = require('../../services/mobile-navbar-dropdown');\n\nvar _mobileNavbarDropdown2 = _interopRequireDefault(_mobileNavbarDropdown);\n\nvar _modal = require('../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar UserMenu = exports.UserMenu = function (_React$Component) {\n _inherits(UserMenu, _React$Component);\n\n function UserMenu() {\n _classCallCheck(this, UserMenu);\n\n return _possibleConstructorReturn(this, (UserMenu.__proto__ || Object.getPrototypeOf(UserMenu)).apply(this, arguments));\n }\n\n _createClass(UserMenu, [{\n key: 'logout',\n value: function logout() {\n var decision = confirm(gettext(\"Are you sure you want to sign out?\"));\n if (decision) {\n $('#hidden-logout-form').submit();\n }\n }\n }, {\n key: 'changeAvatar',\n value: function changeAvatar() {\n _modal2.default.show((0, _reactRedux.connect)(_root.select)(_root2.default));\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n var user = this.props.user;\n\n\n return _react2.default.createElement(\n 'ul',\n {\n className: 'dropdown-menu user-dropdown dropdown-menu-right',\n role: 'menu'\n },\n _react2.default.createElement(\n 'li',\n { className: 'dropdown-header' },\n _react2.default.createElement(\n 'strong',\n null,\n user.username\n ),\n _react2.default.createElement(\n 'ul',\n { className: 'list-unstyled list-inline user-stats' },\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'message'\n ),\n user.posts\n ),\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'forum'\n ),\n user.threads\n ),\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'favorite'\n ),\n user.followers\n ),\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'favorite_outline'\n ),\n user.following\n )\n )\n ),\n _react2.default.createElement('li', { className: 'divider' }),\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'a',\n { href: user.url },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'account_circle'\n ),\n gettext(\"See your profile\")\n )\n ),\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'a',\n { href: _2.default.get('USERCP_URL') },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'done_all'\n ),\n gettext(\"Change options\")\n )\n ),\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn-link',\n onClick: this.changeAvatar,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'portrait'\n ),\n gettext(\"Change avatar\")\n )\n ),\n !!user.acl.can_use_private_threads && _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'a',\n { href: _2.default.get('PRIVATE_THREADS_URL') },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'message'\n ),\n gettext(\"Private threads\"),\n _react2.default.createElement(PrivateThreadsBadge, { user: user })\n )\n ),\n _react2.default.createElement('li', { className: 'divider' }),\n _react2.default.createElement(\n 'li',\n { className: 'dropdown-buttons' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-block',\n onClick: this.logout,\n type: 'button'\n },\n gettext(\"Log out\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return UserMenu;\n}(_react2.default.Component);\n\nfunction PrivateThreadsBadge(_ref) {\n var user = _ref.user;\n\n if (!user.unread_private_threads) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'span',\n { className: 'badge' },\n user.unread_private_threads\n );\n /* jshint ignore:end */\n}\n\n/* jshint ignore:start */\nfunction UserNav(_ref2) {\n var user = _ref2.user;\n\n return _react2.default.createElement(\n 'ul',\n { className: 'ul nav navbar-nav nav-user' },\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(_navbarSearch2.default, null)\n ),\n _react2.default.createElement(UserPrivateThreadsLink, { user: user }),\n _react2.default.createElement(\n 'li',\n { className: 'dropdown' },\n _react2.default.createElement(\n 'a',\n {\n 'aria-haspopup': 'true',\n 'aria-expanded': 'false',\n className: 'dropdown-toggle',\n 'data-toggle': 'dropdown',\n href: user.url,\n role: 'button'\n },\n _react2.default.createElement(_avatar2.default, { user: user, size: '64' })\n ),\n _react2.default.createElement(UserMenu, { user: user })\n )\n );\n}\n/* jshint ignore:end */\n\nfunction UserPrivateThreadsLink(_ref3) {\n var user = _ref3.user;\n\n if (!user.acl.can_use_private_threads) return null;\n\n var title = null;\n if (user.unread_private_threads) {\n title = gettext(\"You have unread private threads!\");\n } else {\n title = gettext(\"Private threads\");\n }\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'a',\n {\n className: 'navbar-icon',\n href: _2.default.get('PRIVATE_THREADS_URL'),\n title: title },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'message'\n ),\n user.unread_private_threads > 0 && _react2.default.createElement(\n 'span',\n { className: 'badge' },\n user.unread_private_threads\n )\n )\n );\n /* jshint ignore:end */\n}\n\nfunction selectUserMenu(state) {\n return {\n user: state.auth.user\n };\n}\n\nvar CompactUserNav = exports.CompactUserNav = function (_React$Component2) {\n _inherits(CompactUserNav, _React$Component2);\n\n function CompactUserNav() {\n _classCallCheck(this, CompactUserNav);\n\n return _possibleConstructorReturn(this, (CompactUserNav.__proto__ || Object.getPrototypeOf(CompactUserNav)).apply(this, arguments));\n }\n\n _createClass(CompactUserNav, [{\n key: 'showUserMenu',\n value: function showUserMenu() {\n _mobileNavbarDropdown2.default.showConnected('user-menu', (0, _reactRedux.connect)(selectUserMenu)(UserMenu));\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'button',\n { type: 'button', onClick: this.showUserMenu },\n _react2.default.createElement(_avatar2.default, { user: this.props.user, size: '50' })\n );\n /* jshint ignore:end */\n }\n }]);\n\n return CompactUserNav;\n}(_react2.default.Component);\n\n},{\"../..\":301,\"../../services/mobile-navbar-dropdown\":369,\"../../services/modal\":370,\"../avatar\":6,\"../change-avatar/root\":25,\"../navbar-search\":76,\"react\":\"react\",\"react-redux\":\"react-redux\"}],273:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.StatusLabel = exports.StatusIcon = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.getStatusClassName = getStatusClassName;\nexports.getStatusDescription = getStatusDescription;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'getClass',\n value: function getClass() {\n return getStatusClassName(this.props.status);\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'span',\n { className: this.getClass() },\n this.props.children\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\nvar StatusIcon = exports.StatusIcon = function (_React$Component2) {\n _inherits(StatusIcon, _React$Component2);\n\n function StatusIcon() {\n _classCallCheck(this, StatusIcon);\n\n return _possibleConstructorReturn(this, (StatusIcon.__proto__ || Object.getPrototypeOf(StatusIcon)).apply(this, arguments));\n }\n\n _createClass(StatusIcon, [{\n key: 'getIcon',\n value: function getIcon() {\n if (this.props.status.is_banned) {\n return 'remove_circle_outline';\n } else if (this.props.status.is_hidden) {\n return 'help_outline';\n } else if (this.props.status.is_online_hidden) {\n return 'label';\n } else if (this.props.status.is_offline_hidden) {\n return 'label_outline';\n } else if (this.props.status.is_online) {\n return 'lens';\n } else if (this.props.status.is_offline) {\n return 'panorama_fish_eye';\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'span',\n { className: 'material-icon status-icon' },\n this.getIcon()\n );\n /* jshint ignore:end */\n }\n }]);\n\n return StatusIcon;\n}(_react2.default.Component);\n\nvar StatusLabel = exports.StatusLabel = function (_React$Component3) {\n _inherits(StatusLabel, _React$Component3);\n\n function StatusLabel() {\n _classCallCheck(this, StatusLabel);\n\n return _possibleConstructorReturn(this, (StatusLabel.__proto__ || Object.getPrototypeOf(StatusLabel)).apply(this, arguments));\n }\n\n _createClass(StatusLabel, [{\n key: 'getHelp',\n value: function getHelp() {\n return getStatusDescription(this.props.user, this.props.status);\n }\n }, {\n key: 'getLabel',\n value: function getLabel() {\n if (this.props.status.is_banned) {\n return gettext(\"Banned\");\n } else if (this.props.status.is_hidden) {\n return gettext(\"Hidden\");\n } else if (this.props.status.is_online_hidden) {\n return gettext(\"Online (hidden)\");\n } else if (this.props.status.is_offline_hidden) {\n return gettext(\"Offline (hidden)\");\n } else if (this.props.status.is_online) {\n return gettext(\"Online\");\n } else if (this.props.status.is_offline) {\n return gettext(\"Offline\");\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'span',\n { className: this.props.className || \"status-label\",\n title: this.getHelp() },\n this.getLabel()\n );\n /* jshint ignore:end */\n }\n }]);\n\n return StatusLabel;\n}(_react2.default.Component);\n\nfunction getStatusClassName(status) {\n var className = '';\n if (status.is_banned) {\n className = 'banned';\n } else if (status.is_hidden) {\n className = 'offline';\n } else if (status.is_online_hidden) {\n className = 'online';\n } else if (status.is_offline_hidden) {\n className = 'offline';\n } else if (status.is_online) {\n className = 'online';\n } else if (status.is_offline) {\n className = 'offline';\n }\n\n return 'user-status user-' + className;\n}\n\nfunction getStatusDescription(user, status) {\n if (status.is_banned) {\n if (status.banned_until) {\n return interpolate(gettext(\"%(username)s is banned until %(ban_expires)s\"), {\n username: user.username,\n ban_expires: status.banned_until.format('LL, LT')\n }, true);\n } else {\n return interpolate(gettext(\"%(username)s is banned\"), {\n username: user.username\n }, true);\n }\n } else if (status.is_hidden) {\n return interpolate(gettext(\"%(username)s is hiding presence\"), {\n username: user.username\n }, true);\n } else if (status.is_online_hidden) {\n return interpolate(gettext(\"%(username)s is online (hidden)\"), {\n username: user.username\n }, true);\n } else if (status.is_offline_hidden) {\n return interpolate(gettext(\"%(username)s was last seen %(last_click)s (hidden)\"), {\n username: user.username,\n last_click: status.last_click.fromNow()\n }, true);\n } else if (status.is_online) {\n return interpolate(gettext(\"%(username)s is online\"), {\n username: user.username\n }, true);\n } else if (status.is_offline) {\n return interpolate(gettext(\"%(username)s was last seen %(last_click)s\"), {\n username: user.username,\n last_click: status.last_click.fromNow()\n }, true);\n }\n}\n\n},{\"react\":\"react\"}],274:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _random = require('../../utils/random');\n\nvar random = _interopRequireWildcard(_random);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n return false;\n }\n }, {\n key: 'getClassName',\n value: function getClassName() {\n if (this.props.hiddenOnMobile) {\n return 'list-group-item hidden-xs hidden-sm';\n } else {\n return 'list-group-item';\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: this.getClassName() },\n _react2.default.createElement(\n 'div',\n { className: 'change-avatar' },\n _react2.default.createElement(\n 'span',\n { className: 'user-avatar' },\n _react2.default.createElement(_avatar2.default, { size: '100' })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'change-author' },\n _react2.default.createElement(\n 'span',\n { className: 'ui-preview-text', style: { width: random.int(30, 100) + \"px\" } },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'change' },\n _react2.default.createElement(\n 'span',\n { className: 'ui-preview-text', style: { width: random.int(30, 70) + \"px\" } },\n '\\xA0'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'arrow_forward'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'ui-preview-text', style: { width: random.int(30, 70) + \"px\" } },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'change-date' },\n _react2.default.createElement(\n 'span',\n { className: 'ui-preview-text', style: { width: random.int(80, 140) + \"px\" } },\n '\\xA0'\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../utils/random\":387,\"../avatar\":6,\"react\":\"react\"}],275:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'renderUserAvatar',\n value: function renderUserAvatar() {\n if (this.props.change.changed_by) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'a',\n { href: this.props.change.changed_by.url, className: 'user-avatar-wrapper' },\n _react2.default.createElement(_avatar2.default, { user: this.props.change.changed_by, size: '100' })\n );\n /* jshint ignore:end */\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'span',\n { className: 'user-avatar-wrapper' },\n _react2.default.createElement(_avatar2.default, { size: '100' })\n );\n /* jshint ignore:end */\n }\n }\n }, {\n key: 'renderUsername',\n value: function renderUsername() {\n if (this.props.change.changed_by) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'a',\n { href: this.props.change.changed_by.url, className: 'item-title' },\n this.props.change.changed_by.username\n );\n /* jshint ignore:end */\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'span',\n { className: 'item-title' },\n this.props.change.changed_by_username\n );\n /* jshint ignore:end */\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: 'list-group-item', key: this.props.change.id },\n _react2.default.createElement(\n 'div',\n { className: 'change-avatar' },\n this.renderUserAvatar()\n ),\n _react2.default.createElement(\n 'div',\n { className: 'change-author' },\n this.renderUsername()\n ),\n _react2.default.createElement(\n 'div',\n { className: 'change' },\n _react2.default.createElement(\n 'span',\n { className: 'old-username' },\n this.props.change.old_username\n ),\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'arrow_forward'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'new-username' },\n this.props.change.new_username\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'change-date' },\n _react2.default.createElement(\n 'abbr',\n { title: this.props.change.changed_on.format('LLL') },\n this.props.change.changed_on.fromNow()\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../avatar\":6,\"react\":\"react\"}],276:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: \"getEmptyMessage\",\n value: function getEmptyMessage() {\n if (this.props.emptyMessage) {\n return this.props.emptyMessage;\n } else {\n return gettext(\"No name changes have been recorded for your account.\");\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n \"div\",\n { className: \"username-history ui-ready\" },\n _react2.default.createElement(\n \"ul\",\n { className: \"list-group\" },\n _react2.default.createElement(\n \"li\",\n { className: \"list-group-item empty-message\" },\n this.getEmptyMessage()\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\"}],277:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _changePreview = require('./change-preview');\n\nvar _changePreview2 = _interopRequireDefault(_changePreview);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n return false;\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'username-history ui-preview' },\n _react2.default.createElement(\n 'ul',\n { className: 'list-group' },\n [0, 1, 2].map(function (i) {\n return _react2.default.createElement(_changePreview2.default, { hiddenOnMobile: i > 0, key: i });\n })\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"./change-preview\":274,\"react\":\"react\"}],278:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _change = require('./change');\n\nvar _change2 = _interopRequireDefault(_change);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'username-history ui-ready' },\n _react2.default.createElement(\n 'ul',\n { className: 'list-group' },\n this.props.changes.map(function (change) {\n return _react2.default.createElement(_change2.default, { change: change, key: change.id });\n })\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"./change\":275,\"react\":\"react\"}],279:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _listEmpty = require('./list-empty');\n\nvar _listEmpty2 = _interopRequireDefault(_listEmpty);\n\nvar _listReady = require('./list-ready');\n\nvar _listReady2 = _interopRequireDefault(_listReady);\n\nvar _listPreview = require('./list-preview');\n\nvar _listPreview2 = _interopRequireDefault(_listPreview);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n if (this.props.isLoaded) {\n if (this.props.changes.length) {\n /* jshint ignore:start */\n return _react2.default.createElement(_listReady2.default, { changes: this.props.changes });\n /* jshint ignore:end */\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(_listEmpty2.default, { emptyMessage: this.props.emptyMessage });\n /* jshint ignore:end */\n }\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(_listPreview2.default, null);\n /* jshint ignore:end */\n }\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"./list-empty\":276,\"./list-preview\":277,\"./list-ready\":278,\"react\":\"react\"}],280:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var showStatus = _ref.showStatus,\n user = _ref.user;\n var rank = user.rank;\n\n\n var className = 'panel user-card';\n if (rank.css_class) {\n className += ' user-card-' + rank.css_class;\n }\n\n return _react2.default.createElement(\n 'div',\n { className: className },\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-3 user-card-left' },\n _react2.default.createElement(\n 'div',\n { className: 'user-card-small-avatar' },\n _react2.default.createElement(\n 'a',\n { href: user.url },\n _react2.default.createElement(_avatar2.default, {\n size: '50',\n size2x: '80',\n user: user\n })\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-9 col-sm-12 user-card-body' },\n _react2.default.createElement(\n 'div',\n { className: 'user-card-avatar' },\n _react2.default.createElement(\n 'a',\n { href: user.url },\n _react2.default.createElement(_avatar2.default, {\n size: '150',\n size2x: '200',\n user: user\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'user-card-username' },\n _react2.default.createElement(\n 'a',\n { href: user.url },\n user.username\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'user-card-title' },\n _react2.default.createElement(_userTitle2.default, {\n rank: rank,\n title: user.title\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'user-card-stats' },\n _react2.default.createElement(_stats2.default, {\n showStatus: showStatus,\n user: user\n })\n )\n )\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _stats = require('./stats');\n\nvar _stats2 = _interopRequireDefault(_stats);\n\nvar _userTitle = require('./user-title');\n\nvar _userTitle2 = _interopRequireDefault(_userTitle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../avatar\":6,\"./stats\":281,\"./user-title\":282,\"react\":\"react\"}],281:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var showStatus = _ref.showStatus,\n user = _ref.user;\n\n return _react2.default.createElement(\n 'ul',\n { className: 'list-unstyled' },\n _react2.default.createElement(Status, {\n showStatus: showStatus,\n user: user\n }),\n _react2.default.createElement(JoinDate, { user: user }),\n _react2.default.createElement('li', { className: 'user-stat-divider' }),\n _react2.default.createElement(Posts, { user: user }),\n _react2.default.createElement(Threads, { user: user }),\n _react2.default.createElement(Followers, { user: user })\n );\n};\n\nexports.Status = Status;\nexports.JoinDate = JoinDate;\nexports.Posts = Posts;\nexports.Threads = Threads;\nexports.Followers = Followers;\nexports.getStatClassName = getStatClassName;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _userStatus = require('../../user-status');\n\nvar _userStatus2 = _interopRequireDefault(_userStatus);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction Status(_ref2) {\n var showStatus = _ref2.showStatus,\n user = _ref2.user;\n\n if (!showStatus) return null;\n\n return _react2.default.createElement(\n 'li',\n { className: 'user-stat-status' },\n _react2.default.createElement(\n _userStatus2.default,\n { status: user.status },\n _react2.default.createElement(_userStatus.StatusLabel, {\n status: user.status,\n user: user\n })\n )\n );\n} // jshint ignore:start\nfunction JoinDate(_ref3) {\n var user = _ref3.user;\n var joined_on = user.joined_on;\n\n\n var title = interpolate(gettext(\"Joined on %(joined_on)s\"), {\n 'joined_on': joined_on.format('LL, LT')\n }, true);\n\n var message = interpolate(gettext(\"Joined %(joined_on)s\"), {\n 'joined_on': joined_on.fromNow()\n }, true);\n\n return _react2.default.createElement(\n 'li',\n { className: 'user-stat-join-date' },\n _react2.default.createElement(\n 'abbr',\n { title: title },\n message\n )\n );\n}\n\nfunction Posts(_ref4) {\n var user = _ref4.user;\n\n var className = getStatClassName(\"user-stat-posts\", user.posts);\n var message = ngettext(\"%(posts)s post\", \"%(posts)s posts\", user.posts);\n\n return _react2.default.createElement(\n 'li',\n { className: className },\n interpolate(message, {\n 'posts': user.posts\n }, true)\n );\n}\n\nfunction Threads(_ref5) {\n var user = _ref5.user;\n\n var className = getStatClassName(\"user-stat-threads\", user.threads);\n var message = ngettext(\"%(threads)s thread\", \"%(threads)s threads\", user.threads);\n\n return _react2.default.createElement(\n 'li',\n { className: className },\n interpolate(message, {\n 'threads': user.threads\n }, true)\n );\n}\n\nfunction Followers(_ref6) {\n var user = _ref6.user;\n\n var className = getStatClassName(\"user-stat-followers\", user.followers);\n var message = ngettext(\"%(followers)s follower\", \"%(followers)s followers\", user.followers);\n\n return _react2.default.createElement(\n 'li',\n { className: className },\n interpolate(message, {\n 'followers': user.followers\n }, true)\n );\n}\n\nfunction getStatClassName(className, stat) {\n if (stat === 0) {\n return className + ' user-stat-empty';\n }\n return className;\n}\n\n},{\"../../user-status\":273,\"react\":\"react\"}],282:[function(require,module,exports){\narguments[4][129][0].apply(exports,arguments)\n},{\"dup\":129,\"react\":\"react\"}],283:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var cols = _ref.cols,\n isReady = _ref.isReady,\n showStatus = _ref.showStatus,\n users = _ref.users;\n\n var colClassName = 'col-xs-12 col-sm-4';\n if (cols === 4) {\n colClassName += ' col-md-3';\n }\n\n if (!isReady) {\n return _react2.default.createElement(_preview2.default, {\n colClassName: colClassName,\n cols: cols\n });\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'users-cards-list ui-ready' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n users.map(function (user) {\n return _react2.default.createElement(\n 'div',\n {\n className: colClassName,\n key: user.id\n },\n _react2.default.createElement(_card2.default, {\n showStatus: showStatus,\n user: user\n })\n );\n })\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _card = require('./card');\n\nvar _card2 = _interopRequireDefault(_card);\n\nvar _preview = require('./preview');\n\nvar _preview2 = _interopRequireDefault(_preview);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./card\":280,\"./preview\":285,\"react\":\"react\"}],284:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _random = require('../../../utils/random');\n\nvar random = _interopRequireWildcard(_random);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n return false;\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'div',\n { className: 'panel user-card user-card-preview' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-3 user-card-left' },\n _react2.default.createElement(\n 'div',\n { className: 'user-card-small-avatar' },\n _react2.default.createElement(\n 'span',\n null,\n _react2.default.createElement(_avatar2.default, {\n size: '50',\n size2x: '80'\n })\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-9 col-sm-12 user-card-body' },\n _react2.default.createElement(\n 'div',\n { className: 'user-card-avatar' },\n _react2.default.createElement(\n 'span',\n null,\n _react2.default.createElement(_avatar2.default, {\n size: '150',\n size2x: '200'\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'user-card-username' },\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(60, 150) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'user-card-title' },\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(60, 150) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'user-card-stats' },\n _react2.default.createElement(\n 'ul',\n { className: 'list-unstyled' },\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 70) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 70) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement('li', { className: 'user-stat-divider' }),\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 70) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 70) + \"px\" }\n },\n '\\xA0'\n )\n )\n )\n )\n )\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../utils/random\":387,\"../../avatar\":6,\"react\":\"react\"}],285:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var colClassName = _ref.colClassName,\n cols = _ref.cols;\n\n var list = Array.apply(null, { length: cols }).map(Number.call, Number);\n\n return _react2.default.createElement(\n 'div',\n { className: 'users-cards-list ui-preview' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n list.map(function (i) {\n var className = colClassName;\n if (i !== 0) className += ' hidden-xs';\n if (i === 3) className += ' hidden-sm';\n\n return _react2.default.createElement(\n 'div',\n {\n className: className,\n key: i\n },\n _react2.default.createElement(_card2.default, null)\n );\n })\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _card = require('./card');\n\nvar _card2 = _interopRequireDefault(_card);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./card\":284,\"react\":\"react\"}],286:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'getEmptyMessage',\n value: function getEmptyMessage() {\n return interpolate(gettext(\"No users have posted any new messages during last %(days)s days.\"), { 'days': this.props.trackedPeriod }, true);\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'active-posters-list' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n this.getEmptyMessage()\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\"}],287:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _random = require('../../../utils/random');\n\nvar random = _interopRequireWildcard(_random);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n return false;\n }\n }, {\n key: 'getClassName',\n value: function getClassName() {\n if (this.props.hiddenOnMobile) {\n return 'list-group-item hidden-xs hidden-sm';\n } else {\n return 'list-group-item';\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: this.getClassName() },\n _react2.default.createElement(\n 'div',\n { className: 'rank-user-avatar' },\n _react2.default.createElement(\n 'span',\n null,\n _react2.default.createElement(_avatar2.default, { size: '50' })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'rank-user' },\n _react2.default.createElement(\n 'div',\n { className: 'user-name' },\n _react2.default.createElement(\n 'span',\n { className: 'item-title' },\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 80) + \"px\" }\n },\n '\\xA0'\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'user-details' },\n _react2.default.createElement(\n 'span',\n { className: 'user-status' },\n _react2.default.createElement(\n 'span',\n { className: 'status-icon ui-preview-text' },\n '\\xA0'\n ),\n _react2.default.createElement(\n 'span',\n {\n className: 'status-label ui-preview-text hidden-xs hidden-sm',\n style: { width: random.int(30, 50) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'span',\n { className: 'rank-name' },\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 50) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'span',\n { className: 'user-title hidden-xs hidden-sm' },\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 50) + \"px\" }\n },\n '\\xA0'\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'user-compact-stats visible-xs-block' },\n _react2.default.createElement(\n 'span',\n { className: 'rank-position' },\n _react2.default.createElement(\n 'strong',\n null,\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(20, 30) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'small',\n null,\n gettext(\"Rank\")\n )\n ),\n _react2.default.createElement(\n 'span',\n { className: 'rank-posts-counted' },\n _react2.default.createElement(\n 'strong',\n null,\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(20, 30) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'small',\n null,\n gettext(\"Ranked posts\")\n )\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'rank-position hidden-xs' },\n _react2.default.createElement(\n 'strong',\n null,\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(20, 30) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'small',\n null,\n gettext(\"Rank\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'rank-posts-counted hidden-xs' },\n _react2.default.createElement(\n 'strong',\n null,\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(20, 30) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'small',\n null,\n gettext(\"Ranked posts\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'rank-posts-total hidden-xs' },\n _react2.default.createElement(\n 'strong',\n null,\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(20, 30) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'small',\n null,\n gettext(\"Total posts\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../utils/random\":387,\"../../avatar\":6,\"react\":\"react\"}],288:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRouter = require('react-router');\n\nvar _avatar = require('../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _userStatus = require('../../user-status');\n\nvar _userStatus2 = _interopRequireDefault(_userStatus);\n\nvar _index = require('../../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _random = require('../../../utils/random');\n\nvar random = _interopRequireWildcard(_random);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'getClassName',\n value: function getClassName() {\n if (this.props.rank.css_class) {\n return \"list-group-item list-group-rank-\" + this.props.rank.css_class;\n } else {\n return \"list-group-item\";\n }\n }\n }, {\n key: 'getUserStatus',\n value: function getUserStatus() {\n if (this.props.user.status) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n _userStatus2.default,\n { user: this.props.user, status: this.props.user.status },\n _react2.default.createElement(_userStatus.StatusIcon, { user: this.props.user,\n status: this.props.user.status }),\n _react2.default.createElement(_userStatus.StatusLabel, { user: this.props.user,\n status: this.props.user.status,\n className: 'status-label hidden-xs hidden-sm' })\n );\n /* jshint ignore:end */\n }\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'span',\n { className: 'user-status' },\n _react2.default.createElement(\n 'span',\n { className: 'status-icon ui-preview-text' },\n '\\xA0'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'status-label ui-preview-text hidden-xs hidden-sm',\n style: { width: random.int(30, 50) + \"px\" } },\n '\\xA0'\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getRankName',\n value: function getRankName() {\n if (!this.props.rank.is_tab) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'span',\n { className: 'rank-name item-title' },\n this.props.rank.name\n );\n /* jshint ignore:end */\n }\n\n /* jshint ignore:start */\n var rankUrl = _index2.default.get('USERS_LIST_URL') + this.props.rank.slug + '/';\n return _react2.default.createElement(\n _reactRouter.Link,\n { to: rankUrl, className: 'rank-name item-title' },\n this.props.rank.name\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getUserTitle',\n value: function getUserTitle() {\n if (!this.props.user.title) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'span',\n { className: 'user-title hidden-xs hidden-sm' },\n this.props.user.title\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: this.getClassName() },\n _react2.default.createElement(\n 'div',\n { className: 'rank-user-avatar' },\n _react2.default.createElement(\n 'a',\n { href: this.props.user.url },\n _react2.default.createElement(_avatar2.default, { user: this.props.user, size: 50, size2x: 64 })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'rank-user' },\n _react2.default.createElement(\n 'div',\n { className: 'user-name' },\n _react2.default.createElement(\n 'a',\n { href: this.props.user.url, className: 'item-title' },\n this.props.user.username\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'user-details' },\n this.getUserStatus(),\n this.getRankName(),\n this.getUserTitle()\n ),\n _react2.default.createElement(\n 'div',\n { className: 'user-compact-stats visible-xs-block' },\n _react2.default.createElement(\n 'span',\n { className: 'rank-position' },\n _react2.default.createElement(\n 'strong',\n null,\n '#',\n this.props.counter\n ),\n _react2.default.createElement(\n 'small',\n null,\n gettext(\"Rank\")\n )\n ),\n _react2.default.createElement(\n 'span',\n { className: 'rank-posts-counted' },\n _react2.default.createElement(\n 'strong',\n null,\n this.props.user.meta.score\n ),\n _react2.default.createElement(\n 'small',\n null,\n gettext(\"Ranked posts\")\n )\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'rank-position hidden-xs' },\n _react2.default.createElement(\n 'strong',\n null,\n '#',\n this.props.counter\n ),\n _react2.default.createElement(\n 'small',\n null,\n gettext(\"Rank\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'rank-posts-counted hidden-xs' },\n _react2.default.createElement(\n 'strong',\n null,\n this.props.user.meta.score\n ),\n _react2.default.createElement(\n 'small',\n null,\n gettext(\"Ranked posts\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'rank-posts-total hidden-xs' },\n _react2.default.createElement(\n 'strong',\n null,\n this.props.user.posts\n ),\n _react2.default.createElement(\n 'small',\n null,\n gettext(\"Total posts\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../index\":301,\"../../../utils/random\":387,\"../../avatar\":6,\"../../user-status\":273,\"react\":\"react\",\"react-router\":\"react-router\"}],289:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _listItemPreview = require('./list-item-preview');\n\nvar _listItemPreview2 = _interopRequireDefault(_listItemPreview);\n\nvar _random = require('../../../utils/random');\n\nvar random = _interopRequireWildcard(_random);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n return false;\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'active-posters-list' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'p',\n { className: 'lead ui-preview' },\n _react2.default.createElement(\n 'span',\n { className: 'ui-preview-text',\n style: { width: random.int(50, 220) + \"px\" } },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'active-posters ui-preview' },\n _react2.default.createElement(\n 'ul',\n { className: 'list-group' },\n [0, 1, 2].map(function (i) {\n return _react2.default.createElement(_listItemPreview2.default, { hiddenOnMobile: i > 0, key: i });\n })\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../utils/random\":387,\"./list-item-preview\":287,\"react\":\"react\"}],290:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _listItem = require('./list-item');\n\nvar _listItem2 = _interopRequireDefault(_listItem);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'getLeadMessage',\n value: function getLeadMessage() {\n var message = ngettext(\"%(posters)s most active poster from last %(days)s days.\", \"%(posters)s most active posters from last %(days)s days.\", this.props.count);\n\n return interpolate(message, {\n posters: this.props.count,\n days: this.props.trackedPeriod\n }, true);\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'active-posters-list' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n this.getLeadMessage()\n ),\n _react2.default.createElement(\n 'div',\n { className: 'active-posters ui-ready' },\n _react2.default.createElement(\n 'ul',\n { className: 'list-group' },\n this.props.users.map(function (user, i) {\n return _react2.default.createElement(_listItem2.default, { user: user,\n rank: user.rank,\n counter: i + 1,\n key: user.id });\n })\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"./list-item\":288,\"react\":\"react\"}],291:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _listEmpty = require('./list-empty');\n\nvar _listEmpty2 = _interopRequireDefault(_listEmpty);\n\nvar _listPreview = require('./list-preview');\n\nvar _listPreview2 = _interopRequireDefault(_listPreview);\n\nvar _listReady = require('./list-ready');\n\nvar _listReady2 = _interopRequireDefault(_listReady);\n\nvar _index = require('../../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _users = require('../../../reducers/users');\n\nvar _polls = require('../../../services/polls');\n\nvar _polls2 = _interopRequireDefault(_polls);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _pageTitle = require('../../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.update = function (data) {\n _store2.default.dispatch((0, _users.hydrate)(data.results));\n\n _this.setState({\n isLoaded: true,\n\n trackedPeriod: data.tracked_period,\n count: data.count\n });\n };\n\n if (_index2.default.has('USERS')) {\n _this.initWithPreloadedData(_index2.default.pop('USERS'));\n } else {\n _this.initWithoutPreloadedData();\n }\n\n _this.startPolling();\n return _this;\n }\n\n _createClass(_class, [{\n key: 'initWithPreloadedData',\n value: function initWithPreloadedData(data) {\n this.state = {\n isLoaded: true,\n\n trackedPeriod: data.tracked_period,\n count: data.count\n };\n\n _store2.default.dispatch((0, _users.hydrate)(data.results));\n }\n }, {\n key: 'initWithoutPreloadedData',\n value: function initWithoutPreloadedData() {\n this.state = {\n isLoaded: false\n };\n }\n }, {\n key: 'startPolling',\n value: function startPolling() {\n _polls2.default.start({\n poll: 'active-posters',\n url: _index2.default.get('USERS_API'),\n data: {\n list: 'active'\n },\n frequency: 90 * 1000,\n update: this.update\n });\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'componentDidMount',\n\n /* jshint ignore:end */\n\n value: function componentDidMount() {\n _pageTitle2.default.set({\n title: this.props.route.extra.name,\n parent: gettext(\"Users\")\n });\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n _polls2.default.stop('active-posters');\n }\n }, {\n key: 'render',\n value: function render() {\n if (this.state.isLoaded) {\n if (this.state.count > 0) {\n /* jshint ignore:start */\n return _react2.default.createElement(_listReady2.default, { users: this.props.users,\n trackedPeriod: this.state.trackedPeriod,\n count: this.state.count });\n /* jshint ignore:end */\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(_listEmpty2.default, { trackedPeriod: this.state.trackedPeriod });\n /* jshint ignore:end */\n }\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(_listPreview2.default, null);\n /* jshint ignore:end */\n }\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../index\":301,\"../../../reducers/users\":363,\"../../../services/page-title\":372,\"../../../services/polls\":373,\"../../../services/store\":376,\"./list-empty\":286,\"./list-preview\":289,\"./list-ready\":290,\"react\":\"react\"}],292:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var baseUrl = _ref.baseUrl,\n lists = _ref.lists;\n\n return _react2.default.createElement(\n 'ul',\n { className: 'nav nav-pills' },\n lists.map(function (list) {\n var url = listUrl(baseUrl, list);\n return _react2.default.createElement(\n _li2.default,\n { path: url, key: url },\n _react2.default.createElement(\n _reactRouter.Link,\n { to: url },\n list.name\n )\n );\n })\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRouter = require('react-router');\n\nvar _li = require('../li');\n\nvar _li2 = _interopRequireDefault(_li);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar listUrl = function listUrl(baseUrl, list) {\n var url = baseUrl;\n if (list.component === 'rank') {\n url += list.slug;\n } else {\n url += list.component;\n }\n return url + '/';\n}; // jshint ignore:start\n\n},{\"../../index\":301,\"../li\":56,\"react\":\"react\",\"react-router\":\"react-router\"}],293:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _usersList = require('../../users-list');\n\nvar _usersList2 = _interopRequireDefault(_usersList);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n return false;\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(_usersList2.default, {\n cols: 4,\n isReady: false\n })\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../users-list\":283,\"react\":\"react\"}],294:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(_usersList2.default, {\n cols: 4,\n isReady: true,\n showStatus: true,\n users: props.users\n }),\n _react2.default.createElement(_pager2.default, props)\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _pager = require('./pager');\n\nvar _pager2 = _interopRequireDefault(_pager);\n\nvar _usersList = require('../../users-list');\n\nvar _usersList2 = _interopRequireDefault(_usersList);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../users-list\":283,\"./pager\":295,\"react\":\"react\"}],295:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n if (props.pages === 1) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'row row-toolbar' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 text-center visible-xs-block' },\n _react2.default.createElement(More, { more: props.more }),\n _react2.default.createElement('div', { className: 'toolbar-vertical-spacer' })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-md-7' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-sm-4 col-md-5' },\n _react2.default.createElement(Pager, props)\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-sm-8 col-md-7 hidden-xs' },\n _react2.default.createElement(More, { more: props.more })\n )\n )\n )\n );\n};\n\nexports.Pager = Pager;\nexports.FirstPage = FirstPage;\nexports.PreviousPage = PreviousPage;\nexports.NextPage = NextPage;\nexports.LastPage = LastPage;\nexports.More = More;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRouter = require('react-router');\n\nvar _resetScroll = require('../../../utils/reset-scroll');\n\nvar _resetScroll2 = _interopRequireDefault(_resetScroll);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nfunction Pager(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'row row-paginator' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-3' },\n _react2.default.createElement(FirstPage, props)\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-3' },\n _react2.default.createElement(PreviousPage, props)\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-3' },\n _react2.default.createElement(NextPage, props)\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-3' },\n _react2.default.createElement(LastPage, props)\n )\n );\n}\n\nfunction FirstPage(props) {\n if (props.isLoaded && props.first) {\n return _react2.default.createElement(\n _reactRouter.Link,\n {\n className: 'btn btn-default btn-block btn-icon btn-outline',\n onClick: _resetScroll2.default,\n to: props.baseUrl,\n title: gettext(\"Go to first page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'first_page'\n )\n );\n } else {\n return _react2.default.createElement(\n 'span',\n {\n className: 'btn btn-default btn-block btn-icon btn-outline disabled',\n title: gettext(\"Go to first page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'first_page'\n )\n );\n }\n}\n\nfunction PreviousPage(props) {\n if (props.isLoaded && props.page > 1) {\n var previousUrl = '';\n if (props.previous) {\n previousUrl = props.previous + '/';\n }\n\n return _react2.default.createElement(\n _reactRouter.Link,\n {\n className: 'btn btn-default btn-block btn-icon btn-outline',\n onClick: _resetScroll2.default,\n to: props.baseUrl + previousUrl,\n title: gettext(\"Go to previous page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'chevron_left'\n )\n );\n } else {\n return _react2.default.createElement(\n 'span',\n {\n className: 'btn btn-default btn-block btn-icon btn-outline disabled',\n title: gettext(\"Go to previous page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'chevron_left'\n )\n );\n }\n}\n\nfunction NextPage(props) {\n if (props.isLoaded && props.more) {\n var nextUrl = '';\n if (props.next) {\n nextUrl = props.next + '/';\n }\n\n return _react2.default.createElement(\n _reactRouter.Link,\n {\n className: 'btn btn-default btn-block btn-icon btn-outline',\n onClick: _resetScroll2.default,\n to: props.baseUrl + nextUrl,\n title: gettext(\"Go to next page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'chevron_right'\n )\n );\n } else {\n return _react2.default.createElement(\n 'span',\n {\n className: 'btn btn-default btn-block btn-icon btn-outline disabled',\n title: gettext(\"Go to next page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'chevron_right'\n )\n );\n }\n}\n\nfunction LastPage(props) {\n if (props.isLoaded && props.last) {\n return _react2.default.createElement(\n _reactRouter.Link,\n {\n className: 'btn btn-default btn-block btn-icon btn-outline',\n onClick: _resetScroll2.default,\n to: props.baseUrl + props.last + '/',\n title: gettext(\"Go to last page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'last_page'\n )\n );\n } else {\n return _react2.default.createElement(\n 'span',\n {\n className: 'btn btn-default btn-block btn-icon btn-outline disabled',\n title: gettext(\"Go to last page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'last_page'\n )\n );\n }\n}\n\nfunction More(props) {\n var message = null;\n if (props.more) {\n message = ngettext(\"There is %(more)s more member with this role.\", \"There are %(more)s more members with this role.\", props.more);\n message = interpolate(message, { 'more': props.more }, true);\n } else {\n message = gettext(\"There are no more members with this role.\");\n }\n\n return _react2.default.createElement(\n 'p',\n null,\n message\n );\n}\n\n},{\"../../../utils/reset-scroll\":388,\"react\":\"react\",\"react-router\":\"react-router\"}],296:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _pageLead = require('../../page-lead');\n\nvar _pageLead2 = _interopRequireDefault(_pageLead);\n\nvar _list = require('./list');\n\nvar _list2 = _interopRequireDefault(_list);\n\nvar _listLoading = require('./list-loading');\n\nvar _listLoading2 = _interopRequireDefault(_listLoading);\n\nvar _index = require('../../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _users = require('../../../reducers/users');\n\nvar _polls = require('../../../services/polls');\n\nvar _polls2 = _interopRequireDefault(_polls);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _pageTitle = require('../../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.update = function (data) {\n _store2.default.dispatch((0, _users.hydrate)(data.results));\n\n data.isLoaded = true;\n _this.setState(data);\n };\n\n if (_index2.default.has('USERS')) {\n _this.initWithPreloadedData(_index2.default.pop('USERS'));\n } else {\n _this.initWithoutPreloadedData();\n }\n\n _this.startPolling(props.params.page || 1);\n return _this;\n }\n\n _createClass(_class, [{\n key: 'initWithPreloadedData',\n value: function initWithPreloadedData(data) {\n this.state = Object.assign(data, {\n isLoaded: true\n });\n _store2.default.dispatch((0, _users.hydrate)(data.results));\n }\n }, {\n key: 'initWithoutPreloadedData',\n value: function initWithoutPreloadedData() {\n this.state = {\n isLoaded: false\n };\n }\n }, {\n key: 'startPolling',\n value: function startPolling(page) {\n _polls2.default.start({\n poll: 'rank-users',\n url: _index2.default.get('USERS_API'),\n data: {\n rank: this.props.route.rank.id,\n page: page\n },\n frequency: 90 * 1000,\n update: this.update\n });\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'componentDidMount',\n\n /* jshint ignore:end */\n\n value: function componentDidMount() {\n _pageTitle2.default.set({\n title: this.props.route.rank.name,\n page: this.props.params.page || null,\n parent: gettext(\"Users\")\n });\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n _polls2.default.stop('rank-users');\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n if (this.props.params.page !== nextProps.params.page) {\n _pageTitle2.default.set({\n title: this.props.route.rank.name,\n page: nextProps.params.page || null,\n parent: gettext(\"Users\")\n });\n\n this.setState({\n isLoaded: false\n });\n\n _polls2.default.stop('rank-users');\n this.startPolling(nextProps.params.page);\n }\n }\n }, {\n key: 'getClassName',\n value: function getClassName() {\n if (this.props.route.rank.css_class) {\n return 'rank-users-list rank-users-' + this.props.route.rank.css_class;\n } else {\n return 'rank-users-list';\n }\n }\n }, {\n key: 'getRankDescription',\n value: function getRankDescription() {\n if (this.props.route.rank.description) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'rank-description' },\n _react2.default.createElement(_pageLead2.default, { copy: this.props.route.rank.description.html })\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'getComponent',\n value: function getComponent() {\n if (this.state.isLoaded) {\n if (this.state.count > 0) {\n /* jshint ignore:start */\n var baseUrl = _index2.default.get('USERS_LIST_URL') + this.props.route.rank.slug + '/';\n return _react2.default.createElement(_list2.default, _extends({ baseUrl: baseUrl,\n users: this.props.users\n }, this.state));\n /* jshint ignore:end */\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"There are no users with this rank at the moment.\")\n );\n /* jshint ignore:end */\n }\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(_listLoading2.default, null);\n /* jshint ignore:end */\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: this.getClassName() },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n this.getRankDescription(),\n this.getComponent()\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../index\":301,\"../../../reducers/users\":363,\"../../../services/page-title\":372,\"../../../services/polls\":373,\"../../../services/store\":376,\"../../page-lead\":91,\"./list\":294,\"./list-loading\":293,\"react\":\"react\"}],297:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.select = select;\nexports.paths = paths;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRedux = require('react-redux');\n\nvar _dropdownToggle = require('../dropdown-toggle');\n\nvar _dropdownToggle2 = _interopRequireDefault(_dropdownToggle);\n\nvar _nav = require('./nav');\n\nvar _nav2 = _interopRequireDefault(_nav);\n\nvar _root = require('./active-posters/root');\n\nvar _root2 = _interopRequireDefault(_root);\n\nvar _root3 = require('./rank/root');\n\nvar _root4 = _interopRequireDefault(_root3);\n\nvar _withDropdown = require('../with-dropdown');\n\nvar _withDropdown2 = _interopRequireDefault(_withDropdown);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_WithDropdown) {\n _inherits(_class, _WithDropdown);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'page page-users-lists' },\n _react2.default.createElement(\n 'div',\n { className: 'page-header-bg' },\n _react2.default.createElement(\n 'div',\n { className: 'page-header' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'h1',\n null,\n gettext(\"Users\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'page-tabs' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(_nav2.default, {\n lists: _index2.default.get('USERS_LISTS'),\n baseUrl: _index2.default.get('USERS_LIST_URL')\n })\n )\n )\n )\n ),\n this.props.children\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_withDropdown2.default);\n\nexports.default = _class;\nfunction select(store) {\n return {\n 'tick': store.tick.tick,\n 'user': store.auth.user,\n 'users': store.users\n };\n}\n\nfunction paths() {\n var paths = [];\n\n _index2.default.get('USERS_LISTS').forEach(function (item) {\n if (item.component === 'rank') {\n paths.push({\n path: _index2.default.get('USERS_LIST_URL') + item.slug + '/:page/',\n component: (0, _reactRedux.connect)(select)(_root4.default),\n rank: item\n });\n paths.push({\n path: _index2.default.get('USERS_LIST_URL') + item.slug + '/',\n component: (0, _reactRedux.connect)(select)(_root4.default),\n rank: item\n });\n } else if (item.component === 'active-posters') {\n paths.push({\n path: _index2.default.get('USERS_LIST_URL') + item.component + '/',\n component: (0, _reactRedux.connect)(select)(_root2.default),\n extra: {\n name: item.name\n }\n });\n }\n });\n\n return paths;\n}\n\n},{\"../../index\":301,\"../dropdown-toggle\":27,\"../with-dropdown\":298,\"./active-posters/root\":291,\"./nav\":292,\"./rank/root\":296,\"react\":\"react\",\"react-redux\":\"react-redux\"}],298:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.toggleNav = function () {\n _this.setState({\n dropdown: !_this.state.dropdown\n });\n };\n\n _this.hideNav = function () {\n _this.setState({\n dropdown: false\n });\n };\n\n _this.state = {\n dropdown: false\n };\n return _this;\n }\n\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'getCompactNavClassName',\n\n /* jshint ignore:end */\n\n value: function getCompactNavClassName() {\n if (this.state.dropdown) {\n return 'compact-nav open';\n } else {\n return 'compact-nav';\n }\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\"}],299:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.toggle = function () {\n _this.props.onChange({\n target: {\n value: !_this.props.value\n }\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: \"getClassName\",\n value: function getClassName() {\n if (this.props.value) {\n return \"btn btn-yes-no btn-yes-no-on\";\n } else {\n return \"btn btn-yes-no btn-yes-no-off\";\n }\n }\n }, {\n key: \"getIcon\",\n value: function getIcon() {\n if (!!this.props.value) {\n return this.props.iconOn || 'check_box';\n } else {\n return this.props.iconOff || 'check_box_outline_blank';\n }\n }\n }, {\n key: \"getLabel\",\n value: function getLabel() {\n if (!!this.props.value) {\n return this.props.labelOn || gettext(\"yes\");\n } else {\n return this.props.labelOff || gettext(\"no\");\n }\n }\n\n /* jshint ignore:start */\n\n }, {\n key: \"render\",\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n \"button\",\n {\n type: \"button\",\n onClick: this.toggle,\n className: this.getClassName(),\n id: this.props.id || null,\n \"aria-describedby\": this.props['aria-describedby'] || null,\n disabled: this.props.disabled || false\n },\n _react2.default.createElement(\n \"span\",\n { className: \"material-icon\" },\n this.getIcon()\n ),\n _react2.default.createElement(\n \"span\",\n { className: \"btn-text\" },\n this.getLabel()\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\"}],300:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _profileDetails = require('../reducers/profile-details');\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _props = this.props,\n data = _props.data,\n dispatch = _props.dispatch,\n user = _props.user;\n\n if (data && data.id === user.id) return;\n\n _ajax2.default.get(this.props.user.api.details).then(function (data) {\n dispatch((0, _profileDetails.load)(data));\n }, function (rejection) {\n _snackbar2.default.apiError(rejection);\n });\n }\n }, {\n key: 'render',\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../reducers/profile-details\":354,\"../services/ajax\":364,\"../services/snackbar\":375,\"react\":\"react\"}],301:[function(require,module,exports){\n(function (global){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Misago = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _orderedList = require('./utils/ordered-list');\n\nvar _orderedList2 = _interopRequireDefault(_orderedList);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Misago = exports.Misago = function () {\n function Misago() {\n _classCallCheck(this, Misago);\n\n this._initializers = [];\n this._context = {};\n }\n\n _createClass(Misago, [{\n key: 'addInitializer',\n value: function addInitializer(initializer) {\n this._initializers.push({\n key: initializer.name,\n\n item: initializer.initializer,\n\n after: initializer.after,\n before: initializer.before\n });\n }\n }, {\n key: 'init',\n value: function init(context) {\n var _this = this;\n\n this._context = context;\n\n var initOrder = new _orderedList2.default(this._initializers).orderedValues();\n initOrder.forEach(function (initializer) {\n initializer(_this);\n });\n }\n\n // context accessors\n\n }, {\n key: 'has',\n value: function has(key) {\n return !!this._context[key];\n }\n }, {\n key: 'get',\n value: function get(key, fallback) {\n if (this.has(key)) {\n return this._context[key];\n } else {\n return fallback || undefined;\n }\n }\n }, {\n key: 'pop',\n value: function pop(key) {\n if (this.has(key)) {\n var value = this._context[key];\n this._context[key] = null;\n return value;\n } else {\n return undefined;\n }\n }\n }]);\n\n return Misago;\n}();\n\n// create singleton\n\n\nvar misago = new Misago();\n\n// expose it globally\nglobal.misago = misago;\n\n// and export it for tests and stuff\nexports.default = misago;\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"./utils/ordered-list\":386}],302:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _ajax2.default.init(_index2.default.get('CSRF_COOKIE_NAME'));\n}\n\n_index2.default.addInitializer({\n name: 'ajax',\n initializer: initializer\n});\n\n},{\"../index\":301,\"../services/ajax\":364}],303:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _auth = require('../reducers/auth');\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar AUTH_SYNC_RATE = 45; // sync user with backend every 45 seconds\n\nfunction initializer(context) {\n if (context.get('isAuthenticated')) {\n window.setInterval(function () {\n _ajax2.default.get(context.get('AUTH_API')).then(function (data) {\n _store2.default.dispatch((0, _auth.patch)(data));\n }, function (rejection) {\n _snackbar2.default.apiError(rejection);\n });\n }, AUTH_SYNC_RATE * 1000);\n }\n}\n\n_index2.default.addInitializer({\n name: 'auth-sync',\n initializer: initializer,\n after: 'auth'\n});\n\n},{\"../index\":301,\"../reducers/auth\":349,\"../services/ajax\":364,\"../services/snackbar\":375,\"../services/store\":376}],304:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _auth = require('../services/auth');\n\nvar _auth2 = _interopRequireDefault(_auth);\n\nvar _modal = require('../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _localStorage = require('../services/local-storage');\n\nvar _localStorage2 = _interopRequireDefault(_localStorage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _auth2.default.init(_store2.default, _localStorage2.default, _modal2.default);\n}\n\n_index2.default.addInitializer({\n name: 'auth',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../index\":301,\"../services/auth\":365,\"../services/local-storage\":368,\"../services/modal\":370,\"../services/store\":376}],305:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _captcha = require('../services/captcha');\n\nvar _captcha2 = _interopRequireDefault(_captcha);\n\nvar _include = require('../services/include');\n\nvar _include2 = _interopRequireDefault(_include);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n _captcha2.default.init(context, _ajax2.default, _include2.default, _snackbar2.default);\n}\n\n_index2.default.addInitializer({\n name: 'captcha',\n initializer: initializer\n});\n\n},{\"../index\":301,\"../services/ajax\":364,\"../services/captcha\":366,\"../services/include\":367,\"../services/snackbar\":375}],306:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _acceptAgreement = require('../../components/accept-agreement');\n\nvar _acceptAgreement2 = _interopRequireDefault(_acceptAgreement);\n\nvar _mountComponent = require('../../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nfunction initializer(context) {\n if (document.getElementById('required-agreement-mount')) {\n (0, _mountComponent2.default)(_react2.default.createElement(_acceptAgreement2.default, { api: context.get('REQUIRED_AGREEMENT_API') }), 'required-agreement-mount', false);\n }\n}\n\n_index2.default.addInitializer({\n name: 'component:accept-agreement',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../../components/accept-agreement\":3,\"../../index\":301,\"../../utils/mount-component\":385,\"react\":\"react\"}],307:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _reactRedux = require('react-redux');\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _authMessage = require('../../components/auth-message');\n\nvar _authMessage2 = _interopRequireDefault(_authMessage);\n\nvar _mountComponent = require('../../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n (0, _mountComponent2.default)((0, _reactRedux.connect)(_authMessage.select)(_authMessage2.default), 'auth-message-mount');\n}\n\n_index2.default.addInitializer({\n name: 'component:auth-message',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../../components/auth-message\":5,\"../../index\":301,\"../../utils/mount-component\":385,\"react-redux\":\"react-redux\"}],308:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _bannedPage = require('../../utils/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n if (context.has('BAN_MESSAGE')) {\n (0, _bannedPage2.default)(context.get('BAN_MESSAGE'), false);\n }\n}\n\n_index2.default.addInitializer({\n name: 'component:banmed-page',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../../index\":301,\"../../utils/banned-page\":378}],309:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _reactRedux = require('react-redux');\n\nvar _categories = require('../../components/categories');\n\nvar _categories2 = _interopRequireDefault(_categories);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _mountComponent = require('../../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n if (document.getElementById('categories-mount')) {\n (0, _mountComponent2.default)((0, _reactRedux.connect)(_categories.select)(_categories2.default), 'categories-mount');\n }\n}\n\n_index2.default.addInitializer({\n name: 'component:categories',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../../components/categories\":20,\"../../index\":301,\"../../utils/mount-component\":385,\"react-redux\":\"react-redux\"}],310:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _root = require('../../components/options/root');\n\nvar _root2 = _interopRequireDefault(_root);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _routedComponent = require('../../utils/routed-component');\n\nvar _routedComponent2 = _interopRequireDefault(_routedComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n if (context.has('USER_OPTIONS')) {\n (0, _routedComponent2.default)({\n root: _index2.default.get('USERCP_URL'),\n component: _root2.default,\n paths: (0, _root.paths)()\n });\n }\n}\n\n_index2.default.addInitializer({\n name: 'component:options',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../../components/options/root\":86,\"../../index\":301,\"../../utils/routed-component\":389}],311:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _reactRedux = require('react-redux');\n\nvar _root = require('../../components/profile/root');\n\nvar _root2 = _interopRequireDefault(_root);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _routedComponent = require('../../utils/routed-component');\n\nvar _routedComponent2 = _interopRequireDefault(_routedComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n if (context.has('PROFILE') && context.has('PROFILE_PAGES')) {\n (0, _routedComponent2.default)({\n root: _index2.default.get('PROFILE').url,\n component: (0, _reactRedux.connect)(_root.select)(_root2.default),\n paths: (0, _root.paths)()\n });\n }\n}\n\n_index2.default.addInitializer({\n name: 'component:profile',\n initializer: initializer,\n after: 'reducer:profile-hydrate'\n});\n\n},{\"../../components/profile/root\":194,\"../../index\":301,\"../../utils/routed-component\":389,\"react-redux\":\"react-redux\"}],312:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _requestActivationLink = require('../../components/request-activation-link');\n\nvar _requestActivationLink2 = _interopRequireDefault(_requestActivationLink);\n\nvar _mountComponent = require('../../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n if (document.getElementById('request-activation-link-mount')) {\n (0, _mountComponent2.default)(_requestActivationLink2.default, 'request-activation-link-mount', false);\n }\n}\n\n_index2.default.addInitializer({\n name: 'component:request-activation-link',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../../components/request-activation-link\":199,\"../../index\":301,\"../../utils/mount-component\":385}],313:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _requestPasswordReset = require('../../components/request-password-reset');\n\nvar _requestPasswordReset2 = _interopRequireDefault(_requestPasswordReset);\n\nvar _mountComponent = require('../../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n if (document.getElementById('request-password-reset-mount')) {\n (0, _mountComponent2.default)(_requestPasswordReset2.default, 'request-password-reset-mount', false);\n }\n}\n\n_index2.default.addInitializer({\n name: 'component:request-password-reset',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../../components/request-password-reset\":200,\"../../index\":301,\"../../utils/mount-component\":385}],314:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _resetPasswordForm = require('../../components/reset-password-form');\n\nvar _resetPasswordForm2 = _interopRequireDefault(_resetPasswordForm);\n\nvar _mountComponent = require('../../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n if (document.getElementById('reset-password-form-mount')) {\n (0, _mountComponent2.default)(_resetPasswordForm2.default, 'reset-password-form-mount', false);\n }\n}\n\n_2.default.addInitializer({\n name: 'component:reset-password-form',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../..\":301,\"../../components/reset-password-form\":201,\"../../utils/mount-component\":385}],315:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _search = require('../../components/search');\n\nvar _search2 = _interopRequireDefault(_search);\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _routedComponent = require('../../utils/routed-component');\n\nvar _routedComponent2 = _interopRequireDefault(_routedComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n if (context.get('CURRENT_LINK') === 'misago:search') {\n (0, _routedComponent2.default)({\n paths: (0, _search2.default)(_2.default.get('SEARCH_PROVIDERS'))\n });\n }\n}\n\n_2.default.addInitializer({\n name: 'component:search',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../..\":301,\"../../components/search\":203,\"../../utils/routed-component\":389}],316:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _reactRedux = require('react-redux');\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _snackbar = require('../../components/snackbar');\n\nvar _mountComponent = require('../../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n (0, _mountComponent2.default)((0, _reactRedux.connect)(_snackbar.select)(_snackbar.Snackbar), 'snackbar-mount');\n}\n\n_index2.default.addInitializer({\n name: 'component:snackbar',\n initializer: initializer,\n after: 'snackbar'\n});\n\n},{\"../../components/snackbar\":211,\"../../index\":301,\"../../utils/mount-component\":385,\"react-redux\":\"react-redux\"}],317:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _socialAuth = require('../../components/social-auth');\n\nvar _socialAuth2 = _interopRequireDefault(_socialAuth);\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _mountComponent = require('../../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:start\nfunction initializer(context) {\n if (context.get('CURRENT_LINK') === 'social:complete') {\n var props = context.get('SOCIAL_AUTH');\n (0, _mountComponent2.default)(_react2.default.createElement(_socialAuth2.default, props), 'page-mount');\n }\n}\n\n_2.default.addInitializer({\n name: 'component:social-auth',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../..\":301,\"../../components/social-auth\":214,\"../../utils/mount-component\":385,\"react\":\"react\"}],318:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _root = require('../../components/thread/root');\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _routedComponent = require('../../utils/routed-component');\n\nvar _routedComponent2 = _interopRequireDefault(_routedComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n if (context.has('THREAD') && context.has('POSTS')) {\n (0, _routedComponent2.default)({\n paths: (0, _root.paths)()\n });\n }\n}\n\n_index2.default.addInitializer({\n name: 'component:thread',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../../components/thread/root\":232,\"../../index\":301,\"../../utils/routed-component\":389}],319:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\nexports.getListOptions = getListOptions;\n\nvar _root = require('../../components/threads/root');\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _routedComponent = require('../../utils/routed-component');\n\nvar _routedComponent2 = _interopRequireDefault(_routedComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar PRIVATE_THREADS_LIST = 'misago:private-threads';\n\nfunction initializer(context) {\n if (context.has('THREADS') && context.has('CATEGORIES')) {\n (0, _routedComponent2.default)({\n paths: (0, _root.paths)(context.get('user'), getListOptions(context))\n });\n }\n}\n\nfunction getListOptions(context) {\n var currentLink = context.get('CURRENT_LINK');\n if (currentLink.substr(0, PRIVATE_THREADS_LIST.length) === PRIVATE_THREADS_LIST) {\n return {\n api: context.get('PRIVATE_THREADS_API'),\n startThread: {\n mode: 'START_PRIVATE',\n submit: _index2.default.get('PRIVATE_THREADS_API')\n },\n title: gettext(\"Private threads\"),\n pageLead: gettext(\"Private threads are threads which only those that started them and those they have invited may see and participate in.\"),\n emptyMessage: gettext(\"You aren't participating in any private threads.\")\n };\n }\n\n return {\n 'api': context.get('THREADS_API')\n };\n}\n\n_index2.default.addInitializer({\n name: 'component:threads',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../../components/threads/root\":266,\"../../index\":301,\"../../utils/routed-component\":389}],320:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _reactRedux = require('react-redux');\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _root = require('../../components/user-menu/root');\n\nvar _mountComponent = require('../../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n (0, _mountComponent2.default)((0, _reactRedux.connect)(_root.select)(_root.UserMenu), 'user-menu-mount');\n (0, _mountComponent2.default)((0, _reactRedux.connect)(_root.select)(_root.CompactUserMenu), 'user-menu-compact-mount');\n}\n\n_index2.default.addInitializer({\n name: 'component:user-menu',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../../components/user-menu/root\":271,\"../../index\":301,\"../../utils/mount-component\":385,\"react-redux\":\"react-redux\"}],321:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _root = require('../../components/users/root');\n\nvar _root2 = _interopRequireDefault(_root);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _routedComponent = require('../../utils/routed-component');\n\nvar _routedComponent2 = _interopRequireDefault(_routedComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n if (context.has('USERS_LISTS')) {\n (0, _routedComponent2.default)({\n root: _index2.default.get('USERS_LIST_URL'),\n component: _root2.default,\n paths: (0, _root.paths)()\n });\n }\n}\n\n_index2.default.addInitializer({\n name: 'component:users',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../../components/users/root\":297,\"../../index\":301,\"../../utils/routed-component\":389}],322:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _include = require('../services/include');\n\nvar _include2 = _interopRequireDefault(_include);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n _include2.default.init(context.get('STATIC_URL'));\n}\n\n_index2.default.addInitializer({\n name: 'include',\n initializer: initializer\n});\n\n},{\"../index\":301,\"../services/include\":367}],323:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _localStorage = require('../services/local-storage');\n\nvar _localStorage2 = _interopRequireDefault(_localStorage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _localStorage2.default.init('misago_');\n}\n\n_index2.default.addInitializer({\n name: 'local-storage',\n initializer: initializer\n});\n\n},{\"../index\":301,\"../services/local-storage\":368}],324:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _mobileNavbarDropdown = require('../services/mobile-navbar-dropdown');\n\nvar _mobileNavbarDropdown2 = _interopRequireDefault(_mobileNavbarDropdown);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n var element = document.getElementById('mobile-navbar-dropdown-mount');\n if (element) {\n _mobileNavbarDropdown2.default.init(element);\n }\n}\n\n_index2.default.addInitializer({\n name: 'dropdown',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../index\":301,\"../services/mobile-navbar-dropdown\":369}],325:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _modal = require('../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n var element = document.getElementById('modal-mount');\n if (element) {\n _modal2.default.init(element);\n }\n}\n\n_index2.default.addInitializer({\n name: 'modal',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../index\":301,\"../services/modal\":370}],326:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _moment2.default.locale($('html').attr('lang'));\n}\n\n_index2.default.addInitializer({\n name: 'moment',\n initializer: initializer\n});\n\n},{\"../index\":301,\"moment\":\"moment\"}],327:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _pageTitle = require('../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n _pageTitle2.default.init(context.get('SETTINGS').forum_index_title, context.get('SETTINGS').forum_name);\n}\n\n_index2.default.addInitializer({\n name: 'page-title',\n initializer: initializer\n});\n\n},{\"../index\":301,\"../services/page-title\":372}],328:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _polls = require('../services/polls');\n\nvar _polls2 = _interopRequireDefault(_polls);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _polls2.default.init(_ajax2.default, _snackbar2.default);\n}\n\n_index2.default.addInitializer({\n name: 'polls',\n initializer: initializer\n});\n\n},{\"../index\":301,\"../services/ajax\":364,\"../services/polls\":373,\"../services/snackbar\":375}],329:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _posting = require('../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _posting2.default.init(_ajax2.default, _snackbar2.default, document.getElementById('posting-placeholder'));\n}\n\n_index2.default.addInitializer({\n name: 'posting',\n initializer: initializer\n});\n\n},{\"../index\":301,\"../services/ajax\":364,\"../services/posting\":374,\"../services/snackbar\":375}],330:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _auth = require('../../reducers/auth');\n\nvar _auth2 = _interopRequireDefault(_auth);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n _store2.default.addReducer('auth', _auth2.default, Object.assign({\n isAuthenticated: context.get('isAuthenticated'),\n isAnonymous: !context.get('isAuthenticated'),\n\n user: context.get('user')\n }, _auth.initialState));\n}\n\n_index2.default.addInitializer({\n name: 'reducer:auth',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/auth\":349,\"../../services/store\":376}],331:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _participants = require('../../reducers/participants');\n\nvar _participants2 = _interopRequireDefault(_participants);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n var initialState = null;\n if (_index2.default.has('THREAD')) {\n initialState = _index2.default.get('THREAD').participants;\n }\n\n _store2.default.addReducer('participants', _participants2.default, initialState || []);\n}\n\n_index2.default.addInitializer({\n name: 'reducer:participants',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/participants\":350,\"../../services/store\":376}],332:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _poll = require('../../reducers/poll');\n\nvar _poll2 = _interopRequireDefault(_poll);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n var initialState = null;\n if (_index2.default.has('THREAD') && _index2.default.get('THREAD').poll) {\n initialState = (0, _poll.hydrate)(_index2.default.get('THREAD').poll);\n } else {\n initialState = {\n isBusy: false\n };\n }\n\n _store2.default.addReducer('poll', _poll2.default, initialState);\n}\n\n_index2.default.addInitializer({\n name: 'reducer:poll',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/poll\":351,\"../../services/store\":376}],333:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _posts = require('../../reducers/posts');\n\nvar _posts2 = _interopRequireDefault(_posts);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n var initialState = null;\n if (_index2.default.has('POSTS')) {\n initialState = (0, _posts.hydrate)(_index2.default.get('POSTS'));\n } else {\n initialState = {\n isLoaded: false,\n isBusy: false\n };\n }\n\n _store2.default.addReducer('posts', _posts2.default, initialState);\n}\n\n_index2.default.addInitializer({\n name: 'reducer:posts',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/posts\":353,\"../../services/store\":376}],334:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _profileDetails = require('../../reducers/profile-details');\n\nvar _profileDetails2 = _interopRequireDefault(_profileDetails);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n var initialState = null;\n if (_index2.default.has('PROFILE_DETAILS')) {\n initialState = _index2.default.get('PROFILE_DETAILS');\n }\n\n _store2.default.addReducer('profile-details', _profileDetails2.default, initialState || {});\n}\n\n_index2.default.addInitializer({\n name: 'reducer:profile-details',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/profile-details\":354,\"../../services/store\":376}],335:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _profile = require('../../reducers/profile');\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n if (_index2.default.has('PROFILE')) {\n _store2.default.dispatch((0, _profile.hydrate)(_index2.default.get('PROFILE')));\n }\n}\n\n_index2.default.addInitializer({\n name: 'reducer:profile-hydrate',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/profile\":355,\"../../services/store\":376}],336:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _profile = require('../../reducers/profile');\n\nvar _profile2 = _interopRequireDefault(_profile);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _store2.default.addReducer('profile', _profile2.default, {});\n}\n\n_index2.default.addInitializer({\n name: 'reducer:profile',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/profile\":355,\"../../services/store\":376}],337:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _search = require('../../reducers/search');\n\nvar _search2 = _interopRequireDefault(_search);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _store2.default.addReducer('search', _search2.default, Object.assign({}, _search.initialState, {\n providers: _2.default.get('SEARCH_PROVIDERS') || [],\n query: _2.default.get('SEARCH_QUERY') || ''\n }));\n}\n\n_2.default.addInitializer({\n name: 'reducer:search',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../..\":301,\"../../reducers/search\":356,\"../../services/store\":376}],338:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _selection = require('../../reducers/selection');\n\nvar _selection2 = _interopRequireDefault(_selection);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _store2.default.addReducer('selection', _selection2.default, []);\n}\n\n_index2.default.addInitializer({\n name: 'reducer:selection',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/selection\":357,\"../../services/store\":376}],339:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _snackbar = require('../../reducers/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _store2.default.addReducer('snackbar', _snackbar2.default, _snackbar.initialState);\n}\n\n_index2.default.addInitializer({\n name: 'reducer:snackbar',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/snackbar\":358,\"../../services/store\":376}],340:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _thread = require('../../reducers/thread');\n\nvar _thread2 = _interopRequireDefault(_thread);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n var initialState = null;\n if (_index2.default.has('THREAD')) {\n initialState = (0, _thread.hydrate)(_index2.default.get('THREAD'));\n } else {\n initialState = {\n isBusy: false\n };\n }\n\n _store2.default.addReducer('thread', _thread2.default, initialState);\n}\n\n_index2.default.addInitializer({\n name: 'reducer:thread',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/thread\":359,\"../../services/store\":376}],341:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _threads = require('../../reducers/threads');\n\nvar _threads2 = _interopRequireDefault(_threads);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _store2.default.addReducer('threads', _threads2.default, []);\n}\n\n_index2.default.addInitializer({\n name: 'reducer:threads',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/threads\":360,\"../../services/store\":376}],342:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _tick = require('../../reducers/tick');\n\nvar _tick2 = _interopRequireDefault(_tick);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _store2.default.addReducer('tick', _tick2.default, _tick.initialState);\n}\n\n_index2.default.addInitializer({\n name: 'reducer:tick',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/tick\":361,\"../../services/store\":376}],343:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _usernameHistory = require('../../reducers/username-history');\n\nvar _usernameHistory2 = _interopRequireDefault(_usernameHistory);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _store2.default.addReducer('username-history', _usernameHistory2.default, []);\n}\n\n_index2.default.addInitializer({\n name: 'reducer:username-history',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/username-history\":362,\"../../services/store\":376}],344:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _users = require('../../reducers/users');\n\nvar _users2 = _interopRequireDefault(_users);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _store2.default.addReducer('users', _users2.default, []);\n}\n\n_index2.default.addInitializer({\n name: 'reducer:users',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/users\":363,\"../../services/store\":376}],345:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _snackbar2.default.init(_store2.default);\n}\n\n_index2.default.addInitializer({\n name: 'snackbar',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../index\":301,\"../services/snackbar\":375,\"../services/store\":376}],346:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _store2.default.init();\n}\n\n_index2.default.addInitializer({\n name: 'store',\n initializer: initializer,\n before: '_end'\n});\n\n},{\"../index\":301,\"../services/store\":376}],347:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _tick = require('../reducers/tick');\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar TICK_PERIOD = 50 * 1000; //do the tick every 50s\n\nfunction initializer() {\n window.setInterval(function () {\n _store2.default.dispatch((0, _tick.doTick)());\n }, TICK_PERIOD);\n}\n\n_index2.default.addInitializer({\n name: 'tick-start',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../index\":301,\"../reducers/tick\":361,\"../services/store\":376}],348:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _include = require('../services/include');\n\nvar _include2 = _interopRequireDefault(_include);\n\nvar _zxcvbn = require('../services/zxcvbn');\n\nvar _zxcvbn2 = _interopRequireDefault(_zxcvbn);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _zxcvbn2.default.init(_include2.default);\n}\n\n_index2.default.addInitializer({\n name: 'zxcvbn',\n initializer: initializer\n});\n\n},{\"../index\":301,\"../services/include\":367,\"../services/zxcvbn\":377}],349:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SIGN_OUT = exports.SIGN_IN = exports.PATCH_USER = exports.initialState = undefined;\nexports.patch = patch;\nexports.signIn = signIn;\nexports.signOut = signOut;\nexports.default = auth;\n\nvar _users = require('./users');\n\nvar initialState = exports.initialState = {\n signedIn: false,\n signedOut: false\n};\n\nvar PATCH_USER = exports.PATCH_USER = 'PATCH_USER';\nvar SIGN_IN = exports.SIGN_IN = 'SIGN_IN';\nvar SIGN_OUT = exports.SIGN_OUT = 'SIGN_OUT';\n\nfunction patch(patch) {\n return {\n type: PATCH_USER,\n patch: patch\n };\n}\n\nfunction signIn(user) {\n return {\n type: SIGN_IN,\n user: user\n };\n}\n\nfunction signOut() {\n var soft = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n return {\n type: SIGN_OUT,\n soft: soft\n };\n}\n\nfunction auth() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n switch (action.type) {\n case PATCH_USER:\n var newState = Object.assign({}, state);\n newState.user = Object.assign({}, state.user, action.patch);\n return newState;\n\n case SIGN_IN:\n return Object.assign({}, state, {\n signedIn: action.user\n });\n\n case SIGN_OUT:\n return Object.assign({}, state, {\n isAuthenticated: false,\n isAnonymous: true,\n signedOut: !action.soft\n });\n\n case _users.UPDATE_AVATAR:\n if (state.isAuthenticated && state.user.id === action.userId) {\n var _newState = Object.assign({}, state);\n _newState.user = Object.assign({}, state.user, {\n 'avatars': action.avatars\n });\n return _newState;\n }\n return state;\n\n case _users.UPDATE_USERNAME:\n if (state.isAuthenticated && state.user.id === action.userId) {\n var _newState2 = Object.assign({}, state);\n _newState2.user = Object.assign({}, state.user, {\n username: action.username,\n slug: action.slug\n });\n return _newState2;\n }\n return state;\n\n default:\n return state;\n }\n}\n\n},{\"./users\":363}],350:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.replace = replace;\nexports.default = participants;\nvar REPLACE_PARTICIPANTS = exports.REPLACE_PARTICIPANTS = 'REPLACE_PARTICIPANTS';\n\nfunction replace(newState) {\n return {\n type: REPLACE_PARTICIPANTS,\n state: newState\n };\n}\n\nfunction participants() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n switch (action.type) {\n case REPLACE_PARTICIPANTS:\n return action.state;\n\n default:\n return state;\n }\n}\n\n},{}],351:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.UPDATE_POLL = exports.REPLACE_POLL = exports.REMOVE_POLL = exports.RELEASE_POLL = exports.BUSY_POLL = undefined;\nexports.hydrate = hydrate;\nexports.busy = busy;\nexports.release = release;\nexports.replace = replace;\nexports.update = update;\nexports.remove = remove;\nexports.default = poll;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar BUSY_POLL = exports.BUSY_POLL = 'BUSY_POLL';\nvar RELEASE_POLL = exports.RELEASE_POLL = 'RELEASE_POLL';\nvar REMOVE_POLL = exports.REMOVE_POLL = 'REMOVE_POLL';\nvar REPLACE_POLL = exports.REPLACE_POLL = 'REPLACE_POLL';\nvar UPDATE_POLL = exports.UPDATE_POLL = 'UPDATE_POLL';\n\nfunction hydrate(json) {\n var hasSelectedChoices = false;\n for (var i in json.choices) {\n var choice = json.choices[i];\n if (choice.selected) {\n hasSelectedChoices = true;\n break;\n }\n }\n\n return Object.assign({}, json, {\n posted_on: (0, _moment2.default)(json.posted_on),\n\n hasSelectedChoices: hasSelectedChoices,\n endsOn: json.length ? (0, _moment2.default)(json.posted_on).add(json.length, 'days') : null,\n\n isBusy: false\n });\n}\n\nfunction busy() {\n return {\n type: BUSY_POLL\n };\n}\n\nfunction release() {\n return {\n type: RELEASE_POLL\n };\n}\n\nfunction replace(newState) {\n var hydrated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n return {\n type: REPLACE_POLL,\n state: hydrated ? newState : hydrate(newState)\n };\n}\n\nfunction update(data) {\n return {\n type: UPDATE_POLL,\n data: data\n };\n}\n\nfunction remove() {\n return {\n type: REMOVE_POLL\n };\n}\n\nfunction poll() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n switch (action.type) {\n case BUSY_POLL:\n return Object.assign({}, state, { isBusy: true });\n\n case RELEASE_POLL:\n return Object.assign({}, state, { isBusy: false });\n\n case REMOVE_POLL:\n return {\n isBusy: false\n };\n\n case REPLACE_POLL:\n return action.state;\n\n case UPDATE_POLL:\n return Object.assign({}, state, action.data);\n\n default:\n return state;\n }\n}\n\n},{\"moment\":\"moment\"}],352:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PATCH_POST = undefined;\nexports.hydrate = hydrate;\nexports.hydrateAttachment = hydrateAttachment;\nexports.patch = patch;\nexports.default = post;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _users = require('./users');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar PATCH_POST = exports.PATCH_POST = 'PATCH_POST';\n\nfunction hydrate(json) {\n return Object.assign({}, json, {\n posted_on: (0, _moment2.default)(json.posted_on),\n updated_on: (0, _moment2.default)(json.updated_on),\n hidden_on: (0, _moment2.default)(json.hidden_on),\n\n attachments: json.attachments ? json.attachments.map(hydrateAttachment) : null,\n poster: json.poster ? (0, _users.hydrateUser)(json.poster) : null,\n\n isSelected: false,\n isBusy: false,\n isDeleted: false\n });\n}\n\nfunction hydrateAttachment(json) {\n return Object.assign({}, json, {\n uploaded_on: (0, _moment2.default)(json.uploaded_on)\n });\n}\n\nfunction patch(post, patch) {\n return {\n type: PATCH_POST,\n post: post,\n patch: patch\n };\n}\n\nfunction post() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n switch (action.type) {\n case PATCH_POST:\n if (state.id == action.post.id) {\n return Object.assign({}, state, action.patch);\n }\n return state;\n\n default:\n return state;\n }\n}\n\n},{\"./users\":363,\"moment\":\"moment\"}],353:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.UPDATE_POSTS = exports.UNLOAD_POSTS = exports.LOAD_POSTS = exports.DESELECT_POSTS = exports.DESELECT_POST = exports.SELECT_POST = exports.APPEND_POSTS = undefined;\nexports.select = select;\nexports.deselect = deselect;\nexports.deselectAll = deselectAll;\nexports.hydrate = hydrate;\nexports.load = load;\nexports.append = append;\nexports.unload = unload;\nexports.update = update;\nexports.default = posts;\n\nvar _post = require('./post');\n\nvar _post2 = _interopRequireDefault(_post);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar APPEND_POSTS = exports.APPEND_POSTS = 'APPEND_POSTS';\nvar SELECT_POST = exports.SELECT_POST = 'SELECT_POST';\nvar DESELECT_POST = exports.DESELECT_POST = 'DESELECT_POST';\nvar DESELECT_POSTS = exports.DESELECT_POSTS = 'DESELECT_POSTS';\nvar LOAD_POSTS = exports.LOAD_POSTS = 'LOAD_POSTS';\nvar UNLOAD_POSTS = exports.UNLOAD_POSTS = 'UNLOAD_POSTS';\nvar UPDATE_POSTS = exports.UPDATE_POSTS = 'UPDATE_POSTS';\n\nfunction select(post) {\n return {\n type: SELECT_POST,\n post: post\n };\n}\n\nfunction deselect(post) {\n return {\n type: DESELECT_POST,\n post: post\n };\n}\n\nfunction deselectAll() {\n return {\n type: DESELECT_POSTS\n };\n}\n\nfunction hydrate(json) {\n return Object.assign({}, json, {\n results: json.results.map(_post.hydrate),\n isLoaded: true,\n isBusy: false,\n isSelected: false\n });\n}\n\nfunction load(newState) {\n var hydrated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n return {\n type: LOAD_POSTS,\n state: hydrated ? newState : hydrate(newState)\n };\n}\n\nfunction append(newState) {\n var hydrated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n return {\n type: APPEND_POSTS,\n state: hydrated ? newState : hydrate(newState)\n };\n}\n\nfunction unload() {\n return {\n type: UNLOAD_POSTS\n };\n}\n\nfunction update(newState) {\n return {\n type: UPDATE_POSTS,\n update: newState\n };\n}\n\nfunction posts() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n switch (action.type) {\n case SELECT_POST:\n var selectedPosts = state.results.map(function (post) {\n if (post.id == action.post.id) {\n return Object.assign({}, post, {\n isSelected: true\n });\n } else {\n return post;\n }\n });\n\n return Object.assign({}, state, {\n results: selectedPosts\n });\n\n case DESELECT_POST:\n var deseletedPosts = state.results.map(function (post) {\n if (post.id == action.post.id) {\n return Object.assign({}, post, {\n isSelected: false\n });\n } else {\n return post;\n }\n });\n\n return Object.assign({}, state, {\n results: deseletedPosts\n });\n\n case DESELECT_POSTS:\n var deseletedAllPosts = state.results.map(function (post) {\n return Object.assign({}, post, {\n isSelected: false\n });\n });\n\n return Object.assign({}, state, {\n results: deseletedAllPosts\n });\n\n case APPEND_POSTS:\n var results = state.results.slice();\n var resultsIds = state.results.map(function (post) {\n return post.id;\n });\n\n action.state.results.map(function (post) {\n if (resultsIds.indexOf(post.id) === -1) {\n results.push(post);\n }\n });\n\n return Object.assign({}, action.state, {\n results: results\n });\n\n case LOAD_POSTS:\n return action.state;\n\n case UNLOAD_POSTS:\n return Object.assign({}, state, {\n isLoaded: false\n });\n\n case UPDATE_POSTS:\n return Object.assign({}, state, action.update);\n\n case _post.PATCH_POST:\n var reducedPosts = state.results.map(function (post) {\n return (0, _post2.default)(post, action);\n });\n\n return Object.assign({}, state, {\n results: reducedPosts\n });\n\n default:\n return state;\n }\n}\n\n},{\"./post\":352}],354:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.load = load;\nexports.default = details;\nvar LOAD_DETAILS = exports.LOAD_DETAILS = 'LOAD_DETAILS';\n\nfunction load(newState) {\n return {\n type: LOAD_DETAILS,\n\n newState: newState\n };\n}\n\nfunction details() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n switch (action.type) {\n case LOAD_DETAILS:\n return action.newState;\n\n default:\n return state;\n }\n}\n\n},{}],355:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PATCH_PROFILE = exports.HYDRATE_PROFILE = undefined;\nexports.hydrate = hydrate;\nexports.patch = patch;\nexports.default = auth;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _users = require('./users');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar HYDRATE_PROFILE = exports.HYDRATE_PROFILE = 'HYDRATE_PROFILE';\nvar PATCH_PROFILE = exports.PATCH_PROFILE = 'PATCH_PROFILE';\n\nfunction hydrate(profile) {\n return {\n type: HYDRATE_PROFILE,\n profile: profile\n };\n}\n\nfunction patch(patch) {\n return {\n type: PATCH_PROFILE,\n patch: patch\n };\n}\n\nfunction auth() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n switch (action.type) {\n case HYDRATE_PROFILE:\n return Object.assign({}, action.profile, {\n joined_on: (0, _moment2.default)(action.profile.joined_on),\n status: (0, _users.hydrateStatus)(action.profile.status)\n });\n\n case PATCH_PROFILE:\n return Object.assign({}, state, action.patch);\n\n case _users.UPDATE_AVATAR:\n if (state.id === action.userId) {\n return Object.assign({}, state, {\n avatars: action.avatars\n });\n }\n return state;\n\n case _users.UPDATE_USERNAME:\n if (state.id === action.userId) {\n return Object.assign({}, state, {\n username: action.username,\n slug: action.slug\n });\n }\n return state;\n\n default:\n return state;\n }\n}\n\n},{\"./users\":363,\"moment\":\"moment\"}],356:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.replace = replace;\nexports.update = update;\nexports.updateProvider = updateProvider;\nexports.default = participants;\nvar REPLACE_SEARCH = exports.REPLACE_SEARCH = 'REPLACE_SEARCH';\nvar UPDATE_SEARCH = exports.UPDATE_SEARCH = 'UPDATE_SEARCH';\nvar UPDATE_SEARCH_PROVIDER = exports.UPDATE_SEARCH_PROVIDER = 'UPDATE_SEARCH_PROVIDER';\n\nvar initialState = exports.initialState = {\n isLoading: false,\n query: '',\n providers: []\n};\n\nfunction replace(newState) {\n return {\n type: REPLACE_SEARCH,\n state: {\n isLoading: false,\n providers: newState\n }\n };\n}\n\nfunction update(newState) {\n return {\n type: UPDATE_SEARCH,\n update: newState\n };\n}\n\nfunction updateProvider(provider) {\n return {\n type: UPDATE_SEARCH_PROVIDER,\n provider: provider\n };\n}\n\nfunction participants() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n switch (action.type) {\n case REPLACE_SEARCH:\n return action.state;\n\n case UPDATE_SEARCH:\n return Object.assign({}, state, action.update);\n\n case UPDATE_SEARCH_PROVIDER:\n return Object.assign({}, state, {\n providers: state.providers.map(function (provider) {\n if (provider.id === action.provider.id) {\n return action.provider;\n } else {\n return provider;\n }\n })\n });\n\n default:\n return state;\n }\n}\n\n},{}],357:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SELECT_ITEM = exports.SELECT_NONE = exports.SELECT_ALL = undefined;\nexports.all = all;\nexports.none = none;\nexports.item = item;\nexports.default = selection;\n\nvar _sets = require('../utils/sets');\n\nvar SELECT_ALL = exports.SELECT_ALL = 'SELECT_ALL';\nvar SELECT_NONE = exports.SELECT_NONE = 'SELECT_NONE';\nvar SELECT_ITEM = exports.SELECT_ITEM = 'SELECT_ITEM';\n\nfunction all(itemsIds) {\n return {\n type: SELECT_ALL,\n items: itemsIds\n };\n}\n\nfunction none() {\n return {\n type: SELECT_NONE\n };\n}\n\nfunction item(itemId) {\n return {\n type: SELECT_ITEM,\n item: itemId\n };\n}\n\nfunction selection() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n switch (action.type) {\n case SELECT_ALL:\n return action.items;\n\n case SELECT_NONE:\n return [];\n\n case SELECT_ITEM:\n return (0, _sets.toggle)(state, action.item);\n\n default:\n return state;\n }\n}\n\n},{\"../utils/sets\":390}],358:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.showSnackbar = showSnackbar;\nexports.hideSnackbar = hideSnackbar;\nexports.default = snackbar;\nvar initialState = exports.initialState = {\n type: 'info',\n message: '',\n isVisible: false\n};\n\nvar SHOW_SNACKBAR = exports.SHOW_SNACKBAR = 'SHOW_SNACKBAR';\nvar HIDE_SNACKBAR = exports.HIDE_SNACKBAR = 'HIDE_SNACKBAR';\n\nfunction showSnackbar(message, type) {\n return {\n type: SHOW_SNACKBAR,\n message: message,\n messageType: type\n };\n}\n\nfunction hideSnackbar() {\n return {\n type: HIDE_SNACKBAR\n };\n}\n\nfunction snackbar() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (action.type === SHOW_SNACKBAR) {\n return {\n type: action.messageType,\n message: action.message,\n isVisible: true\n };\n } else if (action.type === HIDE_SNACKBAR) {\n return Object.assign({}, state, {\n isVisible: false\n });\n } else {\n return state;\n }\n}\n\n},{}],359:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.UPDATE_THREAD_ACL = exports.UPDATE_THREAD = exports.REPLACE_THREAD = exports.RELEASE_THREAD = exports.BUSY_THREAD = undefined;\nexports.hydrate = hydrate;\nexports.busy = busy;\nexports.release = release;\nexports.replace = replace;\nexports.update = update;\nexports.updateAcl = updateAcl;\nexports.default = thread;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _poll = require('./poll');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar BUSY_THREAD = exports.BUSY_THREAD = 'BUSY_THREAD';\nvar RELEASE_THREAD = exports.RELEASE_THREAD = 'RELEASE_THREAD';\nvar REPLACE_THREAD = exports.REPLACE_THREAD = 'REPLACE_THREAD';\nvar UPDATE_THREAD = exports.UPDATE_THREAD = 'UPDATE_THREAD';\nvar UPDATE_THREAD_ACL = exports.UPDATE_THREAD_ACL = 'UPDATE_THREAD_ACL';\n\nfunction hydrate(json) {\n return Object.assign({}, json, {\n started_on: (0, _moment2.default)(json.started_on),\n last_post_on: (0, _moment2.default)(json.last_post_on),\n best_answer_marked_on: json.best_answer_marked_on ? (0, _moment2.default)(json.best_answer_marked_on) : null,\n\n isBusy: false\n });\n}\n\nfunction busy() {\n return {\n type: BUSY_THREAD\n };\n}\n\nfunction release() {\n return {\n type: RELEASE_THREAD\n };\n}\n\nfunction replace(newState) {\n var hydrated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n return {\n type: REPLACE_THREAD,\n state: hydrated ? newState : hydrate(newState)\n };\n}\n\nfunction update(data) {\n return {\n type: UPDATE_THREAD,\n data: data\n };\n}\n\nfunction updateAcl(data) {\n return {\n type: UPDATE_THREAD_ACL,\n data: data\n };\n}\n\nfunction thread() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n switch (action.type) {\n case BUSY_THREAD:\n return Object.assign({}, state, { isBusy: true });\n\n case RELEASE_THREAD:\n return Object.assign({}, state, { isBusy: false });\n\n case _poll.REMOVE_POLL:\n return Object.assign({}, state, { poll: null });\n\n case _poll.REPLACE_POLL:\n return Object.assign({}, state, { poll: action.state });\n\n case REPLACE_THREAD:\n return action.state;\n\n case UPDATE_THREAD:\n return Object.assign({}, state, action.data);\n\n case UPDATE_THREAD_ACL:\n var acl = Object.assign({}, state.acl, action.data);\n return Object.assign({}, state, { acl: acl });\n\n default:\n return state;\n }\n}\n\n},{\"./poll\":351,\"moment\":\"moment\"}],360:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MODERATION_PERMISSIONS = exports.SORT_THREADS = exports.PATCH_THREAD = exports.HYDRATE_THREADS = exports.FILTER_THREADS = exports.DELETE_THREAD = exports.APPEND_THREADS = undefined;\nexports.append = append;\nexports.deleteThread = deleteThread;\nexports.filterThreads = filterThreads;\nexports.hydrate = hydrate;\nexports.patch = patch;\nexports.sort = sort;\nexports.getThreadModerationOptions = getThreadModerationOptions;\nexports.hydrateThread = hydrateThread;\nexports.default = thread;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _concatUnique = require('../utils/concat-unique');\n\nvar _concatUnique2 = _interopRequireDefault(_concatUnique);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar APPEND_THREADS = exports.APPEND_THREADS = 'APPEND_THREADS';\nvar DELETE_THREAD = exports.DELETE_THREAD = 'DELETE_THREAD';\nvar FILTER_THREADS = exports.FILTER_THREADS = 'FILTER_THREADS';\nvar HYDRATE_THREADS = exports.HYDRATE_THREADS = 'HYDRATE_THREADS';\nvar PATCH_THREAD = exports.PATCH_THREAD = 'PATCH_THREAD';\nvar SORT_THREADS = exports.SORT_THREADS = 'SORT_THREADS';\n\nvar MODERATION_PERMISSIONS = exports.MODERATION_PERMISSIONS = ['can_announce', 'can_approve', 'can_close', 'can_hide', 'can_move', 'can_merge', 'can_pin', 'can_review'];\n\nfunction append(items, sorting) {\n return {\n type: APPEND_THREADS,\n items: items,\n sorting: sorting\n };\n}\n\nfunction deleteThread(thread) {\n return {\n type: DELETE_THREAD,\n thread: thread\n };\n}\n\nfunction filterThreads(category, categoriesMap) {\n return {\n type: FILTER_THREADS,\n category: category,\n categoriesMap: categoriesMap\n };\n}\n\nfunction hydrate(items) {\n return {\n type: HYDRATE_THREADS,\n items: items\n };\n}\n\nfunction patch(thread, patch) {\n var sorting = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n return {\n type: PATCH_THREAD,\n thread: thread,\n patch: patch,\n sorting: sorting\n };\n}\n\nfunction sort(sorting) {\n return {\n type: SORT_THREADS,\n sorting: sorting\n };\n}\n\nfunction getThreadModerationOptions(thread_acl) {\n var options = [];\n MODERATION_PERMISSIONS.forEach(function (perm) {\n if (thread_acl[perm]) {\n options.push(perm);\n }\n });\n return options;\n}\n\nfunction hydrateThread(thread) {\n return Object.assign({}, thread, {\n started_on: (0, _moment2.default)(thread.started_on),\n last_post_on: (0, _moment2.default)(thread.last_post_on),\n moderation: getThreadModerationOptions(thread.acl)\n });\n}\n\nfunction thread() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n switch (action.type) {\n case APPEND_THREADS:\n var mergedState = (0, _concatUnique2.default)(action.items.map(hydrateThread), state);\n return mergedState.sort(action.sorting);\n\n case DELETE_THREAD:\n return state.filter(function (item) {\n return item.id !== action.thread.id;\n });\n\n case FILTER_THREADS:\n return state.filter(function (item) {\n var itemCategory = action.categoriesMap[item.category];\n if (itemCategory.lft >= action.category.lft && itemCategory.rght <= action.category.rght) {\n // same or sub category\n return true;\n } else if (item.weight == 2) {\n // globally pinned\n return true;\n } else {\n // thread moved outside displayed scope, hide it\n return false;\n }\n });\n\n case HYDRATE_THREADS:\n return action.items.map(hydrateThread);\n\n case PATCH_THREAD:\n var patchedState = state.map(function (item) {\n if (item.id === action.thread.id) {\n return Object.assign({}, item, action.patch);\n } else {\n return item;\n }\n });\n\n if (action.sorting) {\n return patchedState.sort(action.sorting);\n }\n return patchedState;\n\n case SORT_THREADS:\n return state.sort(action.sorting);\n\n default:\n return state;\n }\n}\n\n},{\"../utils/concat-unique\":380,\"moment\":\"moment\"}],361:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.doTick = doTick;\nexports.default = tick;\nvar initialState = exports.initialState = {\n tick: 0\n};\n\nvar TICK = exports.TICK = 'TICK';\n\nfunction doTick() {\n return {\n type: TICK\n };\n}\n\nfunction tick() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (action.type === TICK) {\n return Object.assign({}, state, {\n tick: state.tick + 1\n });\n } else {\n return state;\n }\n}\n\n},{}],362:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.HYDRATE_HISTORY = exports.APPEND_HISTORY = exports.ADD_NAME_CHANGE = undefined;\nexports.addNameChange = addNameChange;\nexports.append = append;\nexports.hydrate = hydrate;\nexports.hydrateNamechange = hydrateNamechange;\nexports.default = username;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _users = require('./users');\n\nvar _concatUnique = require('../utils/concat-unique');\n\nvar _concatUnique2 = _interopRequireDefault(_concatUnique);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ADD_NAME_CHANGE = exports.ADD_NAME_CHANGE = 'ADD_NAME_CHANGE';\nvar APPEND_HISTORY = exports.APPEND_HISTORY = 'APPEND_HISTORY';\nvar HYDRATE_HISTORY = exports.HYDRATE_HISTORY = 'HYDRATE_HISTORY';\n\nfunction addNameChange(change, user, changedBy) {\n return {\n type: ADD_NAME_CHANGE,\n change: change,\n user: user,\n changedBy: changedBy\n };\n}\n\nfunction append(items) {\n return {\n type: APPEND_HISTORY,\n items: items\n };\n}\n\nfunction hydrate(items) {\n return {\n type: HYDRATE_HISTORY,\n items: items\n };\n}\n\nfunction hydrateNamechange(namechange) {\n return Object.assign({}, namechange, {\n changed_on: (0, _moment2.default)(namechange.changed_on)\n });\n}\n\nfunction username() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n switch (action.type) {\n case ADD_NAME_CHANGE:\n var newState = state.slice();\n newState.unshift({\n id: Math.floor(Date.now() / 1000), // just small hax for getting id\n changed_by: action.changedBy,\n changed_by_username: action.changedBy.username,\n changed_on: (0, _moment2.default)(),\n new_username: action.change.username,\n old_username: action.user.username\n });\n return newState;\n\n case APPEND_HISTORY:\n return (0, _concatUnique2.default)(state, action.items.map(hydrateNamechange));\n\n case HYDRATE_HISTORY:\n return action.items.map(hydrateNamechange);\n\n case _users.UPDATE_AVATAR:\n return state.map(function (item) {\n item = Object.assign({}, item);\n if (item.changed_by && item.changed_by.id === action.userId) {\n item.changed_by = Object.assign({}, item.changed_by, {\n avatars: action.avatars\n });\n }\n\n return item;\n });\n\n case _users.UPDATE_USERNAME:\n return state.map(function (item) {\n item = Object.assign({}, item);\n if (item.changed_by && item.changed_by.id === action.userId) {\n item.changed_by = Object.assign({}, item.changed_by, {\n username: action.username,\n slug: action.slug\n });\n }\n\n return Object.assign({}, item);\n });\n\n default:\n return state;\n }\n}\n\n},{\"../utils/concat-unique\":380,\"./users\":363,\"moment\":\"moment\"}],363:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.UPDATE_USERNAME = exports.UPDATE_AVATAR = exports.HYDRATE_USERS = exports.APPEND_USERS = undefined;\nexports.append = append;\nexports.hydrate = hydrate;\nexports.hydrateStatus = hydrateStatus;\nexports.hydrateUser = hydrateUser;\nexports.updateAvatar = updateAvatar;\nexports.updateUsername = updateUsername;\nexports.default = user;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _concatUnique = require('../utils/concat-unique');\n\nvar _concatUnique2 = _interopRequireDefault(_concatUnique);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar APPEND_USERS = exports.APPEND_USERS = 'APPEND_USERS';\nvar HYDRATE_USERS = exports.HYDRATE_USERS = 'HYDRATE_USERS';\nvar UPDATE_AVATAR = exports.UPDATE_AVATAR = 'UPDATE_AVATAR';\nvar UPDATE_USERNAME = exports.UPDATE_USERNAME = 'UPDATE_USERNAME';\n\nfunction append(items) {\n return {\n type: APPEND_USERS,\n items: items\n };\n}\n\nfunction hydrate(items) {\n return {\n type: HYDRATE_USERS,\n items: items\n };\n}\n\nfunction hydrateStatus(status) {\n if (status) {\n return Object.assign({}, status, {\n last_click: status.last_click ? (0, _moment2.default)(status.last_click) : null,\n banned_until: status.banned_until ? (0, _moment2.default)(status.banned_until) : null\n });\n } else {\n return null;\n }\n}\n\nfunction hydrateUser(user) {\n return Object.assign({}, user, {\n joined_on: (0, _moment2.default)(user.joined_on),\n status: hydrateStatus(user.status)\n });\n}\n\nfunction updateAvatar(user, avatars) {\n return {\n type: UPDATE_AVATAR,\n userId: user.id,\n avatars: avatars\n };\n}\n\nfunction updateUsername(user, username, slug) {\n return {\n type: UPDATE_USERNAME,\n userId: user.id,\n username: username,\n slug: slug\n };\n}\n\nfunction user() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n switch (action.type) {\n case APPEND_USERS:\n return (0, _concatUnique2.default)(state, action.items.map(hydrateUser));\n\n case HYDRATE_USERS:\n return action.items.map(hydrateUser);\n\n case UPDATE_AVATAR:\n return state.map(function (item) {\n item = Object.assign({}, item);\n if (item.id === action.userId) {\n item.avatars = action.avatars;\n }\n\n return item;\n });\n\n default:\n return state;\n }\n}\n\n},{\"../utils/concat-unique\":380,\"moment\":\"moment\"}],364:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Ajax = exports.Ajax = function () {\n function Ajax() {\n _classCallCheck(this, Ajax);\n\n this._cookieName = null;\n this._csrfToken = null;\n this._locks = {};\n }\n\n _createClass(Ajax, [{\n key: 'init',\n value: function init(cookieName) {\n this._cookieName = cookieName;\n }\n }, {\n key: 'getCsrfToken',\n value: function getCsrfToken() {\n if (document.cookie.indexOf(this._cookieName) !== -1) {\n var cookieRegex = new RegExp(this._cookieName + '\\=([^;]*)');\n var cookie = document.cookie.match(cookieRegex)[0];\n return cookie ? cookie.split('=')[1] : null;\n } else {\n return null;\n }\n }\n }, {\n key: 'request',\n value: function request(method, url, data) {\n var self = this;\n return new Promise(function (resolve, reject) {\n var xhr = {\n url: url,\n method: method,\n headers: {\n 'X-CSRFToken': self.getCsrfToken()\n },\n\n data: data ? JSON.stringify(data) : null,\n contentType: \"application/json; charset=utf-8\",\n dataType: 'json',\n\n success: function success(data) {\n resolve(data);\n },\n\n error: function error(jqXHR) {\n var rejection = jqXHR.responseJSON || {};\n\n rejection.status = jqXHR.status;\n\n if (rejection.status === 0) {\n rejection.detail = gettext(\"Lost connection with application.\");\n }\n\n if (rejection.status === 404) {\n if (!rejection.detail || rejection.detail === 'NOT FOUND') {\n rejection.detail = gettext(\"Action link is invalid.\");\n }\n }\n\n if (rejection.status === 500 && !rejection.detail) {\n rejection.detail = gettext(\"Unknown error has occured.\");\n }\n\n rejection.statusText = jqXHR.statusText;\n\n reject(rejection);\n }\n };\n\n $.ajax(xhr);\n });\n }\n }, {\n key: 'get',\n value: function get(url, params, lock) {\n if (params) {\n url += '?' + $.param(params);\n }\n\n if (lock) {\n var self = this;\n\n // update url in existing lock?\n if (this._locks[lock]) {\n this._locks[lock].url = url;\n }\n\n // immediately dereference promise handlers without doing anything\n // we are already waiting for existing response to resolve\n if (this._locks[lock] && this._locks[lock].waiter) {\n return {\n then: function then() {\n return;\n }\n };\n\n // return promise that will begin when original one resolves\n } else if (this._locks[lock] && this._locks[lock].wait) {\n this._locks[lock].waiter = true;\n\n return new Promise(function (resolve, reject) {\n var wait = function wait(url) {\n // keep waiting on promise\n if (self._locks[lock].wait) {\n window.setTimeout(function () {\n wait(url);\n }, 300);\n\n // poll for new url\n } else if (self._locks[lock].url !== url) {\n wait(self._locks[lock].url);\n\n // ajax backend for response\n } else {\n self._locks[lock].waiter = false;\n self.request('GET', self._locks[lock].url).then(function (data) {\n if (self._locks[lock].url === url) {\n resolve(data);\n } else {\n self._locks[lock].waiter = true;\n wait(self._locks[lock].url);\n }\n }, function (rejection) {\n if (self._locks[lock].url === url) {\n reject(rejection);\n } else {\n self._locks[lock].waiter = true;\n wait(self._locks[lock].url);\n }\n });\n }\n };\n\n window.setTimeout(function () {\n wait(url);\n }, 300);\n });\n\n // setup new lock without waiter\n } else {\n this._locks[lock] = {\n url: url,\n wait: true,\n waiter: false\n };\n\n return new Promise(function (resolve, reject) {\n self.request('GET', url).then(function (data) {\n self._locks[lock].wait = false;\n if (self._locks[lock].url === url) {\n resolve(data);\n }\n }, function (rejection) {\n self._locks[lock].wait = false;\n if (self._locks[lock].url === url) {\n reject(rejection);\n }\n });\n });\n }\n } else {\n return this.request('GET', url);\n }\n }\n }, {\n key: 'post',\n value: function post(url, data) {\n return this.request('POST', url, data);\n }\n }, {\n key: 'patch',\n value: function patch(url, data) {\n return this.request('PATCH', url, data);\n }\n }, {\n key: 'put',\n value: function put(url, data) {\n return this.request('PUT', url, data);\n }\n }, {\n key: 'delete',\n value: function _delete(url, data) {\n return this.request('DELETE', url, data);\n }\n }, {\n key: 'upload',\n value: function upload(url, data, progress) {\n var self = this;\n return new Promise(function (resolve, reject) {\n var xhr = {\n url: url,\n method: 'POST',\n headers: {\n 'X-CSRFToken': self.getCsrfToken()\n },\n\n data: data,\n contentType: false,\n processData: false,\n\n xhr: function xhr() {\n var xhr = new window.XMLHttpRequest();\n xhr.upload.addEventListener(\"progress\", function (evt) {\n if (evt.lengthComputable) {\n progress(Math.round(evt.loaded / evt.total * 100));\n }\n }, false);\n return xhr;\n },\n\n success: function success(response) {\n resolve(response);\n },\n\n error: function error(jqXHR) {\n var rejection = jqXHR.responseJSON || {};\n\n rejection.status = jqXHR.status;\n\n if (rejection.status === 0) {\n rejection.detail = gettext(\"Lost connection with application.\");\n }\n\n if (rejection.status === 413 && !rejection.detail) {\n rejection.detail = gettext(\"Upload was rejected by server as too large.\");\n }\n\n if (rejection.status === 404) {\n if (!rejection.detail || rejection.detail === 'NOT FOUND') {\n rejection.detail = gettext(\"Action link is invalid.\");\n }\n }\n\n if (rejection.status === 500 && !rejection.detail) {\n rejection.detail = gettext(\"Unknown error has occured.\");\n }\n\n rejection.statusText = jqXHR.statusText;\n\n reject(rejection);\n }\n };\n\n $.ajax(xhr);\n });\n }\n }]);\n\n return Ajax;\n}();\n\nexports.default = new Ajax();\n\n},{}],365:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Auth = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _auth = require('../reducers/auth');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// jshint ignore:line\n\nvar Auth = exports.Auth = function () {\n function Auth() {\n _classCallCheck(this, Auth);\n }\n\n _createClass(Auth, [{\n key: 'init',\n value: function init(store, local, modal) {\n this._store = store;\n this._local = local;\n this._modal = modal;\n\n // tell other tabs what auth state is because we are most current with it\n this.syncSession();\n\n // listen for other tabs to tell us that state changed\n this.watchState();\n }\n }, {\n key: 'syncSession',\n value: function syncSession() {\n var state = this._store.getState().auth;\n if (state.isAuthenticated) {\n this._local.set('auth', {\n isAuthenticated: true,\n username: state.user.username\n });\n } else {\n this._local.set('auth', {\n isAuthenticated: false\n });\n }\n }\n }, {\n key: 'watchState',\n value: function watchState() {\n var _this = this;\n\n var state = this._store.getState().auth;\n this._local.watch('auth', function (newState) {\n if (newState.isAuthenticated) {\n _this._store.dispatch((0, _auth.signIn)({\n username: newState.username\n }));\n } else if (state.isAuthenticated) {\n // check if we are authenticated in this tab\n // because some browser plugins prune local store\n // aggressively, forcing erroneous message to display here\n // tracking bug #955\n _this._store.dispatch((0, _auth.signOut)());\n }\n });\n this._modal.hide();\n }\n }, {\n key: 'signIn',\n value: function signIn(user) {\n this._store.dispatch((0, _auth.signIn)(user));\n this._local.set('auth', {\n isAuthenticated: true,\n username: user.username\n });\n this._modal.hide();\n }\n }, {\n key: 'signOut',\n value: function signOut() {\n this._store.dispatch((0, _auth.signOut)());\n this._local.set('auth', {\n isAuthenticated: false\n });\n this._modal.hide();\n }\n }, {\n key: 'softSignOut',\n value: function softSignOut() {\n this._store.dispatch((0, _auth.signOut)(true));\n this._local.set('auth', {\n isAuthenticated: false\n });\n this._modal.hide();\n }\n }]);\n\n return Auth;\n}();\n\nexports.default = new Auth();\n\n},{\"../reducers/auth\":349}],366:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Captcha = exports.ReCaptcha = exports.ReCaptchaComponent = exports.QACaptcha = exports.NoCaptcha = exports.BaseCaptcha = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /* global grecaptcha */\n// jshint ignore:line\n\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _formGroup = require('../components/form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// jshint ignore:line\n\nvar BaseCaptcha = exports.BaseCaptcha = function () {\n function BaseCaptcha() {\n _classCallCheck(this, BaseCaptcha);\n }\n\n _createClass(BaseCaptcha, [{\n key: 'init',\n value: function init(context, ajax, include, snackbar) {\n this._context = context;\n this._ajax = ajax;\n this._include = include;\n this._snackbar = snackbar;\n }\n }]);\n\n return BaseCaptcha;\n}();\n\nvar NoCaptcha = exports.NoCaptcha = function (_BaseCaptcha) {\n _inherits(NoCaptcha, _BaseCaptcha);\n\n function NoCaptcha() {\n _classCallCheck(this, NoCaptcha);\n\n return _possibleConstructorReturn(this, (NoCaptcha.__proto__ || Object.getPrototypeOf(NoCaptcha)).apply(this, arguments));\n }\n\n _createClass(NoCaptcha, [{\n key: 'load',\n value: function load() {\n return new Promise(function (resolve) {\n // immediately resolve as we don't have anything to validate\n resolve();\n });\n }\n }, {\n key: 'validator',\n value: function validator() {\n return null;\n }\n }, {\n key: 'component',\n value: function component() {\n return null;\n }\n }]);\n\n return NoCaptcha;\n}(BaseCaptcha);\n\nvar QACaptcha = exports.QACaptcha = function (_BaseCaptcha2) {\n _inherits(QACaptcha, _BaseCaptcha2);\n\n function QACaptcha() {\n _classCallCheck(this, QACaptcha);\n\n return _possibleConstructorReturn(this, (QACaptcha.__proto__ || Object.getPrototypeOf(QACaptcha)).apply(this, arguments));\n }\n\n _createClass(QACaptcha, [{\n key: 'load',\n value: function load() {\n var self = this;\n return new Promise(function (resolve, reject) {\n self._ajax.get(self._context.get('CAPTCHA_API')).then(function (data) {\n self.question = data.question;\n self.helpText = data.help_text;\n resolve();\n }, function () {\n self._snackbar.error(gettext(\"Failed to load CAPTCHA.\"));\n reject();\n });\n });\n }\n }, {\n key: 'validator',\n value: function validator() {\n return [];\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'component',\n value: function component(kwargs) {\n return _react2.default.createElement(\n _formGroup2.default,\n {\n label: this.question,\n 'for': 'id_captcha',\n labelClass: kwargs.labelClass || \"\",\n controlClass: kwargs.controlClass || \"\",\n validation: kwargs.form.state.errors.captcha,\n helpText: this.helpText || null\n },\n _react2.default.createElement('input', {\n 'aria-describedby': 'id_captcha_status',\n className: 'form-control',\n disabled: kwargs.form.state.isLoading,\n id: 'id_captcha',\n onChange: kwargs.form.bindInput('captcha'),\n type: 'text',\n value: kwargs.form.state.captcha\n })\n );\n }\n /* jshint ignore:end */\n\n }]);\n\n return QACaptcha;\n}(BaseCaptcha);\n\nvar ReCaptchaComponent = exports.ReCaptchaComponent = function (_React$Component) {\n _inherits(ReCaptchaComponent, _React$Component);\n\n function ReCaptchaComponent() {\n _classCallCheck(this, ReCaptchaComponent);\n\n return _possibleConstructorReturn(this, (ReCaptchaComponent.__proto__ || Object.getPrototypeOf(ReCaptchaComponent)).apply(this, arguments));\n }\n\n _createClass(ReCaptchaComponent, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this4 = this;\n\n grecaptcha.render('recaptcha', {\n 'sitekey': this.props.siteKey,\n 'callback': function callback(response) {\n // fire fakey event to binding\n _this4.props.binding({\n target: {\n value: response\n }\n });\n }\n });\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement('div', { id: 'recaptcha' });\n /* jshint ignore:end */\n }\n }]);\n\n return ReCaptchaComponent;\n}(_react2.default.Component);\n\nvar ReCaptcha = exports.ReCaptcha = function (_BaseCaptcha3) {\n _inherits(ReCaptcha, _BaseCaptcha3);\n\n function ReCaptcha() {\n _classCallCheck(this, ReCaptcha);\n\n return _possibleConstructorReturn(this, (ReCaptcha.__proto__ || Object.getPrototypeOf(ReCaptcha)).apply(this, arguments));\n }\n\n _createClass(ReCaptcha, [{\n key: 'load',\n value: function load() {\n this._include.include('https://www.google.com/recaptcha/api.js', true);\n\n return new Promise(function (resolve) {\n var wait = function wait() {\n if (typeof grecaptcha === \"undefined\") {\n window.setTimeout(function () {\n wait();\n }, 200);\n } else {\n resolve();\n }\n };\n wait();\n });\n }\n }, {\n key: 'validator',\n value: function validator() {\n return [];\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'component',\n value: function component(kwargs) {\n return _react2.default.createElement(\n _formGroup2.default,\n {\n label: gettext(\"Please solve the quick test\"),\n 'for': 'id_captcha',\n labelClass: kwargs.labelClass || \"\",\n controlClass: kwargs.controlClass || \"\",\n validation: kwargs.form.state.errors.captcha,\n helpText: gettext(\"This test helps us prevent automated spam registrations on our site.\")\n },\n _react2.default.createElement(ReCaptchaComponent, {\n binding: kwargs.form.bindInput('captcha'),\n siteKey: this._context.get('SETTINGS').recaptcha_site_key\n })\n );\n }\n /* jshint ignore:end */\n\n }]);\n\n return ReCaptcha;\n}(BaseCaptcha);\n\nvar Captcha = exports.Captcha = function () {\n function Captcha() {\n _classCallCheck(this, Captcha);\n }\n\n _createClass(Captcha, [{\n key: 'init',\n value: function init(context, ajax, include, snackbar) {\n switch (context.get('SETTINGS').captcha_type) {\n case 'no':\n this._captcha = new NoCaptcha();\n break;\n\n case 'qa':\n this._captcha = new QACaptcha();\n break;\n\n case 're':\n this._captcha = new ReCaptcha();\n break;\n }\n\n this._captcha.init(context, ajax, include, snackbar);\n }\n\n // accessors for underlying strategy\n\n }, {\n key: 'load',\n value: function load() {\n return this._captcha.load();\n }\n }, {\n key: 'validator',\n value: function validator() {\n return this._captcha.validator();\n }\n }, {\n key: 'component',\n value: function component(kwargs) {\n return this._captcha.component(kwargs);\n }\n }]);\n\n return Captcha;\n}();\n\nexports.default = new Captcha();\n\n},{\"../components/form-group\":54,\"react\":\"react\"}],367:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Include = exports.Include = function () {\n function Include() {\n _classCallCheck(this, Include);\n }\n\n _createClass(Include, [{\n key: 'init',\n value: function init(staticUrl) {\n this._staticUrl = staticUrl;\n this._included = [];\n }\n }, {\n key: 'include',\n value: function include(script) {\n var remote = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (this._included.indexOf(script) === -1) {\n this._included.push(script);\n this._include(script, remote);\n }\n }\n }, {\n key: '_include',\n value: function _include(script, remote) {\n $.ajax({\n url: (!remote ? this._staticUrl : '') + script,\n cache: true,\n dataType: 'script'\n });\n }\n }]);\n\n return Include;\n}();\n\nexports.default = new Include();\n\n},{}],368:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar storage = window.localStorage;\n\nvar LocalStorage = exports.LocalStorage = function () {\n function LocalStorage() {\n _classCallCheck(this, LocalStorage);\n }\n\n _createClass(LocalStorage, [{\n key: 'init',\n value: function init(prefix) {\n var _this = this;\n\n this._prefix = prefix;\n this._watchers = [];\n\n window.addEventListener('storage', function (e) {\n var newValueJson = JSON.parse(e.newValue);\n _this._watchers.forEach(function (watcher) {\n if (watcher.key === e.key && e.oldValue !== e.newValue) {\n watcher.callback(newValueJson);\n }\n });\n });\n }\n }, {\n key: 'set',\n value: function set(key, value) {\n storage.setItem(this._prefix + key, JSON.stringify(value));\n }\n }, {\n key: 'get',\n value: function get(key) {\n var itemString = storage.getItem(this._prefix + key);\n if (itemString) {\n return JSON.parse(itemString);\n } else {\n return null;\n }\n }\n }, {\n key: 'watch',\n value: function watch(key, callback) {\n this._watchers.push({\n key: this._prefix + key,\n callback: callback\n });\n }\n }]);\n\n return LocalStorage;\n}();\n\nexports.default = new LocalStorage();\n\n},{}],369:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MobileNavbarDropdown = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _mountComponent = require('../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar MobileNavbarDropdown = exports.MobileNavbarDropdown = function () {\n function MobileNavbarDropdown() {\n _classCallCheck(this, MobileNavbarDropdown);\n }\n\n _createClass(MobileNavbarDropdown, [{\n key: 'init',\n value: function init(element) {\n this._element = element;\n this._component = null;\n }\n }, {\n key: 'show',\n value: function show(component) {\n if (this._component === component) {\n this.hide();\n } else {\n this._component = component;\n (0, _mountComponent2.default)(component, this._element.id);\n $(this._element).addClass('open');\n }\n }\n }, {\n key: 'showConnected',\n value: function showConnected(name, component) {\n if (this._component === name) {\n this.hide();\n } else {\n this._component = name;\n (0, _mountComponent2.default)(component, this._element.id, true);\n $(this._element).addClass('open');\n }\n }\n }, {\n key: 'hide',\n value: function hide() {\n $(this._element).removeClass('open');\n this._component = null;\n }\n }]);\n\n return MobileNavbarDropdown;\n}();\n\nexports.default = new MobileNavbarDropdown();\n\n},{\"../utils/mount-component\":385}],370:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Modal = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _mountComponent = require('../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Modal = exports.Modal = function () {\n function Modal() {\n _classCallCheck(this, Modal);\n }\n\n _createClass(Modal, [{\n key: 'init',\n value: function init(element) {\n var _this = this;\n\n this._element = element;\n\n this._modal = $(element).modal({ show: false });\n\n this._modal.on('hidden.bs.modal', function () {\n _reactDom2.default.unmountComponentAtNode(_this._element);\n });\n }\n }, {\n key: 'show',\n value: function show(component) {\n (0, _mountComponent2.default)(component, this._element.id);\n this._modal.modal('show');\n }\n }, {\n key: 'hide',\n value: function hide() {\n this._modal.modal('hide');\n }\n }]);\n\n return Modal;\n}();\n\nexports.default = new Modal();\n\n},{\"../utils/mount-component\":385,\"react-dom\":\"react-dom\"}],371:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.parseYoutubeUrl = parseYoutubeUrl;\nexports.cleanUrl = cleanUrl;\nexports.getVideoIdFromUrl = getVideoIdFromUrl;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ytRegExp = new RegExp('^.*(?:(?:youtu\\.be\\/|v\\/|vi\\/|u\\/\\w\\/|embed\\/)|(?:(?:watch)?\\?v(?:i)?=|\\&v(?:i)?=))([^#\\&\\?]*).*');\n\nvar OneBox = exports.OneBox = function () {\n function OneBox() {\n var _this = this;\n\n _classCallCheck(this, OneBox);\n\n this.render = function (domnode) {\n if (!domnode) return;\n _this.highlightCode(domnode);\n _this.embedYoutubePlayers(domnode);\n };\n\n this._youtube = {};\n }\n\n // jshint ignore:start\n\n\n _createClass(OneBox, [{\n key: 'highlightCode',\n\n // jshint ignore:end\n\n value: function highlightCode(domnode) {\n var codeblocks = domnode.querySelectorAll('pre>code');\n for (var i = 0; i < codeblocks.length; i++) {\n var code = codeblocks[i];\n hljs.highlightBlock(code);\n }\n }\n }, {\n key: 'embedYoutubePlayers',\n value: function embedYoutubePlayers(domnode) {\n var anchors = domnode.querySelectorAll('p>a');\n for (var i = 0; i < anchors.length; i++) {\n var a = anchors[i];\n var p = a.parentNode;\n var onlyChild = p.childNodes.length === 1;\n\n if (!this._youtube[a.href]) {\n this._youtube[a.href] = parseYoutubeUrl(a.href);\n }\n\n var youtubeMovie = this._youtube[a.href];\n if (onlyChild && !!youtubeMovie && youtubeMovie.data !== false) {\n this.swapYoutubePlayer(a, youtubeMovie);\n }\n }\n }\n }, {\n key: 'swapYoutubePlayer',\n value: function swapYoutubePlayer(element, youtube) {\n var url = 'https://www.youtube.com/embed/';\n url += youtube.video;\n url += '?rel=0';\n if (youtube.start) {\n url += '&start=' + youtube.start;\n }\n\n var player = $('');\n $(element).replaceWith(player);\n player.wrap('
    ');\n }\n }]);\n\n return OneBox;\n}();\n\nexports.default = new OneBox();\nfunction parseYoutubeUrl(url) {\n var cleanedUrl = cleanUrl(url);\n var video = getVideoIdFromUrl(cleanedUrl);\n\n if (!video) return null;\n\n var start = 0;\n if (cleanedUrl.indexOf('?') > 0) {\n var query = cleanedUrl.substr(cleanedUrl.indexOf('?') + 1);\n var timebit = query.split('&').filter(function (i) {\n return i.substr(0, 2) === 't=';\n })[0];\n\n if (timebit) {\n var bits = timebit.substr(2).split('m');\n if (bits[0].substr(-1) === 's') {\n start += parseInt(bits[0].substr(0, bits[0].length - 1));\n } else {\n start += parseInt(bits[0]) * 60;\n if (!!bits[1] && bits[1].substr(-1) === 's') {\n start += parseInt(bits[1].substr(0, bits[1].length - 1));\n }\n }\n }\n }\n\n return {\n start: start,\n video: video\n };\n}\n\nfunction cleanUrl(url) {\n var clean = url;\n\n if (url.substr(0, 8) === 'https://') {\n clean = clean.substr(8);\n } else if (url.substr(0, 7) === 'http://') {\n clean = clean.substr(7);\n }\n\n if (clean.substr(0, 4) === 'www.') {\n clean = clean.substr(4);\n }\n\n return clean;\n}\n\nfunction getVideoIdFromUrl(url) {\n if (url.indexOf('youtu') === -1) return null;\n\n var video = url.match(ytRegExp);\n if (video) {\n return video[1];\n }\n return null;\n}\n\n},{}],372:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar PageTitle = exports.PageTitle = function () {\n function PageTitle() {\n _classCallCheck(this, PageTitle);\n }\n\n _createClass(PageTitle, [{\n key: 'init',\n value: function init(indexTitle, forumName) {\n this._indexTitle = indexTitle;\n this._forumName = forumName;\n }\n }, {\n key: 'set',\n value: function set(title) {\n if (!title) {\n document.title = this._indexTitle || this._forumName;\n return;\n }\n\n if (typeof title === 'string') {\n title = { title: title };\n }\n\n var finalTitle = title.title;\n\n if (title.page > 1) {\n var pageLabel = interpolate(gettext('page: %(page)s'), {\n page: title.page\n }, true);\n\n finalTitle += ' (' + pageLabel + ')';\n }\n\n if (title.parent) {\n finalTitle += ' | ' + title.parent;\n }\n\n document.title = finalTitle + ' | ' + this._forumName;\n }\n }]);\n\n return PageTitle;\n}();\n\nexports.default = new PageTitle();\n\n},{}],373:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Polls = exports.Polls = function () {\n function Polls() {\n _classCallCheck(this, Polls);\n }\n\n _createClass(Polls, [{\n key: \"init\",\n value: function init(ajax, snackbar) {\n this._ajax = ajax;\n this._snackbar = snackbar;\n\n this._polls = {};\n }\n }, {\n key: \"start\",\n value: function start(kwargs) {\n var _this = this;\n\n this.stop(kwargs.poll);\n\n var poolServer = function poolServer() {\n _this._polls[kwargs.poll] = kwargs;\n\n _this._ajax.get(kwargs.url, kwargs.data || null).then(function (data) {\n if (!_this._polls[kwargs.poll]._stopped) {\n kwargs.update(data);\n\n _this._polls[kwargs.poll].timeout = window.setTimeout(poolServer, kwargs.frequency);\n }\n }, function (rejection) {\n if (!_this._polls[kwargs.poll]._stopped) {\n if (kwargs.error) {\n kwargs.error(rejection);\n } else {\n _this._snackbar.apiError(rejection);\n }\n }\n });\n };\n\n if (kwargs.delayed) {\n this._polls[kwargs.poll] = {\n timeout: window.setTimeout(poolServer, kwargs.frequency)\n };\n } else {\n poolServer();\n }\n }\n }, {\n key: \"stop\",\n value: function stop(pollId) {\n if (this._polls[pollId]) {\n window.clearTimeout(this._polls[pollId].timeout);\n this._polls[pollId]._stopped = true;\n }\n }\n }]);\n\n return Polls;\n}();\n\nexports.default = new Polls();\n\n},{}],374:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Posting = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _poll = require('../components/poll');\n\nvar _posting = require('../components/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nvar _mountComponent = require('../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// jshint ignore:line\n\nvar Posting = exports.Posting = function () {\n function Posting() {\n var _this = this;\n\n _classCallCheck(this, Posting);\n\n this.close = function () {\n if (_this._isOpen && !_this._isClosing) {\n _this._isClosing = true;\n _this._placeholder.removeClass('slide-in');\n\n window.setTimeout(function () {\n _reactDom2.default.unmountComponentAtNode(document.getElementById('posting-mount'));\n _this._isClosing = false;\n _this._isOpen = false;\n }, 300);\n }\n };\n }\n\n _createClass(Posting, [{\n key: 'init',\n value: function init(ajax, snackbar, placeholder) {\n this._ajax = ajax;\n this._snackbar = snackbar;\n this._placeholder = $(placeholder);\n\n this._mode = null;\n\n this._isOpen = false;\n this._isClosing = false;\n }\n }, {\n key: 'open',\n value: function open(props) {\n if (this._isOpen === false) {\n this._mode = props.mode;\n this._isOpen = props.submit;\n this._realOpen(props);\n } else if (this._isOpen !== props.submit) {\n var message = gettext(\"You are already working on other message. Do you want to discard it?\");\n if (this._mode == 'POLL') {\n message = gettext(\"You are already working on a poll. Do you want to discard it?\");\n }\n\n var changeForm = confirm(message);\n if (changeForm) {\n this._mode = props.mode;\n this._isOpen = props.submit;\n this._realOpen(props);\n }\n } else if (this._mode == 'REPLY' && props.mode == 'REPLY') {\n this._realOpen(props);\n }\n }\n\n // jshint ignore:start\n\n }, {\n key: '_realOpen',\n\n // jshint ignore:end\n value: function _realOpen(props) {\n if (props.mode == 'POLL') {\n (0, _mountComponent2.default)(_react2.default.createElement(_poll.PollForm, props), 'posting-mount');\n } else {\n (0, _mountComponent2.default)(_react2.default.createElement(_posting2.default, props), 'posting-mount');\n }\n\n this._placeholder.addClass('slide-in');\n\n $('html, body').animate({\n scrollTop: this._placeholder.offset().top\n }, 1000);\n }\n }]);\n\n return Posting;\n}();\n\nexports.default = new Posting();\n\n},{\"../components/poll\":105,\"../components/posting\":133,\"../utils/mount-component\":385,\"react\":\"react\",\"react-dom\":\"react-dom\"}],375:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Snackbar = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _snackbar = require('../reducers/snackbar');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar HIDE_ANIMATION_LENGTH = 300;\nvar MESSAGE_SHOW_LENGTH = 5000;\n\nvar Snackbar = exports.Snackbar = function () {\n function Snackbar() {\n _classCallCheck(this, Snackbar);\n }\n\n _createClass(Snackbar, [{\n key: 'init',\n value: function init(store) {\n this._store = store;\n this._timeout = null;\n }\n }, {\n key: 'alert',\n value: function alert(message, type) {\n var _this = this;\n\n if (this._timeout) {\n window.clearTimeout(this._timeout);\n this._store.dispatch((0, _snackbar.hideSnackbar)());\n\n this._timeout = window.setTimeout(function () {\n _this._timeout = null;\n _this.alert(message, type);\n }, HIDE_ANIMATION_LENGTH);\n } else {\n this._store.dispatch((0, _snackbar.showSnackbar)(message, type));\n this._timeout = window.setTimeout(function () {\n _this._store.dispatch((0, _snackbar.hideSnackbar)());\n _this._timeout = null;\n }, MESSAGE_SHOW_LENGTH);\n }\n }\n\n // shorthands for message types\n\n }, {\n key: 'info',\n value: function info(message) {\n this.alert(message, 'info');\n }\n }, {\n key: 'success',\n value: function success(message) {\n this.alert(message, 'success');\n }\n }, {\n key: 'warning',\n value: function warning(message) {\n this.alert(message, 'warning');\n }\n }, {\n key: 'error',\n value: function error(message) {\n this.alert(message, 'error');\n }\n\n // shorthand for api errors\n\n }, {\n key: 'apiError',\n value: function apiError(rejection) {\n var message = rejection.detail;\n\n if (!message) {\n if (rejection.status === 404) {\n message = gettext(\"Action link is invalid.\");\n } else {\n message = gettext(\"Unknown error has occured.\");\n }\n }\n\n if (rejection.status === 403 && message === \"Permission denied\") {\n message = gettext(\"You don't have permission to perform this action.\");\n }\n\n this.error(message);\n }\n }]);\n\n return Snackbar;\n}();\n\nexports.default = new Snackbar();\n\n},{\"../reducers/snackbar\":358}],376:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.StoreWrapper = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _redux = require('redux');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar StoreWrapper = exports.StoreWrapper = function () {\n function StoreWrapper() {\n _classCallCheck(this, StoreWrapper);\n\n this._store = null;\n this._reducers = {};\n this._initialState = {};\n }\n\n _createClass(StoreWrapper, [{\n key: 'addReducer',\n value: function addReducer(name, reducer, initialState) {\n this._reducers[name] = reducer;\n this._initialState[name] = initialState;\n }\n }, {\n key: 'init',\n value: function init() {\n this._store = (0, _redux.createStore)((0, _redux.combineReducers)(this._reducers), this._initialState);\n }\n }, {\n key: 'getStore',\n value: function getStore() {\n return this._store;\n }\n\n // Store API\n\n }, {\n key: 'getState',\n value: function getState() {\n return this._store.getState();\n }\n }, {\n key: 'dispatch',\n value: function dispatch(action) {\n return this._store.dispatch(action);\n }\n }]);\n\n return StoreWrapper;\n}();\n\nexports.default = new StoreWrapper();\n\n},{\"redux\":\"redux\"}],377:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/* global zxcvbn */\nvar Zxcvbn = exports.Zxcvbn = function () {\n function Zxcvbn() {\n _classCallCheck(this, Zxcvbn);\n }\n\n _createClass(Zxcvbn, [{\n key: \"init\",\n value: function init(include) {\n this._include = include;\n this._isLoaded = false;\n }\n }, {\n key: \"scorePassword\",\n value: function scorePassword(password, inputs) {\n // 0-4 score, the more the stronger password\n if (this._isLoaded) {\n return zxcvbn(password, inputs).score;\n }\n\n return 0;\n }\n }, {\n key: \"load\",\n value: function load() {\n if (!this._isLoaded) {\n this._include.include('misago/js/zxcvbn.js');\n return this._loadingPromise();\n } else {\n return this._loadedPromise();\n }\n }\n }, {\n key: \"_loadingPromise\",\n value: function _loadingPromise() {\n var self = this;\n\n return new Promise(function (resolve, reject) {\n var wait = function wait() {\n var tries = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n tries += 1;\n if (tries > 200) {\n reject();\n } else if (typeof zxcvbn === \"undefined\") {\n window.setTimeout(function () {\n wait(tries);\n }, 200);\n } else {\n self._isLoaded = true;\n resolve();\n }\n };\n wait();\n });\n }\n }, {\n key: \"_loadedPromise\",\n value: function _loadedPromise() {\n // we have already loaded zxcvbn.js, resolve away!\n return new Promise(function (resolve) {\n resolve();\n });\n }\n }]);\n\n return Zxcvbn;\n}();\n\nexports.default = new Zxcvbn();\n\n},{}],378:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (ban, changeState) {\n _reactDom2.default.render(\n /* jshint ignore:start */\n _react2.default.createElement(\n _reactRedux.Provider,\n { store: _store2.default.getStore() },\n _react2.default.createElement(RedrawedBannedPage, { message: ban.message,\n expires: ban.expires_on ? (0, _moment2.default)(ban.expires_on) : null })\n ),\n /* jshint ignore:end */\n document.getElementById('page-mount'));\n\n if (typeof changeState === 'undefined' || changeState) {\n var forumName = _index2.default.get('SETTINGS').forum_name;\n document.title = gettext(\"You are banned\") + ' | ' + forumName;\n window.history.pushState({}, \"\", _index2.default.get('BANNED_URL'));\n }\n};\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _reactRedux = require('react-redux');\n\nvar _bannedPage = require('../components/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:line\n\n/* jshint ignore:start */\n// jshint ignore:line\n// jshint ignore:line\nvar select = function select(state) {\n return state.tick;\n}; // jshint ignore:line\n// jshint ignore:line\n\n\nvar RedrawedBannedPage = (0, _reactRedux.connect)(select)(_bannedPage2.default);\n/* jshint ignore:end */\n\n},{\"../components/banned-page\":7,\"../index\":301,\"../services/store\":376,\"moment\":\"moment\",\"react\":\"react\",\"react-dom\":\"react-dom\",\"react-redux\":\"react-redux\"}],379:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (list, rowWidth) {\n var padding = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var rows = [];\n var row = [];\n\n list.forEach(function (element) {\n row.push(element);\n if (row.length === rowWidth) {\n rows.push(row);\n row = [];\n }\n });\n\n // pad row to required length?\n if (padding !== false && row.length > 0 && row.length < rowWidth) {\n for (var i = row.length; i < rowWidth; i++) {\n row.push(padding);\n }\n }\n\n if (row.length) {\n rows.push(row);\n }\n\n return rows;\n};\n\n},{}],380:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (a, b) {\n var ids = [];\n return a.concat(b).filter(function (item) {\n if (ids.indexOf(item.id) === -1) {\n ids.push(item.id);\n return true;\n } else {\n return false;\n }\n });\n};\n\n},{}],381:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar _class = function () {\n function _class(callback, count) {\n _classCallCheck(this, _class);\n\n this._callback = callback;\n this._count = count;\n }\n\n _createClass(_class, [{\n key: \"count\",\n value: function count() {\n this._count -= 1;\n if (this._count === 0) {\n this._callback();\n }\n }\n }]);\n\n return _class;\n}();\n\nexports.default = _class;\n\n},{}],382:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (text) {\n return text.replace(/[&<>\"']/g, function (m) {\n return map[m];\n });\n};\n\nvar map = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\n\n},{}],383:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (bytes) {\n if (bytes > 1024 * 1024 * 1024) {\n return roundSize(bytes / (1024 * 1024 * 1024)) + ' GB';\n } else if (bytes > 1024 * 1024) {\n return roundSize(bytes / (1024 * 1024)) + ' MB';\n } else if (bytes > 1024) {\n return roundSize(bytes / 1024) + ' KB';\n } else {\n return roundSize(bytes) + ' B';\n }\n};\n\nexports.roundSize = roundSize;\nfunction roundSize(value) {\n return value.toFixed(1);\n}\n\n},{}],384:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (str) {\n return URL_PATTERN.test($.trim(str));\n};\n\nvar URL_PATTERN = new RegExp('^(https?:\\\\/\\\\/)?((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*(\\\\?[;&a-z\\\\d%_.~+=-]*)?(\\\\#[-a-z\\\\d_]*)?$', 'i');\n\n},{}],385:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (Component, rootElementId) {\n var connected = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n var rootElement = document.getElementById(rootElementId);\n\n /* jshint ignore:start */\n var finalComponent = Component.props ? Component : _react2.default.createElement(Component, null);\n /* jshint ignore:end */\n\n if (rootElement) {\n if (connected) {\n _reactDom2.default.render(\n /* jshint ignore:start */\n _react2.default.createElement(\n _reactRedux.Provider,\n { store: _store2.default.getStore() },\n finalComponent\n ),\n /* jshint ignore:end */\n rootElement);\n } else {\n /* jshint ignore:start */\n _reactDom2.default.render(finalComponent, rootElement);\n /* jshint ignore:end */\n }\n }\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _reactRedux = require('react-redux');\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../services/store\":376,\"react\":\"react\",\"react-dom\":\"react-dom\",\"react-redux\":\"react-redux\"}],386:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar OrderedList = function () {\n function OrderedList(items) {\n _classCallCheck(this, OrderedList);\n\n this.isOrdered = false;\n this._items = items || [];\n }\n\n _createClass(OrderedList, [{\n key: \"add\",\n value: function add(key, item, order) {\n this._items.push({\n key: key,\n item: item,\n\n after: order ? order.after || null : null,\n before: order ? order.before || null : null\n });\n }\n }, {\n key: \"get\",\n value: function get(key, value) {\n for (var i = 0; i < this._items.length; i++) {\n if (this._items[i].key === key) {\n return this._items[i].item;\n }\n }\n\n return value;\n }\n }, {\n key: \"has\",\n value: function has(key) {\n return this.get(key) !== undefined;\n }\n }, {\n key: \"values\",\n value: function values() {\n var values = [];\n for (var i = 0; i < this._items.length; i++) {\n values.push(this._items[i].item);\n }\n return values;\n }\n }, {\n key: \"order\",\n value: function order(values_only) {\n if (!this.isOrdered) {\n this._items = this._order(this._items);\n this.isOrdered = true;\n }\n\n if (values_only || typeof values_only === 'undefined') {\n return this.values();\n } else {\n return this._items;\n }\n }\n }, {\n key: \"orderedValues\",\n value: function orderedValues() {\n return this.order(true);\n }\n }, {\n key: \"_order\",\n value: function _order(unordered) {\n // Index of unordered items\n var index = [];\n unordered.forEach(function (item) {\n index.push(item.key);\n });\n\n // Ordered items\n var ordered = [];\n var ordering = [];\n\n // First pass: register items that\n // don't specify their order\n unordered.forEach(function (item) {\n if (!item.after && !item.before) {\n ordered.push(item);\n ordering.push(item.key);\n }\n });\n\n // Second pass: register items that\n // specify their before to \"_end\"\n unordered.forEach(function (item) {\n if (item.before === \"_end\") {\n ordered.push(item);\n ordering.push(item.key);\n }\n });\n\n // Third pass: keep iterating items\n // until we hit iterations limit or finish\n // ordering list\n function insertItem(item) {\n var insertAt = -1;\n if (ordering.indexOf(item.key) === -1) {\n if (item.after) {\n insertAt = ordering.indexOf(item.after);\n if (insertAt !== -1) {\n insertAt += 1;\n }\n } else if (item.before) {\n insertAt = ordering.indexOf(item.before);\n }\n\n if (insertAt !== -1) {\n ordered.splice(insertAt, 0, item);\n ordering.splice(insertAt, 0, item.key);\n }\n }\n }\n\n var iterations = 200;\n while (iterations > 0 && index.length !== ordering.length) {\n iterations -= 1;\n unordered.forEach(insertItem);\n }\n\n return ordered;\n }\n }]);\n\n return OrderedList;\n}();\n\nexports.default = OrderedList;\n\n},{}],387:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.int = int;\nexports.range = range;\nfunction int(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n}\n\nfunction range(min, max) {\n var array = new Array(int(min, max));\n for (var i = 0; i < array.length; i++) {\n array[i] = i;\n }\n\n return array;\n}\n\n},{}],388:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function () {\n window.scrollTo(0, 0);\n};\n\n},{}],389:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (options) {\n var routes = {\n component: options.component || null,\n childRoutes: []\n };\n\n if (options.root) {\n routes.childRoutes = [{\n path: options.root,\n onEnter: function onEnter(nextState, replaceState) {\n replaceState(null, options.paths[0].path);\n }\n }].concat(options.paths);\n } else {\n routes.childRoutes = options.paths;\n }\n\n _reactDom2.default.render(_react2.default.createElement(\n _reactRedux.Provider,\n { store: _store2.default.getStore() },\n _react2.default.createElement(_reactRouter.Router, { routes: routes, history: _reactRouter.browserHistory })\n ), rootElement);\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _reactRedux = require('react-redux');\n\nvar _reactRouter = require('react-router');\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar rootElement = document.getElementById('page-mount'); // jshint ignore:start\n\n},{\"../services/store\":376,\"react\":\"react\",\"react-dom\":\"react-dom\",\"react-redux\":\"react-redux\",\"react-router\":\"react-router\"}],390:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.push = push;\nexports.remove = remove;\nexports.toggle = toggle;\nfunction push(array, value) {\n if (array.indexOf(value) === -1) {\n var copy = array.slice();\n copy.push(value);\n return copy;\n } else {\n return array;\n }\n}\n\nfunction remove(array, value) {\n if (array.indexOf(value) >= 0) {\n return array.filter(function (i) {\n return i !== value;\n });\n } else {\n return array;\n }\n}\n\nfunction toggle(array, value) {\n if (array.indexOf(value) === -1) {\n var copy = array.slice();\n copy.push(value);\n return copy;\n } else {\n return array.filter(function (i) {\n return i !== value;\n });\n }\n}\n\n},{}],391:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (string, subString) {\n string = (string + \"\").toLowerCase();\n subString = (subString + \"\").toLowerCase();\n\n if (subString.length <= 0) return 0;\n\n var n = 0;\n var pos = 0;\n var step = subString.length;\n\n while (true) {\n pos = string.indexOf(subString, pos);\n if (pos >= 0) {\n n += 1;\n pos += step;\n } else {\n break;\n }\n }\n\n return n;\n};\n\n},{}],392:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.required = required;\nexports.requiredTermsOfService = requiredTermsOfService;\nexports.requiredPrivacyPolicy = requiredPrivacyPolicy;\nexports.email = email;\nexports.minLength = minLength;\nexports.maxLength = maxLength;\nexports.usernameMinLength = usernameMinLength;\nexports.usernameMaxLength = usernameMaxLength;\nexports.usernameContent = usernameContent;\nexports.passwordMinLength = passwordMinLength;\nvar EMAIL = /^(([^<>()[\\]\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i;\nvar USERNAME = new RegExp('^[0-9a-z]+$', 'i');\n\nfunction required(message) {\n return function (value) {\n if (value === false || value === null || $.trim(value).length === 0) {\n return message || gettext(\"This field is required.\");\n }\n };\n}\n\nfunction requiredTermsOfService(message) {\n var error = gettext(\"You have to accept the terms of service.\");\n return required(message || error);\n}\n\nfunction requiredPrivacyPolicy(message) {\n var error = gettext(\"You have to accept the privacy policy.\");\n return required(message || error);\n}\n\nfunction email(message) {\n return function (value) {\n if (!EMAIL.test(value)) {\n return message || gettext(\"Enter a valid email address.\");\n }\n };\n}\n\nfunction minLength(limitValue, message) {\n return function (value) {\n var returnMessage = '';\n var length = $.trim(value).length;\n\n if (length < limitValue) {\n if (message) {\n returnMessage = message(limitValue, length);\n } else {\n returnMessage = ngettext(\"Ensure this value has at least %(limit_value)s character (it has %(show_value)s).\", \"Ensure this value has at least %(limit_value)s characters (it has %(show_value)s).\", limitValue);\n }\n return interpolate(returnMessage, {\n limit_value: limitValue,\n show_value: length\n }, true);\n }\n };\n}\n\nfunction maxLength(limitValue, message) {\n return function (value) {\n var returnMessage = '';\n var length = $.trim(value).length;\n\n if (length > limitValue) {\n if (message) {\n returnMessage = message(limitValue, length);\n } else {\n returnMessage = ngettext(\"Ensure this value has at most %(limit_value)s character (it has %(show_value)s).\", \"Ensure this value has at most %(limit_value)s characters (it has %(show_value)s).\", limitValue);\n }\n return interpolate(returnMessage, {\n limit_value: limitValue,\n show_value: length\n }, true);\n }\n };\n}\n\nfunction usernameMinLength(lengthMin) {\n var message = function message(lengthMin) {\n return ngettext(\"Username must be at least %(limit_value)s character long.\", \"Username must be at least %(limit_value)s characters long.\", lengthMin);\n };\n return minLength(lengthMin, message);\n}\n\nfunction usernameMaxLength(lengthMax) {\n var message = function message(lengthMax) {\n return ngettext(\"Username cannot be longer than %(limit_value)s character.\", \"Username cannot be longer than %(limit_value)s characters.\", lengthMax);\n };\n return maxLength(lengthMax, message);\n}\n\nfunction usernameContent() {\n return function (value) {\n if (!USERNAME.test($.trim(value))) {\n return gettext(\"Username can only contain latin alphabet letters and digits.\");\n }\n };\n}\n\nfunction passwordMinLength(limitValue) {\n return function (value) {\n var length = value.length;\n\n if (length < limitValue) {\n var returnMessage = ngettext(\"Valid password must be at least %(limit_value)s character long.\", \"Valid password must be at least %(limit_value)s characters long.\", limitValue);\n\n return interpolate(returnMessage, {\n limit_value: limitValue,\n show_value: length\n }, true);\n }\n };\n}\n\n},{}]},{},[301,302,303,304,305,322,323,324,325,326,327,328,329,345,346,347,348,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344]);\n"]} \ No newline at end of file +{"version":3,"sources":["misago.js"],"names":["e","t","n","r","s","o","u","a","require","i","f","Error","code","l","exports","call","length","1","module","_interopRequireDefault","obj","__esModule","default","Object","defineProperty","value","_react","_react2","_","_2","_escapeHtml","_escapeHtml2","AGREEMENT_URL","RegisterLegalFootnote","props","errors","privacyPolicy","termsOfService","onPrivacyPolicyChange","onTermsOfServiceChange","termsOfServiceId","get","termsOfServiceUrl","privacyPolicyId","privacyPolicyUrl","createElement","LegalAgreement","agreement","gettext","checked","url","onChange","agreementHtml","interpolate","label","className","type","dangerouslySetInnerHTML","__html","map","error","key","..","../utils/escape-html","react","2","StartSocialAuth","buttonClassName","buttonLabel","formLabel","header","labelClassName","socialAuth","SOCIAL_AUTH","FormHeader","text","_ref","id","name","finalButtonLabel","site","href","_ref2","3","_classCallCheck","instance","Constructor","TypeError","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","prototype","create","constructor","enumerable","writable","configurable","setPrototypeOf","__proto__","_createClass","defineProperties","target","descriptor","protoProps","staticProps","_ajax","_ajax2","AcceptAgreement","_React$Component","this","_this","getPrototypeOf","handleDecline","state","submiting","confirmation","confirm","setState","post","api","accept","then","location","reload","handleAccept","disabled","onClick","Component","../services/ajax","4","_interopRequireWildcard","newObj","hasOwnProperty","ModalHeader","aria-label","data-dismiss","aria-hidden","_form","_form2","_formGroup","_formGroup2","_participants","participants","_thread","_modal","_modal2","_snackbar","_snackbar2","_store","_store2","_class","_Form","onUsernameChange","event","changeValue","isLoading","username","trim","patch","thread","index","op","path","data","dispatch","updateAcl","replace","success","hide","role","onSubmit","handleSubmit","for","../reducers/participants","../reducers/thread","../services/modal","../services/snackbar","../services/store","./form","./form-group","5","select","user","auth","signedIn","signedOut","apply","arguments","window","getMessage","refresh","6","getSrc","size","resolveAvatarForSize","avatars","avatar","forEach","av","size2x","alt","src","srcSet","width","height","7","_moment","_moment2","message","html","plain","expires","isAfter","title","expires_on","format","fromNow","getReasonMessage","getExpirationMessage","moment","8","_loader","_loader2","Button","loading","children","defaultProps","./loader","9","10","categories","category","_category2","_category","./category","11","css_class","_listItem2","isFirst","subcategories","_listItem","./list-item","12","description","13","getClassName","is_read","getTitle","is_closed","getIcon","14","_main2","_stats2","_lastThread2","_subcategories2","_main","_lastThread","_stats","_subcategories","./last-thread","./main","./stats","./subcategories","15","LastThread","acl","can_browse","can_see_all_threads","last_thread_title","LastPosterAvatar","last_thread_new","LastPosterName","last_post","last_post_on","_ref3","last_poster","last_poster_name","_avatar2","_ref4","Empty","_ref5","Message","Private","_ref6","Protected","_ref7","_ref8","_avatar","../../../avatar","16","_icon2","_description2","_description","_icon","./description","./icon","17","Threads","threads","ngettext","Posts","posts","18","19","20","store","tick","_blankslate","_blankslate2","_categoriesList","_categoriesList2","_index","_index2","_polls","_polls2","hydrate","assign","update","startPolling","start","poll","frequency","../../index","../../services/polls","./blankslate","./categories-list","21","choices","item","repeat","level","22","_button","_button2","cropAvatar","avatarType","upload","cropit","$","deviceRatio","cropitOffset","crop","offset","x","y","zoom","onComplete","detail","rejection","status","showError","options","crop_tmp","crop_src","dataUrl","_this2","cropperWidth","getAvatarSize","initialWidth","exportZoom","imageState","getImagePath","onImageLoaded","zoomLevel","imageSize","displayedWidth","offsetX","displayedHeight","offsetY","showIndex","../../services/ajax","../../services/snackbar","../avatar","../button","23","Gallery","GalleryItem","undefined","_extends","source","_batch","_batch2","_temp","_ret","_len","args","Array","_key","concat","selection","_React$Component2","_this3","images","row","_React$Component3","_this4","image","save","response","_this5","galleries","../../utils/batch","24","setGravatar","callApi","setGenerated","gravatar","showCrop","showUpload","showGallery","userPeview","getAvatarPreview","getGravatarButton","getCropButton","getUploadButton","getGalleryButton","../loader","25","ChangeAvatarError","_crop","_crop2","_upload","_upload2","_gallery","_gallery2","_modalLoader","_modalLoader2","_users","reason","getErrorReason","component","completeFlow","updateAvatar","getBody","../../reducers/users","../../services/store","../modal-loader","./crop","./gallery","./index","./upload","26","_fileSize","_fileSize2","pickFile","document","getElementById","click","uploadFile","files","validationError","validateFile","preview","URL","createObjectURL","progress","FormData","append","uploaded","info","limit","filesize","invalidTypeMsg","allowed_mime_types","indexOf","extensionFound","loweredFilename","toLowerCase","allowed_extensions","extension","substr","extensions","join","getUploadRequirements","aria-valuenow","aria-valuemin","aria-valuemax","style","getUploadProgressLabel","getUploadProgress","renderCrop","renderUpload","../../utils/file-size","27","dropdown","toggleNav","aria-haspopup","aria-expanded","28","display","_panelMessage2","helpText","_panelMessage","../panel-message","29","_select","_select2","ev","_this$props","field","fieldname","_props","input","rows","../select","30","fields","help_text","validation","_fieldInput2","_fieldInput","../form-group","./field-input","31","_defineProperty","CancelButton","onCancel","_fieldset","_fieldset2","groups","group","initial","onSuccess","apiError","../form","./fieldset","32","FormDisplay","cancel","_state","33","34","replaceSelection","execAction","35","insertCode","syntax","prompt","_action2","_action","_isUrl","../../../utils/is-url","./action","36","makeEmphasis","37","insertHr","38","insertImage","_isUrl2","39","insertLink","40","insertQuote","41","makeStriketrough","42","makeStrong","43","Preview","is_image","Image","Icon","thumbnailUrl","thumb","backgroundImage","Filename","filename","Details","uploader","USER_URL","uploader_name","USER_SPAN","date","DATE_ABBR","absolute","uploaded_on","relative","filetype","Actions","Insert","Remove","Undo","isRemoved","onInsert","can_delete","onRemove","onUndo","insertAttachment","updateItem","newState","updatedAttachments","attachments","onAttachmentsChange","../../../..","../../../../utils/escape-html","../../../../utils/file-size","44","STRONG","filteredAttachments","filter","45","_complete2","_error2","_complete","_error","./complete","./error","46","47","max_attachment_size","_list2","_uploader2","_list","_uploader","../../..","./list","./uploader","48","_attachment2","_attachment","./attachment","49","50","getRandomKey","Math","round","Date","getTime","file","../../../services/ajax","../../../services/snackbar","51","Protect","canProtect","protect","onUnprotect","onProtect","_code","_code2","_emphasis","_emphasis2","_hr","_hr2","_image","_image2","_link","_link2","_striketrough","_striketrough2","_strong","_strong2","_quote","_quote2","_attachments","_attachments2","_uploadButton","_uploadButton2","_markupPreview","_markupPreview2","_textutils","textUtils","onPreviewClick","isPreviewLoading","show","markup","parsed","operation","getSelectionText","_replaceSelection","newValue","atwho","at","displayTpl","insertTpl","searchKey","callbacks","remoteFilter","query","callback","getJSON","q","on","flag","submitLabel","placeholder","../..","../../services/modal","./actions/code","./actions/emphasis","./actions/hr","./actions/image","./actions/link","./actions/quote","./actions/striketrough","./actions/strong","./attachments","./attachments/upload-button","./markup-preview","./textutils","52","_misagoMarkup2","_misagoMarkup","../misago-markup","53","getTextarea","textareaId","getValue","getSelectionRange","end","getSelection","ctrl","focus","range","createRange","moveStart","selectionStart","selectionEnd","substring","setSelection","selectionRange","setSelectionRange","createTextRange","collapse","moveEnd","_replace","myRange","replacement","startText","54","isValidated","labelClass","htmlFor","controlClass","getFeedbackDescription","getFeedback","getHelpText","extra","55","_validators","validateRequired","required","bindInput","formErrors","validateField","preventDefault","clean","promise","send","handleSuccess","handleError","validators","optional","validatedFields","push","_name","_name2","fieldErrors","validate","requiredError","_i","_validationError","../utils/validators","56","isControlled","isActive","pathname","activeClassName","57","58","BestAnswerSelect","choice","PollSelect","onError","onBestAnswerChange","onPollChange","bestAnswer","polls","best_answer","bestAnswers","./button","59","_oneBox","_oneBox2","render","documentNode","prevProps","prevState","nextProps","nextState","ref","node","../services/one-box","60","61","_PanelMessage","icon","./panel-message","62","filtered","section","results","count","slice","MAX_RESULTS","63","HEADER","RESULT","FOOTER","64","_input2","_input","./input","65","66","flattenProviders","flatlist","arrayLength","provider","_constants","flattenProvider","result","./constants","67","_dropdownMenu2","flatResults","_flattenResults2","_result2","_empty2","_dropdownMenu","_empty","_result","_flattenResults","./dropdown-menu","./empty","./flatten-results","./result","68","autoComplete","69","../../loader","70","encodeURI","71","72","_header2","_footer2","_footer","_header","../constants","./footer","./header","73","_thread2","_user2","_user","./thread","./user","74","poster","footer","content","posted_on","poster_name","75","rank","joined_on","76","_cleanResults","_cleanResults2","_dropdown","_dropdown2","onToggle","isOpen","setTimeout","container","querySelector","onDocumentMouseDown","closeResults","parentNode","onEscape","loadResults","intervalId","addEventListener","removeEventListener","delay","random","clearTimeout","data-toggle","./clean-results","./dropdown","77","_panelLoader2","_panelLoader","../../panel-loader","78","next_on","next_change","../../panel-message","79","usernameContent","usernameMinLength","length_min","usernameMaxLength","length_max","phrases","changes_left","name_changes_expire","_message","complete","slug","../../../utils/validators","../../button","../../form","../../form-group","80","_formLoading","_formLoading2","_formLocked","_formLocked2","_root","_root2","_usernameHistory","_pageTitle","_pageTitle2","addNameChange","updateUsername","isLoaded","set","parent","Promise","all","getChangeForm","changes","../../../index","../../../reducers/username-history","../../../reducers/users","../../../services/page-title","../../../services/store","../../username-history/root","./form-loading","./form-locked","81","onPasswordChange","password","_this$state","../../services/page-title","82","DownloadData","handleLoadDownloads","data_downloads","downloads","handleRequestDataDownload","isSubmiting","request_data_download","console","log","rowStyle","requested_on","DownloadButton","exportFile","colSpan","verticalAlign","STATUS_PENDING","STATUS_PROCESSING","83","_editDetails","_editDetails2","edit_details","../edit-details","84","_yesNoSwitch","_yesNoSwitch2","_auth","is_hiding_presence","limits_private_thread_invites_to","subscribe_to_started_threads","subscribe_to_replied_threads","privateThreadInvitesChoices","subscribeToChoices","iconOn","iconOff","labelOn","labelOff","../../reducers/auth","../yes-no-switch","85","SideNav","option","_reactRouter","Link","to","baseUrl","CompactNav","_li2","hideNav","_li","../li","react-router","86","username-history","paths","_reactRedux","connect","_forumOptions2","_root4","_downloadData2","_deleteAccount2","_dropdownToggle","_navs","_deleteAccount","_downloadData","_forumOptions","_root3","_withDropdown","_withDropdown2","_WithDropdown","../dropdown-toggle","../with-dropdown","./change-username/root","./delete-account","./download-data","./edit-details","./forum-options","./navs","./sign-in-credentials/root","react-redux","87","UnusablePasswordMessage","88","new_email","email","lengths","change_email","89","new_password","repeat_password","change_password","90","_changeEmail","_changeEmail2","_changePassword","_changePassword2","_UnusablePasswordMessage","_UnusablePasswordMessage2","has_usable_password","./UnusablePasswordMessage","./change-email","./change-password","91","_stringCount","_stringCount2","copy","../utils/string-count","92","93","94","_addParticipant","_addParticipant2","can_add_participants","../add-participant","95","leave","participant","remove","changeOwner","../../../reducers/participants","../../../reducers/thread","96","UserStatus","isOwner","is_owner","_makeOwner2","_remove2","_makeOwner","_remove","../../avatar","./make-owner","./remove","97","userIsOwner","_card2","_card","./card","98","_actions","confirmed","isUser","can_change_owner","./actions","99","isModerator","can_moderate_private_threads","100","getUserIsOwner","_cardsList2","utils","getParticipantsCopy","_cardsList","_utils","./add-participant","./cards-list","./utils","101","users","102","LABELS","STYLES","_zxcvbn","_zxcvbn2","_score","_password","_inputs","loaded","load","inputs","cacheStale","scorePassword","score","getScore","../services/zxcvbn","103","generateRandomHash","randomHash","toString","PollChoice","onAdd","hash","setChoices","onDelete","canDelete","_temp2","_ret2","_len2","_key2","deleteItem","maxLength","104","PollPublicSwitch","isEdit","_choicesControl","_choicesControl2","_poll","_posting","_posting2","close","question","allowed_choices","allow_revotes","is_public","put","non_field_errors","../../../reducers/poll","../../../services/posting","../../yes-no-switch","./choices-control","105","PollForm","Poll","_poll2","./poll","106","PollCreation","getPoster","getPostedOn","PollLength","ends_on","getEndsOn","endsOn","PollVotes","votes","PollIsPublic","../../utils/escape-html","107","getIsPollOver","_results","_results2","_voting","_voting2","showResults","showVoting","hasSelectedChoices","isPollOver","can_vote","./results","./voting","108","proc","ceil","getVotesLabel","ChoiceVotes","UserChoice","selected","109","_info2","_chart2","_options2","_chart","_options","_info","../info","./chart","./options","110","ModalBody","_modalMessage2","ChoicesList","ChoiceDetails","VotesCount","VotesList","voters","Voter","VoteDate","voted_on","_modalMessage","hydratedData","voter","../../modal-loader","../../modal-message","111","isVisible","can_edit","can_see_votes","controls","control","ChangeVote","canVote","canChangeVote","isBusy","Delete","Edit","SeeVotes","_modal3","_modal4","seeVotes","open","submit","mode","_temp3","_ret3","_len3","_key3","deletePoll","busy","newThreadAcl","release","../../../services/modal","./modal","112","PollChoicesLeft","choicesLeft","PollAllowRevote","../../../utils/escape-html","113","_help","_help2","toggleChoice","getChoiceFromHash","deselectChoice","selectChoice","getChoicesLeft","../results/options","./help","./select","114","ChoiceSelect","115","116","DiffItem","getItemClassName","cleanItem","diff","117","revertEdit","edit","canRevert","118","ModalDialog","_diff","_diff2","_toolbar","_toolbar2","_post","goToEdit","edits","isReady","hydrateEdit","hydratedPost","../../reducers/post","../modal-message","./diff","./toolbar","119","GoBackBtn","previous","GoForwardBtn","next","GoLastBtn","RevertBtn","Label","editor","editor_name","edited_on","edited_by","goLast","goForward","goBack","120","json","121","_post2","_preview2","_preview","./post","./preview","122","Default","Invalid","../../misago-markup","123","tooltip","124","_postSide2","_body2","_body","_postSide","./body","./post-side","125","126","127","_registered2","_anonymous2","_anonymous","_registered","./anonymous","./registered","128","_userTitle2","_userTitle","./user-title","129","userTitle","is_tab","130","_random","../../utils/random","131","hydrateLike","liked_on","likes","likesCount","LikesList","like","LikeDetails","liker_id","LikeDate","likedOn","./avatar","./modal-loader","./modal-message","132","_editor","_editor2","_container","_container2","_message2","loadSuccess","is_protected","can_protect","loadError","isErrored","onPostChange","getPostValidators","config","method","../../services/posting","../editor","./utils/attachments","./utils/container","./utils/loader","./utils/message","./utils/validators","133","_start2","_startPrivate2","_reply2","_edit2","_start","_startPrivate","_reply","_edit","./edit","./reply","./start","./start-private","134","appendData","newPost","context","newContext","reply","135","_usernames","_usernames2","onToChange","onTitleChange","getTitleValidators","withFirstRow","./utils/usernames","136","_categorySelect","_categorySelect2","showOptions","categoryOptions","pin","onCategoryChange","find","onClose","onOpen","onPinGlobally","onPinLocally","onUnpin","onHide","onUnhide","columns","titleStyle","../category-select","./utils/options","137","completedAttachments","attachment","138","139","./container","140","141","CloseOptions","textClassName","HideOptions","PinOptions","columnClassName","142","usernames","normalisedNames","split","removedBlanks","removedDuplicates","pos","143","getTitleLengthMin","getTitleLengthMax","post_length_max","validatePostLengthMin","validatePostLengthMax","minLength","thread_title_length_min","limitValue","limit_value","show_value","thread_title_length_max","post_length_min","144","can_hide","Unhide","Hide","is_hidden","hidden_on","hidden_by_name","hidden_by","decision","isDeleted","../../../reducers/post","145","ICON","event_type","changed_title","pinned_globally","pinned_locally","unpinned","moved","merged","approved","opened","closed","unhid","hid","changed_owner","tookover","added_participant","owner_left","participant_left","removed_participant","146","_unreadLabel2","_waypoint2","_unreadLabel","_waypoint","../waypoint","./info","./message","./unread-label","147","Hidden","event_by","event_on","Poster","DATE_URL","_controls2","_controls","./controls","148","ChangedTitle","msgstring","oldTitle","ITEM_SPAN","event_context","old_title","Moved","fromCategory","ITEM_LINK","from_category","Merged","mergedThread","merged_thread","ChangedOwner","newOwner","AddedParticipant","RemovedParticipant","MESSAGE","149","150","ListItem","is_event","_event2","_event","./event","./post/preview","151","AttachmentPreview","AttachmentThumbnail","AttachmentIcon","AttachmentDetails","152","can_see_hidden","Row","../../../../utils/batch","153","HIDDEN_BY_URL","HIDDEN_BY_SPAN","HIDDEN_ON","154","approve","is_unapproved","ops","previousState","unprotect","unhide","lastLikes","last_likes","concatedLikes","finalLikes","is_liked","unlike","markAsBestAnswer","best_answer_is_protected","best_answer_marked_on","best_answer_marked_by","best_answer_marked_by_name","best_answer_marked_by_slug","patchThread","unmarkBestAnswer","../../../../reducers/post","../../../../reducers/thread","../../../../services/ajax","../../../../services/snackbar","../../../../services/store","155","Unprotect","Split","Move","Approve","PostEdits","UnmarkMarkBestAnswer","MarkAsBestAnswer","Permalink","moderation","_move","_move2","_postChangelog","_postChangelog2","_split","_split2","permaUrl","protocol","host","can_mark_best_answer","can_mark_as_best_answer","can_change_best_answer","_React$Component4","_temp4","_ret4","_len4","_key4","_props2","can_unmark_best_answer","_React$Component5","_temp5","_ret5","_len5","_key5","isHidden","isUnedited","_React$Component6","_temp6","_this6","_ret6","_len6","_key6","can_approve","_React$Component7","_temp7","_this7","_ret7","_len7","_key7","can_move","_React$Component8","_temp8","_this8","_ret8","_len8","_key8","_React$Component9","_ref9","_temp9","_this9","_ret9","_len9","_key9","_React$Component10","_ref10","_temp10","_this10","_ret10","_len10","_key10","_React$Component11","_ref11","_temp11","_this11","_ret11","_len11","_key11","_props3","_React$Component12","_ref12","_temp12","_this12","_ret12","_len12","_key12","can_unhide","_React$Component13","_ref13","_temp13","_this13","_ret13","_len13","_key13","_props4","../../../../services/modal","../../../../services/posting","../../../post-changelog","./move","./split","156","157","onUrlChange","move","new_thread","../../../button","../../../form","../../../form-group","158","Loader","Modal","ModerationForm","PostingConfig","Form","isError","misago","categoryId","can_pin_threads","weight","can_hide_threads","can_close_threads","isHiddenChoices","isClosedChoices","isValid","apiResponse","isArray","ErrorsModal","getWeightChoices","renderWeightField","renderHiddenField","renderClosedField","../../../../utils/validators","../../../category-select","../../../modal-loader","../../../select","159","FlagBestAnswer","marked_on","marked_by","FlagHidden","FlagUnapproved","FlagProtected","160","can_reply","can_see_likes","can_like","getLikesMessage","hiddenLikes","otherUsers","lastUser","usernamesList","last_user","Reply","LikesCompact","Likes","Like","MarkAsBestAnswerCompact","actions","_postLikes","_postLikes2","hasLikes","_Likes","../../post-likes","./controls/actions","161","UnreadLabel","UnreadCompact","PostedOn","PostedOnCompact","ProtectedLabel","postAuthor","hasAcl","PostEditsCompacts","_PostEdits","../../post-changelog","../../user-status","162","_flags","./flags","163","_userStatus","_userPostcount","../../../user-status","../controls","./user-postcount","164","165","166","_userStatus2","StatusIcon","_userStatus4","_userPostcount2","_userStatus3","./user-status","167","_hasVisibleTitle2","_hasVisibleTitle","./has-visible-title","168","StatusLabel","169","170","../../../utils/random","171","_posts","isSelected","deselect","can_merge_posts","../../../reducers/posts","172","waypoint","handler","direction","boundingClientRect","getBoundingClientRect","offsetBottom","top","clientHeight","documentElement","read","thread_is_read","../../reducers/thread","173","ban","has","initWithPreloadedData","pop","initWithoutPreloadedData","profile","stop","user_message","staff_message","_title","keys","getUserMessage","getStaffMessage","getPanelBody","../panel-loader","174","isAuthenticated","175","SafeValue","rel","176","_fieldValue2","_fieldValue","./field-value","177","../../edit-details","178","_field2","_field","./field","179","_group2","_emptyMessage2","_emptyMessage","_group","./empty-message","./group","180","EditButton","onEdit","showEditButton","181","_groupsList","_groupsList2","_profileDetails","_profileDetails2","_profileDetails3","editing","newDetails","profileDetails","../../../data/profile-details","../../../reducers/profile-details","./groups-list","182","emptyMessage","_route2","_route","./route","183","Feed","_postFeed2","LoadMoreButton","loadMore","more","_postFeed","loadItems","page","../../post-feed","184","_profile","action","is_followed","followers","follow","getLabel","../../reducers/profile","185","_quickSearch","_quickSearch2","_usersList","_usersList2","loadUsers","search","pages","setSpecialProps","PRELOADED_DATA_KEY","TITLE","API_FILTER","apiUrl","getEmptyMessage","cols","getMoreButton","getListBody","../quick-search","../users-list","186","_followers","_followers2","_Followers","./followers","187","IsDisabledMessage","isDeletingAccount","getColStyle","col","colStyle","_followButton","_followButton2","_messageButton","_messageButton2","_nav","_nav2","age","can_follow","can_moderate","canFollow","canModerate","isProfileOwner","canMessage","can_start_private_threads","colsWidth","headerClassName","is_active","is_deleting_account","getFollowButton","getModerationButton","getUserStatus","getUserRank","getUserTitle","getJoinedOn","getEmail","../user-status","./follow-button","./message-button","./moderation/nav","188","189","is_avatar_locked","avatar_lock_user_message","avatar_lock_staff_message","moderate_avatar","avatar_hash","getFormBody","getModalBody","190","moderate_username","191","countdown","with_content","getButtonLabel","getDeletedBody","getForm","../../../services/polls","192","_avatarControls","_avatarControls2","_changeUsername","_changeUsername2","showAvatarDialog","showRenameDialog","showDeleteDialog","can_moderate_avatar","can_rename","getAvatarButton","getRenameButton","getDeleteButton","./avatar-controls","./change-username","193","194","COMPONENTS","_banDetails","_banDetails2","_details","_details2","_feed","_follows","_follows2","_usernameHistory2","toggleModeration","follows","details","ban-details","./ban-details","./details","./feed","./follows","./username-history","195","loadChanges","../../reducers/username-history","../username-history/root","196","197","_register","_register2","_captcha","_captcha2","showRegisterForm","account_activation","criteria","../services/captcha","./register.js","198","RegisterComplete","RegisterForm","_passwordStrength","_passwordStrength2","_RegisterLegalFootnote","_RegisterLegalFootnote2","_StartSocialAuth","_StartSocialAuth2","_auth2","_bannedPage","_bannedPage2","handlePrivacyPolicyChange","handleToggleAgreement","handleTermsOfServiceChange","_errors","validator","_this$props$criteria","passwordMinLength","min_length","formValidators","max_length","captcha","requiredTermsOfService","requiredPrivacyPolicy","terms_of_service","privacy_policy","__all__","aria-describedby","form","activation","getLead","getSubscript","completeRegistration","signIn","../services/auth","../utils/banned-page","./RegisterLegalFootnote","./StartSocialAuth","./password-strength","199","LinkSent","RequestLinkForm","reset","../index","200","AccountInactivePage","RequestResetForm","_reactDom","_reactDom2","showInactivePage","getActivateButton","react-dom","201","PasswordChangedPage","ResetPasswordForm","_signIn","_signIn2","showSignIn","softSignOut","./sign-in.js","202","_search","onQueryChange","providers","../../reducers/posts","../../reducers/search","203","components","_threads","_threads2","_users2","./threads","./users","204","SearchTime","time","p","_sidenav2","_sidenav","./sidenav","205","Badge","206","Blankslate","_page2","route","_page","../page","207","LoadMore","updateProvider","../../../reducers/search","208","../../users-list","209","change","getChoice","210","showActivation","val","getCsrfToken","getActivationButton","211","snackbar","Snackbar","TYPES_CLASSES","warning","snackbarClass","getSnackbarClass","212","Complete","backend_name","backendName","213","Header","pageTitleTpl","pageTitle","backend","214","SocialAuth","handleRegistrationComplete","step","onRegistrationComplete","./register","215","Register","emailProtected","checkTermsOfService","checkPrivacyPolicy","_onRegistrationComplete","stateUpdate","emailHelpText","emailHelpTextTpl","../../utils/validators","../RegisterLegalFootnote","216","Breadcrumb","GoBack","lastItem","217","Moderation","isSingle","ModerationControls","_breadcrumbs","_breadcrumbs2","isEditing","showModeration","isModerationVisible","../../posting/utils/validators","../moderation/thread","./breadcrumbs","218","Weight","Unapproved","has_unapproved_posts","IsHidden","IsClosed","Replies","replies","legend","LastReply","LAST_POSTER_URL","LAST_POSTER_SPAN","LAST_REPLY","219","deselectAll","ids","rollback","_errorsList2","merge","_errorsList","../../../../reducers/posts","./errors-list","220","Merge","can_merge","221","PostErrors","heading","222","visible","can_unprotect","223","224","225","_merge","_merge2","successMessage","pinGlobally","pinLocally","unpin","can_pin_globally","can_pin","can_close","getPinGloballyButton","getPinLocallyButton","getUnpinButton","getMoveButton","getMergeButton","getApproveButton","getOpenButton","getCloseButton","getUnhideButton","getHideButton","./merge","226","_isVisible","_isVisible2","./is-visible","227","228","_mergeConflict","_mergeConflict2","handleSuccessUnmounted","best_answers","other_thread","../../../merge-conflict","229","ModalLoading","ModalMessage","post_set","230","Pager","FirstPage","PreviousPage","NextPage","LastPage","first","previousUrl","nextUrl","last","More","231","232","basePath","pk","233","_participants2","_postsList","_postsList2","_toolbarTop","_toolbarTop2","_toolbarBottom","_toolbarBottom2","_participants3","setPageTitle","openReplyForm","shouldFetchData","fetchData","startPollingApi","stopPollingApi","params","unload","delayed","../../reducers/participants","../../reducers/poll","../participants","../poll","../posts-list","./toolbar-bottom","./toolbar-top","234","subscription","Dropdown","dropdownClassName","Disable","Enable","Email","oldState","finalState","235","Options","_posts2","Subscription","xsClass","_subscription2","btnClassName","_replyButton2","Spacer","_paginator","_replyButton","_subscription","./moderation/posts","./paginator","./reply-button","./subscription","236","GotoMenu","is_anonymous","GotoLast","GotoNew","GotoBestAnswer","GotoUnapproved","CompactOptions","is_new","new_post","unapproved_post","StartPollCompact","GotoNewCompact","GotoUnapprovedCompact","GotoLastCompact","SubscriptionMenu","StartPoll","hiddenSpecialOption","can_start_poll","_StartPoll","237","diffSize","applyDiff","_ready2","activeCategory","list","busyThreads","_ready","./list/empty","./list/preview","./list/ready","238","239","_diffMessage","_diffMessage2","getDiffMessage","./diff-message","240","../thread/preview","241","../thread/ready","242","HiddenLabel","ClosedLabel","PollLabel","BestAnswerLabel","RepliesLabel","forceFullText","compactClassName","fullClassName","LastReplyLabel","datetime","LastPoster","posterName","statusFlags","has_poll","allFlagsVisible","OptionsXs","../options","243","244","TopDetails","BottomDetails","_bottom","_bottom2","_top","_top2","./bottom","./top","245","NewLabel","isRead","PinnedLabel","UnapprovedLabel","246","Timestamp","_userUrl2","_userUrl","./user-url","247","_full2","_compact2","Checkbox","_compact","_full","_selection","toggleSelection","../../../reducers/selection","./subscription/compact","./subscription/full","248","249","flavor","styles","starter_name","starter","_lastAction2","_lastAction","./last-action","250","_SubscriptionFull","./full","251","_props$thread","fullwidth","252","253","STATE_UPDATES","unsubscribe","notify","setSubscription","../../../../reducers/threads","254","255","Subcategory","listPath","getUrl","256","compareLastPostAge","b","compareGlobalWeight","compareWeight","257","_pageLead","_pageLead2","pageLead","categoriesMap","selectAllThreads","selectNoneThreads","addThreads","freezeThread","deleteThread","updateThread","getDisableToolbar","getCategoryDescription","getToolbar","../page-lead","258","ParentCategory","startThread","hasGoBackButton","getGoBackButton","getStartThreadButton","lists","./nav","259","special_role","260","_countdown","threadsMap","failedThreads","../../../utils/countdown","261","ThreadErrors","262","getFormdata","none","filterThreads","categoryChoices","_acl","can_start_threads","renderForm","renderCantMergeMessage","../../../reducers/threads","../../category-select","../../merge-conflict","../../select","263","storeState","getState","leftThreads","acls","renderCantMoveMessage","264","selectAll","selectNone","265","266","getSelect","getLists","longName","can_see_unapproved_content_lists","routes","267","_compare","_threadsList","_threadsList2","_listEmpty","_listEmpty2","_sets","sets","loadThreads","getCategory","pollResponse","diffThreads","getSorting","getModerationActions","currentState","toggle","isMounted","getPageTitle","forum_index_title","forum_name","threadsCount","../../reducers/selection","../../reducers/threads","../../utils/sets","../threads-list","./compare","./list-empty","268","_categoryPicker","_categoryPicker2","_selection2","allow","showModerationOptions","getSelectedThreads","getCategoryPicker","getSelectionButton","./category-picker","./moderation/controls","./moderation/selection","269","isThreadChanged","current","fromDb","currentMap","270","CompactGuestNav","GuestNav","GuestMenu","_navbarSearch","_navbarSearch2","_registerButton","_registerButton2","_mobileNavbarDropdown","_mobileNavbarDropdown2","showSignInModal","_GuestMenu","showGuestMenu","../../services/mobile-navbar-dropdown","../navbar-search","../register-button","../sign-in.js","271","CompactUserMenu","UserMenu","_guestNav","_userNav","UserNav","CompactUserNav","./guest-nav","./user-nav","272","PrivateThreadsBadge","unread_private_threads","UserPrivateThreadsLink","can_use_private_threads","selectUserMenu","following","changeAvatar","logout","showConnected","showUserMenu","../change-avatar/root","273","getStatusClassName","is_banned","is_online_hidden","is_offline_hidden","is_online","is_offline","getStatusDescription","banned_until","ban_expires","last_click","getClass","getHelp","274","hiddenOnMobile","275","changed_by","changed_by_username","renderUserAvatar","renderUsername","old_username","new_username","changed_on","276","277","_changePreview","_changePreview2","./change-preview","278","_change","_change2","./change","279","_listReady","_listReady2","_listPreview","_listPreview2","./list-preview","./list-ready","280","showStatus","281","Status","JoinDate","getStatClassName","Followers","stat","282","dup","283","colClassName","284","285","Number","286","days","trackedPeriod","287","288","rankUrl","getRankName","counter","meta","289","_listItemPreview","_listItemPreview2","./list-item-preview","290","posters","getLeadMessage","291","tracked_period","292","listUrl","293","294","_pager2","_pager","./pager","295","_resetScroll2","_resetScroll","../../../utils/reset-scroll","296","_listLoading","_listLoading2","getRankDescription","getComponent","../../page-lead","./list-loading","297","./active-posters/root","./rank/root","298","299","300","../reducers/profile-details","301","global","Misago","_orderedList","_orderedList2","_initializers","_context","initializer","after","before","initOrder","orderedValues","fallback","./utils/ordered-list","302","init","addInitializer","303","setInterval","AUTH_SYNC_RATE","../reducers/auth","304","_localStorage2","_localStorage","../services/local-storage","305","_include2","_include","../services/include","306","_mountComponent2","_acceptAgreement2","_acceptAgreement","_mountComponent","../../components/accept-agreement","../../utils/mount-component","307","_authMessage","_authMessage2","../../components/auth-message","308","../../utils/banned-page","309","_categories","_categories2","../../components/categories","310","_routedComponent2","root","_routedComponent","../../components/options/root","../../utils/routed-component","311","../../components/profile/root","312","_requestActivationLink2","_requestActivationLink","../../components/request-activation-link","313","_requestPasswordReset2","_requestPasswordReset","../../components/request-password-reset","314","_resetPasswordForm2","_resetPasswordForm","../../components/reset-password-form","315","_search2","../../components/search","316","../../components/snackbar","317","_socialAuth2","_socialAuth","../../components/social-auth","318","../../components/thread/root","319","getListOptions","currentLink","PRIVATE_THREADS_LIST","../../components/threads/root","320","../../components/user-menu/root","321","../../components/users/root","322","323","324","element","../services/mobile-navbar-dropdown","325","326","locale","attr","327","../services/page-title","328","../services/polls","329","../services/posting","330","addReducer","isAnonymous","initialState","331","332","333","334","../../reducers/profile-details","335","336","_profile2","337","338","339","../../reducers/snackbar","340","341","342","_tick2","_tick","../../reducers/tick","343","344","345","346","347","doTick","TICK_PERIOD","../reducers/tick","348","349","PATCH_USER","SIGN_IN","signOut","soft","SIGN_OUT","UPDATE_AVATAR","userId","_newState","UPDATE_USERNAME","_newState2","350","REPLACE_PARTICIPANTS","351","add","BUSY_POLL","RELEASE_POLL","hydrated","REPLACE_POLL","UPDATE_POLL","REMOVE_POLL","352","updated_on","hydrateAttachment","hydrateUser","PATCH_POST","353","SELECT_POST","DESELECT_POST","DESELECT_POSTS","LOAD_POSTS","APPEND_POSTS","UNLOAD_POSTS","UPDATE_POSTS","selectedPosts","deseletedPosts","deseletedAllPosts","resultsIds","reducedPosts","354","LOAD_DETAILS","355","HYDRATE_PROFILE","PATCH_PROFILE","hydrateStatus","356","REPLACE_SEARCH","UPDATE_SEARCH","UPDATE_SEARCH_PROVIDER","357","itemsIds","SELECT_ALL","items","SELECT_NONE","itemId","SELECT_ITEM","../utils/sets","358","showSnackbar","SHOW_SNACKBAR","messageType","hideSnackbar","HIDE_SNACKBAR","359","started_on","BUSY_THREAD","RELEASE_THREAD","REPLACE_THREAD","UPDATE_THREAD","UPDATE_THREAD_ACL","360","sorting","APPEND_THREADS","DELETE_THREAD","FILTER_THREADS","HYDRATE_THREADS","PATCH_THREAD","sort","SORT_THREADS","getThreadModerationOptions","thread_acl","MODERATION_PERMISSIONS","perm","hydrateThread","mergedState","_concatUnique2","itemCategory","lft","rght","patchedState","_concatUnique","../utils/concat-unique","361","TICK","362","changedBy","ADD_NAME_CHANGE","APPEND_HISTORY","HYDRATE_HISTORY","hydrateNamechange","namechange","unshift","floor","now","363","APPEND_USERS","HYDRATE_USERS","364","Ajax","_cookieName","_csrfToken","_locks","cookieName","cookie","cookieRegex","RegExp","match","resolve","reject","xhr","headers","X-CSRFToken","JSON","stringify","contentType","dataType","jqXHR","responseJSON","statusText","ajax","lock","param","waiter","wait","request","processData","XMLHttpRequest","evt","lengthComputable","total","365","Auth","local","modal","_local","syncSession","watchState","watch","366","Captcha","ReCaptcha","ReCaptchaComponent","QACaptcha","NoCaptcha","BaseCaptcha","include","_BaseCaptcha","_BaseCaptcha2","kwargs","grecaptcha","sitekey","siteKey","binding","_BaseCaptcha3","recaptcha_site_key","captcha_type","../components/form-group","367","Include","staticUrl","_staticUrl","_included","script","remote","cache","368","storage","localStorage","LocalStorage","prefix","_prefix","_watchers","newValueJson","parse","watcher","oldValue","setItem","itemString","getItem","369","MobileNavbarDropdown","_element","_component","addClass","removeClass","../utils/mount-component","370","unmountComponentAtNode","371","parseYoutubeUrl","cleanedUrl","cleanUrl","video","getVideoIdFromUrl","timebit","bits","parseInt","ytRegExp","OneBox","domnode","highlightCode","embedYoutubePlayers","_youtube","codeblocks","querySelectorAll","hljs","highlightBlock","anchors","onlyChild","childNodes","youtubeMovie","swapYoutubePlayer","youtube","player","replaceWith","wrap","372","PageTitle","indexTitle","forumName","_indexTitle","_forumName","finalTitle","pageLabel","373","Polls","poolServer","_stopped","timeout","pollId","374","Posting","_isOpen","_isClosing","_placeholder","_mode","_realOpen","changeForm","animate","scrollTop","../components/poll","../components/posting","375","HIDE_ANIMATION_LENGTH","MESSAGE_SHOW_LENGTH","_timeout","alert","../reducers/snackbar","376","StoreWrapper","_redux","_reducers","_initialState","reducer","createStore","combineReducers","redux","377","Zxcvbn","_isLoaded","zxcvbn","_loadedPromise","_loadingPromise","tries","378","changeState","Provider","getStore","RedrawedBannedPage","history","pushState","../components/banned-page","379","rowWidth","padding","380","381","_callback","_count","382","m","&","<",">","\"","'","383","roundSize","toFixed","bytes","384","str","URL_PATTERN","test","385","rootElementId","connected","rootElement","finalComponent","386","OrderedList","isOrdered","_items","order","values","values_only","_order","unordered","insertItem","insertAt","ordering","ordered","splice","iterations","387","int","min","max","array","388","scrollTo","389","childRoutes","onEnter","replaceState","Router","browserHistory","390","391","string","subString","392","EMAIL","returnMessage","lengthMin","lengthMax","USERNAME"],"mappings":"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","file":"misago.js","sourcesContent":["(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o= size) {\n avatar = av;\n }\n });\n return avatar;\n}\n\n},{\"..\":301,\"react\":\"react\"}],7:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'getReasonMessage',\n value: function getReasonMessage() {\n /* jshint ignore:start */\n if (this.props.message.html) {\n return _react2.default.createElement('div', { className: 'lead', dangerouslySetInnerHTML: {\n __html: this.props.message.html\n } });\n } else {\n return _react2.default.createElement(\n 'p',\n { className: 'lead' },\n this.props.message.plain\n );\n }\n /* jshint ignore:end */\n }\n }, {\n key: 'getExpirationMessage',\n value: function getExpirationMessage() {\n if (this.props.expires) {\n if (this.props.expires.isAfter((0, _moment2.default)())) {\n /* jshint ignore:start */\n var title = interpolate(gettext(\"This ban expires on %(expires_on)s.\"), {\n 'expires_on': this.props.expires.format('LL, LT')\n }, true);\n\n var message = interpolate(gettext(\"This ban expires %(expires_on)s.\"), {\n 'expires_on': this.props.expires.fromNow()\n }, true);\n\n return _react2.default.createElement(\n 'abbr',\n { title: title },\n message\n );\n /* jshint ignore:end */\n } else {\n return gettext(\"This ban has expired.\");\n }\n } else {\n return gettext(\"This ban is permanent.\");\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'page page-error page-error-banned' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'message-panel' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'highlight_off'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n this.getReasonMessage(),\n _react2.default.createElement(\n 'p',\n { className: 'message-footnote' },\n this.getExpirationMessage()\n )\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"moment\":\"moment\",\"react\":\"react\"}],8:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _loader = require('./loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar Button = function (_React$Component) {\n _inherits(Button, _React$Component);\n\n function Button() {\n _classCallCheck(this, Button);\n\n return _possibleConstructorReturn(this, (Button.__proto__ || Object.getPrototypeOf(Button)).apply(this, arguments));\n }\n\n _createClass(Button, [{\n key: 'render',\n value: function render() {\n var className = 'btn ' + this.props.className;\n var disabled = this.props.disabled;\n\n if (this.props.loading) {\n className += ' btn-loading';\n disabled = true;\n }\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'button',\n {\n className: className,\n disabled: disabled,\n onClick: this.props.onClick,\n type: this.props.onClick ? 'button' : 'submit'\n },\n this.props.children,\n this.props.loading ? _react2.default.createElement(_loader2.default, null) : null\n );\n /* jshint ignore:end */\n }\n }]);\n\n return Button;\n}(_react2.default.Component);\n\nexports.default = Button;\n\n\nButton.defaultProps = {\n className: \"btn-default\",\n\n type: \"submit\",\n\n loading: false,\n disabled: false,\n\n onClick: null\n};\n\n},{\"./loader\":57,\"react\":\"react\"}],9:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n \"div\",\n { className: \"categories-list\" },\n _react2.default.createElement(\n \"ul\",\n { className: \"list-group\" },\n _react2.default.createElement(\n \"li\",\n { className: \"list-group-item empty-message\" },\n _react2.default.createElement(\n \"p\",\n { className: \"lead\" },\n gettext(\"No categories exist or you don't have permission to see them.\")\n )\n )\n )\n );\n};\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],10:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var categories = _ref.categories;\n\n return _react2.default.createElement(\n 'div',\n { className: 'categories-list' },\n categories.map(function (category) {\n return _react2.default.createElement(_category2.default, {\n category: category,\n key: category.id\n });\n })\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _category = require('./category');\n\nvar _category2 = _interopRequireDefault(_category);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./category\":11,\"react\":\"react\"}],11:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var category = _ref.category;\n\n var className = 'list-group list-group-category';\n if (category.css_class) {\n className += ' list-group-category-has-flavor';\n className += ' list-group-category-' + category.css_class;\n }\n\n return _react2.default.createElement(\n 'ul',\n { className: className },\n _react2.default.createElement(_listItem2.default, {\n category: category,\n isFirst: true\n }),\n category.subcategories.map(function (category) {\n return _react2.default.createElement(_listItem2.default, {\n category: category,\n isFirst: false,\n key: category.id\n });\n })\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _listItem = require('./list-item');\n\nvar _listItem2 = _interopRequireDefault(_listItem);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./list-item\":14,\"react\":\"react\"}],12:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var category = _ref.category;\n\n if (!category.description) return null;\n\n return _react2.default.createElement(\"div\", {\n className: \"category-description\",\n dangerouslySetInnerHTML: {\n __html: category.description.html\n }\n });\n};\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],13:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var category = _ref.category;\n\n return _react2.default.createElement(\n 'div',\n {\n className: getClassName(category),\n title: getTitle(category)\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n getIcon(category)\n )\n );\n};\n\nexports.getClassName = getClassName;\nexports.getTitle = getTitle;\nexports.getIcon = getIcon;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:start\nfunction getClassName(category) {\n if (category.is_read) {\n return 'read-status item-read';\n }\n\n return 'read-status item-new';\n}\n\nfunction getTitle(category) {\n if (category.is_closed) {\n if (category.is_read) {\n return gettext(\"This category has no new posts. (closed)\");\n }\n\n return gettext(\"This category has new posts. (closed)\");\n }\n\n if (category.is_read) {\n return gettext(\"This category has no new posts.\");\n }\n\n return gettext(\"This category has new posts.\");\n}\n\nfunction getIcon(category) {\n if (category.is_closed) {\n if (category.is_read) {\n return 'lock_outline';\n }\n\n return 'lock';\n }\n\n if (category.is_read) {\n return 'chat_bubble_outline';\n }\n\n return 'chat_bubble';\n}\n\n},{\"react\":\"react\"}],14:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var category = _ref.category,\n isFirst = _ref.isFirst;\n\n var className = 'list-group-item';\n\n if (category.description) {\n className += ' list-group-category-has-description';\n } else {\n className += ' list-group-category-no-description';\n }\n\n if (isFirst) {\n className += ' list-group-item-first';\n }\n if (category.css_class) {\n className += ' list-group-category-has-flavor';\n className += ' list-group-item-category-' + category.css_class;\n }\n\n return _react2.default.createElement(\n 'li',\n { className: className },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(_main2.default, { category: category }),\n _react2.default.createElement(_stats2.default, { category: category }),\n _react2.default.createElement(_lastThread2.default, { category: category })\n ),\n _react2.default.createElement(_subcategories2.default, {\n category: category,\n isFirst: isFirst\n })\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _main = require('./main');\n\nvar _main2 = _interopRequireDefault(_main);\n\nvar _lastThread = require('./last-thread');\n\nvar _lastThread2 = _interopRequireDefault(_lastThread);\n\nvar _stats = require('./stats');\n\nvar _stats2 = _interopRequireDefault(_stats);\n\nvar _subcategories = require('./subcategories');\n\nvar _subcategories2 = _interopRequireDefault(_subcategories);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./last-thread\":15,\"./main\":16,\"./stats\":17,\"./subcategories\":18,\"react\":\"react\"}],15:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var category = _ref.category;\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-6 col-md-4 category-last-thread' },\n _react2.default.createElement(LastThread, { category: category }),\n _react2.default.createElement(Empty, { category: category }),\n _react2.default.createElement(Private, { category: category }),\n _react2.default.createElement(Protected, { category: category })\n );\n};\n\nexports.LastThread = LastThread;\nexports.LastPosterAvatar = LastPosterAvatar;\nexports.LastPosterName = LastPosterName;\nexports.Empty = Empty;\nexports.Private = Private;\nexports.Protected = Protected;\nexports.Message = Message;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction LastThread(_ref2) {\n var category = _ref2.category;\n\n if (!category.acl.can_browse) return null;\n if (!category.acl.can_see_all_threads) return null;\n if (!category.last_thread_title) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'media' },\n _react2.default.createElement(\n 'div',\n { className: 'media-left hidden-xs' },\n _react2.default.createElement(LastPosterAvatar, { category: category })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'media-body' },\n _react2.default.createElement(\n 'div',\n { className: 'media-heading' },\n _react2.default.createElement(\n 'a',\n {\n className: 'item-title thread-title',\n href: category.url.last_thread_new,\n title: category.last_thread_title\n },\n category.last_thread_title\n )\n ),\n _react2.default.createElement(\n 'ul',\n { className: 'list-inline' },\n _react2.default.createElement(\n 'li',\n { className: 'category-last-thread-poster' },\n _react2.default.createElement(LastPosterName, { category: category })\n ),\n _react2.default.createElement(\n 'li',\n { className: 'divider' },\n '\\u2014'\n ),\n _react2.default.createElement(\n 'li',\n { className: 'category-last-thread-date' },\n _react2.default.createElement(\n 'a',\n { href: category.url.last_post },\n category.last_post_on.fromNow()\n )\n )\n )\n )\n );\n} // jshint ignore:start\nfunction LastPosterAvatar(_ref3) {\n var category = _ref3.category;\n\n if (category.last_poster) {\n return _react2.default.createElement(\n 'a',\n {\n className: 'last-poster-avatar',\n href: category.last_poster.url,\n title: category.last_poster_name\n },\n _react2.default.createElement(_avatar2.default, {\n className: 'media-object',\n size: 40,\n user: category.last_poster\n })\n );\n }\n\n return _react2.default.createElement(\n 'span',\n {\n className: 'last-poster-avatar',\n title: category.last_poster_name\n },\n _react2.default.createElement(_avatar2.default, {\n className: 'media-object',\n size: 40\n })\n );\n}\n\nfunction LastPosterName(_ref4) {\n var category = _ref4.category;\n\n if (category.last_poster) {\n return _react2.default.createElement(\n 'a',\n {\n className: 'item-title',\n href: category.last_poster.url\n },\n category.last_poster_name\n );\n }\n\n return _react2.default.createElement(\n 'span',\n { className: 'item-title' },\n category.last_poster_name\n );\n}\n\nfunction Empty(_ref5) {\n var category = _ref5.category;\n\n if (!category.acl.can_browse) return null;\n if (!category.acl.can_see_all_threads) return null;\n if (category.last_thread_title) return null;\n\n return _react2.default.createElement(Message, {\n message: gettext(\"This category is empty. No threads were posted within it so far.\")\n });\n}\n\nfunction Private(_ref6) {\n var category = _ref6.category;\n\n if (!category.acl.can_browse) return null;\n if (category.acl.can_see_all_threads) return null;\n\n return _react2.default.createElement(Message, {\n message: gettext(\"This category is private. You can see only your own threads within it.\")\n });\n}\n\nfunction Protected(_ref7) {\n var category = _ref7.category;\n\n if (category.acl.can_browse) return null;\n\n return _react2.default.createElement(Message, {\n message: gettext(\"This category is protected. You can't browse it's contents.\")\n });\n}\n\nfunction Message(_ref8) {\n var message = _ref8.message;\n\n return _react2.default.createElement(\n 'div',\n { className: 'media category-thread-message' },\n _react2.default.createElement(\n 'div',\n { className: 'media-left' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'info_outline'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'media-body' },\n _react2.default.createElement(\n 'p',\n null,\n message\n )\n )\n );\n}\n\n},{\"../../../avatar\":6,\"react\":\"react\"}],16:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var category = _ref.category;\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-6 col-md-6 category-main' },\n _react2.default.createElement(\n 'div',\n { className: 'media' },\n _react2.default.createElement(\n 'div',\n { className: 'media-left' },\n _react2.default.createElement(_icon2.default, { category: category })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'media-body' },\n _react2.default.createElement(\n 'h4',\n { className: 'media-heading' },\n _react2.default.createElement(\n 'a',\n { href: category.url.index },\n category.name\n )\n ),\n _react2.default.createElement(_description2.default, { category: category })\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _description = require('./description');\n\nvar _description2 = _interopRequireDefault(_description);\n\nvar _icon = require('./icon');\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./description\":12,\"./icon\":13,\"react\":\"react\"}],17:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var category = _ref.category;\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-md-2 hidden-xs hidden-sm' },\n _react2.default.createElement(\n 'ul',\n { className: 'list-unstyled category-stats' },\n _react2.default.createElement(Threads, { threads: category.threads }),\n _react2.default.createElement(Posts, { posts: category.posts })\n )\n );\n};\n\nexports.Threads = Threads;\nexports.Posts = Posts;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction Threads(_ref2) {\n var threads = _ref2.threads;\n\n var message = ngettext(\"%(threads)s thread\", \"%(threads)s threads\", threads);\n\n return _react2.default.createElement(\n 'li',\n { className: 'category-stat-threads' },\n interpolate(message, {\n 'threads': threads\n }, true)\n );\n} // jshint ignore:start\nfunction Posts(_ref3) {\n var posts = _ref3.posts;\n\n var message = ngettext(\"%(posts)s post\", \"%(posts)s posts\", posts);\n\n return _react2.default.createElement(\n 'li',\n { className: 'category-stat-posts' },\n interpolate(message, {\n 'posts': posts\n }, true)\n );\n}\n\n},{\"../../../avatar\":6,\"react\":\"react\"}],18:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var category = _ref.category,\n isFirst = _ref.isFirst;\n\n if (isFirst) return null;\n if (category.subcategories.length === 0) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'row subcategories-list' },\n category.subcategories.map(function (category) {\n return _react2.default.createElement(_listItem2.default, {\n category: category,\n key: category.id\n });\n })\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _listItem = require('./list-item');\n\nvar _listItem2 = _interopRequireDefault(_listItem);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./list-item\":19,\"react\":\"react\"}],19:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var category = _ref.category;\n\n var className = 'btn btn-default btn-block btn-sm btn-subcategory';\n if (!category.is_read) {\n className += ' btn-subcategory-new';\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-4 col-md-3' },\n _react2.default.createElement(\n 'a',\n {\n className: className,\n href: category.url.index\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n getIcon(category)\n ),\n _react2.default.createElement(\n 'span',\n { className: 'icon-text' },\n category.name\n )\n )\n );\n};\n\nexports.getIcon = getIcon;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:start\nfunction getIcon(category) {\n if (category.is_closed) {\n if (category.is_read) {\n return 'lock_outline';\n }\n\n return 'lock';\n }\n\n if (category.is_read) {\n return 'chat_bubble_outline';\n }\n\n return 'chat_bubble';\n}\n\n},{\"react\":\"react\"}],20:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.select = select;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _blankslate = require('./blankslate');\n\nvar _blankslate2 = _interopRequireDefault(_blankslate);\n\nvar _categoriesList = require('./categories-list');\n\nvar _categoriesList2 = _interopRequireDefault(_categoriesList);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _polls = require('../../services/polls');\n\nvar _polls2 = _interopRequireDefault(_polls);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar hydrate = function hydrate(category) {\n return Object.assign({}, category, {\n last_post_on: category.last_post_on ? (0, _moment2.default)(category.last_post_on) : null,\n subcategories: category.subcategories.map(hydrate)\n });\n};\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.update = function (data) {\n _this.setState({\n categories: data.map(hydrate)\n });\n };\n\n _this.state = {\n categories: _index2.default.get('CATEGORIES').map(hydrate)\n };\n\n _this.startPolling(_index2.default.get('CATEGORIES_API'));\n return _this;\n }\n\n _createClass(_class, [{\n key: 'startPolling',\n value: function startPolling(api) {\n _polls2.default.start({\n poll: 'categories',\n url: api,\n frequency: 180 * 1000,\n update: this.update\n });\n }\n }, {\n key: 'render',\n value: function render() {\n var categories = this.state.categories;\n\n\n if (categories.length === 0) {\n return _react2.default.createElement(_blankslate2.default, null);\n }\n\n return _react2.default.createElement(_categoriesList2.default, { categories: categories });\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\nfunction select(store) {\n return {\n 'tick': store.tick.tick\n };\n}\n\n},{\"../../index\":301,\"../../services/polls\":373,\"./blankslate\":9,\"./categories-list\":10,\"moment\":\"moment\",\"react\":\"react\"}],21:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'select',\n {\n className: props.className || 'form-control',\n disabled: props.disabled || false,\n id: props.id || null,\n onChange: props.onChange,\n value: props.value\n },\n props.choices.map(function (item) {\n return _react2.default.createElement(\n 'option',\n {\n disabled: item.disabled || false,\n key: item.value,\n value: item.value\n },\n '- - '.repeat(item.level) + item.label\n );\n })\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],22:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.cropAvatar = function () {\n if (_this.state.isLoading) {\n return false;\n }\n\n _this.setState({\n 'isLoading': true\n });\n\n var avatarType = _this.props.upload ? 'crop_tmp' : 'crop_src';\n var cropit = $('.crop-form');\n\n var deviceRatio = cropit.cropit('exportZoom');\n var cropitOffset = cropit.cropit('offset');\n\n _ajax2.default.post(_this.props.user.api.avatar, {\n avatar: avatarType,\n crop: {\n offset: {\n x: cropitOffset.x * deviceRatio,\n y: cropitOffset.y * deviceRatio\n },\n zoom: cropit.cropit('zoom') * deviceRatio\n }\n }).then(function (data) {\n _this.props.onComplete(data);\n _snackbar2.default.success(data.detail);\n }, function (rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail);\n _this.setState({\n isLoading: false\n });\n } else {\n _this.props.showError(rejection);\n }\n });\n };\n\n _this.state = {\n isLoading: false,\n deviceRatio: 1\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'getAvatarSize',\n value: function getAvatarSize() {\n if (this.props.upload) {\n return this.props.options.crop_tmp.size;\n } else {\n return this.props.options.crop_src.size;\n }\n }\n }, {\n key: 'getImagePath',\n value: function getImagePath() {\n if (this.props.upload) {\n return this.props.dataUrl;\n } else {\n return this.props.options.crop_src.url;\n }\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n var cropit = $('.crop-form');\n var cropperWidth = this.getAvatarSize();\n\n var initialWidth = cropit.width();\n while (initialWidth < cropperWidth) {\n cropperWidth = cropperWidth / 2;\n }\n\n var deviceRatio = this.getAvatarSize() / cropperWidth;\n\n cropit.width(cropperWidth);\n\n cropit.cropit({\n width: cropperWidth,\n height: cropperWidth,\n exportZoom: deviceRatio,\n imageState: {\n src: this.getImagePath()\n },\n onImageLoaded: function onImageLoaded() {\n if (_this2.props.upload) {\n // center uploaded image\n var zoomLevel = cropit.cropit('zoom');\n var imageSize = cropit.cropit('imageSize');\n\n // is it wider than taller?\n if (imageSize.width > imageSize.height) {\n var displayedWidth = imageSize.width * zoomLevel;\n var offsetX = (displayedWidth - _this2.getAvatarSize()) / -2;\n\n cropit.cropit('offset', {\n x: offsetX,\n y: 0\n });\n } else if (imageSize.width < imageSize.height) {\n var displayedHeight = imageSize.height * zoomLevel;\n var offsetY = (displayedHeight - _this2.getAvatarSize()) / -2;\n\n cropit.cropit('offset', {\n x: 0,\n y: offsetY\n });\n } else {\n cropit.cropit('offset', {\n x: 0,\n y: 0\n });\n }\n } else {\n // use preserved crop\n var crop = _this2.props.options.crop_src.crop;\n\n if (crop) {\n cropit.cropit('zoom', crop.zoom);\n cropit.cropit('offset', {\n x: crop.x,\n y: crop.y\n });\n }\n }\n }\n });\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n $('.crop-form').cropit('disable');\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(\n 'div',\n { className: 'modal-body modal-avatar-crop' },\n _react2.default.createElement(\n 'div',\n { className: 'crop-form' },\n _react2.default.createElement('div', { className: 'cropit-preview' }),\n _react2.default.createElement('input', {\n type: 'range',\n className: 'cropit-image-zoom-input'\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-6 col-md-offset-3' },\n _react2.default.createElement(\n _button2.default,\n {\n onClick: this.cropAvatar,\n loading: this.state.isLoading,\n className: 'btn-primary btn-block'\n },\n this.props.upload ? gettext(\"Set avatar\") : gettext(\"Crop image\")\n ),\n _react2.default.createElement(\n _button2.default,\n {\n onClick: this.props.showIndex,\n disabled: this.state.isLoading,\n className: 'btn-default btn-block'\n },\n gettext(\"Cancel\")\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../services/ajax\":364,\"../../services/snackbar\":375,\"../avatar\":6,\"../button\":8,\"react\":\"react\"}],23:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Gallery = exports.GalleryItem = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _batch = require('../../utils/batch');\n\nvar _batch2 = _interopRequireDefault(_batch);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar GalleryItem = exports.GalleryItem = function (_React$Component) {\n _inherits(GalleryItem, _React$Component);\n\n function GalleryItem() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, GalleryItem);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = GalleryItem.__proto__ || Object.getPrototypeOf(GalleryItem)).call.apply(_ref, [this].concat(args))), _this), _this.select = function () {\n _this.props.select(_this.props.id);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n /* jshint ignore:start */\n\n\n _createClass(GalleryItem, [{\n key: 'getClassName',\n\n /* jshint ignore:end */\n\n value: function getClassName() {\n if (this.props.selection === this.props.id) {\n if (this.props.disabled) {\n return 'btn btn-avatar btn-disabled avatar-selected';\n } else {\n return 'btn btn-avatar avatar-selected';\n }\n } else if (this.props.disabled) {\n return 'btn btn-avatar btn-disabled';\n } else {\n return 'btn btn-avatar';\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'button',\n {\n type: 'button',\n className: this.getClassName(),\n disabled: this.props.disabled,\n onClick: this.select\n },\n _react2.default.createElement('img', { src: this.props.url })\n );\n /* jshint ignore:end */\n }\n }]);\n\n return GalleryItem;\n}(_react2.default.Component);\n\nvar Gallery = exports.Gallery = function (_React$Component2) {\n _inherits(Gallery, _React$Component2);\n\n function Gallery() {\n _classCallCheck(this, Gallery);\n\n return _possibleConstructorReturn(this, (Gallery.__proto__ || Object.getPrototypeOf(Gallery)).apply(this, arguments));\n }\n\n _createClass(Gallery, [{\n key: 'render',\n value: function render() {\n var _this3 = this;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'avatars-gallery' },\n _react2.default.createElement(\n 'h3',\n null,\n this.props.name\n ),\n _react2.default.createElement(\n 'div',\n { className: 'avatars-gallery-images' },\n (0, _batch2.default)(this.props.images, 4, null).map(function (row, i) {\n return _react2.default.createElement(\n 'div',\n { className: 'row', key: i },\n row.map(function (item, i) {\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-3', key: i },\n item ? _react2.default.createElement(GalleryItem, _extends({\n disabled: _this3.props.disabled,\n select: _this3.props.select,\n selection: _this3.props.selection\n }, item)) : _react2.default.createElement('div', { className: 'blank-avatar' })\n );\n })\n );\n })\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return Gallery;\n}(_react2.default.Component);\n\nvar _class = function (_React$Component3) {\n _inherits(_class, _React$Component3);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this4 = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this4.select = function (image) {\n _this4.setState({\n selection: image\n });\n };\n\n _this4.save = function () {\n if (_this4.state.isLoading) {\n return false;\n }\n\n _this4.setState({\n 'isLoading': true\n });\n\n _ajax2.default.post(_this4.props.user.api.avatar, {\n avatar: 'galleries',\n image: _this4.state.selection\n }).then(function (response) {\n _this4.setState({\n 'isLoading': false\n });\n\n _snackbar2.default.success(response.detail);\n _this4.props.onComplete(response);\n _this4.props.showIndex();\n }, function (rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail);\n _this4.setState({\n 'isLoading': false\n });\n } else {\n _this4.props.showError(rejection);\n }\n });\n };\n\n _this4.state = {\n 'selection': null,\n 'isLoading': false\n };\n return _this4;\n }\n\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n var _this5 = this;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(\n 'div',\n { className: 'modal-body modal-avatar-gallery' },\n this.props.options.galleries.map(function (item, i) {\n return _react2.default.createElement(Gallery, { name: item.name,\n images: item.images,\n selection: _this5.state.selection,\n disabled: _this5.state.isLoading,\n select: _this5.select,\n key: i });\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-6 col-md-offset-3' },\n _react2.default.createElement(\n _button2.default,\n { onClick: this.save,\n loading: this.state.isLoading,\n disabled: !this.state.selection,\n className: 'btn-primary btn-block' },\n this.state.selection ? gettext(\"Save choice\") : gettext(\"Select avatar\")\n ),\n _react2.default.createElement(\n _button2.default,\n { onClick: this.props.showIndex,\n disabled: this.state.isLoading,\n className: 'btn-default btn-block' },\n gettext(\"Cancel\")\n )\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../index\":301,\"../../services/ajax\":364,\"../../services/snackbar\":375,\"../../utils/batch\":379,\"../avatar\":6,\"../button\":8,\"react\":\"react\"}],24:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _loader = require('../loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.setGravatar = function () {\n _this.callApi('gravatar');\n };\n\n _this.setGenerated = function () {\n _this.callApi('generated');\n };\n\n _this.state = {\n 'isLoading': false\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'callApi',\n value: function callApi(avatarType) {\n var _this2 = this;\n\n if (this.state.isLoading) {\n return false;\n }\n\n this.setState({\n 'isLoading': true\n });\n\n _ajax2.default.post(this.props.user.api.avatar, {\n avatar: avatarType\n }).then(function (response) {\n _this2.setState({\n 'isLoading': false\n });\n\n _snackbar2.default.success(response.detail);\n _this2.props.onComplete(response);\n }, function (rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail);\n _this2.setState({\n 'isLoading': false\n });\n } else {\n _this2.props.showError(rejection);\n }\n });\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'getGravatarButton',\n\n /* jshint ignore:end */\n\n value: function getGravatarButton() {\n if (this.props.options.gravatar) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n _button2.default,\n { onClick: this.setGravatar,\n disabled: this.state.isLoading,\n className: 'btn-default btn-block btn-avatar-gravatar' },\n gettext(\"Download my Gravatar\")\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'getCropButton',\n value: function getCropButton() {\n if (!this.props.options.crop_src) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-default btn-block btn-avatar-crop',\n disabled: this.state.isLoading,\n onClick: this.props.showCrop\n },\n gettext(\"Re-crop uploaded image\")\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getUploadButton',\n value: function getUploadButton() {\n if (!this.props.options.upload) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-default btn-block btn-avatar-upload',\n disabled: this.state.isLoading,\n onClick: this.props.showUpload\n },\n gettext(\"Upload new image\")\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getGalleryButton',\n value: function getGalleryButton() {\n if (!this.props.options.galleries) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-default btn-block btn-avatar-gallery',\n disabled: this.state.isLoading,\n onClick: this.props.showGallery\n },\n gettext(\"Pick avatar from gallery\")\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getAvatarPreview',\n value: function getAvatarPreview() {\n /* jshint ignore:start */\n var userPeview = {\n id: this.props.user.id,\n avatars: this.props.options.avatars\n /* jshint ignore:end */\n\n };if (this.state.isLoading) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'avatar-preview preview-loading' },\n _react2.default.createElement(_avatar2.default, {\n size: '200',\n user: userPeview\n }),\n _react2.default.createElement(_loader2.default, null)\n );\n /* jshint ignore:end */\n }\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'avatar-preview' },\n _react2.default.createElement(_avatar2.default, {\n size: '200',\n user: userPeview\n })\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'modal-body modal-avatar-index' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-5' },\n this.getAvatarPreview()\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-md-7' },\n this.getGravatarButton(),\n _react2.default.createElement(\n _button2.default,\n { onClick: this.setGenerated,\n disabled: this.state.isLoading,\n className: 'btn-default btn-block btn-avatar-generate' },\n gettext(\"Generate my individual avatar\")\n ),\n this.getCropButton(),\n this.getUploadButton(),\n this.getGalleryButton()\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../services/ajax\":364,\"../../services/snackbar\":375,\"../avatar\":6,\"../button\":8,\"../loader\":57,\"react\":\"react\"}],25:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ChangeAvatarError = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.select = select;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _index = require('./index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _crop = require('./crop');\n\nvar _crop2 = _interopRequireDefault(_crop);\n\nvar _upload = require('./upload');\n\nvar _upload2 = _interopRequireDefault(_upload);\n\nvar _gallery = require('./gallery');\n\nvar _gallery2 = _interopRequireDefault(_gallery);\n\nvar _modalLoader = require('../modal-loader');\n\nvar _modalLoader2 = _interopRequireDefault(_modalLoader);\n\nvar _users = require('../../reducers/users');\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar ChangeAvatarError = exports.ChangeAvatarError = function (_React$Component) {\n _inherits(ChangeAvatarError, _React$Component);\n\n function ChangeAvatarError() {\n _classCallCheck(this, ChangeAvatarError);\n\n return _possibleConstructorReturn(this, (ChangeAvatarError.__proto__ || Object.getPrototypeOf(ChangeAvatarError)).apply(this, arguments));\n }\n\n _createClass(ChangeAvatarError, [{\n key: 'getErrorReason',\n value: function getErrorReason() {\n if (this.props.reason) {\n /* jshint ignore:start */\n return _react2.default.createElement('p', { dangerouslySetInnerHTML: { __html: this.props.reason } });\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'remove_circle_outline'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n this.props.message\n ),\n this.getErrorReason(),\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n gettext(\"Ok\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return ChangeAvatarError;\n}(_react2.default.Component);\n\nvar _class = function (_React$Component2) {\n _inherits(_class, _React$Component2);\n\n function _class() {\n var _ref;\n\n var _temp, _this2, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this2 = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this2), _this2.showError = function (error) {\n _this2.setState({\n error: error\n });\n }, _this2.showIndex = function () {\n _this2.setState({\n 'component': _index2.default\n });\n }, _this2.showUpload = function () {\n _this2.setState({\n 'component': _upload2.default\n });\n }, _this2.showCrop = function () {\n _this2.setState({\n 'component': _crop2.default\n });\n }, _this2.showGallery = function () {\n _this2.setState({\n 'component': _gallery2.default\n });\n }, _this2.completeFlow = function (options) {\n _store2.default.dispatch((0, _users.updateAvatar)(_this2.props.user, options.avatars));\n\n _this2.setState({\n 'component': _index2.default,\n options: options\n });\n }, _temp), _possibleConstructorReturn(_this2, _ret);\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this3 = this;\n\n _ajax2.default.get(this.props.user.api.avatar).then(function (options) {\n _this3.setState({\n 'component': _index2.default,\n 'options': options,\n 'error': null\n });\n }, function (rejection) {\n _this3.showError(rejection);\n });\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'getBody',\n\n /* jshint ignore:end */\n\n value: function getBody() {\n if (this.state) {\n if (this.state.error) {\n /* jshint ignore:start */\n return _react2.default.createElement(ChangeAvatarError, { message: this.state.error.detail,\n reason: this.state.error.reason });\n /* jshint ignore:end */\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(this.state.component, { options: this.state.options,\n user: this.props.user,\n onComplete: this.completeFlow,\n showError: this.showError,\n showIndex: this.showIndex,\n showCrop: this.showCrop,\n showUpload: this.showUpload,\n showGallery: this.showGallery });\n /* jshint ignore:end */\n }\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(_modalLoader2.default, null);\n /* jshint ignore:end */\n }\n }\n }, {\n key: 'getClassName',\n value: function getClassName() {\n if (this.state && this.state.error) {\n return \"modal-dialog modal-message modal-change-avatar\";\n } else {\n return \"modal-dialog modal-change-avatar\";\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: this.getClassName(),\n role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'close', 'data-dismiss': 'modal',\n 'aria-label': gettext(\"Close\") },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Change your avatar\")\n )\n ),\n this.getBody()\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\nfunction select(state) {\n return {\n 'user': state.auth.user\n };\n}\n\n},{\"../../reducers/users\":363,\"../../services/ajax\":364,\"../../services/store\":376,\"../modal-loader\":60,\"./crop\":22,\"./gallery\":23,\"./index\":24,\"./upload\":26,\"react\":\"react\"}],26:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _crop = require('./crop');\n\nvar _crop2 = _interopRequireDefault(_crop);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _fileSize = require('../../utils/file-size');\n\nvar _fileSize2 = _interopRequireDefault(_fileSize);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.pickFile = function () {\n document.getElementById('avatar-hidden-upload').click();\n };\n\n _this.uploadFile = function () {\n var image = document.getElementById('avatar-hidden-upload').files[0];\n if (!image) return;\n\n var validationError = _this.validateFile(image);\n if (validationError) {\n _snackbar2.default.error(validationError);\n return;\n }\n\n _this.setState({\n image: image,\n preview: URL.createObjectURL(image),\n progress: 0\n });\n\n var data = new FormData();\n data.append('avatar', 'upload');\n data.append('image', image);\n\n _ajax2.default.upload(_this.props.user.api.avatar, data, function (progress) {\n _this.setState({\n progress: progress\n });\n }).then(function (data) {\n _this.setState({\n options: data,\n uploaded: data.detail\n });\n\n _snackbar2.default.info(gettext(\"Your image has been uploaded and you may now crop it.\"));\n }, function (rejection) {\n if (rejection.status === 400 || rejection.status === 413) {\n _snackbar2.default.error(rejection.detail);\n _this.setState({\n isLoading: false,\n image: null,\n progress: 0\n });\n } else {\n _this.props.showError(rejection);\n }\n });\n };\n\n _this.state = {\n image: null,\n preview: null,\n progress: 0,\n uploaded: null,\n dataUrl: null\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'validateFile',\n value: function validateFile(image) {\n if (image.size > this.props.options.upload.limit) {\n return interpolate(gettext(\"Selected file is too big. (%(filesize)s)\"), {\n 'filesize': (0, _fileSize2.default)(image.size)\n }, true);\n }\n\n var invalidTypeMsg = gettext(\"Selected file type is not supported.\");\n if (this.props.options.upload.allowed_mime_types.indexOf(image.type) === -1) {\n return invalidTypeMsg;\n }\n\n var extensionFound = false;\n var loweredFilename = image.name.toLowerCase();\n this.props.options.upload.allowed_extensions.map(function (extension) {\n if (loweredFilename.substr(extension.length * -1) === extension) {\n extensionFound = true;\n }\n });\n\n if (!extensionFound) {\n return invalidTypeMsg;\n }\n\n return false;\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'getUploadRequirements',\n\n /* jshint ignore:end */\n\n value: function getUploadRequirements(options) {\n var extensions = options.allowed_extensions.map(function (extension) {\n return extension.substr(1);\n });\n\n return interpolate(gettext(\"%(files)s files smaller than %(limit)s\"), {\n 'files': extensions.join(', '),\n 'limit': (0, _fileSize2.default)(options.limit)\n }, true);\n }\n }, {\n key: 'getUploadButton',\n value: function getUploadButton() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'modal-body modal-avatar-upload' },\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-pick-file',\n onClick: this.pickFile\n },\n _react2.default.createElement(\n 'div',\n { className: 'material-icon' },\n 'input'\n ),\n gettext(\"Select file\")\n ),\n _react2.default.createElement(\n 'p',\n { className: 'text-muted' },\n this.getUploadRequirements(this.props.options.upload)\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getUploadProgressLabel',\n value: function getUploadProgressLabel() {\n return interpolate(gettext(\"%(progress)s % complete\"), {\n 'progress': this.state.progress\n }, true);\n }\n }, {\n key: 'getUploadProgress',\n value: function getUploadProgress() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'modal-body modal-avatar-upload' },\n _react2.default.createElement(\n 'div',\n { className: 'upload-progress' },\n _react2.default.createElement('img', { src: this.state.preview }),\n _react2.default.createElement(\n 'div',\n { className: 'progress' },\n _react2.default.createElement(\n 'div',\n {\n className: 'progress-bar',\n role: 'progressbar',\n 'aria-valuenow': '{this.state.progress}',\n 'aria-valuemin': '0',\n 'aria-valuemax': '100',\n style: { width: this.state.progress + '%' }\n },\n _react2.default.createElement(\n 'span',\n { className: 'sr-only' },\n this.getUploadProgressLabel()\n )\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'renderUpload',\n value: function renderUpload() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement('input', {\n type: 'file',\n id: 'avatar-hidden-upload',\n className: 'hidden-file-upload',\n onChange: this.uploadFile\n }),\n this.state.image ? this.getUploadProgress() : this.getUploadButton(),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-6 col-md-offset-3' },\n _react2.default.createElement(\n _button2.default,\n {\n onClick: this.props.showIndex,\n disabled: !!this.state.image,\n className: 'btn-default btn-block'\n },\n gettext(\"Cancel\")\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'renderCrop',\n value: function renderCrop() {\n /* jshint ignore:start */\n return _react2.default.createElement(_crop2.default, {\n options: this.state.options,\n user: this.props.user,\n upload: this.state.uploaded,\n dataUrl: this.state.preview,\n onComplete: this.props.onComplete,\n showError: this.props.showError,\n showIndex: this.props.showIndex\n });\n /* jshint ignore:end */\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n if (this.state.uploaded) return this.renderCrop();\n\n return this.renderUpload();\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../services/ajax\":364,\"../../services/snackbar\":375,\"../../utils/file-size\":383,\"../button\":8,\"./crop\":22,\"react\":\"react\"}],27:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: \"getClassName\",\n value: function getClassName() {\n if (this.props.dropdown) {\n return \"btn btn-default btn-aligned btn-icon btn-dropdown-toggle open hidden-md hidden-lg\";\n } else {\n return \"btn btn-default btn-aligned btn-icon btn-dropdown-toggle hidden-md hidden-lg\";\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n \"button\",\n { className: this.getClassName(),\n type: \"button\",\n onClick: this.props.toggleNav,\n \"aria-haspopup\": \"true\",\n \"aria-expanded\": this.props.dropdown ? 'true' : 'false' },\n _react2.default.createElement(\n \"i\",\n { className: \"material-icon\" },\n \"menu\"\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\"}],28:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var display = _ref.display;\n\n if (!display) return null;\n\n return _react2.default.createElement(_panelMessage2.default, {\n helpText: gettext(\"No profile details are editable at this time.\"),\n message: gettext(\"This option is currently unavailable.\")\n });\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _panelMessage = require('../panel-message');\n\nvar _panelMessage2 = _interopRequireDefault(_panelMessage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../panel-message\":93,\"react\":\"react\"}],29:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _select = require('../select');\n\nvar _select2 = _interopRequireDefault(_select);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.onChange = function (ev) {\n var _this$props = _this.props,\n field = _this$props.field,\n onChange = _this$props.onChange;\n\n onChange(field.fieldname, ev.target.value);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n var _props = this.props,\n disabled = _props.disabled,\n field = _props.field,\n value = _props.value;\n var input = field.input;\n\n\n if (input.type === 'select') {\n return _react2.default.createElement(_select2.default, {\n choices: input.choices,\n disabled: disabled,\n id: \"id_\" + field.fieldname,\n onChange: this.onChange,\n value: value\n });\n }\n\n if (input.type === 'textarea') {\n return _react2.default.createElement('textarea', {\n className: 'form-control',\n disabled: disabled,\n id: \"id_\" + field.fieldname,\n onChange: this.onChange,\n rows: '4',\n type: 'text',\n value: value\n });\n }\n\n if (input.type === 'text') {\n return _react2.default.createElement('input', {\n className: 'form-control',\n disabled: disabled,\n id: \"id_\" + field.fieldname,\n onChange: this.onChange,\n type: 'text',\n value: value\n });\n }\n\n return null;\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../select\":209,\"react\":\"react\"}],30:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var disabled = _ref.disabled,\n errors = _ref.errors,\n fields = _ref.fields,\n name = _ref.name,\n onChange = _ref.onChange,\n value = _ref.value;\n\n return _react2.default.createElement(\n 'fieldset',\n null,\n _react2.default.createElement(\n 'legend',\n null,\n name\n ),\n fields.map(function (field) {\n return _react2.default.createElement(\n _formGroup2.default,\n {\n 'for': \"id_\" + field.fieldname,\n helpText: field.help_text,\n key: field.fieldname,\n label: field.label,\n validation: errors[field.fieldname]\n },\n _react2.default.createElement(_fieldInput2.default, {\n disabled: disabled,\n field: field,\n onChange: onChange,\n value: value[field.fieldname]\n })\n );\n })\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _fieldInput = require('./field-input');\n\nvar _fieldInput2 = _interopRequireDefault(_fieldInput);\n\nvar _formGroup = require('../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../form-group\":54,\"./field-input\":29,\"react\":\"react\"}],31:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.CancelButton = CancelButton;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _fieldset = require('./fieldset');\n\nvar _fieldset2 = _interopRequireDefault(_fieldset);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.onChange = function (name, value) {\n _this.setState(_defineProperty({}, name, value));\n };\n\n _this.state = {\n isLoading: false,\n\n errors: {}\n };\n\n var groups = props.groups.length;\n for (var i = 0; i < groups; i++) {\n var group = props.groups[i];\n var fields = group.fields.length;\n for (var f = 0; f < fields; f++) {\n var fieldname = group.fields[f].fieldname;\n var initial = group.fields[f].initial;\n _this.state[fieldname] = initial;\n }\n }\n return _this;\n }\n\n _createClass(_class, [{\n key: 'send',\n value: function send() {\n var data = Object.assign({}, this.state, {\n errors: null,\n isLoading: null\n });\n\n return _ajax2.default.post(this.props.api, data);\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(data) {\n this.props.onSuccess(data);\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(gettext(\"Form contains errors.\"));\n this.setState({ errors: rejection });\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n return _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n this.props.groups.map(function (group, i) {\n return _react2.default.createElement(_fieldset2.default, {\n disabled: _this2.state.isLoading,\n errors: _this2.state.errors,\n fields: group.fields,\n name: group.name,\n key: i,\n onChange: _this2.onChange,\n value: _this2.state\n });\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-footer text-right' },\n _react2.default.createElement(CancelButton, {\n disabled: this.state.isLoading,\n onCancel: this.props.onCancel\n }),\n ' ',\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary', loading: this.state.isLoading },\n gettext(\"Save changes\")\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\nfunction CancelButton(_ref) {\n var onCancel = _ref.onCancel,\n disabled = _ref.disabled;\n\n if (!onCancel) return null;\n\n return _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n disabled: disabled,\n onClick: onCancel,\n type: 'button'\n },\n gettext(\"Cancel\")\n );\n}\n\n},{\"../../services/ajax\":364,\"../../services/snackbar\":375,\"../button\":8,\"../form\":55,\"./fieldset\":30,\"react\":\"react\"}],32:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.FormDisplay = FormDisplay;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _blankslate = require('./blankslate');\n\nvar _blankslate2 = _interopRequireDefault(_blankslate);\n\nvar _loader = require('./loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.state = {\n loading: true,\n groups: null\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n _ajax2.default.get(this.props.api).then(function (groups) {\n _this2.setState({\n loading: false,\n\n groups: groups\n });\n }, function (rejection) {\n _snackbar2.default.apiError(rejection);\n if (_this2.props.cancel) {\n _this2.props.cancel();\n }\n });\n }\n }, {\n key: 'render',\n value: function render() {\n var _state = this.state,\n groups = _state.groups,\n loading = _state.loading;\n\n\n return _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-form' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n gettext(\"Edit details\")\n )\n ),\n _react2.default.createElement(_loader2.default, { display: loading }),\n _react2.default.createElement(_blankslate2.default, { display: !loading && !groups.length }),\n _react2.default.createElement(FormDisplay, {\n api: this.props.api,\n display: !loading && groups.length,\n groups: groups,\n onCancel: this.props.onCancel,\n onSuccess: this.props.onSuccess\n })\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\nfunction FormDisplay(_ref) {\n var api = _ref.api,\n display = _ref.display,\n groups = _ref.groups,\n onCancel = _ref.onCancel,\n onSuccess = _ref.onSuccess;\n\n if (!display) return null;\n\n return _react2.default.createElement(_form2.default, {\n api: api,\n groups: groups,\n onCancel: onCancel,\n onSuccess: onSuccess\n });\n}\n\n},{\"../../services/ajax\":364,\"../../services/snackbar\":375,\"./blankslate\":28,\"./form\":31,\"./loader\":33,\"react\":\"react\"}],33:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var display = _ref.display;\n\n if (!display) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(_loader2.default, null)\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _loader = require('../loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../loader\":57,\"react\":\"react\"}],34:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n _this.props.replaceSelection(_this.props.execAction);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-icon ' + this.props.className,\n disabled: this.props.disabled,\n onClick: this.onClick,\n title: this.props.title,\n type: 'button'\n },\n this.props.children\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\"}],35:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // jshint ignore:start\n\n\nexports.default = function (props) {\n return _react2.default.createElement(\n _action2.default,\n _extends({\n execAction: insertCode,\n title: gettext(\"Insert code\")\n }, props),\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'functions'\n )\n );\n};\n\nexports.insertCode = insertCode;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _action = require('./action');\n\nvar _action2 = _interopRequireDefault(_action);\n\nvar _isUrl = require('../../../utils/is-url');\n\nvar _isUrl2 = _interopRequireDefault(_isUrl);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction insertCode(selection, replace) {\n var syntax = $.trim(prompt(gettext(\"Enter name of syntax of your code (optional)\") + ':'));\n replace(\"\\n\\n```\" + syntax + '\\n' + selection + \"\\n```\\n\\n\");\n}\n\n},{\"../../../utils/is-url\":384,\"./action\":34,\"react\":\"react\"}],36:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // jshint ignore:start\n\n\nexports.default = function (props) {\n return _react2.default.createElement(\n _action2.default,\n _extends({\n execAction: makeEmphasis,\n title: gettext(\"Emphase selection\")\n }, props),\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'format_italic'\n )\n );\n};\n\nexports.makeEmphasis = makeEmphasis;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _action = require('./action');\n\nvar _action2 = _interopRequireDefault(_action);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction makeEmphasis(selection, replace) {\n if (selection.length) {\n replace('*' + selection + '*');\n }\n}\n\n},{\"./action\":34,\"react\":\"react\"}],37:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // jshint ignore:start\n\n\nexports.default = function (props) {\n return _react2.default.createElement(\n _action2.default,\n _extends({\n execAction: insertHr,\n title: gettext(\"Insert horizontal ruler\")\n }, props),\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'remove'\n )\n );\n};\n\nexports.insertHr = insertHr;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _action = require('./action');\n\nvar _action2 = _interopRequireDefault(_action);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction insertHr(selection, replace) {\n replace('\\n\\n- - - - -\\n\\n');\n}\n\n},{\"./action\":34,\"react\":\"react\"}],38:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // jshint ignore:start\n\n\nexports.default = function (props) {\n return _react2.default.createElement(\n _action2.default,\n _extends({\n execAction: insertImage,\n title: gettext(\"Insert image\")\n }, props),\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'insert_photo'\n )\n );\n};\n\nexports.insertImage = insertImage;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _action = require('./action');\n\nvar _action2 = _interopRequireDefault(_action);\n\nvar _isUrl = require('../../../utils/is-url');\n\nvar _isUrl2 = _interopRequireDefault(_isUrl);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction insertImage(selection, replace) {\n var url = '';\n var label = '';\n\n if (selection.length) {\n if ((0, _isUrl2.default)(selection)) {\n url = selection;\n } else {\n label = selection;\n }\n }\n\n url = $.trim(prompt(gettext(\"Enter link to image\") + ':', url));\n label = $.trim(prompt(gettext(\"Enter image label (optional)\") + ':', label));\n\n if (url.length) {\n if (label.length > 0) {\n replace('![' + label + '](' + url + ')');\n } else {\n replace('!(' + url + ')');\n }\n }\n}\n\n},{\"../../../utils/is-url\":384,\"./action\":34,\"react\":\"react\"}],39:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // jshint ignore:start\n\n\nexports.default = function (props) {\n return _react2.default.createElement(\n _action2.default,\n _extends({\n execAction: insertLink,\n title: gettext(\"Insert link\")\n }, props),\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'insert_link'\n )\n );\n};\n\nexports.insertLink = insertLink;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _action = require('./action');\n\nvar _action2 = _interopRequireDefault(_action);\n\nvar _isUrl = require('../../../utils/is-url');\n\nvar _isUrl2 = _interopRequireDefault(_isUrl);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction insertLink(selection, replace) {\n var url = '';\n var label = '';\n\n if (selection.length) {\n if ((0, _isUrl2.default)(selection)) {\n url = selection;\n } else {\n label = selection;\n }\n }\n\n url = $.trim(prompt(gettext(\"Enter link address\") + ':', url) || '');\n if (url.length === 0) return false;\n label = $.trim(prompt(gettext(\"Enter link label (optional)\") + ':', label));\n\n if (url.length) {\n if (label.length > 0) {\n replace('[' + label + '](' + url + ')');\n } else {\n replace(url);\n }\n }\n}\n\n},{\"../../../utils/is-url\":384,\"./action\":34,\"react\":\"react\"}],40:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // jshint ignore:start\n\n\nexports.default = function (props) {\n return _react2.default.createElement(\n _action2.default,\n _extends({\n execAction: insertQuote,\n title: gettext(\"Insert quote\")\n }, props),\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'format_quote'\n )\n );\n};\n\nexports.insertQuote = insertQuote;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _action = require('./action');\n\nvar _action2 = _interopRequireDefault(_action);\n\nvar _isUrl = require('../../../utils/is-url');\n\nvar _isUrl2 = _interopRequireDefault(_isUrl);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction insertQuote(selection, replace) {\n var title = $.trim(prompt(gettext(\"Enter quote autor, prefix usernames with @\") + ':', title));\n\n if (title) {\n replace('\\n\\n[quote=\"' + title + '\"]\\n' + selection + '\\n[/quote]\\n\\n');\n } else {\n replace('\\n\\n[quote]\\n' + selection + '\\n[/quote]\\n\\n');\n }\n}\n\n},{\"../../../utils/is-url\":384,\"./action\":34,\"react\":\"react\"}],41:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // jshint ignore:start\n\n\nexports.default = function (props) {\n return _react2.default.createElement(\n _action2.default,\n _extends({\n execAction: makeStriketrough,\n title: gettext(\"Striketrough selection\")\n }, props),\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'format_strikethrough'\n )\n );\n};\n\nexports.makeStriketrough = makeStriketrough;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _action = require('./action');\n\nvar _action2 = _interopRequireDefault(_action);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction makeStriketrough(selection, replace) {\n if (selection.length) {\n replace('~~' + selection + '~~');\n }\n}\n\n},{\"./action\":34,\"react\":\"react\"}],42:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // jshint ignore:start\n\n\nexports.default = function (props) {\n return _react2.default.createElement(\n _action2.default,\n _extends({\n execAction: makeStrong,\n title: gettext(\"Bolder selection\")\n }, props),\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'format_bold'\n )\n );\n};\n\nexports.makeStrong = makeStrong;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _action = require('./action');\n\nvar _action2 = _interopRequireDefault(_action);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction makeStrong(selection, replace) {\n if (selection.length) {\n replace('**' + selection + '**');\n }\n}\n\n},{\"./action\":34,\"react\":\"react\"}],43:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.Preview = Preview;\nexports.Image = Image;\nexports.Icon = Icon;\nexports.Filename = Filename;\nexports.Details = Details;\nexports.Actions = Actions;\nexports.Insert = Insert;\nexports.Remove = Remove;\nexports.Undo = Undo;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _ = require('../../../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _escapeHtml = require('../../../../utils/escape-html');\n\nvar _escapeHtml2 = _interopRequireDefault(_escapeHtml);\n\nvar _fileSize = require('../../../../utils/file-size');\n\nvar _fileSize2 = _interopRequireDefault(_fileSize);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar DATE_ABBR = '%(relative)s';\nvar USER_SPAN = '%(user)s';\nvar USER_URL = '%(user)s';\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.onInsert = function () {\n _this.props.replaceSelection(_this.insertAttachment);\n }, _this.insertAttachment = function (selection, replace) {\n var item = _this.props.item;\n\n if (item.is_image) {\n if (item.url.thumb) {\n replace('[![' + item.filename + '](' + item.url.thumb + ')](' + item.url.index + ')');\n } else {\n replace('[![' + item.filename + '](' + item.url.index + ')](' + item.url.index + ')');\n }\n } else {\n replace('[' + item.filename + '](' + item.url.index + ')');\n }\n }, _this.onRemove = function () {\n _this.updateItem({\n isRemoved: true\n });\n }, _this.onUndo = function () {\n _this.updateItem({\n isRemoved: false\n });\n }, _this.updateItem = function (newState) {\n var updatedAttachments = _this.props.attachments.map(function (item) {\n if (item.id === _this.props.item.id) {\n return Object.assign({}, item, newState);\n } else {\n return item;\n }\n });\n _this.props.onAttachmentsChange(updatedAttachments);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'li',\n { className: 'editor-attachment-complete' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-8 col-md-9' },\n _react2.default.createElement(Preview, this.props),\n _react2.default.createElement(\n 'div',\n { className: 'editor-attachment-details' },\n _react2.default.createElement(Filename, this.props),\n _react2.default.createElement(Details, this.props)\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-4 col-md-3 xs-margin-top-half' },\n _react2.default.createElement(Actions, _extends({\n onInsert: this.onInsert,\n onRemove: this.onRemove,\n onUndo: this.onUndo\n }, this.props))\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n;\n\nfunction Preview(props) {\n if (props.item.is_image) {\n return _react2.default.createElement(Image, props);\n } else {\n return _react2.default.createElement(Icon, props);\n }\n}\n\nfunction Image(props) {\n var thumbnailUrl = props.item.url.thumb || props.item.url.index;\n\n return _react2.default.createElement(\n 'div',\n { className: 'editor-attachment-image' },\n _react2.default.createElement('a', {\n href: props.item.url.index + '?shva=1',\n style: { backgroundImage: \"url('\" + thumbnailUrl + \"?shva=1')\" },\n target: '_blank'\n })\n );\n};\n\nfunction Icon(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'editor-attachment-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'insert_drive_file'\n )\n );\n}\n\nfunction Filename(props) {\n return _react2.default.createElement(\n 'h4',\n null,\n _react2.default.createElement(\n 'a',\n {\n className: 'item-title',\n href: props.item.url.index + '?shva=1',\n target: '_blank'\n },\n props.item.filename\n )\n );\n}\n\nfunction Details(props) {\n var user = null;\n if (props.item.url.uploader) {\n user = interpolate(USER_URL, {\n url: (0, _escapeHtml2.default)(props.item.url.uploader),\n user: (0, _escapeHtml2.default)(props.item.uploader_name)\n }, true);\n } else {\n user = interpolate(USER_SPAN, {\n user: (0, _escapeHtml2.default)(props.item.uploader_name)\n }, true);\n }\n\n var date = interpolate(DATE_ABBR, {\n absolute: (0, _escapeHtml2.default)(props.item.uploaded_on.format('LLL')),\n relative: (0, _escapeHtml2.default)(props.item.uploaded_on.fromNow())\n }, true);\n\n var message = interpolate((0, _escapeHtml2.default)(gettext(\"%(filetype)s, %(size)s, uploaded by %(uploader)s %(uploaded_on)s.\")), {\n filetype: props.item.filetype,\n size: (0, _fileSize2.default)(props.item.size),\n uploader: user,\n uploaded_on: date\n }, true);\n\n return _react2.default.createElement('p', { dangerouslySetInnerHTML: { __html: message } });\n}\n\nfunction Actions(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'editor-attachment-actions' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(Insert, props),\n _react2.default.createElement(Remove, props),\n _react2.default.createElement(Undo, props)\n )\n );\n}\n\nfunction Insert(props) {\n if (!!props.item.isRemoved) {\n return null;\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-6' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-sm btn-block',\n onClick: props.onInsert,\n type: 'button'\n },\n gettext(\"Insert\")\n )\n );\n}\n\nfunction Remove(props) {\n if (!!props.item.isRemoved && props.item.acl.can_delete) {\n return null;\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-6' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-sm btn-block',\n onClick: props.onRemove,\n type: 'button'\n },\n gettext(\"Remove\")\n )\n );\n}\n\nfunction Undo(props) {\n if (!props.item.isRemoved) {\n return null;\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-12' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-sm btn-block',\n onClick: props.onUndo,\n type: 'button'\n },\n gettext(\"Undo removal\")\n )\n );\n}\n\n},{\"../../../..\":301,\"../../../../utils/escape-html\":382,\"../../../../utils/file-size\":383,\"react\":\"react\"}],44:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _escapeHtml = require('../../../../utils/escape-html');\n\nvar _escapeHtml2 = _interopRequireDefault(_escapeHtml);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar STRONG = '%(name)s';\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n var filteredAttachments = _this.props.attachments.filter(function (item) {\n return item.key !== _this.props.item.key;\n });\n _this.props.onAttachmentsChange(filteredAttachments);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n var filename = interpolate(STRONG, {\n name: (0, _escapeHtml2.default)(this.props.item.filename)\n }, true);\n\n var title = interpolate(gettext(\"Error uploading %(filename)s\"), {\n filename: filename,\n progress: this.props.item.progress + '%'\n }, true);\n\n return _react2.default.createElement(\n 'li',\n { className: 'editor-attachment-error' },\n _react2.default.createElement(\n 'div',\n { className: 'editor-attachment-error-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'warning'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'editor-attachment-error-message' },\n _react2.default.createElement('h4', { dangerouslySetInnerHTML: { __html: title + ':' } }),\n _react2.default.createElement(\n 'p',\n null,\n this.props.item.error\n ),\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-sm',\n onClick: this.onClick,\n type: 'button'\n },\n gettext(\"Dismiss\")\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n;\n\n},{\"../../../../utils/escape-html\":382,\"react\":\"react\"}],45:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n if (props.item.id) {\n return _react2.default.createElement(_complete2.default, props);\n }\n\n if (props.item.error) {\n return _react2.default.createElement(_error2.default, props);\n }\n\n return _react2.default.createElement(_upload2.default, props);\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _complete = require('./complete');\n\nvar _complete2 = _interopRequireDefault(_complete);\n\nvar _error = require('./error');\n\nvar _error2 = _interopRequireDefault(_error);\n\nvar _upload = require('./upload');\n\nvar _upload2 = _interopRequireDefault(_upload);\n\nvar _ = require('../../../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _escapeHtml = require('../../../../utils/escape-html');\n\nvar _escapeHtml2 = _interopRequireDefault(_escapeHtml);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../../..\":301,\"../../../../utils/escape-html\":382,\"./complete\":43,\"./error\":44,\"./upload\":46,\"react\":\"react\"}],46:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n var filename = interpolate(STRONG, {\n name: (0, _escapeHtml2.default)(props.item.filename)\n }, true);\n\n var message = interpolate(gettext(\"Uploading %(filename)s... %(progress)s\"), {\n filename: filename,\n progress: props.item.progress + '%'\n }, true);\n\n return _react2.default.createElement(\n 'li',\n { className: 'editor-attachment-upload' },\n _react2.default.createElement(\n 'div',\n { className: 'editor-attachment-progress-bar' },\n _react2.default.createElement('div', {\n className: 'editor-attachment-progress',\n style: { width: props.item.progress + '%' }\n })\n ),\n _react2.default.createElement('p', {\n className: 'editor-attachment-upload-message',\n dangerouslySetInnerHTML: { __html: message }\n })\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _escapeHtml = require('../../../../utils/escape-html');\n\nvar _escapeHtml2 = _interopRequireDefault(_escapeHtml);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:start\nvar STRONG = '%(name)s';\n\n;\n\n},{\"../../../../utils/escape-html\":382,\"react\":\"react\"}],47:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n if (!_2.default.get('user').acl.max_attachment_size) {\n return null;\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'editor-attachments' },\n _react2.default.createElement(_list2.default, props),\n _react2.default.createElement(_uploader2.default, props)\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _list = require('./list');\n\nvar _list2 = _interopRequireDefault(_list);\n\nvar _uploader = require('./uploader');\n\nvar _uploader2 = _interopRequireDefault(_uploader);\n\nvar _ = require('../../..');\n\nvar _2 = _interopRequireDefault(_);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n; // jshint ignore:start\n\n},{\"../../..\":301,\"./list\":48,\"./uploader\":50,\"react\":\"react\"}],48:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // jshint ignore:start\n\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'ul',\n { className: 'list-unstyled editor-attachments-list' },\n props.attachments.map(function (item) {\n return _react2.default.createElement(_attachment2.default, _extends({ item: item, key: item.id || item.key }, props));\n })\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _attachment = require('./attachment');\n\nvar _attachment2 = _interopRequireDefault(_attachment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n;\n\n},{\"./attachment\":45,\"react\":\"react\"}],49:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _ = require('../../..');\n\nvar _2 = _interopRequireDefault(_);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n document.getElementById('editor-upload-field').click();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n if (!_2.default.get('user').acl.max_attachment_size) {\n return null;\n }\n\n return _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-icon ' + this.props.className,\n disabled: this.props.disabled,\n onClick: this.onClick,\n title: gettext('Upload file'),\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'file_upload'\n )\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n;\n\n},{\"../../..\":301,\"react\":\"react\"}],50:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.getRandomKey = getRandomKey;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _ = require('../../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.onChange = function (event) {\n var file = event.target.files[0];\n if (!file) {\n return;\n }\n\n var upload = {\n id: null,\n key: getRandomKey(),\n progress: 0,\n error: null,\n filename: file.name\n };\n\n _this.props.onAttachmentsChange([upload].concat(_this.props.attachments));\n\n var data = new FormData();\n data.append('upload', file);\n\n _ajax2.default.upload(_2.default.get('ATTACHMENTS_API'), data, function (progress) {\n upload.progress = progress;\n _this.props.onAttachmentsChange(_this.props.attachments.concat());\n }).then(function (data) {\n data.uploaded_on = (0, _moment2.default)(data.uploaded_on);\n Object.assign(upload, data);\n _this.props.onAttachmentsChange(_this.props.attachments.concat());\n }, function (rejection) {\n if (rejection.status === 400 || rejection.status === 413) {\n upload.error = rejection.detail;\n _this.props.onAttachmentsChange(_this.props.attachments.concat());\n } else {\n _snackbar2.default.apiError(rejection);\n }\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement('input', {\n id: 'editor-upload-field',\n onChange: this.onChange,\n type: 'file'\n });\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n;\n\nfunction getRandomKey() {\n return 'upld-' + Math.round(new Date().getTime());\n}\n\n},{\"../../..\":301,\"../../../services/ajax\":364,\"../../../services/snackbar\":375,\"moment\":\"moment\",\"react\":\"react\"}],51:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.Protect = Protect;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _code = require('./actions/code');\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _emphasis = require('./actions/emphasis');\n\nvar _emphasis2 = _interopRequireDefault(_emphasis);\n\nvar _hr = require('./actions/hr');\n\nvar _hr2 = _interopRequireDefault(_hr);\n\nvar _image = require('./actions/image');\n\nvar _image2 = _interopRequireDefault(_image);\n\nvar _link = require('./actions/link');\n\nvar _link2 = _interopRequireDefault(_link);\n\nvar _striketrough = require('./actions/striketrough');\n\nvar _striketrough2 = _interopRequireDefault(_striketrough);\n\nvar _strong = require('./actions/strong');\n\nvar _strong2 = _interopRequireDefault(_strong);\n\nvar _quote = require('./actions/quote');\n\nvar _quote2 = _interopRequireDefault(_quote);\n\nvar _attachments = require('./attachments');\n\nvar _attachments2 = _interopRequireDefault(_attachments);\n\nvar _uploadButton = require('./attachments/upload-button');\n\nvar _uploadButton2 = _interopRequireDefault(_uploadButton);\n\nvar _markupPreview = require('./markup-preview');\n\nvar _markupPreview2 = _interopRequireDefault(_markupPreview);\n\nvar _textutils = require('./textutils');\n\nvar textUtils = _interopRequireWildcard(_textutils);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.onPreviewClick = function () {\n if (_this.state.isPreviewLoading) {\n return;\n }\n\n _this.setState({\n isPreviewLoading: true\n });\n\n _ajax2.default.post(_2.default.get('PARSE_MARKUP_API'), { post: _this.props.value }).then(function (data) {\n _modal2.default.show(_react2.default.createElement(_markupPreview2.default, { markup: data.parsed }));\n\n _this.setState({\n isPreviewLoading: false\n });\n }, function (rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n\n _this.setState({\n isPreviewLoading: false\n });\n });\n };\n\n _this.replaceSelection = function (operation) {\n operation(textUtils.getSelectionText(), _this._replaceSelection);\n };\n\n _this._replaceSelection = function (newValue) {\n _this.props.onChange({\n target: {\n value: textUtils.replace(newValue)\n }\n });\n };\n\n _this.state = {\n isPreviewLoading: false\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n $('#editor-textarea').atwho({\n at: '@',\n displayTpl: '
  • \"\"${username}
  • ',\n insertTpl: '@${username}',\n searchKey: 'username',\n callbacks: {\n remoteFilter: function remoteFilter(query, callback) {\n $.getJSON(_2.default.get('MENTION_API'), { q: query }, callback);\n }\n }\n });\n\n $('#editor-textarea').on(\"inserted.atwho\", function (event, flag, query) {\n _this2.props.onChange(event);\n });\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'div',\n { className: 'editor-border' },\n _react2.default.createElement('textarea', {\n className: 'form-control',\n value: this.props.value,\n disabled: this.props.loading,\n id: 'editor-textarea',\n onChange: this.props.onChange,\n rows: '9'\n }),\n _react2.default.createElement(\n 'div',\n { className: 'editor-footer' },\n _react2.default.createElement(\n 'div',\n { className: 'buttons-list pull-left' },\n _react2.default.createElement(_strong2.default, {\n className: 'btn-default btn-sm pull-left',\n disabled: this.props.loading || this.state.isPreviewLoading,\n replaceSelection: this.replaceSelection\n }),\n _react2.default.createElement(_emphasis2.default, {\n className: 'btn-default btn-sm pull-left',\n disabled: this.props.loading || this.state.isPreviewLoading,\n replaceSelection: this.replaceSelection\n }),\n _react2.default.createElement(_striketrough2.default, {\n className: 'btn-default btn-sm pull-left',\n disabled: this.props.loading || this.state.isPreviewLoading,\n replaceSelection: this.replaceSelection\n }),\n _react2.default.createElement(_hr2.default, {\n className: 'btn-default btn-sm pull-left',\n disabled: this.props.loading || this.state.isPreviewLoading,\n replaceSelection: this.replaceSelection\n }),\n _react2.default.createElement(_link2.default, {\n className: 'btn-default btn-sm pull-left',\n disabled: this.props.loading || this.state.isPreviewLoading,\n replaceSelection: this.replaceSelection\n }),\n _react2.default.createElement(_image2.default, {\n className: 'btn-default btn-sm pull-left',\n disabled: this.props.loading || this.state.isPreviewLoading,\n replaceSelection: this.replaceSelection\n }),\n _react2.default.createElement(_quote2.default, {\n className: 'btn-default btn-sm pull-left',\n disabled: this.props.loading || this.state.isPreviewLoading,\n replaceSelection: this.replaceSelection\n }),\n _react2.default.createElement(_code2.default, {\n className: 'btn-default btn-sm pull-left',\n disabled: this.props.loading || this.state.isPreviewLoading,\n replaceSelection: this.replaceSelection\n }),\n _react2.default.createElement(_uploadButton2.default, {\n className: 'btn-default btn-sm pull-left',\n disabled: this.props.loading || this.state.isPreviewLoading\n })\n ),\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-default btn-sm pull-left',\n disabled: this.props.loading || this.state.isPreviewLoading,\n onClick: this.onPreviewClick,\n type: 'button'\n },\n gettext(\"Preview\")\n ),\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-primary btn-sm pull-right',\n loading: this.props.loading\n },\n this.props.submitLabel || gettext(\"Post\")\n ),\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-sm pull-right',\n disabled: this.props.loading,\n onClick: this.props.onCancel,\n type: 'button'\n },\n gettext(\"Cancel\")\n ),\n _react2.default.createElement('div', { className: 'clearfix visible-xs-block' }),\n _react2.default.createElement(Protect, {\n canProtect: this.props.canProtect,\n disabled: this.props.loading,\n onProtect: this.props.onProtect,\n onUnprotect: this.props.onUnprotect,\n protect: this.props.protect\n })\n ),\n _react2.default.createElement(_attachments2.default, {\n attachments: this.props.attachments,\n onAttachmentsChange: this.props.onAttachmentsChange,\n placeholder: this.props.placeholder,\n replaceSelection: this.replaceSelection\n })\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\nfunction Protect(props) {\n if (!props.canProtect) return null;\n\n var label = props.protect ? gettext('Protected') : gettext('Protect');\n\n return _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-icon btn-default btn-protect btn-sm pull-right',\n disabled: props.disabled,\n onClick: props.protect ? props.onUnprotect : props.onProtect,\n title: label,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n props.protect ? 'lock' : 'lock_outline'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'btn-text hidden-md hidden-lg' },\n label\n )\n );\n}\n\n},{\"../..\":301,\"../../services/ajax\":364,\"../../services/modal\":370,\"../../services/snackbar\":375,\"../button\":8,\"./actions/code\":35,\"./actions/emphasis\":36,\"./actions/hr\":37,\"./actions/image\":38,\"./actions/link\":39,\"./actions/quote\":40,\"./actions/striketrough\":41,\"./actions/strong\":42,\"./attachments\":47,\"./attachments/upload-button\":49,\"./markup-preview\":52,\"./textutils\":53,\"react\":\"react\"}],52:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-dialog', role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-label': gettext(\"Close\"),\n className: 'close',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Preview message\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-body markup-preview' },\n _react2.default.createElement(_misagoMarkup2.default, { markup: props.markup })\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _misagoMarkup = require('../misago-markup');\n\nvar _misagoMarkup2 = _interopRequireDefault(_misagoMarkup);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../misago-markup\":59,\"react\":\"react\"}],53:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getTextarea = getTextarea;\nexports.getValue = getValue;\nexports.getSelectionRange = getSelectionRange;\nexports.getSelection = getSelection;\nexports.getSelectionText = getSelectionText;\nexports.setSelection = setSelection;\nexports._replace = _replace;\nexports.replace = replace;\nvar textareaId = exports.textareaId = 'editor-textarea';\n\nfunction getTextarea() {\n return document.getElementById(textareaId);\n}\n\nfunction getValue() {\n return document.getElementById(textareaId).value;\n}\n\nfunction getSelectionRange(start, end) {\n return {\n start: start,\n end: end\n };\n}\n\nfunction getSelection() {\n var ctrl = getTextarea();\n if (document.selection) {\n ctrl.focus();\n var range = document.selection.createRange();\n var length = range.text.length;\n range.moveStart('character', -ctrl.value.length);\n return getSelectionRange(range.text.length - length, range.text.length);\n } else if (ctrl.selectionStart || ctrl.selectionStart == '0') {\n return getSelectionRange(ctrl.selectionStart, ctrl.selectionEnd);\n }\n}\n\nfunction getSelectionText() {\n var range = getSelection();\n return $.trim(getValue().substring(range.start, range.end));\n}\n\nfunction setSelection(selectionRange) {\n var ctrl = getTextarea();\n if (ctrl.setSelectionRange) {\n ctrl.focus();\n ctrl.setSelectionRange(selectionRange.start, selectionRange.end);\n } else if (ctrl.createTextRange) {\n var range = ctrl.createTextRange();\n range.collapse(true);\n range.moveStart('character', selectionRange.start);\n range.moveEnd('character', selectionRange.end);\n range.select();\n }\n}\n\nfunction _replace(myRange, replacement) {\n var ctrl = getTextarea();\n var text = ctrl.value;\n var startText = text.substring(0, myRange.start);\n ctrl.value = text.substring(0, myRange.start) + replacement + text.substring(myRange.end);\n setSelection(getSelectionRange(startText.length + replacement.length, startText.length + replacement.length));\n return ctrl.value;\n}\n\nfunction replace(replacement) {\n return _replace(getSelection(), replacement);\n}\n\n},{}],54:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'isValidated',\n value: function isValidated() {\n return typeof this.props.validation !== \"undefined\";\n }\n }, {\n key: 'getClassName',\n value: function getClassName() {\n var className = 'form-group';\n if (this.isValidated()) {\n className += ' has-feedback';\n if (this.props.validation === null) {\n className += ' has-success';\n } else {\n className += ' has-error';\n }\n }\n return className;\n }\n }, {\n key: 'getFeedback',\n value: function getFeedback() {\n var _this2 = this;\n\n if (this.props.validation) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'help-block errors' },\n this.props.validation.map(function (error, i) {\n return _react2.default.createElement(\n 'p',\n { key: _this2.props.for + 'FeedbackItem' + i },\n error\n );\n })\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'getFeedbackDescription',\n value: function getFeedbackDescription() {\n if (this.isValidated()) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'span',\n { id: this.props.for + '_status', className: 'sr-only' },\n this.props.validation ? gettext('(error)') : gettext('(success)')\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'getHelpText',\n value: function getHelpText() {\n if (this.props.helpText) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'p',\n { className: 'help-block' },\n this.props.helpText\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: this.getClassName() },\n _react2.default.createElement(\n 'label',\n { className: 'control-label ' + (this.props.labelClass || ''),\n htmlFor: this.props.for || '' },\n this.props.label + ':'\n ),\n _react2.default.createElement(\n 'div',\n { className: this.props.controlClass || '' },\n this.props.children,\n this.getFeedbackDescription(),\n this.getFeedback(),\n this.getHelpText(),\n this.props.extra || null\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\"}],55:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _validators = require('../utils/validators');\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar validateRequired = (0, _validators.required)();\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.bindInput = function (name) {\n return function (event) {\n _this.changeValue(name, event.target.value);\n };\n }, _this.changeValue = function (name, value) {\n var newState = _defineProperty({}, name, value);\n\n var formErrors = _this.state.errors || {};\n formErrors[name] = _this.validateField(name, newState[name]);\n newState.errors = formErrors;\n\n _this.setState(newState);\n }, _this.handleSubmit = function (event) {\n // we don't reload page on submissions\n if (event) {\n event.preventDefault();\n }\n\n if (_this.state.isLoading) {\n return;\n }\n\n if (_this.clean()) {\n _this.setState({ isLoading: true });\n var promise = _this.send();\n\n if (promise) {\n promise.then(function (success) {\n _this.setState({ isLoading: false });\n _this.handleSuccess(success);\n }, function (rejection) {\n _this.setState({ isLoading: false });\n _this.handleError(rejection);\n });\n } else {\n _this.setState({ isLoading: false });\n }\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'validate',\n value: function validate() {\n var errors = {};\n if (!this.state.validators) {\n return errors;\n }\n\n var validators = {\n required: this.state.validators.required || this.state.validators,\n optional: this.state.validators.optional || {}\n };\n\n var validatedFields = [];\n\n // add required fields to validation\n for (var name in validators.required) {\n if (validators.required.hasOwnProperty(name) && validators.required[name]) {\n validatedFields.push(name);\n }\n }\n\n // add optional fields to validation\n for (var _name in validators.optional) {\n if (validators.optional.hasOwnProperty(_name) && validators.optional[_name]) {\n validatedFields.push(_name);\n }\n }\n\n // validate fields values\n for (var i in validatedFields) {\n var _name2 = validatedFields[i];\n var fieldErrors = this.validateField(_name2, this.state[_name2]);\n\n if (fieldErrors === null) {\n errors[_name2] = null;\n } else if (fieldErrors) {\n errors[_name2] = fieldErrors;\n }\n }\n\n return errors;\n }\n }, {\n key: 'isValid',\n value: function isValid() {\n var errors = this.validate();\n for (var field in errors) {\n if (errors.hasOwnProperty(field)) {\n if (errors[field] !== null) {\n return false;\n }\n }\n }\n\n return true;\n }\n }, {\n key: 'validateField',\n value: function validateField(name, value) {\n var errors = [];\n if (!this.state.validators) {\n return errors;\n }\n\n var validators = {\n required: (this.state.validators.required || this.state.validators)[name],\n optional: (this.state.validators.optional || {})[name]\n };\n\n var requiredError = validateRequired(value) || false;\n\n if (validators.required) {\n if (requiredError) {\n errors = [requiredError];\n } else {\n for (var i in validators.required) {\n var validationError = validators.required[i](value);\n if (validationError) {\n errors.push(validationError);\n }\n }\n }\n\n return errors.length ? errors : null;\n } else if (requiredError === false && validators.optional) {\n for (var _i in validators.optional) {\n var _validationError = validators.optional[_i](value);\n if (_validationError) {\n errors.push(_validationError);\n }\n }\n\n return errors.length ? errors : null;\n }\n\n return false; // false === field wasn't validated\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'clean',\n value: function clean() {\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n return null;\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(success) {\n return;\n }\n }, {\n key: 'handleError',\n\n /* jshint ignore:end */\n value: function handleError(rejection) {\n _snackbar2.default.apiError(rejection);\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../services/snackbar\":375,\"../utils/validators\":392,\"react\":\"react\"}],56:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'isActive',\n value: function isActive() {\n if (this.props.isControlled) {\n return this.props.isActive;\n } else {\n if (this.props.path) {\n return document.location.pathname.indexOf(this.props.path) === 0;\n } else {\n return false;\n }\n }\n }\n }, {\n key: 'getClassName',\n value: function getClassName() {\n if (this.isActive()) {\n return (this.props.className || '') + ' ' + (this.props.activeClassName || 'active');\n } else {\n return this.props.className || '';\n }\n }\n }, {\n key: 'render',\n value: function render() {\n // jshint ignore:start\n return _react2.default.createElement(\n 'li',\n { className: this.getClassName() },\n this.props.children\n );\n // jshint ignore:end\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\"}],57:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n \"div\",\n { className: props.className || \"loader\" },\n _react2.default.createElement(\"div\", { className: \"loader-spinning-wheel\" })\n );\n};\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],58:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.BestAnswerSelect = BestAnswerSelect;\nexports.PollSelect = PollSelect;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('./button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('./form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.handleSuccess = function (success) {\n _this.props.onSuccess(success);\n _modal2.default.hide();\n };\n\n _this.handleError = function (rejection) {\n _this.props.onError(rejection);\n };\n\n _this.onBestAnswerChange = function (event) {\n _this.changeValue('bestAnswer', event.target.value);\n };\n\n _this.onPollChange = function (event) {\n _this.changeValue('poll', event.target.value);\n };\n\n _this.state = {\n isLoading: false,\n\n bestAnswer: '0',\n poll: '0'\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'clean',\n value: function clean() {\n if (this.props.polls && this.state.poll === '0') {\n var confirmation = confirm(gettext(\"Are you sure you want to delete all polls?\"));\n return confirmation;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n var data = Object.assign({}, this.props.data, {\n best_answer: this.state.bestAnswer,\n poll: this.state.poll\n });\n\n return _ajax2.default.post(this.props.api, data);\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-dialog', role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-label': gettext(\"Close\"),\n className: 'close',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Merge threads\")\n )\n ),\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(BestAnswerSelect, {\n choices: this.props.bestAnswers,\n onChange: this.onBestAnswerChange,\n value: this.state.bestAnswer\n }),\n _react2.default.createElement(PollSelect, {\n choices: this.props.polls,\n onChange: this.onPollChange,\n value: this.state.poll\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n disabled: this.state.isLoading,\n type: 'button'\n },\n gettext(\"Cancel\")\n ),\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary', loading: this.state.isLoading },\n gettext(\"Merge threads\")\n )\n )\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\nfunction BestAnswerSelect(_ref) {\n var choices = _ref.choices,\n onChange = _ref.onChange,\n value = _ref.value;\n\n if (!choices) return null;\n\n return _react2.default.createElement(\n _formGroup2.default,\n {\n label: gettext(\"Best answer\"),\n helpText: gettext(\"Please select the best answer for your newly merged thread. No posts will be deleted during the merge.\"),\n 'for': 'id_best_answer'\n },\n _react2.default.createElement(\n 'select',\n {\n className: 'form-control',\n id: 'id_best_answer',\n onChange: onChange,\n value: value\n },\n choices.map(function (choice) {\n return _react2.default.createElement(\n 'option',\n { value: choice[0], key: choice[0] },\n choice[1]\n );\n })\n )\n );\n}\n\nfunction PollSelect(_ref2) {\n var choices = _ref2.choices,\n onChange = _ref2.onChange,\n value = _ref2.value;\n\n if (!choices) return null;\n\n return _react2.default.createElement(\n _formGroup2.default,\n {\n label: gettext(\"Poll\"),\n helpText: gettext(\"Please select the poll for your newly merged thread. Rejected polls will be permanently deleted and cannot be recovered.\"),\n 'for': 'id_poll'\n },\n _react2.default.createElement(\n 'select',\n {\n className: 'form-control',\n id: 'id_poll',\n onChange: onChange,\n value: value\n },\n choices.map(function (choice) {\n return _react2.default.createElement(\n 'option',\n { value: choice[0], key: choice[0] },\n choice[1]\n );\n })\n )\n );\n}\n\n},{\"../services/ajax\":364,\"../services/modal\":370,\"./button\":8,\"./form\":55,\"./form-group\":54,\"react\":\"react\"}],59:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _oneBox = require('../services/one-box');\n\nvar _oneBox2 = _interopRequireDefault(_oneBox);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n _oneBox2.default.render(this.documentNode);\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps, prevState) {\n _oneBox2.default.render(this.documentNode);\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps, nextState) {\n return nextProps.markup !== this.props.markup;\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n return _react2.default.createElement('article', {\n className: 'misago-markup',\n dangerouslySetInnerHTML: { __html: this.props.markup },\n ref: function ref(node) {\n _this2.documentNode = node;\n }\n });\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../services/one-box\":371,\"react\":\"react\"}],60:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _loader = require('./loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'modal-body modal-loader' },\n _react2.default.createElement(_loader2.default, null)\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"./loader\":57,\"react\":\"react\"}],61:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _panelMessage = require('./panel-message');\n\nvar _panelMessage2 = _interopRequireDefault(_panelMessage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n\n\nvar _class = function (_PanelMessage) {\n _inherits(_class, _PanelMessage);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'getHelpText',\n value: function getHelpText() {\n if (this.props.helpText) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'p',\n { className: 'help-block' },\n this.props.helpText\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n this.props.icon || 'info_outline'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n this.props.message\n ),\n this.getHelpText(),\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n gettext(\"Ok\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_panelMessage2.default);\n\nexports.default = _class;\n\n},{\"./panel-message\":93,\"react\":\"react\"}],62:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (data) {\n var filtered = data.filter(function (section) {\n return section.results.count > 0;\n });\n\n return filtered.map(function (section) {\n return Object.assign({}, section, {\n count: section.results.count,\n results: section.results.results.slice(0, MAX_RESULTS)\n });\n });\n};\n\nvar MAX_RESULTS = 5;\n\n},{}],63:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar HEADER = exports.HEADER = 'HEADER';\nvar RESULT = exports.RESULT = 'RESULT';\nvar FOOTER = exports.FOOTER = 'FOOTER';\n\n},{}],64:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var children = _ref.children,\n onChange = _ref.onChange,\n query = _ref.query;\n\n return _react2.default.createElement(\n 'ul',\n { className: 'dropdown-menu dropdown-search-results', role: 'menu' },\n _react2.default.createElement(\n 'li',\n { className: 'form-group' },\n _react2.default.createElement(_input2.default, {\n value: query,\n onChange: onChange\n })\n ),\n children\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _input = require('./input');\n\nvar _input2 = _interopRequireDefault(_input);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./input\":68,\"react\":\"react\"}],65:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function () {\n return _react2.default.createElement(\n \"li\",\n { className: \"dropdown-search-message\" },\n gettext(\"Search returned no results.\")\n );\n};\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],66:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (results) {\n var flatlist = [];\n flattenProviders(results, flatlist);\n return flatlist;\n};\n\nvar _constants = require('./constants');\n\nfunction flattenProviders(results, flatlist) {\n var arrayLength = results.length;\n for (var i = 0; i < arrayLength; i++) {\n var provider = results[i];\n\n flatlist.push({\n provider: provider,\n type: _constants.HEADER\n });\n\n flattenProvider(provider, flatlist);\n }\n}\n\nfunction flattenProvider(provider, flatlist) {\n var arrayLength = provider.results.length;\n for (var i = 0; i < arrayLength; i++) {\n var result = provider.results[i];\n flatlist.push({\n provider: provider,\n result: result,\n type: _constants.RESULT\n });\n }\n\n flatlist.push({\n provider: provider,\n type: _constants.FOOTER\n });\n}\n\n},{\"./constants\":63}],67:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // jshint ignore:start\n\n\nexports.default = function (_ref) {\n var isLoading = _ref.isLoading,\n onChange = _ref.onChange,\n results = _ref.results,\n query = _ref.query;\n\n if (!query.trim().length) {\n return _react2.default.createElement(_dropdownMenu2.default, { onChange: onChange, query: query });\n }\n\n if (results.length) {\n var flatResults = (0, _flattenResults2.default)(results);\n\n return _react2.default.createElement(\n _dropdownMenu2.default,\n { onChange: onChange, query: query },\n flatResults.map(function (props) {\n var type = props.type,\n provider = props.provider,\n result = props.result;\n\n\n if (type === _constants.RESULT) {\n return _react2.default.createElement(_result2.default, _extends({\n key: [provider.id, type, result.id].join('_')\n }, props));\n }\n\n return _react2.default.createElement(_result2.default, _extends({\n key: [provider.id, type].join('_'),\n query: query\n }, props));\n })\n );\n } else if (isLoading) {\n return _react2.default.createElement(\n _dropdownMenu2.default,\n { onChange: onChange, query: query },\n _react2.default.createElement(_loader2.default, null)\n );\n }\n\n return _react2.default.createElement(\n _dropdownMenu2.default,\n { onChange: onChange, query: query },\n _react2.default.createElement(_empty2.default, null)\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _constants = require('./constants');\n\nvar _dropdownMenu = require('./dropdown-menu');\n\nvar _dropdownMenu2 = _interopRequireDefault(_dropdownMenu);\n\nvar _empty = require('./empty');\n\nvar _empty2 = _interopRequireDefault(_empty);\n\nvar _loader = require('./loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nvar _result = require('./result');\n\nvar _result2 = _interopRequireDefault(_result);\n\nvar _flattenResults = require('./flatten-results');\n\nvar _flattenResults2 = _interopRequireDefault(_flattenResults);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./constants\":63,\"./dropdown-menu\":64,\"./empty\":65,\"./flatten-results\":66,\"./loader\":69,\"./result\":72,\"react\":\"react\"}],68:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var value = _ref.value,\n onChange = _ref.onChange;\n\n return _react2.default.createElement(\"input\", {\n \"aria-haspopup\": \"true\",\n \"aria-expanded\": \"false\",\n autoComplete: \"off\",\n className: \"form-control\",\n value: value,\n onChange: onChange,\n placeholder: gettext(\"Search\"),\n role: \"combobox\",\n type: \"text\"\n });\n};\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],69:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var message = _ref.message;\n\n return _react2.default.createElement(\n 'li',\n { className: 'dropdown-search-loader' },\n _react2.default.createElement(_loader2.default, null)\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _loader = require('../../loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../loader\":57,\"react\":\"react\"}],70:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var provider = _ref.provider,\n query = _ref.query;\n\n var url = provider.url + '?q=' + encodeURI(query);\n var label = ngettext('See full \"%(provider)s\" results page with %(count)s result.', 'See full \"%(provider)s\" results page with %(count)s results.', provider.count);\n\n return _react2.default.createElement(\n 'li',\n { className: 'dropdown-search-footer' },\n _react2.default.createElement(\n 'a',\n { href: url },\n interpolate(label, {\n count: provider.count,\n provider: provider.name\n }, true)\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],71:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var provider = _ref.provider;\n\n return _react2.default.createElement(\n \"li\",\n { className: \"dropdown-search-header\" },\n provider.name\n );\n};\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],72:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var provider = _ref.provider,\n result = _ref.result,\n type = _ref.type,\n query = _ref.query;\n\n if (type === _constants.HEADER) {\n return _react2.default.createElement(_header2.default, { provider: provider });\n } else if (type === _constants.FOOTER) {\n return _react2.default.createElement(_footer2.default, { provider: provider, query: query });\n }\n\n return _react2.default.createElement(_result2.default, { provider: provider, result: result });\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _constants = require('../constants');\n\nvar _footer = require('./footer');\n\nvar _footer2 = _interopRequireDefault(_footer);\n\nvar _header = require('./header');\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _result = require('./result');\n\nvar _result2 = _interopRequireDefault(_result);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../constants\":63,\"./footer\":70,\"./header\":71,\"./result\":73,\"react\":\"react\"}],73:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var provider = _ref.provider,\n result = _ref.result;\n\n if (provider.id === 'threads') {\n return _react2.default.createElement(_thread2.default, { result: result });\n }\n\n return _react2.default.createElement(_user2.default, { result: result });\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _thread = require('./thread');\n\nvar _thread2 = _interopRequireDefault(_thread);\n\nvar _user = require('./user');\n\nvar _user2 = _interopRequireDefault(_user);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./thread\":74,\"./user\":75,\"react\":\"react\"}],74:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var result = _ref.result;\n var poster = result.poster,\n thread = result.thread;\n\n var footer = gettext(\"Posted by %(poster)s on %(posted_on)s in %(category)s.\");\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'a',\n { href: result.url.index, className: 'dropdown-search-thread' },\n _react2.default.createElement(\n 'h5',\n null,\n thread.title\n ),\n _react2.default.createElement(\n 'small',\n { className: 'dropdown-search-post-content' },\n $(result.content).text()\n ),\n _react2.default.createElement(\n 'small',\n { className: 'dropdown-search-post-footer' },\n interpolate(footer, {\n category: result.category.name,\n posted_on: (0, _moment2.default)(result.posted_on).format('LL'),\n poster: result.poster_name\n }, true)\n )\n )\n );\n};\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"moment\":\"moment\",\"react\":\"react\"}],75:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var result = _ref.result;\n var rank = result.rank;\n\n\n var detail = gettext(\"%(title)s, joined on %(joined_on)s\");\n var title = result.title || rank.title || rank.name;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'a',\n { href: result.url, className: 'dropdown-search-user' },\n _react2.default.createElement(\n 'div',\n { className: 'media' },\n _react2.default.createElement(\n 'div',\n { className: 'media-left' },\n _react2.default.createElement(_avatar2.default, { size: 38, user: result })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'media-body' },\n _react2.default.createElement(\n 'h5',\n { className: 'media-heading' },\n result.username\n ),\n _react2.default.createElement(\n 'small',\n null,\n interpolate(detail, {\n title: title,\n joined_on: (0, _moment2.default)(result.joined_on).format('LL')\n }, true)\n )\n )\n )\n )\n );\n};\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../../avatar\":6,\"moment\":\"moment\",\"react\":\"react\"}],76:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _cleanResults = require('./clean-results');\n\nvar _cleanResults2 = _interopRequireDefault(_cleanResults);\n\nvar _dropdown = require('./dropdown');\n\nvar _dropdown2 = _interopRequireDefault(_dropdown);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this));\n\n _this.onToggle = function (ev) {\n _this.setState(function (prevState, props) {\n if (!prevState.isOpen) {\n window.setTimeout(function () {\n _this.container.querySelector('input').focus();\n }, 100);\n }\n\n return { isOpen: !prevState.isOpen };\n });\n };\n\n _this.onDocumentMouseDown = function (ev) {\n var closeResults = true;\n var node = ev.target;\n\n while (node !== null && node !== document) {\n if (node === _this.container) {\n closeResults = false;\n return;\n }\n\n node = node.parentNode;\n }\n\n if (closeResults) {\n _this.setState({ isOpen: false });\n }\n };\n\n _this.onEscape = function (ev) {\n if (ev.key === 'Escape') {\n _this.setState({ isOpen: false });\n }\n };\n\n _this.onChange = function (ev) {\n var query = ev.target.value;\n\n _this.setState({ query: query });\n _this.loadResults(query.trim());\n };\n\n _this.state = {\n isLoading: false,\n isOpen: false,\n query: '',\n results: []\n };\n\n _this.intervalId = null;\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n document.addEventListener('mousedown', this.onDocumentMouseDown);\n document.addEventListener('keydown', this.onEscape);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n document.removeEventListener('mousedown', this.onDocumentMouseDown);\n document.removeEventListener('keydown', this.onEscape);\n }\n }, {\n key: 'loadResults',\n value: function loadResults(query) {\n var _this2 = this;\n\n if (!query.length) return;\n\n var delay = 300 + Math.random() * 300;\n\n if (this.intervalId) {\n window.clearTimeout(this.intervalId);\n }\n\n this.setState({ isLoading: true });\n\n this.intervalId = window.setTimeout(function () {\n _ajax2.default.get(_2.default.get('SEARCH_API'), { q: query }).then(function (data) {\n _this2.setState({\n intervalId: null,\n isLoading: false,\n results: (0, _cleanResults2.default)(data)\n });\n }, function (rejection) {\n _snackbar2.default.apiError(rejection);\n\n _this2.setState({\n intervalId: null,\n isLoading: false,\n results: []\n });\n });\n }, delay);\n }\n }, {\n key: 'render',\n value: function render() {\n var _this3 = this;\n\n var className = \"navbar-search dropdown\";\n if (this.state.isOpen) className += \" open\";\n\n return _react2.default.createElement(\n 'div',\n { className: className, ref: function ref(container) {\n return _this3.container = container;\n } },\n _react2.default.createElement(\n 'a',\n {\n 'aria-haspopup': 'true',\n 'aria-expanded': 'false',\n className: 'navbar-icon',\n 'data-toggle': 'dropdown',\n href: _2.default.get('SEARCH_URL'),\n onClick: this.onToggle\n },\n _react2.default.createElement(\n 'i',\n { className: 'material-icon' },\n 'search'\n )\n ),\n _react2.default.createElement(_dropdown2.default, {\n isLoading: this.state.isLoading,\n onChange: this.onChange,\n results: this.state.results,\n query: this.state.query\n })\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../..\":301,\"../../services/ajax\":364,\"../../services/snackbar\":375,\"./clean-results\":62,\"./dropdown\":67,\"react\":\"react\"}],77:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function () {\n return _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-form' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n gettext(\"Change username\")\n )\n ),\n _react2.default.createElement(_panelLoader2.default, null)\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _panelLoader = require('../../panel-loader');\n\nvar _panelLoader2 = _interopRequireDefault(_panelLoader);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../panel-loader\":92,\"react\":\"react\"}],78:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _panelMessage = require('../../panel-message');\n\nvar _panelMessage2 = _interopRequireDefault(_panelMessage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'getHelpText',\n value: function getHelpText() {\n if (this.props.options.next_on) {\n return interpolate(gettext(\"You will be able to change your username %(next_change)s.\"), { 'next_change': this.props.options.next_on.fromNow() }, true);\n } else {\n return gettext(\"You have used up available name changes.\");\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-form' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n gettext(\"Change username\")\n )\n ),\n _react2.default.createElement(_panelMessage2.default, {\n helpText: this.getHelpText(),\n message: gettext(\"You can't change your username at the moment.\")\n })\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../panel-message\":93,\"react\":\"react\"}],79:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _validators = require('../../../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.state = {\n username: '',\n\n validators: {\n username: [validators.usernameContent(), validators.usernameMinLength(props.options.length_min), validators.usernameMaxLength(props.options.length_max)]\n },\n\n isLoading: false\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'getHelpText',\n value: function getHelpText() {\n var phrases = [];\n\n if (this.props.options.changes_left > 0) {\n var message = ngettext(\"You can change your username %(changes_left)s more time.\", \"You can change your username %(changes_left)s more times.\", this.props.options.changes_left);\n\n phrases.push(interpolate(message, {\n 'changes_left': this.props.options.changes_left\n }, true));\n }\n\n if (this.props.user.acl.name_changes_expire > 0) {\n var _message = ngettext(\"Used changes become available again after %(name_changes_expire)s day.\", \"Used changes become available again after %(name_changes_expire)s days.\", this.props.user.acl.name_changes_expire);\n\n phrases.push(interpolate(_message, {\n 'name_changes_expire': this.props.user.acl.name_changes_expire\n }, true));\n }\n\n return phrases.length ? phrases.join(' ') : null;\n }\n }, {\n key: 'clean',\n value: function clean() {\n var errors = this.validate();\n if (errors.username) {\n _snackbar2.default.error(errors.username[0]);\n return false;\n }if (this.state.username.trim() === this.props.user.username) {\n _snackbar2.default.info(gettext(\"Your new username is same as current one.\"));\n return false;\n } else {\n return true;\n }\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.user.api.username, {\n 'username': this.state.username\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(success) {\n this.setState({\n 'username': ''\n });\n\n this.props.complete(success.username, success.slug, success.options);\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n _snackbar2.default.apiError(rejection);\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-form' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n gettext(\"Change username\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"New username\"), 'for': 'id_username',\n helpText: this.getHelpText() },\n _react2.default.createElement('input', { type: 'text', id: 'id_username', className: 'form-control',\n disabled: this.state.isLoading,\n onChange: this.bindInput('username'),\n value: this.state.username })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-footer' },\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary', loading: this.state.isLoading },\n gettext(\"Change username\")\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../../services/ajax\":364,\"../../../services/snackbar\":375,\"../../../utils/validators\":392,\"../../button\":8,\"../../form\":55,\"../../form-group\":54,\"react\":\"react\"}],80:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _formLoading = require('./form-loading');\n\nvar _formLoading2 = _interopRequireDefault(_formLoading);\n\nvar _formLocked = require('./form-locked');\n\nvar _formLocked2 = _interopRequireDefault(_formLocked);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _root = require('../../username-history/root');\n\nvar _root2 = _interopRequireDefault(_root);\n\nvar _index = require('../../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _usernameHistory = require('../../../reducers/username-history');\n\nvar _users = require('../../../reducers/users');\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _pageTitle = require('../../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.onComplete = function (username, slug, options) {\n _this.setState({\n options: options\n });\n\n _store2.default.dispatch((0, _usernameHistory.addNameChange)({ username: username, slug: slug }, _this.props.user, _this.props.user));\n _store2.default.dispatch((0, _users.updateUsername)(_this.props.user, username, slug));\n\n _snackbar2.default.success(gettext(\"Your username has been changed successfully.\"));\n };\n\n _this.state = {\n isLoaded: false,\n options: null\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n _pageTitle2.default.set({\n title: gettext(\"Change username\"),\n parent: gettext(\"Change your options\")\n });\n\n Promise.all([_ajax2.default.get(this.props.user.api.username), _ajax2.default.get(_index2.default.get('USERNAME_CHANGES_API'), { user: this.props.user.id })]).then(function (data) {\n _store2.default.dispatch((0, _usernameHistory.hydrate)(data[1].results));\n\n _this2.setState({\n isLoaded: true,\n options: {\n changes_left: data[0].changes_left,\n length_min: data[0].length_min,\n length_max: data[0].length_max,\n next_on: data[0].next_on ? (0, _moment2.default)(data[0].next_on) : null\n }\n });\n });\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'getChangeForm',\n\n /* jshint ignore:end */\n\n value: function getChangeForm() {\n if (!this.state.isLoaded) {\n /* jshint ignore:start */\n return _react2.default.createElement(_formLoading2.default, null);\n /* jshint ignore:end */\n }\n\n if (this.state.options.changes_left === 0) {\n /* jshint ignore:start */\n return _react2.default.createElement(_formLocked2.default, { options: this.state.options });\n /* jshint ignore:end */\n }\n\n /* jshint ignore:start */\n return _react2.default.createElement(_form2.default, {\n complete: this.onComplete,\n options: this.state.options,\n user: this.props.user\n });\n /* jshint ignore:end */\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n null,\n this.getChangeForm(),\n _react2.default.createElement(_root2.default, {\n changes: this.props['username-history'],\n isLoaded: this.state.isLoaded\n })\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../index\":301,\"../../../reducers/username-history\":362,\"../../../reducers/users\":363,\"../../../services/ajax\":364,\"../../../services/page-title\":372,\"../../../services/snackbar\":375,\"../../../services/store\":376,\"../../username-history/root\":279,\"./form\":79,\"./form-loading\":77,\"./form-locked\":78,\"moment\":\"moment\",\"react\":\"react\"}],81:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _pageTitle = require('../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.onPasswordChange = function (event) {\n _this.setState({ password: event.target.value });\n };\n\n _this.handleSubmit = function (event) {\n event.preventDefault();\n\n var _this$state = _this.state,\n isLoading = _this$state.isLoading,\n password = _this$state.password;\n var user = _this.props.user;\n\n\n if (password.length == 0) {\n _snackbar2.default.error(gettext(\"Enter your password to confirm account deletion.\"));\n return false;\n }\n\n if (isLoading) return false;\n _this.setState({ isLoading: true });\n\n _ajax2.default.post(user.api.delete, { password: password }).then(function (success) {\n window.location.href = _2.default.get('MISAGO_PATH');\n }, function (rejection) {\n _this.setState({ isLoading: false });\n if (rejection.password) {\n _snackbar2.default.error(rejection.password[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n });\n };\n\n _this.state = {\n isLoading: false,\n password: ''\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n _pageTitle2.default.set({\n title: gettext(\"Delete account\"),\n parent: gettext(\"Change your options\")\n });\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-danger panel-form' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n gettext(\"Delete account\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"You are going to delete your account. This action is nonreversible, and will result in following data being deleted:\")\n ),\n _react2.default.createElement(\n 'p',\n null,\n '- ',\n gettext(\"Stored IP addresses associated with content that you have posted will be deleted.\")\n ),\n _react2.default.createElement(\n 'p',\n null,\n '- ',\n gettext(\"Your username will become available for other user to rename to or for new user to register their account with.\")\n ),\n _react2.default.createElement(\n 'p',\n null,\n '- ',\n gettext(\"Your e-mail will become available for use in new account registration.\")\n ),\n _react2.default.createElement('hr', null),\n _react2.default.createElement(\n 'p',\n null,\n gettext(\"All your posted content will NOT be deleted, but username associated with it will be changed to one shared by all deleted accounts.\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-footer' },\n _react2.default.createElement(\n 'div',\n { className: 'input-group' },\n _react2.default.createElement('input', {\n className: 'form-control',\n disabled: this.state.isLoading,\n name: 'password-confirmation',\n type: 'password',\n placeholder: gettext(\"Enter your password to confirm account deletion.\"),\n value: this.state.password,\n onChange: this.onPasswordChange\n }),\n _react2.default.createElement(\n 'span',\n { className: 'input-group-btn' },\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-danger', loading: this.state.isLoading },\n gettext(\"Delete my account\")\n )\n )\n )\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../..\":301,\"../../services/ajax\":364,\"../../services/page-title\":372,\"../../services/snackbar\":375,\"../../services/store\":376,\"../button\":8,\"react\":\"react\"}],82:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _pageTitle = require('../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar DownloadData = function (_React$Component) {\n _inherits(DownloadData, _React$Component);\n\n function DownloadData(props) {\n _classCallCheck(this, DownloadData);\n\n var _this = _possibleConstructorReturn(this, (DownloadData.__proto__ || Object.getPrototypeOf(DownloadData)).call(this, props));\n\n _this.handleLoadDownloads = function () {\n _ajax2.default.get(_this.props.user.api.data_downloads).then(function (data) {\n _this.setState({\n isLoading: false,\n downloads: data\n });\n }, function (rejection) {\n _snackbar2.default.apiError(rejection);\n });\n };\n\n _this.handleRequestDataDownload = function () {\n _this.setState({ isSubmiting: true });\n _ajax2.default.post(_this.props.user.api.request_data_download).then(function () {\n _this.handleLoadDownloads();\n _snackbar2.default.success(gettext(\"Your request for data download has been registered.\"));\n _this.setState({ isSubmiting: false });\n }, function (rejection) {\n console.log(rejection);\n _snackbar2.default.apiError(rejection);\n _this.setState({ isSubmiting: false });\n });\n };\n\n _this.state = {\n isLoading: false,\n isSubmiting: false,\n downloads: []\n };\n return _this;\n }\n\n _createClass(DownloadData, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n _pageTitle2.default.set({\n title: gettext(\"Download your data\"),\n parent: gettext(\"Change your options\")\n });\n\n this.handleLoadDownloads();\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-form' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n gettext(\"Download your data\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n 'p',\n null,\n gettext(\"To download your data from the site, click the \\\"Request data download\\\" button. Depending on amount of data to be archived and number of users wanting to download their data at same time it may take up to few days for your download to be prepared. An e-mail with notification will be sent to you when your data is ready to be downloaded.\")\n ),\n _react2.default.createElement(\n 'p',\n null,\n gettext(\"The download will only be available for limited amount of time, after which it will be deleted from the site and marked as expired.\")\n )\n ),\n _react2.default.createElement(\n 'table',\n { className: 'table' },\n _react2.default.createElement(\n 'thead',\n null,\n _react2.default.createElement(\n 'tr',\n null,\n _react2.default.createElement(\n 'th',\n null,\n gettext(\"Requested on\")\n ),\n _react2.default.createElement(\n 'th',\n { className: 'col-md-4' },\n gettext(\"Download\")\n )\n )\n ),\n _react2.default.createElement(\n 'tbody',\n null,\n this.state.downloads.map(function (item) {\n return _react2.default.createElement(\n 'tr',\n { key: item.id },\n _react2.default.createElement(\n 'td',\n { style: rowStyle },\n (0, _moment2.default)(item.requested_on).fromNow()\n ),\n _react2.default.createElement(\n 'td',\n null,\n _react2.default.createElement(DownloadButton, {\n exportFile: item.file,\n status: item.status\n })\n )\n );\n }),\n this.state.downloads.length == 0 ? _react2.default.createElement(\n 'tr',\n null,\n _react2.default.createElement(\n 'td',\n { colSpan: '2' },\n gettext(\"You have no data downloads.\")\n )\n ) : null\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-footer text-right' },\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-primary',\n loading: this.state.isSubmiting,\n type: 'button',\n onClick: this.handleRequestDataDownload\n },\n gettext(\"Request data download\")\n )\n )\n )\n );\n }\n }]);\n\n return DownloadData;\n}(_react2.default.Component);\n\nexports.default = DownloadData;\n\n\nvar rowStyle = {\n verticalAlign: 'middle'\n};\n\nvar STATUS_PENDING = 0;\nvar STATUS_PROCESSING = 1;\n\nvar DownloadButton = function DownloadButton(_ref) {\n var exportFile = _ref.exportFile,\n status = _ref.status;\n\n if (status === STATUS_PENDING || status === STATUS_PROCESSING) {\n return _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-info btn-sm btn-block',\n disabled: true,\n type: 'button'\n },\n gettext(\"Download is being prepared\")\n );\n }\n\n if (exportFile) {\n return _react2.default.createElement(\n 'a',\n {\n className: 'btn btn-success btn-sm btn-block',\n href: exportFile\n },\n gettext(\"Download your data\")\n );\n }\n\n return _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-default btn-sm btn-block',\n disabled: true,\n type: 'button'\n },\n gettext(\"Download is expired\")\n );\n};\n\n},{\"../../services/ajax\":364,\"../../services/page-title\":372,\"../../services/snackbar\":375,\"../button\":8,\"moment\":\"moment\",\"react\":\"react\"}],83:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _editDetails = require('../edit-details');\n\nvar _editDetails2 = _interopRequireDefault(_editDetails);\n\nvar _pageTitle = require('../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.onSuccess = function () {\n _snackbar2.default.info(gettext(\"Your details have been updated.\"));\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n _pageTitle2.default.set({\n title: gettext(\"Edit details\"),\n parent: gettext(\"Change your options\")\n });\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(_editDetails2.default, {\n api: this.props.user.api.edit_details,\n onSuccess: this.onSuccess\n });\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../services/page-title\":372,\"../../services/snackbar\":375,\"../edit-details\":32,\"react\":\"react\"}],84:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _select = require('../select');\n\nvar _select2 = _interopRequireDefault(_select);\n\nvar _yesNoSwitch = require('../yes-no-switch');\n\nvar _yesNoSwitch2 = _interopRequireDefault(_yesNoSwitch);\n\nvar _auth = require('../../reducers/auth');\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _pageTitle = require('../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.state = {\n 'isLoading': false,\n\n 'is_hiding_presence': props.user.is_hiding_presence,\n 'limits_private_thread_invites_to': props.user.limits_private_thread_invites_to,\n 'subscribe_to_started_threads': props.user.subscribe_to_started_threads,\n 'subscribe_to_replied_threads': props.user.subscribe_to_replied_threads,\n\n 'errors': {}\n };\n\n _this.privateThreadInvitesChoices = [{\n 'value': 0,\n 'icon': 'help_outline',\n 'label': gettext(\"Everybody\")\n }, {\n 'value': 1,\n 'icon': 'done_all',\n 'label': gettext(\"Users I follow\")\n }, {\n 'value': 2,\n 'icon': 'highlight_off',\n 'label': gettext(\"Nobody\")\n }];\n\n _this.subscribeToChoices = [{\n 'value': 0,\n 'icon': 'star_border',\n 'label': gettext(\"No\")\n }, {\n 'value': 1,\n 'icon': 'star_half',\n 'label': gettext(\"Notify\")\n }, {\n 'value': 2,\n 'icon': 'star',\n 'label': gettext(\"Notify with e-mail\")\n }];\n return _this;\n }\n\n _createClass(_class, [{\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.user.api.options, {\n is_hiding_presence: this.state.is_hiding_presence,\n limits_private_thread_invites_to: this.state.limits_private_thread_invites_to,\n subscribe_to_started_threads: this.state.subscribe_to_started_threads,\n subscribe_to_replied_threads: this.state.subscribe_to_replied_threads\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess() {\n _store2.default.dispatch((0, _auth.patch)({\n is_hiding_presence: this.state.is_hiding_presence,\n limits_private_thread_invites_to: this.state.limits_private_thread_invites_to,\n subscribe_to_started_threads: this.state.subscribe_to_started_threads,\n subscribe_to_replied_threads: this.state.subscribe_to_replied_threads\n }));\n _snackbar2.default.success(gettext(\"Your forum options have been changed.\"));\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(gettext(\"Please reload page and try again.\"));\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n _pageTitle2.default.set({\n title: gettext(\"Forum options\"),\n parent: gettext(\"Change your options\")\n });\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-form' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n gettext(\"Change forum options\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n 'fieldset',\n null,\n _react2.default.createElement(\n 'legend',\n null,\n gettext(\"Privacy settings\")\n ),\n _react2.default.createElement(\n _formGroup2.default,\n {\n label: gettext(\"Hide my presence\"),\n helpText: gettext(\"If you hide your presence, only members with permission to see hidden users will see when you are online.\"),\n 'for': 'id_is_hiding_presence'\n },\n _react2.default.createElement(_yesNoSwitch2.default, {\n id: 'id_is_hiding_presence',\n disabled: this.state.isLoading,\n iconOn: 'visibility_off',\n iconOff: 'visibility',\n labelOn: gettext(\"Hide my presence from other users\"),\n labelOff: gettext(\"Show my presence to other users\"),\n onChange: this.bindInput('is_hiding_presence'),\n value: this.state.is_hiding_presence\n })\n ),\n _react2.default.createElement(\n _formGroup2.default,\n {\n label: gettext(\"Private thread invitations\"),\n 'for': 'id_limits_private_thread_invites_to'\n },\n _react2.default.createElement(_select2.default, {\n id: 'id_limits_private_thread_invites_to',\n disabled: this.state.isLoading,\n onChange: this.bindInput('limits_private_thread_invites_to'),\n value: this.state.limits_private_thread_invites_to,\n choices: this.privateThreadInvitesChoices\n })\n )\n ),\n _react2.default.createElement(\n 'fieldset',\n null,\n _react2.default.createElement(\n 'legend',\n null,\n gettext(\"Automatic subscriptions\")\n ),\n _react2.default.createElement(\n _formGroup2.default,\n {\n label: gettext(\"Threads I start\"),\n 'for': 'id_subscribe_to_started_threads'\n },\n _react2.default.createElement(_select2.default, {\n id: 'id_subscribe_to_started_threads',\n disabled: this.state.isLoading,\n onChange: this.bindInput('subscribe_to_started_threads'),\n value: this.state.subscribe_to_started_threads,\n choices: this.subscribeToChoices\n })\n ),\n _react2.default.createElement(\n _formGroup2.default,\n {\n label: gettext(\"Threads I reply to\"),\n 'for': 'id_subscribe_to_replied_threads'\n },\n _react2.default.createElement(_select2.default, {\n id: 'id_subscribe_to_replied_threads',\n disabled: this.state.isLoading,\n onChange: this.bindInput('subscribe_to_replied_threads'),\n value: this.state.subscribe_to_replied_threads,\n choices: this.subscribeToChoices\n })\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-footer' },\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary', loading: this.state.isLoading },\n gettext(\"Save changes\")\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../reducers/auth\":349,\"../../services/ajax\":364,\"../../services/page-title\":372,\"../../services/snackbar\":375,\"../../services/store\":376,\"../button\":8,\"../form\":55,\"../form-group\":54,\"../select\":209,\"../yes-no-switch\":299,\"react\":\"react\"}],85:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SideNav = SideNav;\nexports.CompactNav = CompactNav;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRouter = require('react-router');\n\nvar _li = require('../li');\n\nvar _li2 = _interopRequireDefault(_li);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:start\nfunction SideNav(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'list-group nav-side' },\n props.options.map(function (option) {\n return _react2.default.createElement(\n _reactRouter.Link,\n {\n to: props.baseUrl + option.component + '/',\n className: 'list-group-item',\n activeClassName: 'active',\n key: option.component\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n option.icon\n ),\n option.name\n );\n })\n );\n}\n\nfunction CompactNav(props) {\n return _react2.default.createElement(\n 'ul',\n { className: props.className || \"dropdown-menu stick-to-bottom\", role: 'menu' },\n props.options.map(function (option) {\n return _react2.default.createElement(\n _li2.default,\n {\n path: props.baseUrl + option.component + '/',\n key: option.component\n },\n _react2.default.createElement(\n _reactRouter.Link,\n {\n to: props.baseUrl + option.component + '/',\n onClick: props.hideNav\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon hidden-sm' },\n option.icon\n ),\n option.name\n )\n );\n })\n );\n}\n\n},{\"../../index\":301,\"../li\":56,\"react\":\"react\",\"react-router\":\"react-router\"}],86:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.select = select;\nexports.paths = paths;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRedux = require('react-redux');\n\nvar _dropdownToggle = require('../dropdown-toggle');\n\nvar _dropdownToggle2 = _interopRequireDefault(_dropdownToggle);\n\nvar _navs = require('./navs');\n\nvar _deleteAccount = require('./delete-account');\n\nvar _deleteAccount2 = _interopRequireDefault(_deleteAccount);\n\nvar _editDetails = require('./edit-details');\n\nvar _editDetails2 = _interopRequireDefault(_editDetails);\n\nvar _downloadData = require('./download-data');\n\nvar _downloadData2 = _interopRequireDefault(_downloadData);\n\nvar _forumOptions = require('./forum-options');\n\nvar _forumOptions2 = _interopRequireDefault(_forumOptions);\n\nvar _root = require('./change-username/root');\n\nvar _root2 = _interopRequireDefault(_root);\n\nvar _root3 = require('./sign-in-credentials/root');\n\nvar _root4 = _interopRequireDefault(_root3);\n\nvar _withDropdown = require('../with-dropdown');\n\nvar _withDropdown2 = _interopRequireDefault(_withDropdown);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_WithDropdown) {\n _inherits(_class, _WithDropdown);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'page page-options' },\n _react2.default.createElement(\n 'div',\n { className: 'page-header-bg' },\n _react2.default.createElement(\n 'div',\n { className: 'page-header' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'h1',\n null,\n gettext(\"Change your options\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'page-tabs visible-xs-block visible-sm-block' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(_navs.CompactNav, {\n className: 'nav nav-pills',\n baseUrl: _index2.default.get('USERCP_URL'),\n options: _index2.default.get('USER_OPTIONS')\n })\n )\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-3 hidden-xs hidden-sm' },\n _react2.default.createElement(_navs.SideNav, {\n baseUrl: _index2.default.get('USERCP_URL'),\n options: _index2.default.get('USER_OPTIONS')\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-md-9' },\n this.props.children\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_withDropdown2.default);\n\nexports.default = _class;\nfunction select(store) {\n return {\n 'tick': store.tick.tick,\n 'user': store.auth.user,\n 'username-history': store['username-history']\n };\n}\n\nfunction paths() {\n var paths = [{\n path: _index2.default.get('USERCP_URL') + 'forum-options/',\n component: (0, _reactRedux.connect)(select)(_forumOptions2.default)\n }, {\n path: _index2.default.get('USERCP_URL') + 'edit-details/',\n component: (0, _reactRedux.connect)(select)(_editDetails2.default)\n }, {\n path: _index2.default.get('USERCP_URL') + 'change-username/',\n component: (0, _reactRedux.connect)(select)(_root2.default)\n }, {\n path: _index2.default.get('USERCP_URL') + 'sign-in-credentials/',\n component: (0, _reactRedux.connect)(select)(_root4.default)\n }];\n\n if (_index2.default.get('ENABLE_DOWNLOAD_OWN_DATA')) {\n paths.push({\n path: _index2.default.get('USERCP_URL') + 'download-data/',\n component: (0, _reactRedux.connect)(select)(_downloadData2.default)\n });\n }\n\n if (_index2.default.get('ENABLE_DELETE_OWN_ACCOUNT')) {\n paths.push({\n path: _index2.default.get('USERCP_URL') + 'delete-account/',\n component: (0, _reactRedux.connect)(select)(_deleteAccount2.default)\n });\n }\n\n return paths;\n}\n\n},{\"../../index\":301,\"../dropdown-toggle\":27,\"../with-dropdown\":298,\"./change-username/root\":80,\"./delete-account\":81,\"./download-data\":82,\"./edit-details\":83,\"./forum-options\":84,\"./navs\":85,\"./sign-in-credentials/root\":90,\"react\":\"react\",\"react-redux\":\"react-redux\"}],87:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _index = require('../../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:start\nvar UnusablePasswordMessage = function UnusablePasswordMessage() {\n return _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-form' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n gettext(\"Change email or password\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-body panel-message-body' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'info_outline'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"You need to set a password for your account to be able to change your username or email.\")\n ),\n _react2.default.createElement(\n 'p',\n { className: 'help-block' },\n _react2.default.createElement(\n 'a',\n { className: 'btn btn-primary', href: _index2.default.get('FORGOTTEN_PASSWORD_URL') },\n gettext(\"Set password\")\n )\n )\n )\n )\n );\n};\n\nexports.default = UnusablePasswordMessage;\n\n},{\"../../../index\":301,\"react\":\"react\"}],88:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _validators = require('../../../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.state = {\n new_email: '',\n password: '',\n\n validators: {\n new_email: [validators.email()],\n password: []\n },\n\n isLoading: false\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'clean',\n value: function clean() {\n var errors = this.validate();\n var lengths = [this.state.new_email.trim().length, this.state.password.trim().length];\n\n if (lengths.indexOf(0) !== -1) {\n _snackbar2.default.error(gettext(\"Fill out all fields.\"));\n return false;\n }\n\n if (errors.new_email) {\n _snackbar2.default.error(errors.new_email[0]);\n return false;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.user.api.change_email, {\n new_email: this.state.new_email,\n password: this.state.password\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(response) {\n this.setState({\n new_email: '',\n password: ''\n });\n\n _snackbar2.default.success(response.detail);\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n if (rejection.new_email) {\n _snackbar2.default.error(rejection.new_email);\n } else {\n _snackbar2.default.error(rejection.password);\n }\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement('input', { type: 'type', style: { display: 'none' } }),\n _react2.default.createElement('input', { type: 'password', style: { display: 'none' } }),\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-form' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n gettext(\"Change e-mail address\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"New e-mail\"), 'for': 'id_new_email' },\n _react2.default.createElement('input', { type: 'text', id: 'id_new_email', className: 'form-control',\n disabled: this.state.isLoading,\n onChange: this.bindInput('new_email'),\n value: this.state.new_email })\n ),\n _react2.default.createElement('hr', null),\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Your current password\"), 'for': 'id_confirm_email' },\n _react2.default.createElement('input', { type: 'password', id: 'id_confirm_email', className: 'form-control',\n disabled: this.state.isLoading,\n onChange: this.bindInput('password'),\n value: this.state.password })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-footer' },\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary', loading: this.state.isLoading },\n gettext(\"Change e-mail\")\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../../services/ajax\":364,\"../../../services/snackbar\":375,\"../../../utils/validators\":392,\"../../button\":8,\"../../form\":55,\"../../form-group\":54,\"react\":\"react\"}],89:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.state = {\n new_password: '',\n repeat_password: '',\n password: '',\n\n validators: {\n new_password: [],\n repeat_password: [],\n password: []\n },\n\n isLoading: false\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'clean',\n value: function clean() {\n var errors = this.validate();\n var lengths = [this.state.new_password.trim().length, this.state.repeat_password.trim().length, this.state.password.trim().length];\n\n if (lengths.indexOf(0) !== -1) {\n _snackbar2.default.error(gettext(\"Fill out all fields.\"));\n return false;\n }\n\n if (errors.new_password) {\n _snackbar2.default.error(errors.new_password[0]);\n return false;\n }\n\n if (this.state.new_password !== this.state.repeat_password) {\n _snackbar2.default.error(gettext(\"New passwords are different.\"));\n return false;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.user.api.change_password, {\n new_password: this.state.new_password,\n password: this.state.password\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(response) {\n this.setState({\n new_password: '',\n repeat_password: '',\n password: ''\n });\n\n _snackbar2.default.success(response.detail);\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n if (rejection.new_password) {\n _snackbar2.default.error(rejection.new_password);\n } else {\n _snackbar2.default.error(rejection.password);\n }\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement('input', { type: 'type', style: { display: 'none' } }),\n _react2.default.createElement('input', { type: 'password', style: { display: 'none' } }),\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-form' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n gettext(\"Change password\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"New password\"), 'for': 'id_new_password' },\n _react2.default.createElement('input', { type: 'password', id: 'id_new_password', className: 'form-control',\n disabled: this.state.isLoading,\n onChange: this.bindInput('new_password'),\n value: this.state.new_password })\n ),\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Repeat password\"), 'for': 'id_repeat_password' },\n _react2.default.createElement('input', { type: 'password', id: 'id_repeat_password', className: 'form-control',\n disabled: this.state.isLoading,\n onChange: this.bindInput('repeat_password'),\n value: this.state.repeat_password })\n ),\n _react2.default.createElement('hr', null),\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Your current password\"), 'for': 'id_confirm_password' },\n _react2.default.createElement('input', { type: 'password', id: 'id_confirm_password', className: 'form-control',\n disabled: this.state.isLoading,\n onChange: this.bindInput('password'),\n value: this.state.password })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-footer' },\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary', loading: this.state.isLoading },\n gettext(\"Change password\")\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../../services/ajax\":364,\"../../../services/snackbar\":375,\"../../button\":8,\"../../form\":55,\"../../form-group\":54,\"react\":\"react\"}],90:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _changeEmail = require('./change-email');\n\nvar _changeEmail2 = _interopRequireDefault(_changeEmail);\n\nvar _changePassword = require('./change-password');\n\nvar _changePassword2 = _interopRequireDefault(_changePassword);\n\nvar _index = require('../../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _pageTitle = require('../../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nvar _UnusablePasswordMessage = require('./UnusablePasswordMessage');\n\nvar _UnusablePasswordMessage2 = _interopRequireDefault(_UnusablePasswordMessage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n _pageTitle2.default.set({\n title: gettext(\"Change email or password\"),\n parent: gettext(\"Change your options\")\n });\n }\n }, {\n key: 'render',\n value: function render() {\n if (!this.props.user.has_usable_password) {\n return _react2.default.createElement(_UnusablePasswordMessage2.default, null);\n }\n\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(_changeEmail2.default, { user: this.props.user }),\n _react2.default.createElement(_changePassword2.default, { user: this.props.user }),\n _react2.default.createElement(\n 'p',\n { className: 'message-line' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'warning'\n ),\n _react2.default.createElement(\n 'a',\n { href: _index2.default.get('FORGOTTEN_PASSWORD_URL') },\n gettext(\"Change forgotten password\")\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../index\":301,\"../../../services/page-title\":372,\"./UnusablePasswordMessage\":87,\"./change-email\":88,\"./change-password\":89,\"react\":\"react\"}],91:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _stringCount = require('../utils/string-count');\n\nvar _stringCount2 = _interopRequireDefault(_stringCount);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'getClassName',\n value: function getClassName() {\n if (this.props.copy && this.props.copy.length) {\n if ((0, _stringCount2.default)(this.props.copy, ' 2,\n choice: choice,\n disabled: _this2.props.disabled,\n key: choice.hash,\n onChange: _this2.onChange,\n onDelete: _this2.onDelete\n });\n })\n ),\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-sm',\n disabled: this.props.disabled,\n onClick: this.onAdd,\n type: 'button'\n },\n gettext(\"Add choice\")\n )\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\nvar PollChoice = exports.PollChoice = function (_React$Component2) {\n _inherits(PollChoice, _React$Component2);\n\n function PollChoice() {\n var _ref2;\n\n var _temp2, _this3, _ret2;\n\n _classCallCheck(this, PollChoice);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this3 = _possibleConstructorReturn(this, (_ref2 = PollChoice.__proto__ || Object.getPrototypeOf(PollChoice)).call.apply(_ref2, [this].concat(args))), _this3), _this3.onChange = function (event) {\n _this3.props.onChange(_this3.props.choice.hash, event.target.value);\n }, _this3.onDelete = function () {\n var deleteItem = confirm(gettext(\"Are you sure you want to delete this choice?\"));\n if (deleteItem) {\n _this3.props.onDelete(_this3.props.choice.hash);\n }\n }, _temp2), _possibleConstructorReturn(_this3, _ret2);\n }\n\n _createClass(PollChoice, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'li',\n { className: 'list-group-item' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn',\n disabled: !this.props.canDelete || this.props.disabled,\n onClick: this.onDelete,\n title: gettext(\"Delete this choice\"),\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'close'\n )\n ),\n _react2.default.createElement('input', {\n disabled: this.props.disabled,\n maxLength: '255',\n placeholder: gettext(\"choice label\"),\n type: 'text',\n onChange: this.onChange,\n value: this.props.choice.label\n })\n );\n }\n }]);\n\n return PollChoice;\n}(_react2.default.Component);\n\nfunction generateRandomHash() {\n var randomHash = '';\n while (randomHash.length != 12) {\n randomHash = Math.random().toString(36).replace(/[^a-zA-Z0-9]+/g, '').substr(1, 12);\n }\n return randomHash;\n}\n\n},{\"react\":\"react\"}],104:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.PollPublicSwitch = PollPublicSwitch;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _choicesControl = require('./choices-control');\n\nvar _choicesControl2 = _interopRequireDefault(_choicesControl);\n\nvar _button = require('../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _yesNoSwitch = require('../../yes-no-switch');\n\nvar _yesNoSwitch2 = _interopRequireDefault(_yesNoSwitch);\n\nvar _poll = require('../../../reducers/poll');\n\nvar poll = _interopRequireWildcard(_poll);\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _posting = require('../../../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.setChoices = function (choices) {\n var errors = Object.assign({}, errors, { choices: null });\n\n _this.setState({\n choices: choices,\n errors: errors\n });\n };\n\n _this.onCancel = function () {\n var cancel = confirm(gettext(\"Are you sure you want to discard poll?\"));\n if (cancel) {\n _posting2.default.close();\n }\n };\n\n var poll = props.poll || {\n question: '',\n choices: [{\n hash: 'choice-10000',\n label: ''\n }, {\n hash: 'choice-20000',\n label: ''\n }],\n length: 0,\n allowed_choices: 1,\n allow_revotes: 0,\n is_public: 0\n };\n\n _this.state = {\n isLoading: false,\n isEdit: !!poll.question,\n\n question: poll.question,\n choices: poll.choices,\n length: poll.length,\n allowed_choices: poll.allowed_choices,\n allow_revotes: poll.allow_revotes,\n is_public: poll.is_public,\n\n validators: {\n question: [],\n choices: [],\n length: [],\n allowed_choices: []\n },\n\n errors: {}\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'send',\n value: function send() {\n var data = {\n question: this.state.question,\n choices: this.state.choices,\n length: this.state.length,\n allowed_choices: this.state.allowed_choices,\n allow_revotes: this.state.allow_revotes,\n is_public: this.state.is_public\n };\n\n if (this.state.isEdit) {\n return _ajax2.default.put(this.props.poll.api.index, data);\n } else {\n return _ajax2.default.post(this.props.thread.api.poll, data);\n }\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(data) {\n _store2.default.dispatch(poll.replace(data));\n\n if (this.state.isEdit) {\n _snackbar2.default.success(gettext(\"Poll has been edited.\"));\n } else {\n _snackbar2.default.success(gettext(\"Poll has been posted.\"));\n }\n\n _posting2.default.close();\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n if (rejection.non_field_errors) {\n rejection.allowed_choices = rejection.non_field_errors;\n }\n\n this.setState({\n 'errors': Object.assign({}, rejection)\n });\n\n _snackbar2.default.error(gettext(\"Form contains errors.\"));\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'div',\n { className: 'poll-form' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-form' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n 'fieldset',\n null,\n _react2.default.createElement(\n 'legend',\n null,\n gettext(\"Question and choices\")\n ),\n _react2.default.createElement(\n _formGroup2.default,\n {\n label: gettext(\"Poll question\"),\n 'for': 'id_questions',\n validation: this.state.errors.question\n },\n _react2.default.createElement('input', {\n className: 'form-control',\n disabled: this.state.isLoading,\n id: 'id_questions',\n onChange: this.bindInput('question'),\n type: 'text',\n maxLength: '255',\n value: this.state.question\n })\n ),\n _react2.default.createElement(\n _formGroup2.default,\n {\n label: gettext(\"Available choices\"),\n validation: this.state.errors.choices\n },\n _react2.default.createElement(_choicesControl2.default, {\n choices: this.state.choices,\n disabled: this.state.isLoading,\n setChoices: this.setChoices\n })\n )\n ),\n _react2.default.createElement(\n 'fieldset',\n null,\n _react2.default.createElement(\n 'legend',\n null,\n gettext(\"Voting\")\n ),\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-6' },\n _react2.default.createElement(\n _formGroup2.default,\n {\n label: gettext(\"Poll length\"),\n helpText: gettext(\"Enter number of days for which voting in this poll should be possible or zero to run this poll indefinitely.\"),\n 'for': 'id_length',\n validation: this.state.errors.length\n },\n _react2.default.createElement('input', {\n className: 'form-control',\n disabled: this.state.isLoading,\n id: 'id_length',\n onChange: this.bindInput('length'),\n type: 'text',\n value: this.state.length\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-6' },\n _react2.default.createElement(\n _formGroup2.default,\n {\n label: gettext(\"Allowed choices\"),\n 'for': 'id_allowed_choices',\n validation: this.state.errors.allowed_choices\n },\n _react2.default.createElement('input', {\n className: 'form-control',\n disabled: this.state.isLoading,\n id: 'id_allowed_choices',\n onChange: this.bindInput('allowed_choices'),\n type: 'text',\n maxLength: '255',\n value: this.state.allowed_choices\n })\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(PollPublicSwitch, {\n bindInput: this.bindInput,\n disabled: this.state.isLoading,\n isEdit: this.state.isEdit,\n value: this.state.is_public\n }),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-6' },\n _react2.default.createElement(\n _formGroup2.default,\n {\n label: gettext(\"Allow vote changes\"),\n 'for': 'id_allow_revotes'\n },\n _react2.default.createElement(_yesNoSwitch2.default, {\n id: 'id_allow_revotes',\n disabled: this.state.isLoading,\n iconOn: 'check',\n iconOff: 'close',\n labelOn: gettext(\"Allow participants to change their vote\"),\n labelOff: gettext(\"Don't allow participants to change their vote\"),\n onChange: this.bindInput('allow_revotes'),\n value: this.state.allow_revotes\n })\n )\n )\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-footer text-right' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n disabled: this.state.isLoading,\n onClick: this.onCancel,\n type: 'button'\n },\n gettext(\"Cancel\")\n ),\n ' ',\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-primary',\n loading: this.state.isLoading\n },\n this.state.isEdit ? gettext(\"Save changes\") : gettext(\"Post poll\")\n )\n )\n )\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\nfunction PollPublicSwitch(props) {\n if (props.isEdit) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-6' },\n _react2.default.createElement(\n _formGroup2.default,\n {\n label: gettext(\"Make voting public\"),\n 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.\"),\n 'for': 'id_is_public'\n },\n _react2.default.createElement(_yesNoSwitch2.default, {\n id: 'id_is_public',\n disabled: props.disabled,\n iconOn: 'visibility',\n iconOff: 'visibility_off',\n labelOn: gettext(\"Votes are public\"),\n labelOff: gettext(\"Votes are hidden\"),\n onChange: props.bindInput('is_public'),\n value: props.value\n })\n )\n );\n}\n\n},{\"../../../reducers/poll\":351,\"../../../services/ajax\":364,\"../../../services/posting\":374,\"../../../services/snackbar\":375,\"../../../services/store\":376,\"../../button\":8,\"../../form\":55,\"../../form-group\":54,\"../../yes-no-switch\":299,\"./choices-control\":103,\"react\":\"react\"}],105:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PollForm = exports.Poll = undefined;\n\nvar _poll = require('./poll');\n\nvar _poll2 = _interopRequireDefault(_poll);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.Poll = _poll2.default;\nexports.PollForm = _form2.default;\n\n},{\"./form\":104,\"./poll\":107}],106:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'ul',\n { className: 'list-unstyled list-inline poll-details' },\n _react2.default.createElement(PollVotes, { votes: props.poll.votes }),\n _react2.default.createElement(PollLength, { poll: props.poll }),\n _react2.default.createElement(PollIsPublic, { poll: props.poll }),\n _react2.default.createElement(PollCreation, { poll: props.poll })\n );\n};\n\nexports.PollCreation = PollCreation;\nexports.getPoster = getPoster;\nexports.getPostedOn = getPostedOn;\nexports.PollLength = PollLength;\nexports.getEndsOn = getEndsOn;\nexports.PollVotes = PollVotes;\nexports.PollIsPublic = PollIsPublic;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _escapeHtml = require('../../utils/escape-html');\n\nvar _escapeHtml2 = _interopRequireDefault(_escapeHtml);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:start\nvar DATE_ABBR = '%(relative)s';\nvar USER_SPAN = '%(user)s';\nvar USER_URL = '%(user)s';\n\nfunction PollCreation(props) {\n var message = interpolate((0, _escapeHtml2.default)(gettext(\"Posted by %(poster)s %(posted_on)s.\")), {\n poster: getPoster(props.poll),\n posted_on: getPostedOn(props.poll)\n }, true);\n\n return _react2.default.createElement('li', {\n className: 'poll-info-creation',\n dangerouslySetInnerHTML: { __html: message }\n });\n}\n\nfunction getPoster(poll) {\n if (poll.url.poster) {\n return interpolate(USER_URL, {\n url: (0, _escapeHtml2.default)(poll.url.poster),\n user: (0, _escapeHtml2.default)(poll.poster_name)\n }, true);\n }\n\n return interpolate(USER_SPAN, {\n user: (0, _escapeHtml2.default)(poll.poster_name)\n }, true);\n}\n\nfunction getPostedOn(poll) {\n return interpolate(DATE_ABBR, {\n absolute: (0, _escapeHtml2.default)(poll.posted_on.format('LLL')),\n relative: (0, _escapeHtml2.default)(poll.posted_on.fromNow())\n }, true);\n}\n\nfunction PollLength(props) {\n if (!props.poll.length) {\n return null;\n }\n\n var message = interpolate((0, _escapeHtml2.default)(gettext(\"Voting ends %(ends_on)s.\")), {\n ends_on: getEndsOn(props.poll)\n }, true);\n\n return _react2.default.createElement('li', {\n className: 'poll-info-ends-on',\n dangerouslySetInnerHTML: { __html: message }\n });\n}\n\nfunction getEndsOn(poll) {\n return interpolate(DATE_ABBR, {\n absolute: (0, _escapeHtml2.default)(poll.endsOn.format('LLL')),\n relative: (0, _escapeHtml2.default)(poll.endsOn.fromNow())\n }, true);\n}\n\nfunction PollVotes(props) {\n var message = ngettext(\"%(votes)s vote.\", \"%(votes)s votes.\", props.votes);\n var label = interpolate(message, {\n 'votes': props.votes\n }, true);\n\n return _react2.default.createElement(\n 'li',\n { className: 'poll-info-votes' },\n label\n );\n}\n\nfunction PollIsPublic(props) {\n if (!props.poll.is_public) {\n return null;\n }\n\n return _react2.default.createElement(\n 'li',\n { className: 'poll-info-public' },\n gettext(\"Votes are public.\")\n );\n}\n\n},{\"../../utils/escape-html\":382,\"react\":\"react\"}],107:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.getIsPollOver = getIsPollOver;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _results = require('./results');\n\nvar _results2 = _interopRequireDefault(_results);\n\nvar _voting = require('./voting');\n\nvar _voting2 = _interopRequireDefault(_voting);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.showResults = function () {\n _this.setState({\n showResults: true\n });\n };\n\n _this.showVoting = function () {\n _this.setState({\n showResults: false\n });\n };\n\n var showResults = true;\n if (props.user.id && !props.poll.hasSelectedChoices) {\n showResults = false;\n }\n\n _this.state = {\n showResults: showResults\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n if (!this.props.thread.poll) return null;\n\n var isPollOver = getIsPollOver(this.props.poll);\n\n if (!isPollOver && this.props.poll.acl.can_vote && !this.state.showResults) {\n return _react2.default.createElement(_voting2.default, _extends({ showResults: this.showResults }, this.props));\n } else {\n return _react2.default.createElement(_results2.default, _extends({\n isPollOver: isPollOver,\n showVoting: this.showVoting\n }, this.props));\n }\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\nfunction getIsPollOver(poll) {\n if (poll.length) {\n return (0, _moment2.default)().isAfter(poll.endsOn);\n }\n return false;\n}\n\n},{\"./results\":109,\"./voting\":113,\"moment\":\"moment\",\"react\":\"react\"}],108:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n \"div\",\n { className: \"poll-choices-bars\" },\n props.poll.choices.map(function (choice) {\n return _react2.default.createElement(PollChoice, {\n choice: choice,\n key: choice.hash,\n poll: props.poll\n });\n })\n );\n};\n\nexports.PollChoice = PollChoice;\nexports.ChoiceVotes = ChoiceVotes;\nexports.getVotesLabel = getVotesLabel;\nexports.UserChoice = UserChoice;\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:start\nfunction PollChoice(props) {\n var proc = 0;\n if (props.choice.votes && props.poll.votes) {\n proc = Math.ceil(props.choice.votes * 100 / props.poll.votes);\n }\n\n return _react2.default.createElement(\n \"dl\",\n { className: \"dl-horizontal\" },\n _react2.default.createElement(\n \"dt\",\n null,\n props.choice.label\n ),\n _react2.default.createElement(\n \"dd\",\n null,\n _react2.default.createElement(\n \"div\",\n { className: \"progress\" },\n _react2.default.createElement(\n \"div\",\n {\n className: \"progress-bar\",\n role: \"progressbar\",\n \"aria-valuenow\": proc,\n \"aria-valuemin\": \"0\",\n \"aria-valuemax\": \"100\",\n style: { width: proc + '%' }\n },\n _react2.default.createElement(\n \"span\",\n { className: \"sr-only\" },\n getVotesLabel(props.votes, props.proc)\n )\n )\n ),\n _react2.default.createElement(\n \"ul\",\n { className: \"list-unstyled list-inline poll-chart\" },\n _react2.default.createElement(ChoiceVotes, {\n proc: proc,\n votes: props.choice.votes\n }),\n _react2.default.createElement(UserChoice, { selected: props.choice.selected })\n )\n )\n );\n}\n\nfunction ChoiceVotes(props) {\n return _react2.default.createElement(\n \"li\",\n { className: \"poll-chart-votes\" },\n getVotesLabel(props.votes, props.proc)\n );\n}\n\nfunction getVotesLabel(votes, proc) {\n var message = ngettext(\"%(votes)s vote, %(proc)s% of total.\", \"%(votes)s votes, %(proc)s% of total.\", votes);\n\n return interpolate(message, {\n 'votes': votes,\n 'proc': proc\n }, true);\n}\n\nfunction UserChoice(props) {\n if (!props.selected) return null;\n\n return _react2.default.createElement(\n \"li\",\n { className: \"poll-chart-selected\" },\n _react2.default.createElement(\n \"span\",\n { className: \"material-icon\" },\n \"check_box\"\n ),\n gettext(\"Your choice.\")\n );\n}\n\n},{\"react\":\"react\"}],109:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-poll' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n 'h2',\n null,\n props.poll.question\n ),\n _react2.default.createElement(_info2.default, { poll: props.poll }),\n _react2.default.createElement(_chart2.default, { poll: props.poll }),\n _react2.default.createElement(_options2.default, {\n isPollOver: props.isPollOver,\n poll: props.poll,\n showVoting: props.showVoting,\n thread: props.thread\n })\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _chart = require('./chart');\n\nvar _chart2 = _interopRequireDefault(_chart);\n\nvar _options = require('./options');\n\nvar _options2 = _interopRequireDefault(_options);\n\nvar _info = require('../info');\n\nvar _info2 = _interopRequireDefault(_info);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../info\":106,\"./chart\":108,\"./options\":111,\"react\":\"react\"}],110:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.ModalBody = ModalBody;\nexports.ChoicesList = ChoicesList;\nexports.ChoiceDetails = ChoiceDetails;\nexports.VotesCount = VotesCount;\nexports.VotesList = VotesList;\nexports.Voter = Voter;\nexports.VoteDate = VoteDate;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _modalMessage = require('../../modal-message');\n\nvar _modalMessage2 = _interopRequireDefault(_modalMessage);\n\nvar _modalLoader = require('../../modal-loader');\n\nvar _modalLoader2 = _interopRequireDefault(_modalLoader);\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.state = {\n isLoading: true,\n error: null,\n data: []\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n _ajax2.default.get(this.props.poll.api.votes).then(function (data) {\n var hydratedData = data.map(function (choice) {\n return Object.assign({}, choice, {\n voters: choice.voters.map(function (voter) {\n return Object.assign({}, voter, {\n voted_on: (0, _moment2.default)(voter.voted_on)\n });\n })\n });\n });\n\n _this2.setState({\n isLoading: false,\n data: hydratedData\n });\n }, function (rejection) {\n _this2.setState({\n isLoading: false,\n error: rejection.detail\n });\n });\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'div',\n {\n className: 'modal-dialog' + (this.state.error ? ' modal-message' : ' modal-sm'),\n role: 'document'\n },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n {\n type: 'button',\n className: 'close',\n 'data-dismiss': 'modal',\n 'aria-label': gettext(\"Close\")\n },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Poll votes\")\n )\n ),\n _react2.default.createElement(ModalBody, {\n data: this.state.data,\n error: this.state.error,\n isLoading: this.state.isLoading\n })\n )\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\nfunction ModalBody(props) {\n if (props.isLoading) {\n return _react2.default.createElement(_modalLoader2.default, null);\n } else if (props.error) {\n return _react2.default.createElement(_modalMessage2.default, {\n icon: 'error_outline',\n message: props.error\n });\n }\n\n return _react2.default.createElement(ChoicesList, {\n data: props.data\n });\n}\n\nfunction ChoicesList(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-body modal-poll-votes' },\n _react2.default.createElement(\n 'ul',\n { className: 'list-unstyled votes-details' },\n props.data.map(function (choice) {\n return _react2.default.createElement(ChoiceDetails, _extends({\n key: choice.hash\n }, choice));\n })\n )\n );\n}\n\nfunction ChoiceDetails(props) {\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'h4',\n null,\n props.label\n ),\n _react2.default.createElement(VotesCount, { votes: props.votes }),\n _react2.default.createElement(VotesList, { voters: props.voters }),\n _react2.default.createElement('hr', null)\n );\n}\n\nfunction VotesCount(props) {\n var message = ngettext(\"%(votes)s user has voted for this choice.\", \"%(votes)s users have voted for this choice.\", props.votes);\n\n var label = interpolate(message, {\n 'votes': props.votes\n }, true);\n\n return _react2.default.createElement(\n 'p',\n null,\n label\n );\n}\n\nfunction VotesList(props) {\n if (!props.voters.length) return null;\n\n return _react2.default.createElement(\n 'ul',\n { className: 'list-unstyled' },\n props.voters.map(function (user) {\n return _react2.default.createElement(Voter, _extends({\n key: user.username\n }, user));\n })\n );\n}\n\nfunction Voter(props) {\n if (props.url) {\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'a',\n {\n className: 'item-title',\n href: props.url\n },\n props.username\n ),\n ' ',\n _react2.default.createElement(VoteDate, { voted_on: props.voted_on })\n );\n }\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'strong',\n null,\n props.username\n ),\n ' ',\n _react2.default.createElement(VoteDate, { voted_on: props.voted_on })\n );\n}\n\nfunction VoteDate(props) {\n return _react2.default.createElement(\n 'abbr',\n {\n className: 'text-muted',\n title: props.voted_on.format('LLL')\n },\n props.voted_on.fromNow()\n );\n}\n\n},{\"../../../services/ajax\":364,\"../../modal-loader\":60,\"../../modal-message\":61,\"moment\":\"moment\",\"react\":\"react\"}],111:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Delete = exports.Edit = exports.SeeVotes = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = function (props) {\n var isPollOver = props.isPollOver,\n poll = props.poll,\n showVoting = props.showVoting,\n thread = props.thread;\n\n\n if (!isVisible(isPollOver, poll.acl, poll)) return null;\n\n var controls = [];\n\n var canVote = poll.acl.can_vote;\n var canChangeVote = !poll.hasSelectedChoices || poll.allow_revotes;\n\n if (canVote && canChangeVote) controls.push(0);\n if (poll.is_public || poll.acl.can_see_votes) controls.push(1);\n if (poll.acl.can_edit) controls.push(2);\n if (poll.acl.can_delete) controls.push(3);\n\n return _react2.default.createElement(\n 'div',\n { className: 'row poll-options' },\n _react2.default.createElement(ChangeVote, {\n controls: controls,\n isPollOver: isPollOver,\n poll: poll,\n showVoting: showVoting\n }),\n _react2.default.createElement(SeeVotes, {\n controls: controls,\n poll: poll\n }),\n _react2.default.createElement(Edit, {\n controls: controls,\n poll: poll,\n thread: thread\n }),\n _react2.default.createElement(Delete, {\n controls: controls,\n poll: poll\n })\n );\n};\n\nexports.isVisible = isVisible;\nexports.getClassName = getClassName;\nexports.ChangeVote = ChangeVote;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _modal = require('./modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _poll = require('../../../reducers/poll');\n\nvar poll = _interopRequireWildcard(_poll);\n\nvar _thread = require('../../../reducers/thread');\n\nvar thread = _interopRequireWildcard(_thread);\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal3 = require('../../../services/modal');\n\nvar _modal4 = _interopRequireDefault(_modal3);\n\nvar _posting = require('../../../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nfunction isVisible(isPollOver, acl, poll) {\n return poll.is_public || acl.can_delete || acl.can_edit || acl.can_see_votes || acl.can_vote && !isPollOver && (!poll.hasSelectedChoices || poll.allow_revotes);\n}\n\nfunction getClassName(controls, control) {\n var className = 'col-xs-6';\n\n if (controls.length === 1) {\n className = 'col-xs-12';\n }\n\n if (controls.length === 3 && controls[0] === control) {\n className = 'col-xs-12';\n }\n\n return className + ' col-sm-3 col-md-2';\n}\n\nfunction ChangeVote(props) {\n var canVote = props.poll.acl.can_vote;\n var canChangeVote = !props.poll.hasSelectedChoices || props.poll.allow_revotes;\n\n if (!(canVote && canChangeVote)) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: getClassName(props.controls, 0) },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-block btn-sm',\n disabled: props.poll.isBusy,\n onClick: props.showVoting,\n type: 'button'\n },\n gettext(\"Vote\")\n )\n );\n}\n\nvar SeeVotes = exports.SeeVotes = function (_React$Component) {\n _inherits(SeeVotes, _React$Component);\n\n function SeeVotes() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, SeeVotes);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = SeeVotes.__proto__ || Object.getPrototypeOf(SeeVotes)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n _modal4.default.show(_react2.default.createElement(_modal2.default, { poll: _this.props.poll }));\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(SeeVotes, [{\n key: 'render',\n value: function render() {\n var seeVotes = this.props.poll.is_public || this.props.poll.acl.can_see_votes;\n if (!seeVotes) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: getClassName(this.props.controls, 1) },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-block btn-sm',\n disabled: this.props.poll.isBusy,\n onClick: this.onClick,\n type: 'button'\n },\n gettext(\"See votes\")\n )\n );\n }\n }]);\n\n return SeeVotes;\n}(_react2.default.Component);\n\nvar Edit = exports.Edit = function (_React$Component2) {\n _inherits(Edit, _React$Component2);\n\n function Edit() {\n var _ref2;\n\n var _temp2, _this2, _ret2;\n\n _classCallCheck(this, Edit);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, (_ref2 = Edit.__proto__ || Object.getPrototypeOf(Edit)).call.apply(_ref2, [this].concat(args))), _this2), _this2.onClick = function () {\n _posting2.default.open({\n submit: _this2.props.poll.api.index,\n\n thread: _this2.props.thread,\n poll: _this2.props.poll,\n\n mode: 'POLL'\n });\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n }\n\n _createClass(Edit, [{\n key: 'render',\n value: function render() {\n if (!this.props.poll.acl.can_edit) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: getClassName(this.props.controls, 2) },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-block btn-sm',\n disabled: this.props.poll.isBusy,\n onClick: this.onClick,\n type: 'button'\n },\n gettext(\"Edit\")\n )\n );\n }\n }]);\n\n return Edit;\n}(_react2.default.Component);\n\nvar Delete = exports.Delete = function (_React$Component3) {\n _inherits(Delete, _React$Component3);\n\n function Delete() {\n var _ref3;\n\n var _temp3, _this3, _ret3;\n\n _classCallCheck(this, Delete);\n\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _ret3 = (_temp3 = (_this3 = _possibleConstructorReturn(this, (_ref3 = Delete.__proto__ || Object.getPrototypeOf(Delete)).call.apply(_ref3, [this].concat(args))), _this3), _this3.onClick = function () {\n var deletePoll = confirm(gettext(\"Are you sure you want to delete this poll? This action is not reversible.\"));\n if (!deletePoll) return false;\n\n _store2.default.dispatch(poll.busy());\n\n _ajax2.default.delete(_this3.props.poll.api.index).then(_this3.handleSuccess, _this3.handleError);\n }, _this3.handleSuccess = function (newThreadAcl) {\n _snackbar2.default.success(\"Poll has been deleted\");\n _store2.default.dispatch(poll.remove());\n _store2.default.dispatch(thread.updateAcl(newThreadAcl));\n }, _this3.handleError = function (rejection) {\n _snackbar2.default.apiError(rejection);\n _store2.default.dispatch(poll.release());\n }, _temp3), _possibleConstructorReturn(_this3, _ret3);\n }\n\n _createClass(Delete, [{\n key: 'render',\n value: function render() {\n if (!this.props.poll.acl.can_delete) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: getClassName(this.props.controls, 3) },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-block btn-sm',\n disabled: this.props.poll.isBusy,\n onClick: this.onClick,\n type: 'button'\n },\n gettext(\"Delete\")\n )\n );\n }\n }]);\n\n return Delete;\n}(_react2.default.Component);\n\n},{\"../../../reducers/poll\":351,\"../../../reducers/thread\":359,\"../../../services/ajax\":364,\"../../../services/modal\":370,\"../../../services/posting\":374,\"../../../services/snackbar\":375,\"../../../services/store\":376,\"./modal\":110,\"react\":\"react\"}],112:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'ul',\n { className: 'list-unstyled list-inline poll-help' },\n _react2.default.createElement(PollChoicesLeft, { choicesLeft: props.choicesLeft }),\n _react2.default.createElement(PollAllowRevote, { poll: props.poll })\n );\n};\n\nexports.PollChoicesLeft = PollChoicesLeft;\nexports.PollAllowRevote = PollAllowRevote;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _escapeHtml = require('../../../utils/escape-html');\n\nvar _escapeHtml2 = _interopRequireDefault(_escapeHtml);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:start\nvar DATE_ABBR = '%(relative)s';\nvar USER_SPAN = '%(user)s';\nvar USER_URL = '%(user)s';\n\nfunction PollChoicesLeft(_ref) {\n var choicesLeft = _ref.choicesLeft;\n\n if (choicesLeft === 0) {\n return _react2.default.createElement(\n 'li',\n { className: 'poll-help-choices-left' },\n gettext(\"You can't select any more choices.\")\n );\n }\n\n var message = ngettext(\"You can select %(choices)s more choice.\", \"You can select %(choices)s more choices.\", choicesLeft);\n\n var label = interpolate(message, {\n 'choices': choicesLeft\n }, true);\n\n return _react2.default.createElement(\n 'li',\n { className: 'poll-help-choices-left' },\n label\n );\n}\n\nfunction PollAllowRevote(props) {\n if (props.poll.allow_revotes) {\n return _react2.default.createElement(\n 'li',\n { className: 'poll-help-allow-revotes' },\n gettext(\"You can change your vote later.\")\n );\n }\n\n return _react2.default.createElement(\n 'li',\n { className: 'poll-help-no-revotes' },\n gettext(\"Votes are final.\")\n );\n}\n\n},{\"../../../utils/escape-html\":382,\"react\":\"react\"}],113:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _help = require('./help');\n\nvar _help2 = _interopRequireDefault(_help);\n\nvar _select = require('./select');\n\nvar _select2 = _interopRequireDefault(_select);\n\nvar _utils = require('./utils');\n\nvar _info = require('../info');\n\nvar _info2 = _interopRequireDefault(_info);\n\nvar _options = require('../results/options');\n\nvar _button = require('../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _poll = require('../../../reducers/poll');\n\nvar poll = _interopRequireWildcard(_poll);\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.toggleChoice = function (hash) {\n var choice = (0, _utils.getChoiceFromHash)(_this.state.choices, hash);\n\n var choices = null;\n if (!choice.selected) {\n choices = _this.selectChoice(choice, hash);\n } else {\n choices = _this.deselectChoice(choice, hash);\n }\n\n _this.setState({\n choices: choices,\n choicesLeft: (0, _utils.getChoicesLeft)(_this.props.poll, choices)\n });\n };\n\n _this.selectChoice = function (choice, hash) {\n var choicesLeft = (0, _utils.getChoicesLeft)(_this.props.poll, _this.state.choices);\n\n if (!choicesLeft) {\n for (var i in _this.state.choices.slice()) {\n var item = _this.state.choices[i];\n if (item.selected && item.hash != hash) {\n item.selected = false;\n break;\n }\n }\n }\n\n return _this.state.choices.map(function (choice) {\n return Object.assign({}, choice, {\n selected: choice.hash == hash ? true : choice.selected\n });\n });\n };\n\n _this.deselectChoice = function (choice, hash) {\n return _this.state.choices.map(function (choice) {\n return Object.assign({}, choice, {\n selected: choice.hash == hash ? false : choice.selected\n });\n });\n };\n\n _this.state = {\n isLoading: false,\n\n choices: props.poll.choices,\n choicesLeft: (0, _utils.getChoicesLeft)(props.poll, props.poll.choices)\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'clean',\n value: function clean() {\n if (this.state.choicesLeft === this.props.poll.allowed_choices) {\n _snackbar2.default.error(gettext(\"You need to select at least one choice\"));\n return false;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n var data = [];\n for (var i in this.state.choices.slice()) {\n var item = this.state.choices[i];\n if (item.selected) {\n data.push(item.hash);\n }\n }\n\n return _ajax2.default.post(this.props.poll.api.votes, data);\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(data) {\n _store2.default.dispatch(poll.replace(data));\n _snackbar2.default.success(gettext(\"Your vote has been saved.\"));\n\n this.props.showResults();\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var controls = [];\n\n if (this.props.poll.acl.can_vote) controls.push(0);\n if (this.props.poll.is_public || this.props.poll.acl.can_see_votes) controls.push(1);\n if (this.props.poll.acl.can_edit) controls.push(2);\n if (this.props.poll.acl.can_delete) controls.push(3);\n\n return _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-poll' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n 'h2',\n null,\n this.props.poll.question\n ),\n _react2.default.createElement(_info2.default, { poll: this.props.poll }),\n _react2.default.createElement(_select2.default, {\n choices: this.state.choices,\n toggleChoice: this.toggleChoice\n }),\n _react2.default.createElement(_help2.default, {\n choicesLeft: this.state.choicesLeft,\n poll: this.props.poll\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-footer' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: (0, _options.getClassName)(controls, 0) },\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-primary btn-block btn-sm',\n loading: this.state.isLoading\n },\n gettext(\"Save your vote\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: (0, _options.getClassName)(controls, 1) },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-block btn-sm',\n disabled: this.state.isLoading,\n onClick: this.props.showResults,\n type: 'button'\n },\n gettext(\"See results\")\n )\n ),\n _react2.default.createElement(_options.Edit, {\n controls: controls,\n poll: this.props.poll,\n thread: this.props.thread\n }),\n _react2.default.createElement(_options.Delete, {\n controls: controls,\n poll: this.props.poll\n })\n )\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../../reducers/poll\":351,\"../../../services/ajax\":364,\"../../../services/snackbar\":375,\"../../../services/store\":376,\"../../button\":8,\"../../form\":55,\"../info\":106,\"../results/options\":111,\"./help\":112,\"./select\":114,\"./utils\":115,\"react\":\"react\"}],114:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ChoiceSelect = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = function (props) {\n return _react2.default.createElement(\n \"ul\",\n { className: \"list-unstyled poll-select-choices\" },\n props.choices.map(function (choice) {\n return _react2.default.createElement(ChoiceSelect, {\n choice: choice,\n key: choice.hash,\n toggleChoice: props.toggleChoice\n });\n })\n );\n};\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar ChoiceSelect = exports.ChoiceSelect = function (_React$Component) {\n _inherits(ChoiceSelect, _React$Component);\n\n function ChoiceSelect() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, ChoiceSelect);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = ChoiceSelect.__proto__ || Object.getPrototypeOf(ChoiceSelect)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n _this.props.toggleChoice(_this.props.choice.hash);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(ChoiceSelect, [{\n key: \"render\",\n value: function render() {\n return _react2.default.createElement(\n \"li\",\n { className: \"poll-select-choice\" },\n _react2.default.createElement(\n \"button\",\n {\n className: this.props.choice.selected ? 'btn btn-selected' : 'btn',\n onClick: this.onClick,\n type: \"button\"\n },\n _react2.default.createElement(\n \"span\",\n { className: \"material-icon\" },\n this.props.choice.selected ? 'check_box' : 'check_box_outline_blank'\n ),\n _react2.default.createElement(\n \"strong\",\n null,\n this.props.choice.label\n )\n )\n );\n }\n }]);\n\n return ChoiceSelect;\n}(_react2.default.Component);\n\n},{\"react\":\"react\"}],115:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getChoiceFromHash = getChoiceFromHash;\nexports.getChoicesLeft = getChoicesLeft;\nfunction getChoiceFromHash(choices, hash) {\n for (var i in choices) {\n var choice = choices[i];\n if (choice.hash === hash) {\n return choice;\n }\n }\n\n return null;\n}\n\nfunction getChoicesLeft(poll, choices) {\n var selection = [];\n for (var i in choices) {\n var choice = choices[i];\n if (choice.selected) {\n selection.push(choice);\n }\n }\n\n return poll.allowed_choices - selection.length;\n}\n\n},{}],116:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n \"div\",\n { className: \"modal-body post-changelog-diff\" },\n _react2.default.createElement(\n \"ul\",\n { className: \"list-unstyled\" },\n props.diff.map(function (item, i) {\n return _react2.default.createElement(DiffItem, { item: item, key: i });\n })\n )\n );\n};\n\nexports.DiffItem = DiffItem;\nexports.getItemClassName = getItemClassName;\nexports.cleanItem = cleanItem;\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:start\nfunction DiffItem(props) {\n if (props.item[0] === '?') return null;\n\n return _react2.default.createElement(\n \"li\",\n { className: getItemClassName(props.item) },\n cleanItem(props.item)\n );\n}\n\nfunction getItemClassName(item) {\n var className = 'diff-item';\n if (item[0] === '-') {\n className += ' diff-item-sub';\n } else if (item[0] === '+') {\n className += ' diff-item-add';\n }\n return className;\n}\n\nfunction cleanItem(item) {\n return item.substr(2);\n}\n\n},{\"react\":\"react\"}],117:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n _this.props.revertEdit(_this.props.edit.id);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n if (!this.props.canRevert) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'modal-footer visible-xs-block' },\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-default btn-sm btn-block',\n disabled: this.props.disabled,\n onClick: this.onClick,\n title: gettext(\"Revert post to state from before this edit.\")\n },\n gettext(\"Revert\")\n )\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../button\":8,\"react\":\"react\"}],118:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.ModalDialog = ModalDialog;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _diff = require('./diff');\n\nvar _diff2 = _interopRequireDefault(_diff);\n\nvar _footer = require('./footer');\n\nvar _footer2 = _interopRequireDefault(_footer);\n\nvar _toolbar = require('./toolbar');\n\nvar _toolbar2 = _interopRequireDefault(_toolbar);\n\nvar _utils = require('./utils');\n\nvar _modalMessage = require('../modal-message');\n\nvar _modalMessage2 = _interopRequireDefault(_modalMessage);\n\nvar _modalLoader = require('../modal-loader');\n\nvar _modalLoader2 = _interopRequireDefault(_modalLoader);\n\nvar _post = require('../../reducers/post');\n\nvar post = _interopRequireWildcard(_post);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.goToEdit = function () {\n var edit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n _this.setState({\n isBusy: true\n });\n\n var url = _this.props.post.api.edits;\n if (edit !== null) {\n url += '?edit=' + edit;\n }\n\n _ajax2.default.get(url).then(function (data) {\n _this.setState({\n isReady: true,\n isBusy: false,\n edit: (0, _utils.hydrateEdit)(data)\n });\n }, function (rejection) {\n _this.setState({\n isReady: true,\n isBusy: false,\n error: rejection.detail\n });\n });\n };\n\n _this.revertEdit = function (edit) {\n if (_this.state.isBusy) return;\n\n var confirmation = confirm(gettext(\"Are you sure you with to revert this post to the state from before this edit?\"));\n if (!confirmation) return;\n\n _this.setState({\n isBusy: true\n });\n\n var url = _this.props.post.api.edits + '?edit=' + edit;\n _ajax2.default.post(url).then(function (data) {\n var hydratedPost = post.hydrate(data);\n _store2.default.dispatch(post.patch(data, hydratedPost));\n\n _snackbar2.default.success(gettext(\"Post has been reverted to previous state.\"));\n _modal2.default.hide();\n }, function (rejection) {\n _snackbar2.default.apiError(rejection);\n\n _this.setState({\n isBusy: false\n });\n });\n };\n\n _this.state = {\n isReady: false,\n isBusy: true,\n\n canRevert: props.post.acl.can_edit,\n\n error: null,\n edit: null\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.goToEdit();\n }\n }, {\n key: 'render',\n value: function render() {\n if (this.state.error) {\n return _react2.default.createElement(\n ModalDialog,\n { className: 'modal-dialog modal-message' },\n _react2.default.createElement(_modalMessage2.default, {\n message: this.state.error\n })\n );\n } else if (this.state.isReady) {\n return _react2.default.createElement(\n ModalDialog,\n null,\n _react2.default.createElement(_toolbar2.default, {\n canRevert: this.state.canRevert,\n disabled: this.state.isBusy,\n edit: this.state.edit,\n goToEdit: this.goToEdit,\n revertEdit: this.revertEdit\n }),\n _react2.default.createElement(_diff2.default, { diff: this.state.edit.diff }),\n _react2.default.createElement(_footer2.default, {\n canRevert: this.state.canRevert,\n disabled: this.state.isBusy,\n edit: this.state.edit,\n revertEdit: this.revertEdit\n })\n );\n }\n\n return _react2.default.createElement(\n ModalDialog,\n null,\n _react2.default.createElement(_modalLoader2.default, null)\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\nfunction ModalDialog(props) {\n return _react2.default.createElement(\n 'div',\n {\n className: props.className || \"modal-dialog\",\n role: 'document'\n },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-label': gettext(\"Close\"),\n className: 'close',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Post edits history\")\n )\n ),\n props.children\n )\n );\n}\n\n},{\"../../reducers/post\":352,\"../../services/ajax\":364,\"../../services/modal\":370,\"../../services/snackbar\":375,\"../../services/store\":376,\"../modal-loader\":60,\"../modal-message\":61,\"./diff\":116,\"./footer\":117,\"./toolbar\":119,\"./utils\":120,\"react\":\"react\"}],119:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.GoBackBtn = GoBackBtn;\nexports.GoForwardBtn = GoForwardBtn;\nexports.GoLastBtn = GoLastBtn;\nexports.RevertBtn = RevertBtn;\nexports.Label = Label;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _escapeHtml = require('../../utils/escape-html');\n\nvar _escapeHtml2 = _interopRequireDefault(_escapeHtml);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar DATE_ABBR = '%(relative)s';\nvar USER_SPAN = '%(user)s';\nvar USER_URL = '%(user)s';\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.goLast = function () {\n _this.props.goToEdit();\n }, _this.goForward = function () {\n _this.props.goToEdit(_this.props.edit.next);\n }, _this.goBack = function () {\n _this.props.goToEdit(_this.props.edit.previous);\n }, _this.revertEdit = function () {\n _this.props.revertEdit(_this.props.edit.id);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-toolbar post-changelog-toolbar' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-4' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-4' },\n _react2.default.createElement(GoBackBtn, {\n disabled: this.props.disabled,\n edit: this.props.edit,\n onClick: this.goBack\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-4' },\n _react2.default.createElement(GoForwardBtn, {\n disabled: this.props.disabled,\n edit: this.props.edit,\n onClick: this.goForward\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-4' },\n _react2.default.createElement(GoLastBtn, {\n disabled: this.props.disabled,\n edit: this.props.edit,\n onClick: this.goLast\n })\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-5 xs-margin-top-half post-change-label' },\n _react2.default.createElement(Label, { edit: this.props.edit })\n ),\n _react2.default.createElement(RevertBtn, {\n canRevert: this.props.canRevert,\n disabled: this.props.disabled,\n onClick: this.revertEdit\n })\n )\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\nfunction GoBackBtn(props) {\n return _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-default btn-block btn-icon btn-sm',\n disabled: props.disabled || !props.edit.previous,\n onClick: props.onClick,\n title: gettext(\"See previous change\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'chevron_left'\n )\n );\n}\n\nfunction GoForwardBtn(props) {\n return _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-default btn-block btn-icon btn-sm',\n disabled: props.disabled || !props.edit.next,\n onClick: props.onClick,\n title: gettext(\"See previous change\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'chevron_right'\n )\n );\n}\n\nfunction GoLastBtn(props) {\n return _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-default btn-block btn-icon btn-sm',\n disabled: props.disabled || !props.edit.next,\n onClick: props.onClick,\n title: gettext(\"See previous change\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'last_page'\n )\n );\n}\n\nfunction RevertBtn(props) {\n if (!props.canRevert) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-sm-3 hidden-xs' },\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-default btn-sm btn-block',\n disabled: props.disabled,\n onClick: props.onClick,\n title: gettext(\"Revert post to state from before this edit.\")\n },\n gettext(\"Revert\")\n )\n );\n}\n\nfunction Label(props) {\n var user = null;\n if (props.edit.url.editor) {\n user = interpolate(USER_URL, {\n url: (0, _escapeHtml2.default)(props.edit.url.editor),\n user: (0, _escapeHtml2.default)(props.edit.editor_name)\n }, true);\n } else {\n user = interpolate(USER_SPAN, {\n user: (0, _escapeHtml2.default)(props.edit.editor_name)\n }, true);\n }\n\n var date = interpolate(DATE_ABBR, {\n absolute: (0, _escapeHtml2.default)(props.edit.edited_on.format('LLL')),\n relative: (0, _escapeHtml2.default)(props.edit.edited_on.fromNow())\n }, true);\n\n var message = interpolate((0, _escapeHtml2.default)(gettext(\"By %(edited_by)s %(edited_on)s.\")), {\n edited_by: user,\n edited_on: date\n }, true);\n\n return _react2.default.createElement('p', { dangerouslySetInnerHTML: { __html: message } });\n}\n\n},{\"../../utils/escape-html\":382,\"../button\":8,\"react\":\"react\"}],120:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.hydrateEdit = hydrateEdit;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction hydrateEdit(json) {\n return Object.assign({}, json, {\n edited_on: (0, _moment2.default)(json.edited_on)\n });\n}\n\n},{\"moment\":\"moment\"}],121:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var isReady = _ref.isReady,\n posts = _ref.posts,\n poster = _ref.poster;\n\n if (!isReady) {\n return _react2.default.createElement(_preview2.default, null);\n }\n\n return _react2.default.createElement(\n 'ul',\n { className: 'posts-list post-feed ui-ready' },\n posts.map(function (post) {\n return _react2.default.createElement(_post2.default, {\n key: post.id,\n post: post,\n poster: poster\n });\n })\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _post = require('./post');\n\nvar _post2 = _interopRequireDefault(_post);\n\nvar _preview = require('./preview');\n\nvar _preview2 = _interopRequireDefault(_preview);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./post\":124,\"./preview\":130,\"react\":\"react\"}],122:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n if (props.post.content) {\n return _react2.default.createElement(Default, props);\n } else {\n return _react2.default.createElement(Invalid, props);\n }\n};\n\nexports.Default = Default;\nexports.Invalid = Invalid;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _misagoMarkup = require('../../misago-markup');\n\nvar _misagoMarkup2 = _interopRequireDefault(_misagoMarkup);\n\nvar _escapeHtml = require('../../../utils/escape-html');\n\nvar _escapeHtml2 = _interopRequireDefault(_escapeHtml);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nfunction Default(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'post-body' },\n _react2.default.createElement(_misagoMarkup2.default, { markup: props.post.content })\n );\n}\n\nfunction Invalid(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'post-body post-body-invalid' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"This post's contents cannot be displayed.\")\n ),\n _react2.default.createElement(\n 'p',\n { className: 'text-muted' },\n gettext(\"This error is caused by invalid post content manipulation.\")\n )\n );\n}\n\n},{\"../../../utils/escape-html\":382,\"../../misago-markup\":59,\"react\":\"react\"}],123:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var post = _ref.post;\n var category = post.category,\n thread = post.thread;\n\n\n var tooltip = interpolate(gettext(\"posted %(posted_on)s\"), {\n 'posted_on': post.posted_on.format('LL, LT')\n }, true);\n\n return _react2.default.createElement(\n 'div',\n { className: 'post-heading' },\n _react2.default.createElement(\n 'a',\n {\n className: 'btn btn-link item-title',\n href: thread.url\n },\n thread.title\n ),\n _react2.default.createElement(\n 'a',\n {\n className: 'btn btn-link post-category',\n href: category.url.index\n },\n category.name\n ),\n _react2.default.createElement(\n 'a',\n {\n href: post.url.index,\n className: 'btn btn-link posted-on',\n title: tooltip\n },\n post.posted_on.fromNow()\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],124:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var post = _ref.post,\n poster = _ref.poster;\n\n var user = poster || post.poster;\n\n var className = 'post';\n if (user && user.rank.css_class) {\n className += ' post-' + user.rank.css_class;\n }\n\n return _react2.default.createElement(\n 'li',\n {\n className: className,\n id: 'post-' + post.id\n },\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-post' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(_postSide2.default, {\n post: post,\n poster: user\n }),\n _react2.default.createElement(_header2.default, { post: post }),\n _react2.default.createElement(_body2.default, { post: post })\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _body = require('./body');\n\nvar _body2 = _interopRequireDefault(_body);\n\nvar _header = require('./header');\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _postSide = require('./post-side');\n\nvar _postSide2 = _interopRequireDefault(_postSide);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./body\":122,\"./header\":123,\"./post-side\":127,\"react\":\"react\"}],125:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var post = _ref.post;\n\n return _react2.default.createElement(\n 'div',\n { className: 'post-side post-side-anonymous' },\n _react2.default.createElement(_button2.default, { post: post }),\n _react2.default.createElement(\n 'div',\n { className: 'media' },\n _react2.default.createElement(\n 'div',\n { className: 'media-left' },\n _react2.default.createElement(\n 'span',\n null,\n _react2.default.createElement(_avatar2.default, {\n className: 'poster-avatar',\n size: 50\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'media-body' },\n _react2.default.createElement(\n 'div',\n { className: 'media-heading' },\n _react2.default.createElement(\n 'span',\n { className: 'item-title' },\n post.poster_name\n )\n ),\n _react2.default.createElement(\n 'span',\n { className: 'user-title user-title-anonymous' },\n gettext(\"Removed user\")\n )\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _button = require('./button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../../avatar\":6,\"./button\":126,\"react\":\"react\"}],126:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var post = _ref.post;\n\n return _react2.default.createElement(\n \"a\",\n {\n className: \"btn btn-default btn-icon pull-right\",\n href: post.url.index\n },\n _react2.default.createElement(\n \"span\",\n { className: \"btn-text-left hidden-xs\" },\n gettext(\"See post\")\n ),\n _react2.default.createElement(\n \"span\",\n { className: \"material-icon\" },\n \"chevron_right\"\n )\n );\n};\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],127:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var post = _ref.post,\n poster = _ref.poster;\n\n if (poster.id) {\n return _react2.default.createElement(_registered2.default, {\n post: post,\n poster: poster\n });\n }\n\n return _react2.default.createElement(_anonymous2.default, { post: post });\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _anonymous = require('./anonymous');\n\nvar _anonymous2 = _interopRequireDefault(_anonymous);\n\nvar _registered = require('./registered');\n\nvar _registered2 = _interopRequireDefault(_registered);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./anonymous\":125,\"./registered\":128,\"react\":\"react\"}],128:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var post = _ref.post,\n poster = _ref.poster;\n\n return _react2.default.createElement(\n 'div',\n { className: 'post-side post-side-registered' },\n _react2.default.createElement(_button2.default, { post: post }),\n _react2.default.createElement(\n 'div',\n { className: 'media' },\n _react2.default.createElement(\n 'div',\n { className: 'media-left' },\n _react2.default.createElement(\n 'a',\n { href: poster.url },\n _react2.default.createElement(_avatar2.default, {\n className: 'poster-avatar',\n size: 50,\n user: poster\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'media-body' },\n _react2.default.createElement(\n 'div',\n { className: 'media-heading' },\n _react2.default.createElement(\n 'a',\n {\n className: 'item-title',\n href: poster.url\n },\n poster.username\n )\n ),\n _react2.default.createElement(_userTitle2.default, {\n title: poster.title,\n rank: poster.rank\n })\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _button = require('./button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _userTitle = require('./user-title');\n\nvar _userTitle2 = _interopRequireDefault(_userTitle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../../avatar\":6,\"./button\":126,\"./user-title\":129,\"react\":\"react\"}],129:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var rank = _ref.rank,\n title = _ref.title;\n\n var userTitle = title || rank.title || rank.name;\n\n var className = 'user-title';\n if (rank.css_class) {\n className += ' user-title-' + rank.css_class;\n }\n\n if (rank.is_tab) {\n return _react2.default.createElement(\n 'a',\n { className: className, href: rank.url },\n userTitle\n );\n }\n\n return _react2.default.createElement(\n 'span',\n { className: className },\n userTitle\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],130:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function () {\n return _react2.default.createElement(\n 'ul',\n { className: 'posts-list post-feed ui-preview' },\n _react2.default.createElement(\n 'li',\n { className: 'post' },\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-post' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n 'div',\n { className: 'post-side post-side-anonymous' },\n _react2.default.createElement(\n 'div',\n { className: 'media' },\n _react2.default.createElement(\n 'div',\n { className: 'media-left' },\n _react2.default.createElement(\n 'span',\n null,\n _react2.default.createElement(_avatar2.default, {\n className: 'poster-avatar',\n size: 50\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'media-body' },\n _react2.default.createElement(\n 'div',\n { className: 'media-heading' },\n _react2.default.createElement(\n 'span',\n { className: 'item-title' },\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 200) + \"px\" }\n },\n '\\xA0'\n )\n )\n ),\n _react2.default.createElement(\n 'span',\n { className: 'user-title user-title-anonymous' },\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 200) + \"px\" }\n },\n '\\xA0'\n )\n )\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'post-heading' },\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 200) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'post-body' },\n _react2.default.createElement(\n 'article',\n { className: 'misago-markup' },\n _react2.default.createElement(\n 'p',\n null,\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 200) + \"px\" }\n },\n '\\xA0'\n ),\n '\\xA0',\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 200) + \"px\" }\n },\n '\\xA0'\n ),\n '\\xA0',\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 200) + \"px\" }\n },\n '\\xA0'\n )\n )\n )\n )\n )\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _random = require('../../utils/random');\n\nvar random = _interopRequireWildcard(_random);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../utils/random\":387,\"../avatar\":6,\"react\":\"react\"}],131:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.hydrateLike = hydrateLike;\nexports.ModalDialog = ModalDialog;\nexports.LikesList = LikesList;\nexports.LikeDetails = LikeDetails;\nexports.LikeDate = LikeDate;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _avatar = require('./avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _modalMessage = require('./modal-message');\n\nvar _modalMessage2 = _interopRequireDefault(_modalMessage);\n\nvar _modalLoader = require('./modal-loader');\n\nvar _modalLoader2 = _interopRequireDefault(_modalLoader);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.state = {\n isReady: false,\n\n error: null,\n likes: []\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n _ajax2.default.get(this.props.post.api.likes).then(function (data) {\n _this2.setState({\n isReady: true,\n likes: data.map(hydrateLike)\n });\n }, function (rejection) {\n _this2.setState({\n isReady: true,\n error: rejection.detail\n });\n });\n }\n }, {\n key: 'render',\n value: function render() {\n if (this.state.error) {\n return _react2.default.createElement(\n ModalDialog,\n { className: 'modal-message' },\n _react2.default.createElement(_modalMessage2.default, {\n message: this.state.error\n })\n );\n } else if (this.state.isReady) {\n if (this.state.likes.length) {\n return _react2.default.createElement(\n ModalDialog,\n {\n className: 'modal-sm',\n likes: this.state.likes\n },\n _react2.default.createElement(LikesList, {\n likes: this.state.likes\n })\n );\n }\n\n return _react2.default.createElement(\n ModalDialog,\n { className: 'modal-message' },\n _react2.default.createElement(_modalMessage2.default, {\n message: gettext(\"No users have liked this post.\")\n })\n );\n }\n\n return _react2.default.createElement(\n ModalDialog,\n { className: 'modal-sm' },\n _react2.default.createElement(_modalLoader2.default, null)\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\nfunction hydrateLike(data) {\n return Object.assign({}, data, {\n liked_on: (0, _moment2.default)(data.liked_on)\n });\n}\n\nfunction ModalDialog(_ref) {\n var className = _ref.className,\n children = _ref.children,\n likes = _ref.likes;\n\n var title = gettext(\"Post Likes\");\n if (likes) {\n var likesCount = likes.length;\n var message = ngettext(\"%(likes)s like\", \"%(likes)s likes\", likesCount);\n\n title = interpolate(message, { likes: likesCount }, true);\n }\n\n return _react2.default.createElement(\n 'div',\n {\n className: \"modal-dialog \" + (className || ''),\n role: 'document'\n },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-label': gettext(\"Close\"),\n className: 'close',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n title\n )\n ),\n children\n )\n );\n}\n\nfunction LikesList(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-body modal-post-likers' },\n _react2.default.createElement(\n 'ul',\n { className: 'media-list' },\n props.likes.map(function (like) {\n return _react2.default.createElement(LikeDetails, _extends({\n key: like.id\n }, like));\n })\n )\n );\n}\n\nfunction LikeDetails(props) {\n if (props.url) {\n var user = {\n id: props.liker_id,\n avatars: props.avatars\n };\n\n return _react2.default.createElement(\n 'li',\n { className: 'media' },\n _react2.default.createElement(\n 'div',\n { className: 'media-left' },\n _react2.default.createElement(\n 'a',\n {\n className: 'user-avatar',\n href: props.url\n },\n _react2.default.createElement(_avatar2.default, { size: '50', user: user })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'media-body' },\n _react2.default.createElement(\n 'a',\n {\n className: 'item-title',\n href: props.url\n },\n props.username\n ),\n ' ',\n _react2.default.createElement(LikeDate, { likedOn: props.liked_on })\n )\n );\n }\n\n return _react2.default.createElement(\n 'li',\n { className: 'media' },\n _react2.default.createElement(\n 'div',\n { className: 'media-left' },\n _react2.default.createElement(\n 'span',\n { className: 'user-avatar' },\n _react2.default.createElement(_avatar2.default, { size: '50' })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'media-body' },\n _react2.default.createElement(\n 'strong',\n null,\n props.username\n ),\n ' ',\n _react2.default.createElement(LikeDate, { likedOn: props.liked_on })\n )\n );\n}\n\nfunction LikeDate(props) {\n return _react2.default.createElement(\n 'span',\n {\n className: 'text-muted',\n title: props.likedOn.format('LLL')\n },\n props.likedOn.fromNow()\n );\n}\n\n},{\"../services/ajax\":364,\"./avatar\":6,\"./modal-loader\":60,\"./modal-message\":61,\"moment\":\"moment\",\"react\":\"react\"}],132:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _editor = require('../editor');\n\nvar _editor2 = _interopRequireDefault(_editor);\n\nvar _form = require('../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _container = require('./utils/container');\n\nvar _container2 = _interopRequireDefault(_container);\n\nvar _loader = require('./utils/loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nvar _message = require('./utils/message');\n\nvar _message2 = _interopRequireDefault(_message);\n\nvar _attachments = require('./utils/attachments');\n\nvar attachments = _interopRequireWildcard(_attachments);\n\nvar _validators = require('./utils/validators');\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _posting = require('../../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } //jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.loadSuccess = function (data) {\n _this.setState({\n isReady: true,\n\n post: data.post,\n attachments: attachments.hydrate(data.attachments),\n protect: data.is_protected,\n\n canProtect: data.can_protect\n });\n };\n\n _this.loadError = function (rejection) {\n _this.setState({\n isErrored: rejection.detail\n });\n };\n\n _this.onCancel = function () {\n var cancel = confirm(gettext(\"Are you sure you want to discard changes?\"));\n if (cancel) {\n _posting2.default.close();\n }\n };\n\n _this.onProtect = function () {\n _this.setState({\n protect: true\n });\n };\n\n _this.onUnprotect = function () {\n _this.setState({\n protect: false\n });\n };\n\n _this.onPostChange = function (event) {\n _this.changeValue('post', event.target.value);\n };\n\n _this.onAttachmentsChange = function (attachments) {\n _this.setState({\n attachments: attachments\n });\n };\n\n _this.state = {\n isReady: false,\n isLoading: false,\n isErrored: false,\n\n post: '',\n attachments: [],\n protect: false,\n\n canProtect: false,\n\n validators: {\n post: (0, _validators.getPostValidators)()\n },\n errors: {}\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n _ajax2.default.get(this.props.config).then(this.loadSuccess, this.loadError);\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'clean',\n\n /* jshint ignore:end */\n\n value: function clean() {\n if (!this.state.post.trim().length) {\n _snackbar2.default.error(gettext(\"You have to enter a message.\"));\n return false;\n }\n\n var errors = this.validate();\n\n if (errors.post) {\n _snackbar2.default.error(errors.post[0]);\n return false;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.put(this.props.submit, {\n post: this.state.post,\n attachments: attachments.clean(this.state.attachments),\n protect: this.state.protect\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(success) {\n _snackbar2.default.success(gettext(\"Reply has been edited.\"));\n window.location = success.url.index;\n\n // keep form loading\n this.setState({\n 'isLoading': true\n });\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n var errors = [].concat(rejection.non_field_errors || [], rejection.category || [], rejection.title || [], rejection.post || [], rejection.attachments || []);\n\n _snackbar2.default.error(errors[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n if (this.state.isReady) {\n return _react2.default.createElement(\n _container2.default,\n { className: 'posting-form' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit, method: 'POST' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-12' },\n _react2.default.createElement(_editor2.default, {\n attachments: this.state.attachments,\n canProtect: this.state.canProtect,\n loading: this.state.isLoading,\n onAttachmentsChange: this.onAttachmentsChange,\n onCancel: this.onCancel,\n onChange: this.onPostChange,\n onProtect: this.onProtect,\n onUnprotect: this.onUnprotect,\n protect: this.state.protect,\n submitLabel: gettext(\"Edit reply\"),\n value: this.state.post\n })\n )\n )\n )\n );\n } else if (this.state.isErrored) {\n return _react2.default.createElement(_message2.default, { message: this.state.isErrored });\n } else {\n return _react2.default.createElement(_loader2.default, null);\n }\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../services/ajax\":364,\"../../services/posting\":374,\"../../services/snackbar\":375,\"../editor\":51,\"../form\":55,\"./utils/attachments\":137,\"./utils/container\":138,\"./utils/loader\":139,\"./utils/message\":140,\"./utils/validators\":143,\"react\":\"react\"}],133:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n if (props.mode === 'START') {\n return _react2.default.createElement(_start2.default, props);\n } else if (props.mode === 'START_PRIVATE') {\n return _react2.default.createElement(_startPrivate2.default, props);\n } else if (props.mode === 'REPLY') {\n return _react2.default.createElement(_reply2.default, props);\n } else if (props.mode === 'EDIT') {\n return _react2.default.createElement(_edit2.default, props);\n } else {\n return null;\n }\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _start = require('./start');\n\nvar _start2 = _interopRequireDefault(_start);\n\nvar _startPrivate = require('./start-private');\n\nvar _startPrivate2 = _interopRequireDefault(_startPrivate);\n\nvar _reply = require('./reply');\n\nvar _reply2 = _interopRequireDefault(_reply);\n\nvar _edit = require('./edit');\n\nvar _edit2 = _interopRequireDefault(_edit);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./edit\":132,\"./reply\":134,\"./start\":136,\"./start-private\":135,\"react\":\"react\"}],134:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _editor = require('../editor');\n\nvar _editor2 = _interopRequireDefault(_editor);\n\nvar _form = require('../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _container = require('./utils/container');\n\nvar _container2 = _interopRequireDefault(_container);\n\nvar _loader = require('./utils/loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nvar _message = require('./utils/message');\n\nvar _message2 = _interopRequireDefault(_message);\n\nvar _attachments = require('./utils/attachments');\n\nvar attachments = _interopRequireWildcard(_attachments);\n\nvar _validators = require('./utils/validators');\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _posting = require('../../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } //jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.loadSuccess = function (data) {\n _this.setState({\n isReady: true,\n\n post: data.post ? '[quote=\"@' + data.poster + '\"]\\n' + data.post + '\\n[/quote]' : ''\n });\n };\n\n _this.loadError = function (rejection) {\n _this.setState({\n isErrored: rejection.detail\n });\n };\n\n _this.appendData = function (data) {\n var newPost = data.post ? '[quote=\"@' + data.poster + '\"]\\n' + data.post + '\\n[/quote]\\n\\n' : '';\n\n _this.setState(function (prevState, props) {\n if (prevState.post.length > 0) {\n return {\n post: prevState.post + '\\n\\n' + newPost\n };\n }\n\n return {\n post: newPost\n };\n });\n };\n\n _this.onCancel = function () {\n var cancel = confirm(gettext(\"Are you sure you want to discard your reply?\"));\n if (cancel) {\n _posting2.default.close();\n }\n };\n\n _this.onPostChange = function (event) {\n _this.changeValue('post', event.target.value);\n };\n\n _this.onAttachmentsChange = function (attachments) {\n _this.setState({\n attachments: attachments\n });\n };\n\n _this.state = {\n isReady: false,\n isLoading: false,\n isErrored: false,\n\n post: '',\n attachments: [],\n\n validators: {\n post: (0, _validators.getPostValidators)()\n },\n errors: {}\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n _ajax2.default.get(this.props.config, this.props.context || null).then(this.loadSuccess, this.loadError);\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n var context = this.props.context;\n var newContext = nextProps.context;\n\n if (context && newContext && context.reply === newContext.reply) return;\n\n _ajax2.default.get(nextProps.config, nextProps.context || null).then(this.appendData, _snackbar2.default.apiError);\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'clean',\n\n /* jshint ignore:end */\n\n value: function clean() {\n if (!this.state.post.trim().length) {\n _snackbar2.default.error(gettext(\"You have to enter a message.\"));\n return false;\n }\n\n var errors = this.validate();\n\n if (errors.post) {\n _snackbar2.default.error(errors.post[0]);\n return false;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.submit, {\n post: this.state.post,\n attachments: attachments.clean(this.state.attachments)\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(success) {\n _snackbar2.default.success(gettext(\"Your reply has been posted.\"));\n window.location = success.url.index;\n\n // keep form loading\n this.setState({\n 'isLoading': true\n });\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n var errors = [].concat(rejection.non_field_errors || [], rejection.post || [], rejection.attachments || []);\n\n _snackbar2.default.error(errors[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n if (this.state.isReady) {\n return _react2.default.createElement(\n _container2.default,\n { className: 'posting-form' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit, method: 'POST' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-12' },\n _react2.default.createElement(_editor2.default, {\n attachments: this.state.attachments,\n loading: this.state.isLoading,\n onAttachmentsChange: this.onAttachmentsChange,\n onCancel: this.onCancel,\n onChange: this.onPostChange,\n submitLabel: gettext(\"Post reply\"),\n value: this.state.post\n })\n )\n )\n )\n );\n } else if (this.state.isErrored) {\n return _react2.default.createElement(_message2.default, { message: this.state.isErrored });\n } else {\n return _react2.default.createElement(_loader2.default, null);\n }\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../services/ajax\":364,\"../../services/posting\":374,\"../../services/snackbar\":375,\"../editor\":51,\"../form\":55,\"./utils/attachments\":137,\"./utils/container\":138,\"./utils/loader\":139,\"./utils/message\":140,\"./utils/validators\":143,\"react\":\"react\"}],135:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _editor = require('../editor');\n\nvar _editor2 = _interopRequireDefault(_editor);\n\nvar _form = require('../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _container = require('./utils/container');\n\nvar _container2 = _interopRequireDefault(_container);\n\nvar _message = require('./utils/message');\n\nvar _message2 = _interopRequireDefault(_message);\n\nvar _attachments = require('./utils/attachments');\n\nvar attachments = _interopRequireWildcard(_attachments);\n\nvar _usernames = require('./utils/usernames');\n\nvar _usernames2 = _interopRequireDefault(_usernames);\n\nvar _validators = require('./utils/validators');\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _posting = require('../../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } //jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.onCancel = function () {\n var cancel = confirm(gettext(\"Are you sure you want to discard private thread?\"));\n if (cancel) {\n _posting2.default.close();\n }\n };\n\n _this.onToChange = function (event) {\n _this.changeValue('to', event.target.value);\n };\n\n _this.onTitleChange = function (event) {\n _this.changeValue('title', event.target.value);\n };\n\n _this.onPostChange = function (event) {\n _this.changeValue('post', event.target.value);\n };\n\n _this.onAttachmentsChange = function (attachments) {\n _this.setState({\n attachments: attachments\n });\n };\n\n var to = (props.to || []).map(function (user) {\n return user.username;\n }).join(', ');\n\n _this.state = {\n isLoading: false,\n\n to: to,\n title: '',\n post: '',\n attachments: [],\n\n validators: {\n title: (0, _validators.getTitleValidators)(),\n post: (0, _validators.getPostValidators)()\n },\n errors: {}\n };\n return _this;\n }\n\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'clean',\n\n /* jshint ignore:end */\n\n value: function clean() {\n if (!(0, _usernames2.default)(this.state.to).length) {\n _snackbar2.default.error(gettext(\"You have to enter at least one recipient.\"));\n return false;\n }\n\n if (!this.state.title.trim().length) {\n _snackbar2.default.error(gettext(\"You have to enter thread title.\"));\n return false;\n }\n\n if (!this.state.post.trim().length) {\n _snackbar2.default.error(gettext(\"You have to enter a message.\"));\n return false;\n }\n\n var errors = this.validate();\n\n if (errors.title) {\n _snackbar2.default.error(errors.title[0]);\n return false;\n }\n\n if (errors.post) {\n _snackbar2.default.error(errors.post[0]);\n return false;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.submit, {\n to: (0, _usernames2.default)(this.state.to),\n title: this.state.title,\n post: this.state.post,\n attachments: attachments.clean(this.state.attachments)\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(success) {\n _snackbar2.default.success(gettext(\"Your thread has been posted.\"));\n window.location = success.url;\n\n // keep form loading\n this.setState({\n 'isLoading': true\n });\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n var errors = [].concat(rejection.non_field_errors || [], rejection.to || [], rejection.title || [], rejection.post || [], rejection.attachments || []);\n\n _snackbar2.default.error(errors[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n _container2.default,\n { className: 'posting-form', withFirstRow: true },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'row first-row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12' },\n _react2.default.createElement('input', {\n className: 'form-control',\n disabled: this.state.isLoading,\n onChange: this.onToChange,\n placeholder: gettext(\"Comma separated list of user names, eg.: Danny, Lisa\"),\n type: 'text',\n value: this.state.to\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'row first-row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12' },\n _react2.default.createElement('input', {\n className: 'form-control',\n disabled: this.state.isLoading,\n onChange: this.onTitleChange,\n placeholder: gettext(\"Thread title\"),\n type: 'text',\n value: this.state.title\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12' },\n _react2.default.createElement(_editor2.default, {\n attachments: this.state.attachments,\n loading: this.state.isLoading,\n onAttachmentsChange: this.onAttachmentsChange,\n onCancel: this.onCancel,\n onChange: this.onPostChange,\n submitLabel: gettext(\"Post thread\"),\n value: this.state.post\n })\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../services/ajax\":364,\"../../services/posting\":374,\"../../services/snackbar\":375,\"../editor\":51,\"../form\":55,\"./utils/attachments\":137,\"./utils/container\":138,\"./utils/message\":140,\"./utils/usernames\":142,\"./utils/validators\":143,\"react\":\"react\"}],136:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _categorySelect = require('../category-select');\n\nvar _categorySelect2 = _interopRequireDefault(_categorySelect);\n\nvar _editor = require('../editor');\n\nvar _editor2 = _interopRequireDefault(_editor);\n\nvar _form = require('../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _container = require('./utils/container');\n\nvar _container2 = _interopRequireDefault(_container);\n\nvar _loader = require('./utils/loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nvar _message = require('./utils/message');\n\nvar _message2 = _interopRequireDefault(_message);\n\nvar _options = require('./utils/options');\n\nvar _options2 = _interopRequireDefault(_options);\n\nvar _attachments = require('./utils/attachments');\n\nvar attachments = _interopRequireWildcard(_attachments);\n\nvar _validators = require('./utils/validators');\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _posting = require('../../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } //jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n//jshint ignore:line\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.loadSuccess = function (data) {\n var category = null;\n var showOptions = false;\n var categoryOptions = null;\n\n // hydrate categories, extract posting options\n var categories = data.map(function (item) {\n // pick first category that allows posting and if it may, override it with initial one\n if (item.post !== false && (!category || item.id == _this.state.category)) {\n category = item.id;\n categoryOptions = item.post;\n }\n\n if (item.post && (item.post.close || item.post.hide || item.post.pin)) {\n showOptions = true;\n }\n\n return Object.assign(item, {\n disabled: item.post === false,\n label: item.name,\n value: item.id\n });\n });\n\n _this.setState({\n isReady: true,\n showOptions: showOptions,\n\n categories: categories,\n category: category,\n categoryOptions: categoryOptions\n });\n };\n\n _this.loadError = function (rejection) {\n _this.setState({\n isErrored: rejection.detail\n });\n };\n\n _this.onCancel = function () {\n var cancel = confirm(gettext(\"Are you sure you want to discard thread?\"));\n if (cancel) {\n _posting2.default.close();\n }\n };\n\n _this.onTitleChange = function (event) {\n _this.changeValue('title', event.target.value);\n };\n\n _this.onCategoryChange = function (event) {\n var category = _this.state.categories.find(function (item) {\n return event.target.value == item.value;\n });\n\n // if selected pin is greater than allowed, reduce it\n var pin = _this.state.pin;\n if (category.post.pin && category.post.pin < pin) {\n pin = category.post.pin;\n }\n\n _this.setState({\n category: category.id,\n categoryOptions: category.post,\n\n pin: pin\n });\n };\n\n _this.onPostChange = function (event) {\n _this.changeValue('post', event.target.value);\n };\n\n _this.onAttachmentsChange = function (attachments) {\n _this.setState({\n attachments: attachments\n });\n };\n\n _this.onClose = function () {\n _this.changeValue('close', true);\n };\n\n _this.onOpen = function () {\n _this.changeValue('close', false);\n };\n\n _this.onPinGlobally = function () {\n _this.changeValue('pin', 2);\n };\n\n _this.onPinLocally = function () {\n _this.changeValue('pin', 1);\n };\n\n _this.onUnpin = function () {\n _this.changeValue('pin', 0);\n };\n\n _this.onHide = function () {\n _this.changeValue('hide', true);\n };\n\n _this.onUnhide = function () {\n _this.changeValue('hide', false);\n };\n\n _this.state = {\n isReady: false,\n isLoading: false,\n isErrored: false,\n\n showOptions: false,\n categoryOptions: null,\n\n title: '',\n category: props.category || null,\n categories: [],\n post: '',\n attachments: [],\n close: false,\n hide: false,\n pin: 0,\n\n validators: {\n title: (0, _validators.getTitleValidators)(),\n post: (0, _validators.getPostValidators)()\n },\n errors: {}\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n _ajax2.default.get(this.props.config).then(this.loadSuccess, this.loadError);\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'clean',\n\n /* jshint ignore:end */\n\n value: function clean() {\n if (!this.state.title.trim().length) {\n _snackbar2.default.error(gettext(\"You have to enter thread title.\"));\n return false;\n }\n\n if (!this.state.post.trim().length) {\n _snackbar2.default.error(gettext(\"You have to enter a message.\"));\n return false;\n }\n\n var errors = this.validate();\n\n if (errors.title) {\n _snackbar2.default.error(errors.title[0]);\n return false;\n }\n\n if (errors.post) {\n _snackbar2.default.error(errors.post[0]);\n return false;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.submit, {\n title: this.state.title,\n category: this.state.category,\n post: this.state.post,\n attachments: attachments.clean(this.state.attachments),\n close: this.state.close,\n hide: this.state.hide,\n pin: this.state.pin\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(success) {\n _snackbar2.default.success(gettext(\"Your thread has been posted.\"));\n window.location = success.url;\n\n // keep form loading\n this.setState({\n 'isLoading': true\n });\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n var errors = [].concat(rejection.non_field_errors || [], rejection.category || [], rejection.title || [], rejection.post || [], rejection.attachments || []);\n\n _snackbar2.default.error(errors[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n if (this.state.isErrored) {\n return _react2.default.createElement(_message2.default, { message: this.state.isErrored });\n }\n\n if (!this.state.isReady) {\n return _react2.default.createElement(_loader2.default, null);\n }\n\n var columns = 0;\n if (this.state.categoryOptions.close) columns += 1;\n if (this.state.categoryOptions.hide) columns += 1;\n if (this.state.categoryOptions.pin) columns += 1;\n\n var titleStyle = null;\n\n if (columns === 1) {\n titleStyle = 'col-sm-6';\n } else {\n titleStyle = 'col-sm-8';\n }\n\n if (columns === 3) {\n titleStyle += ' col-md-6';\n } else if (columns) {\n titleStyle += ' col-md-7';\n } else {\n titleStyle += ' col-md-9';\n }\n\n return _react2.default.createElement(\n _container2.default,\n { className: 'posting-form', withFirstRow: true },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'row first-row' },\n _react2.default.createElement(\n 'div',\n { className: titleStyle },\n _react2.default.createElement('input', {\n className: 'form-control',\n disabled: this.state.isLoading,\n onChange: this.onTitleChange,\n placeholder: gettext(\"Thread title\"),\n type: 'text',\n value: this.state.title\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-4 col-md-3 xs-margin-top' },\n _react2.default.createElement(_categorySelect2.default, {\n choices: this.state.categories,\n disabled: this.state.isLoading,\n onChange: this.onCategoryChange,\n value: this.state.category\n })\n ),\n _react2.default.createElement(_options2.default, {\n close: this.state.close,\n columns: columns,\n disabled: this.state.isLoading,\n hide: this.state.hide,\n onClose: this.onClose,\n onHide: this.onHide,\n onOpen: this.onOpen,\n onPinGlobally: this.onPinGlobally,\n onPinLocally: this.onPinLocally,\n onUnhide: this.onUnhide,\n onUnpin: this.onUnpin,\n options: this.state.categoryOptions,\n pin: this.state.pin,\n showOptions: this.state.showOptions\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-12' },\n _react2.default.createElement(_editor2.default, {\n attachments: this.state.attachments,\n loading: this.state.isLoading,\n onAttachmentsChange: this.onAttachmentsChange,\n onCancel: this.onCancel,\n onChange: this.onPostChange,\n submitLabel: gettext(\"Post thread\"),\n value: this.state.post\n })\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../services/ajax\":364,\"../../services/posting\":374,\"../../services/snackbar\":375,\"../category-select\":21,\"../editor\":51,\"../form\":55,\"./utils/attachments\":137,\"./utils/container\":138,\"./utils/loader\":139,\"./utils/message\":140,\"./utils/options\":141,\"./utils/validators\":143,\"react\":\"react\"}],137:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.clean = clean;\nexports.hydrate = hydrate;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction clean(attachments) {\n var completedAttachments = attachments.filter(function (attachment) {\n return attachment.id && !attachment.isRemoved;\n });\n\n return completedAttachments.map(function (a) {\n return a.id;\n });\n}\n\nfunction hydrate(attachments) {\n return attachments.map(function (attachment) {\n return Object.assign({}, attachment, {\n uploaded_on: (0, _moment2.default)(attachment.uploaded_on)\n });\n });\n}\n\n},{\"moment\":\"moment\"}],138:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n \"div\",\n { className: props.className },\n _react2.default.createElement(\n \"div\",\n { className: \"container\" },\n props.children\n )\n );\n};\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],139:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n _container2.default,\n { className: 'posting-loader' },\n _react2.default.createElement(_loader2.default, null)\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _container = require('./container');\n\nvar _container2 = _interopRequireDefault(_container);\n\nvar _loader = require('../../loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../loader\":57,\"./container\":138,\"react\":\"react\"}],140:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n _container2.default,\n { className: 'posting-message' },\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n null,\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'error_outline'\n ),\n props.message\n ),\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-default', onClick: _posting2.default.close },\n gettext(\"Dismiss\")\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _container = require('./container');\n\nvar _container2 = _interopRequireDefault(_container);\n\nvar _posting = require('../../../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../../services/posting\":374,\"./container\":138,\"react\":\"react\"}],141:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n if (!props.showOptions) return null;\n\n var columns = props.columns;\n\n\n var className = 'col-xs-12 xs-margin-top';\n\n if (columns === 1) {\n className += ' col-sm-2';\n } else {\n className += ' sm-margin-top';\n }\n\n if (columns === 3) {\n className += ' col-md-3';\n } else {\n className += ' col-md-2';\n }\n className += ' posting-options';\n\n var columnClassName = 'col-xs-' + 12 / columns;\n\n var textClassName = 'btn-text';\n if (columns === 3) {\n textClassName += ' visible-sm-inline-block';\n } else if (columns === 2) {\n textClassName += ' hidden-md hidden-lg';\n } else {\n textClassName += ' hidden-sm';\n }\n\n return _react2.default.createElement(\n 'div',\n { className: className },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(PinOptions, {\n className: columnClassName,\n disabled: props.disabled,\n onPinGlobally: props.onPinGlobally,\n onPinLocally: props.onPinLocally,\n onUnpin: props.onUnpin,\n pin: props.pin,\n show: props.options.pin,\n textClassName: textClassName\n }),\n _react2.default.createElement(HideOptions, {\n className: columnClassName,\n disabled: props.disabled,\n hide: props.hide,\n onHide: props.onHide,\n onUnhide: props.onUnhide,\n show: props.options.hide,\n textClassName: textClassName\n }),\n _react2.default.createElement(CloseOptions, {\n className: columnClassName,\n close: props.close,\n disabled: props.disabled,\n onClose: props.onClose,\n onOpen: props.onOpen,\n show: props.options.close,\n textClassName: textClassName\n })\n )\n );\n};\n\nexports.CloseOptions = CloseOptions;\nexports.HideOptions = HideOptions;\nexports.PinOptions = PinOptions;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:start\nfunction CloseOptions(props) {\n if (!props.show) return null;\n\n var label = props.close ? gettext('Closed') : gettext('Open');\n\n return _react2.default.createElement(\n 'div',\n { className: props.className },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-block',\n disabled: props.disabled,\n onClick: props.close ? props.onOpen : props.onClose,\n title: label,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n props.close ? 'lock' : 'lock_outline'\n ),\n _react2.default.createElement(\n 'span',\n { className: props.textClassName },\n label\n )\n )\n );\n}\n\nfunction HideOptions(props) {\n if (!props.show) return null;\n\n var label = props.hide ? gettext('Hidden') : gettext('Not hidden');\n\n return _react2.default.createElement(\n 'div',\n { className: props.className },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-block',\n disabled: props.disabled,\n onClick: props.hide ? props.onUnhide : props.onHide,\n title: label,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n props.hide ? 'visibility_off' : 'visibility'\n ),\n _react2.default.createElement(\n 'span',\n { className: props.textClassName },\n label\n )\n )\n );\n}\n\nfunction PinOptions(props) {\n if (!props.show) return null;\n\n var icon = null;\n var onClick = null;\n var label = null;\n\n switch (props.pin) {\n case 0:\n icon = 'radio_button_unchecked';\n onClick = props.onPinLocally;\n label = gettext(\"Unpinned\");\n break;\n\n case 1:\n icon = 'bookmark_outline';\n onClick = props.onPinGlobally;\n label = gettext(\"Pinned locally\");\n\n if (props.show == 2) {\n onClick = props.onPinGlobally;\n } else {\n onClick = props.onUnpin;\n }\n\n break;\n\n case 2:\n icon = 'bookmark';\n onClick = props.onUnpin;\n label = gettext(\"Pinned globally\");\n break;\n }\n\n return _react2.default.createElement(\n 'div',\n { className: props.className },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-block',\n disabled: props.disabled,\n onClick: onClick,\n title: label,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n icon\n ),\n _react2.default.createElement(\n 'span',\n { className: props.textClassName },\n label\n )\n )\n );\n}\n\n},{\"react\":\"react\"}],142:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (usernames) {\n var normalisedNames = usernames.split(',').map(function (i) {\n return i.trim().toLowerCase();\n });\n var removedBlanks = normalisedNames.filter(function (i) {\n return i.length > 0;\n });\n var removedDuplicates = removedBlanks.filter(function (name, pos) {\n return removedBlanks.indexOf(name) == pos;\n });\n\n return removedDuplicates;\n};\n\n},{}],143:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getTitleValidators = getTitleValidators;\nexports.getPostValidators = getPostValidators;\nexports.getTitleLengthMin = getTitleLengthMin;\nexports.getTitleLengthMax = getTitleLengthMax;\nexports.validatePostLengthMin = validatePostLengthMin;\nexports.validatePostLengthMax = validatePostLengthMax;\n\nvar _validators = require('../../../utils/validators');\n\nvar _ = require('../../..');\n\nvar _2 = _interopRequireDefault(_);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getTitleValidators() {\n return [getTitleLengthMin(), getTitleLengthMax()];\n}\n\nfunction getPostValidators() {\n if (_2.default.get('SETTINGS').post_length_max) {\n return [validatePostLengthMin(), validatePostLengthMax()];\n } else {\n return [validatePostLengthMin()];\n }\n}\n\nfunction getTitleLengthMin() {\n return (0, _validators.minLength)(_2.default.get('SETTINGS').thread_title_length_min, function (limitValue, length) {\n var message = 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).\", limitValue);\n\n return interpolate(message, {\n limit_value: limitValue,\n show_value: length\n }, true);\n });\n}\n\nfunction getTitleLengthMax() {\n return (0, _validators.maxLength)(_2.default.get('SETTINGS').thread_title_length_max, function (limitValue, length) {\n var message = 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).\", limitValue);\n\n return interpolate(message, {\n limit_value: limitValue,\n show_value: length\n }, true);\n });\n}\n\nfunction validatePostLengthMin() {\n return (0, _validators.minLength)(_2.default.get('SETTINGS').post_length_min, function (limitValue, length) {\n var message = 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).\", limitValue);\n\n return interpolate(message, {\n limit_value: limitValue,\n show_value: length\n }, true);\n });\n}\n\nfunction validatePostLengthMax() {\n return (0, _validators.maxLength)(_2.default.get('SETTINGS').post_length_max || 1000000, function (limitValue, length) {\n var message = 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).\", limitValue);\n\n return interpolate(message, {\n limit_value: limitValue,\n show_value: length\n }, true);\n });\n}\n\n},{\"../../..\":301,\"../../../utils/validators\":392}],144:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Delete = exports.Unhide = exports.Hide = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = function (props) {\n if (isVisible(props.post.acl)) {\n return _react2.default.createElement(\n 'li',\n { className: 'event-controls' },\n _react2.default.createElement(Hide, props),\n _react2.default.createElement(Unhide, props),\n _react2.default.createElement(Delete, props)\n );\n } else {\n return null;\n }\n};\n\nexports.isVisible = isVisible;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _post = require('../../../reducers/post');\n\nvar post = _interopRequireWildcard(_post);\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nfunction isVisible(acl) {\n return acl.can_hide;\n}\n\nvar Hide = exports.Hide = function (_React$Component) {\n _inherits(Hide, _React$Component);\n\n function Hide() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Hide);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Hide.__proto__ || Object.getPrototypeOf(Hide)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n _store2.default.dispatch(post.patch(_this.props.post, {\n is_hidden: true,\n hidden_on: (0, _moment2.default)(),\n hidden_by_name: _this.props.user.username,\n url: Object.assign(_this.props.post.url, {\n hidden_by: _this.props.user.url\n })\n }));\n\n var op = { 'op': 'replace', 'path': 'is-hidden', 'value': true };\n\n _ajax2.default.patch(_this.props.post.api.index, [op]).then(function (patch) {\n _store2.default.dispatch(post.patch(_this.props.post, patch));\n }, function (rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n\n _store2.default.dispatch(post.patch(_this.props.post, {\n is_hidden: false\n }));\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Hide, [{\n key: 'render',\n value: function render() {\n if (!this.props.post.is_hidden) {\n return _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-link', onClick: this.onClick },\n gettext(\"Hide\")\n );\n } else {\n return null;\n }\n }\n }]);\n\n return Hide;\n}(_react2.default.Component);\n\nvar Unhide = exports.Unhide = function (_React$Component2) {\n _inherits(Unhide, _React$Component2);\n\n function Unhide() {\n var _ref2;\n\n var _temp2, _this2, _ret2;\n\n _classCallCheck(this, Unhide);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, (_ref2 = Unhide.__proto__ || Object.getPrototypeOf(Unhide)).call.apply(_ref2, [this].concat(args))), _this2), _this2.onClick = function () {\n _store2.default.dispatch(post.patch(_this2.props.post, {\n is_hidden: false\n }));\n\n var op = { 'op': 'replace', 'path': 'is-hidden', 'value': false };\n\n _ajax2.default.patch(_this2.props.post.api.index, [op]).then(function (patch) {\n _store2.default.dispatch(post.patch(_this2.props.post, patch));\n }, function (rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n\n _store2.default.dispatch(post.patch(_this2.props.post, {\n is_hidden: true\n }));\n });\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n }\n\n _createClass(Unhide, [{\n key: 'render',\n value: function render() {\n if (this.props.post.is_hidden) {\n return _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-link', onClick: this.onClick },\n gettext(\"Unhide\")\n );\n } else {\n return null;\n }\n }\n }]);\n\n return Unhide;\n}(_react2.default.Component);\n\nvar Delete = exports.Delete = function (_React$Component3) {\n _inherits(Delete, _React$Component3);\n\n function Delete() {\n var _ref3;\n\n var _temp3, _this3, _ret3;\n\n _classCallCheck(this, Delete);\n\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _ret3 = (_temp3 = (_this3 = _possibleConstructorReturn(this, (_ref3 = Delete.__proto__ || Object.getPrototypeOf(Delete)).call.apply(_ref3, [this].concat(args))), _this3), _this3.onClick = function () {\n var decision = confirm(gettext(\"Are you sure you wish to delete this event? This action is not reversible!\"));\n if (decision) {\n _this3.delete();\n }\n }, _this3.delete = function () {\n _store2.default.dispatch(post.patch(_this3.props.post, {\n isDeleted: true\n }));\n\n _ajax2.default.delete(_this3.props.post.api.index).then(function () {\n _snackbar2.default.success(gettext(\"Event has been deleted.\"));\n }, function (rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n\n _store2.default.dispatch(post.patch(_this3.props.post, {\n isDeleted: false\n }));\n });\n }, _temp3), _possibleConstructorReturn(_this3, _ret3);\n }\n\n _createClass(Delete, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-link', onClick: this.onClick },\n gettext(\"Delete\")\n );\n }\n }]);\n\n return Delete;\n}(_react2.default.Component);\n\n},{\"../../../reducers/post\":352,\"../../../services/ajax\":364,\"../../../services/snackbar\":375,\"../../../services/store\":376,\"moment\":\"moment\",\"react\":\"react\"}],145:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n { className: 'post-avatar' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n ICON[props.post.event_type]\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ICON = {\n changed_title: 'edit',\n\n pinned_globally: 'bookmark',\n pinned_locally: 'bookmark_border',\n unpinned: 'panorama_fish_eye',\n\n moved: 'arrow_forward',\n merged: 'call_merge',\n\n approved: 'done',\n\n opened: 'lock_open',\n closed: 'lock_outline',\n\n unhid: 'visibility',\n hid: 'visibility_off',\n\n changed_owner: 'grade',\n tookover: 'grade',\n\n added_participant: 'person_add',\n\n owner_left: 'person_outline',\n participant_left: 'person_outline',\n removed_participant: 'remove_circle_outline'\n}; /* jshint ignore:start */\n\n},{\"react\":\"react\"}],146:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n var className = 'event';\n if (props.post.isDeleted) {\n className = 'hide';\n } else if (props.post.is_hidden) {\n className = 'event post-hidden';\n }\n\n return _react2.default.createElement(\n 'li',\n { id: 'post-' + props.post.id, className: className },\n _react2.default.createElement(_unreadLabel2.default, { post: props.post }),\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-2 col-sm-3 text-right' },\n _react2.default.createElement(_icon2.default, props)\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-10 col-sm-9 text-left' },\n _react2.default.createElement(\n _waypoint2.default,\n { post: props.post },\n _react2.default.createElement(_message2.default, props),\n _react2.default.createElement(_info2.default, props)\n )\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _icon = require('./icon');\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nvar _info = require('./info');\n\nvar _info2 = _interopRequireDefault(_info);\n\nvar _message = require('./message');\n\nvar _message2 = _interopRequireDefault(_message);\n\nvar _unreadLabel = require('./unread-label');\n\nvar _unreadLabel2 = _interopRequireDefault(_unreadLabel);\n\nvar _waypoint = require('../waypoint');\n\nvar _waypoint2 = _interopRequireDefault(_waypoint);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../waypoint\":172,\"./icon\":145,\"./info\":147,\"./message\":148,\"./unread-label\":149,\"react\":\"react\"}],147:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'ul',\n { className: 'list-inline event-info' },\n _react2.default.createElement(Hidden, props),\n _react2.default.createElement(Poster, props),\n _react2.default.createElement(_controls2.default, props)\n );\n};\n\nexports.Hidden = Hidden;\nexports.Poster = Poster;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _escapeHtml = require('../../../utils/escape-html');\n\nvar _escapeHtml2 = _interopRequireDefault(_escapeHtml);\n\nvar _controls = require('./controls');\n\nvar _controls2 = _interopRequireDefault(_controls);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar DATE_ABBR = '%(relative)s'; /* jshint ignore:start */\n\nvar DATE_URL = '%(relative)s';\nvar USER_SPAN = '%(user)s';\nvar USER_URL = '%(user)s';\n\nfunction Hidden(props) {\n if (props.post.is_hidden) {\n var user = null;\n if (props.post.url.hidden_by) {\n user = interpolate(USER_URL, {\n url: (0, _escapeHtml2.default)(props.post.url.hidden_by),\n user: (0, _escapeHtml2.default)(props.post.hidden_by_name)\n }, true);\n } else {\n user = interpolate(USER_SPAN, {\n user: (0, _escapeHtml2.default)(props.post.hidden_by_name)\n }, true);\n }\n\n var date = interpolate(DATE_ABBR, {\n absolute: (0, _escapeHtml2.default)(props.post.hidden_on.format('LLL')),\n relative: (0, _escapeHtml2.default)(props.post.hidden_on.fromNow())\n }, true);\n\n var message = interpolate((0, _escapeHtml2.default)(gettext(\"Hidden by %(event_by)s %(event_on)s.\")), {\n event_by: user,\n event_on: date\n }, true);\n\n return _react2.default.createElement('li', {\n className: 'event-hidden-message',\n dangerouslySetInnerHTML: { __html: message }\n });\n } else {\n return null;\n }\n}\n\nfunction Poster(props) {\n var user = null;\n if (props.post.poster) {\n user = interpolate(USER_URL, {\n url: (0, _escapeHtml2.default)(props.post.poster.url),\n user: (0, _escapeHtml2.default)(props.post.poster_name)\n }, true);\n } else {\n user = interpolate(USER_SPAN, {\n user: (0, _escapeHtml2.default)(props.post.poster_name)\n }, true);\n }\n\n var date = interpolate(DATE_URL, {\n url: (0, _escapeHtml2.default)(props.post.url.index),\n absolute: (0, _escapeHtml2.default)(props.post.posted_on.format('LLL')),\n relative: (0, _escapeHtml2.default)(props.post.posted_on.fromNow())\n }, true);\n\n var message = interpolate((0, _escapeHtml2.default)(gettext(\"By %(event_by)s %(event_on)s.\")), {\n event_by: user,\n event_on: date\n }, true);\n\n return _react2.default.createElement('li', { className: 'event-posters', dangerouslySetInnerHTML: { __html: message } });\n}\n\n},{\"../../../utils/escape-html\":382,\"./controls\":144,\"react\":\"react\"}],148:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n if (MESSAGE[props.post.event_type]) {\n return _react2.default.createElement(\n 'p',\n { className: 'event-message' },\n MESSAGE[props.post.event_type]\n );\n } else if (props.post.event_type === 'changed_title') {\n return _react2.default.createElement(ChangedTitle, props);\n } else if (props.post.event_type === 'moved') {\n return _react2.default.createElement(Moved, props);\n } else if (props.post.event_type === 'merged') {\n return _react2.default.createElement(Merged, props);\n } else if (props.post.event_type === 'changed_owner') {\n return _react2.default.createElement(ChangedOwner, props);\n } else if (props.post.event_type === 'added_participant') {\n return _react2.default.createElement(AddedParticipant, props);\n } else if (props.post.event_type === 'removed_participant') {\n return _react2.default.createElement(RemovedParticipant, props);\n } else {\n return null;\n }\n};\n\nexports.ChangedTitle = ChangedTitle;\nexports.Moved = Moved;\nexports.Merged = Merged;\nexports.ChangedOwner = ChangedOwner;\nexports.AddedParticipant = AddedParticipant;\nexports.RemovedParticipant = RemovedParticipant;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _escapeHtml = require('../../../utils/escape-html');\n\nvar _escapeHtml2 = _interopRequireDefault(_escapeHtml);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nvar MESSAGE = {\n pinned_globally: gettext(\"Thread has been pinned globally.\"),\n pinned_locally: gettext(\"Thread has been pinned locally.\"),\n unpinned: gettext(\"Thread has been unpinned.\"),\n\n approved: gettext(\"Thread has been approved.\"),\n\n opened: gettext(\"Thread has been opened.\"),\n closed: gettext(\"Thread has been closed.\"),\n\n unhid: gettext(\"Thread has been revealed.\"),\n hid: gettext(\"Thread has been made hidden.\"),\n\n tookover: gettext(\"Took thread over.\"),\n\n owner_left: gettext(\"Owner has left thread. This thread is now closed.\"),\n participant_left: gettext(\"Participant has left thread.\")\n};\n\nvar ITEM_LINK = '%(name)s';\nvar ITEM_SPAN = '%(name)s';\n\nfunction ChangedTitle(props) {\n var msgstring = (0, _escapeHtml2.default)(gettext(\"Thread title has been changed from %(old_title)s.\"));\n var oldTitle = interpolate(ITEM_SPAN, {\n name: (0, _escapeHtml2.default)(props.post.event_context.old_title)\n }, true);\n var message = interpolate(msgstring, {\n old_title: oldTitle\n }, true);\n\n return _react2.default.createElement('p', { className: 'event-message', dangerouslySetInnerHTML: { __html: message } });\n}\n\nfunction Moved(props) {\n var msgstring = (0, _escapeHtml2.default)(gettext(\"Thread has been moved from %(from_category)s.\"));\n var fromCategory = interpolate(ITEM_LINK, {\n url: (0, _escapeHtml2.default)(props.post.event_context.from_category.url),\n name: (0, _escapeHtml2.default)(props.post.event_context.from_category.name)\n }, true);\n\n var message = interpolate(msgstring, {\n from_category: fromCategory\n }, true);\n\n return _react2.default.createElement('p', { className: 'event-message', dangerouslySetInnerHTML: { __html: message } });\n}\n\nfunction Merged(props) {\n var msgstring = (0, _escapeHtml2.default)(gettext(\"The %(merged_thread)s thread has been merged into this thread.\"));\n var mergedThread = interpolate(ITEM_SPAN, {\n name: (0, _escapeHtml2.default)(props.post.event_context.merged_thread)\n }, true);\n\n var message = interpolate(msgstring, {\n merged_thread: mergedThread\n }, true);\n\n return _react2.default.createElement('p', { className: 'event-message', dangerouslySetInnerHTML: { __html: message } });\n}\n\nfunction ChangedOwner(props) {\n var msgstring = (0, _escapeHtml2.default)(gettext(\"Changed thread owner to %(user)s.\"));\n var newOwner = interpolate(ITEM_LINK, {\n url: (0, _escapeHtml2.default)(props.post.event_context.user.url),\n name: (0, _escapeHtml2.default)(props.post.event_context.user.username)\n }, true);\n\n var message = interpolate(msgstring, {\n user: newOwner\n }, true);\n\n return _react2.default.createElement('p', { className: 'event-message', dangerouslySetInnerHTML: { __html: message } });\n}\n\nfunction AddedParticipant(props) {\n var msgstring = (0, _escapeHtml2.default)(gettext(\"Added %(user)s to thread.\"));\n var newOwner = interpolate(ITEM_LINK, {\n url: (0, _escapeHtml2.default)(props.post.event_context.user.url),\n name: (0, _escapeHtml2.default)(props.post.event_context.user.username)\n }, true);\n\n var message = interpolate(msgstring, {\n user: newOwner\n }, true);\n\n return _react2.default.createElement('p', { className: 'event-message', dangerouslySetInnerHTML: { __html: message } });\n}\n\nfunction RemovedParticipant(props) {\n var msgstring = (0, _escapeHtml2.default)(gettext(\"Removed %(user)s from thread.\"));\n var newOwner = interpolate(ITEM_LINK, {\n url: (0, _escapeHtml2.default)(props.post.event_context.user.url),\n name: (0, _escapeHtml2.default)(props.post.event_context.user.username)\n }, true);\n\n var message = interpolate(msgstring, {\n user: newOwner\n }, true);\n\n return _react2.default.createElement('p', { className: 'event-message', dangerouslySetInnerHTML: { __html: message } });\n}\n\n},{\"../../../utils/escape-html\":382,\"react\":\"react\"}],149:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var post = _ref.post;\n\n if (post.is_read) return null;\n\n return _react2.default.createElement(\n \"div\",\n { className: \"row\" },\n _react2.default.createElement(\n \"div\",\n { className: \"col-xs-10 col-xs-offset-2 col-sm-9 col-sm-offset-3 text-left\" },\n _react2.default.createElement(\n \"div\",\n { className: \"event-label\" },\n _react2.default.createElement(\n \"span\",\n { className: \"label label-unread\" },\n gettext(\"New event\")\n )\n )\n )\n );\n};\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],150:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /* jshint ignore:start */\n\n\nexports.default = function (props) {\n if (!props.posts.isLoaded) {\n return _react2.default.createElement(\n 'ul',\n { className: 'posts-list ui-preview' },\n _react2.default.createElement(_preview2.default, null)\n );\n }\n\n return _react2.default.createElement(\n 'ul',\n { className: 'posts-list ui-ready' },\n props.posts.results.map(function (post) {\n return _react2.default.createElement(ListItem, _extends({\n key: post.id,\n post: post\n }, props));\n })\n );\n};\n\nexports.ListItem = ListItem;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _event = require('./event');\n\nvar _event2 = _interopRequireDefault(_event);\n\nvar _post = require('./post');\n\nvar _post2 = _interopRequireDefault(_post);\n\nvar _preview = require('./post/preview');\n\nvar _preview2 = _interopRequireDefault(_preview);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ListItem(props) {\n if (props.post.is_event) {\n return _react2.default.createElement(_event2.default, props);\n }\n\n return _react2.default.createElement(_post2.default, props);\n}\n\n},{\"./event\":146,\"./post\":162,\"./post/preview\":170,\"react\":\"react\"}],151:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-md-6' },\n _react2.default.createElement(AttachmentPreview, props),\n _react2.default.createElement(\n 'div',\n { className: 'post-attachment' },\n _react2.default.createElement(\n 'a',\n { href: props.attachment.url.index, className: 'attachment-name item-title' },\n props.attachment.filename\n ),\n _react2.default.createElement(AttachmentDetails, props)\n )\n );\n};\n\nexports.AttachmentPreview = AttachmentPreview;\nexports.AttachmentIcon = AttachmentIcon;\nexports.AttachmentThumbnail = AttachmentThumbnail;\nexports.AttachmentDetails = AttachmentDetails;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _ = require('../../../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _escapeHtml = require('../../../../utils/escape-html');\n\nvar _escapeHtml2 = _interopRequireDefault(_escapeHtml);\n\nvar _fileSize = require('../../../../utils/file-size');\n\nvar _fileSize2 = _interopRequireDefault(_fileSize);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nvar DATE_ABBR = '%(relative)s';\nvar USER_SPAN = '%(user)s';\nvar USER_URL = '%(user)s';\n\nfunction AttachmentPreview(props) {\n if (props.attachment.is_image) {\n return _react2.default.createElement(\n 'div',\n { className: 'post-attachment-preview' },\n _react2.default.createElement(AttachmentThumbnail, props)\n );\n } else {\n return _react2.default.createElement(\n 'div',\n { className: 'post-attachment-preview' },\n _react2.default.createElement(AttachmentIcon, props)\n );\n }\n}\n\nfunction AttachmentIcon(props) {\n return _react2.default.createElement(\n 'a',\n { href: props.attachment.url.index, className: 'material-icon' },\n 'insert_drive_file'\n );\n}\n\nfunction AttachmentThumbnail(props) {\n var url = props.attachment.url.thumb || props.attachment.url.index;\n return _react2.default.createElement('a', {\n className: 'post-thumbnail',\n href: props.attachment.url.index,\n style: { backgroundImage: 'url(\"' + (0, _escapeHtml2.default)(url) + '\")' }\n });\n}\n\nfunction AttachmentDetails(props) {\n var user = null;\n if (props.attachment.url.uploader) {\n user = interpolate(USER_URL, {\n url: (0, _escapeHtml2.default)(props.attachment.url.uploader),\n user: (0, _escapeHtml2.default)(props.attachment.uploader_name)\n }, true);\n } else {\n user = interpolate(USER_SPAN, {\n user: (0, _escapeHtml2.default)(props.attachment.uploader_name)\n }, true);\n }\n\n var date = interpolate(DATE_ABBR, {\n absolute: (0, _escapeHtml2.default)(props.attachment.uploaded_on.format('LLL')),\n relative: (0, _escapeHtml2.default)(props.attachment.uploaded_on.fromNow())\n }, true);\n\n var message = interpolate((0, _escapeHtml2.default)(gettext(\"%(filetype)s, %(size)s, uploaded by %(uploader)s %(uploaded_on)s.\")), {\n filetype: props.attachment.filetype,\n size: (0, _fileSize2.default)(props.attachment.size),\n uploader: user,\n uploaded_on: date\n }, true);\n\n return _react2.default.createElement('p', {\n className: 'post-attachment-description',\n dangerouslySetInnerHTML: { __html: message }\n });\n}\n\n},{\"../../../..\":301,\"../../../../utils/escape-html\":382,\"../../../../utils/file-size\":383,\"react\":\"react\"}],152:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n if (!isVisible(props.post)) {\n return null;\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'post-attachments' },\n (0, _batch2.default)(props.post.attachments, 2).map(function (row) {\n var key = row.map(function (a) {\n return a ? a.id : 0;\n }).join('_');\n return _react2.default.createElement(Row, { key: key, row: row });\n })\n );\n};\n\nexports.isVisible = isVisible;\nexports.Row = Row;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _batch = require('../../../../utils/batch');\n\nvar _batch2 = _interopRequireDefault(_batch);\n\nvar _attachment = require('./attachment');\n\nvar _attachment2 = _interopRequireDefault(_attachment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nfunction isVisible(post) {\n return (!post.is_hidden || post.acl.can_see_hidden) && post.attachments;\n}\n\nfunction Row(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'row' },\n props.row.map(function (attachment) {\n return _react2.default.createElement(_attachment2.default, {\n attachment: attachment,\n key: attachment ? attachment.id : 0\n });\n })\n );\n}\n\n},{\"../../../../utils/batch\":379,\"./attachment\":151,\"react\":\"react\"}],153:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n if (props.post.is_hidden && !props.post.acl.can_see_hidden) {\n return _react2.default.createElement(Hidden, props);\n } else if (props.post.content) {\n return _react2.default.createElement(Default, props);\n } else {\n return _react2.default.createElement(Invalid, props);\n }\n};\n\nexports.Default = Default;\nexports.Hidden = Hidden;\nexports.Invalid = Invalid;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _waypoint = require('../waypoint');\n\nvar _waypoint2 = _interopRequireDefault(_waypoint);\n\nvar _misagoMarkup = require('../../misago-markup');\n\nvar _misagoMarkup2 = _interopRequireDefault(_misagoMarkup);\n\nvar _escapeHtml = require('../../../utils/escape-html');\n\nvar _escapeHtml2 = _interopRequireDefault(_escapeHtml);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nvar HIDDEN_BY_URL = '%(user)s';\nvar HIDDEN_BY_SPAN = '%(user)s';\nvar HIDDEN_ON = '%(relative)s';\n\nfunction Default(props) {\n return _react2.default.createElement(\n _waypoint2.default,\n { className: 'post-body', post: props.post },\n _react2.default.createElement(_misagoMarkup2.default, { markup: props.post.content })\n );\n}\n\nfunction Hidden(props) {\n var user = null;\n if (props.post.hidden_by) {\n user = interpolate(HIDDEN_BY_URL, {\n url: (0, _escapeHtml2.default)(props.post.url.hidden_by),\n user: (0, _escapeHtml2.default)(props.post.hidden_by_name)\n }, true);\n } else {\n user = interpolate(HIDDEN_BY_SPAN, {\n user: (0, _escapeHtml2.default)(props.post.hidden_by_name)\n }, true);\n }\n\n var date = interpolate(HIDDEN_ON, {\n absolute: (0, _escapeHtml2.default)(props.post.hidden_on.format('LLL')),\n relative: (0, _escapeHtml2.default)(props.post.hidden_on.fromNow())\n }, true);\n\n var message = interpolate((0, _escapeHtml2.default)(gettext(\"Hidden by %(hidden_by)s %(hidden_on)s.\")), {\n hidden_by: user,\n hidden_on: date\n }, true);\n\n return _react2.default.createElement(\n _waypoint2.default,\n { className: 'post-body post-body-hidden', post: props.post },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"This post is hidden. You cannot see its contents.\")\n ),\n _react2.default.createElement('p', { className: 'text-muted', dangerouslySetInnerHTML: { __html: message } })\n );\n}\n\nfunction Invalid(props) {\n return _react2.default.createElement(\n _waypoint2.default,\n { className: 'post-body post-body-invalid', post: props.post },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"This post's contents cannot be displayed.\")\n ),\n _react2.default.createElement(\n 'p',\n { className: 'text-muted' },\n gettext(\"This error is caused by invalid post content manipulation.\")\n )\n );\n}\n\n},{\"../../../utils/escape-html\":382,\"../../misago-markup\":59,\"../waypoint\":172,\"react\":\"react\"}],154:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.approve = approve;\nexports.protect = protect;\nexports.unprotect = unprotect;\nexports.hide = hide;\nexports.unhide = unhide;\nexports.like = like;\nexports.unlike = unlike;\nexports.patch = patch;\nexports.remove = remove;\nexports.markAsBestAnswer = markAsBestAnswer;\nexports.unmarkBestAnswer = unmarkBestAnswer;\nexports.patchThread = patchThread;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _thread = require('../../../../reducers/thread');\n\nvar thread = _interopRequireWildcard(_thread);\n\nvar _post = require('../../../../reducers/post');\n\nvar post = _interopRequireWildcard(_post);\n\nvar _ajax = require('../../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction approve(props) {\n _store2.default.dispatch(post.patch(props.post, {\n is_unapproved: false\n }));\n\n var ops = [{ 'op': 'replace', 'path': 'is-unapproved', 'value': false }];\n\n var previousState = {\n is_unapproved: props.post.is_unapproved\n };\n\n patch(props, ops, previousState);\n}\n\nfunction protect(props) {\n _store2.default.dispatch(post.patch(props.post, {\n is_protected: true\n }));\n\n var ops = [{ 'op': 'replace', 'path': 'is-protected', 'value': true }];\n\n var previousState = {\n is_protected: props.post.is_protected\n };\n\n patch(props, ops, previousState);\n}\n\nfunction unprotect(props) {\n _store2.default.dispatch(post.patch(props.post, {\n is_protected: false\n }));\n\n var ops = [{ 'op': 'replace', 'path': 'is-protected', 'value': false }];\n\n var previousState = {\n is_protected: props.post.is_protected\n };\n\n patch(props, ops, previousState);\n}\n\nfunction hide(props) {\n _store2.default.dispatch(post.patch(props.post, {\n is_hidden: true,\n hidden_on: (0, _moment2.default)(),\n hidden_by_name: props.user.username,\n url: Object.assign(props.post.url, {\n hidden_by: props.user.url\n })\n }));\n\n var ops = [{ 'op': 'replace', 'path': 'is-hidden', 'value': true }];\n\n var previousState = {\n is_hidden: props.post.is_hidden,\n hidden_on: props.post.hidden_on,\n hidden_by_name: props.post.hidden_by_name,\n url: props.post.url\n };\n\n patch(props, ops, previousState);\n}\n\nfunction unhide(props) {\n _store2.default.dispatch(post.patch(props.post, {\n is_hidden: false\n }));\n\n var ops = [{ 'op': 'replace', 'path': 'is-hidden', 'value': false }];\n\n var previousState = {\n is_hidden: props.post.is_hidden\n };\n\n patch(props, ops, previousState);\n}\n\nfunction like(props) {\n var lastLikes = props.post.last_likes || [];\n var concatedLikes = [props.user].concat(lastLikes);\n var finalLikes = concatedLikes.length > 3 ? concatedLikes.slice(0, -1) : concatedLikes;\n\n _store2.default.dispatch(post.patch(props.post, {\n is_liked: true,\n likes: props.post.likes + 1,\n last_likes: finalLikes\n }));\n\n var ops = [{ 'op': 'replace', 'path': 'is-liked', 'value': true }];\n\n var previousState = {\n is_liked: props.post.is_liked,\n likes: props.post.likes,\n last_likes: props.post.last_likes\n };\n\n patch(props, ops, previousState);\n}\n\nfunction unlike(props) {\n _store2.default.dispatch(post.patch(props.post, {\n is_liked: false,\n likes: props.post.likes - 1,\n last_likes: props.post.last_likes.filter(function (user) {\n return !user.id || user.id !== props.user.id;\n })\n }));\n\n var ops = [{ 'op': 'replace', 'path': 'is-liked', 'value': false }];\n\n var previousState = {\n is_liked: props.post.is_liked,\n likes: props.post.likes,\n last_likes: props.post.last_likes\n };\n\n patch(props, ops, previousState);\n}\n\nfunction patch(props, ops, previousState) {\n _ajax2.default.patch(props.post.api.index, ops).then(function (newState) {\n _store2.default.dispatch(post.patch(props.post, newState));\n }, function (rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n\n _store2.default.dispatch(post.patch(props.post, previousState));\n });\n}\n\nfunction remove(props) {\n var confirmed = confirm(gettext(\"Are you sure you want to delete this post? This action is not reversible!\"));\n if (!confirmed) {\n return;\n }\n\n _store2.default.dispatch(post.patch(props.post, {\n isDeleted: true\n }));\n\n _ajax2.default.delete(props.post.api.index).then(function () {\n _snackbar2.default.success(gettext(\"Post has been deleted.\"));\n }, function (rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n\n _store2.default.dispatch(post.patch(props.post, {\n isDeleted: false\n }));\n });\n}\n\nfunction markAsBestAnswer(props) {\n var post = props.post,\n user = props.user;\n\n\n _store2.default.dispatch(thread.update({\n best_answer: post.id,\n best_answer_is_protected: post.is_protected,\n best_answer_marked_on: (0, _moment2.default)(),\n best_answer_marked_by: user.id,\n best_answer_marked_by_name: user.username,\n best_answer_marked_by_slug: user.slug\n }));\n\n var ops = [{ 'op': 'replace', 'path': 'best-answer', 'value': post.id }, { 'op': 'add', 'path': 'acl', 'value': true }];\n\n var previousState = {\n best_answer: props.thread.best_answer,\n best_answer_is_protected: props.thread.best_answer_is_protected,\n best_answer_marked_on: props.thread.best_answer_marked_on,\n best_answer_marked_by: props.thread.best_answer_marked_by,\n best_answer_marked_by_name: props.thread.best_answer_marked_by_name,\n best_answer_marked_by_slug: props.thread.best_answer_marked_by_slug\n };\n\n patchThread(props, ops, previousState);\n}\n\nfunction unmarkBestAnswer(props) {\n var post = props.post;\n\n\n _store2.default.dispatch(thread.update({\n best_answer: null,\n best_answer_is_protected: false,\n best_answer_marked_on: null,\n best_answer_marked_by: null,\n best_answer_marked_by_name: null,\n best_answer_marked_by_slug: null\n }));\n\n var ops = [{ 'op': 'remove', 'path': 'best-answer', 'value': post.id }, { 'op': 'add', 'path': 'acl', 'value': true }];\n\n var previousState = {\n best_answer: props.thread.best_answer,\n best_answer_is_protected: props.thread.best_answer_is_protected,\n best_answer_marked_on: props.thread.best_answer_marked_on,\n best_answer_marked_by: props.thread.best_answer_marked_by,\n best_answer_marked_by_name: props.thread.best_answer_marked_by_name,\n best_answer_marked_by_slug: props.thread.best_answer_marked_by_slug\n };\n\n patchThread(props, ops, previousState);\n}\n\nfunction patchThread(props, ops, previousState) {\n _ajax2.default.patch(props.thread.api.index, ops).then(function (newState) {\n if (newState.best_answer_marked_on) {\n newState.best_answer_marked_on = (0, _moment2.default)(newState.best_answer_marked_on);\n }\n _store2.default.dispatch(thread.update(newState));\n }, function (rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n\n _store2.default.dispatch(thread.update(previousState));\n });\n}\n\n},{\"../../../../reducers/post\":352,\"../../../../reducers/thread\":359,\"../../../../services/ajax\":364,\"../../../../services/snackbar\":375,\"../../../../services/store\":376,\"moment\":\"moment\"}],155:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Delete = exports.Unhide = exports.Hide = exports.Unprotect = exports.Protect = exports.Split = exports.Move = exports.Approve = exports.PostEdits = exports.UnmarkMarkBestAnswer = exports.MarkAsBestAnswer = exports.Edit = exports.Permalink = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'ul',\n { className: 'dropdown-menu dropdown-menu-right stick-to-bottom' },\n _react2.default.createElement(Permalink, props),\n _react2.default.createElement(Edit, props),\n _react2.default.createElement(MarkAsBestAnswer, props),\n _react2.default.createElement(UnmarkMarkBestAnswer, props),\n _react2.default.createElement(PostEdits, props),\n _react2.default.createElement(Approve, props),\n _react2.default.createElement(Move, props),\n _react2.default.createElement(Split, props),\n _react2.default.createElement(Protect, props),\n _react2.default.createElement(Unprotect, props),\n _react2.default.createElement(Hide, props),\n _react2.default.createElement(Unhide, props),\n _react2.default.createElement(Delete, props)\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _modal = require('../../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _posting = require('../../../../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nvar _actions = require('./actions');\n\nvar moderation = _interopRequireWildcard(_actions);\n\nvar _move = require('./move');\n\nvar _move2 = _interopRequireDefault(_move);\n\nvar _postChangelog = require('../../../post-changelog');\n\nvar _postChangelog2 = _interopRequireDefault(_postChangelog);\n\nvar _split = require('./split');\n\nvar _split2 = _interopRequireDefault(_split);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar Permalink = exports.Permalink = function (_React$Component) {\n _inherits(Permalink, _React$Component);\n\n function Permalink() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Permalink);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Permalink.__proto__ || Object.getPrototypeOf(Permalink)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n var permaUrl = window.location.protocol + '//';\n permaUrl += window.location.host;\n permaUrl += _this.props.post.url.index;\n\n prompt(gettext(\"Permament link to this post:\"), permaUrl);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Permalink, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'link'\n ),\n gettext(\"Permament link\")\n )\n );\n }\n }]);\n\n return Permalink;\n}(_react2.default.Component);\n\nvar Edit = exports.Edit = function (_React$Component2) {\n _inherits(Edit, _React$Component2);\n\n function Edit() {\n var _ref2;\n\n var _temp2, _this2, _ret2;\n\n _classCallCheck(this, Edit);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, (_ref2 = Edit.__proto__ || Object.getPrototypeOf(Edit)).call.apply(_ref2, [this].concat(args))), _this2), _this2.onClick = function () {\n _posting2.default.open({\n mode: 'EDIT',\n\n config: _this2.props.post.api.editor,\n submit: _this2.props.post.api.index\n });\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n }\n\n _createClass(Edit, [{\n key: 'render',\n value: function render() {\n if (!this.props.post.acl.can_edit) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'edit'\n ),\n gettext(\"Edit\")\n )\n );\n }\n }]);\n\n return Edit;\n}(_react2.default.Component);\n\nvar MarkAsBestAnswer = exports.MarkAsBestAnswer = function (_React$Component3) {\n _inherits(MarkAsBestAnswer, _React$Component3);\n\n function MarkAsBestAnswer() {\n var _ref3;\n\n var _temp3, _this3, _ret3;\n\n _classCallCheck(this, MarkAsBestAnswer);\n\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _ret3 = (_temp3 = (_this3 = _possibleConstructorReturn(this, (_ref3 = MarkAsBestAnswer.__proto__ || Object.getPrototypeOf(MarkAsBestAnswer)).call.apply(_ref3, [this].concat(args))), _this3), _this3.onClick = function () {\n moderation.markAsBestAnswer(_this3.props);\n }, _temp3), _possibleConstructorReturn(_this3, _ret3);\n }\n\n _createClass(MarkAsBestAnswer, [{\n key: 'render',\n value: function render() {\n var _props = this.props,\n post = _props.post,\n thread = _props.thread;\n\n\n if (!thread.acl.can_mark_best_answer) return null;\n if (!post.acl.can_mark_as_best_answer) return null;\n if (post.id === thread.best_answer) return null;\n if (thread.best_answer && !thread.acl.can_change_best_answer) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'check_box'\n ),\n gettext(\"Mark as best answer\")\n )\n );\n }\n }]);\n\n return MarkAsBestAnswer;\n}(_react2.default.Component);\n\nvar UnmarkMarkBestAnswer = exports.UnmarkMarkBestAnswer = function (_React$Component4) {\n _inherits(UnmarkMarkBestAnswer, _React$Component4);\n\n function UnmarkMarkBestAnswer() {\n var _ref4;\n\n var _temp4, _this4, _ret4;\n\n _classCallCheck(this, UnmarkMarkBestAnswer);\n\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _ret4 = (_temp4 = (_this4 = _possibleConstructorReturn(this, (_ref4 = UnmarkMarkBestAnswer.__proto__ || Object.getPrototypeOf(UnmarkMarkBestAnswer)).call.apply(_ref4, [this].concat(args))), _this4), _this4.onClick = function () {\n moderation.unmarkBestAnswer(_this4.props);\n }, _temp4), _possibleConstructorReturn(_this4, _ret4);\n }\n\n _createClass(UnmarkMarkBestAnswer, [{\n key: 'render',\n value: function render() {\n var _props2 = this.props,\n post = _props2.post,\n thread = _props2.thread;\n\n\n if (post.id !== thread.best_answer) return null;\n if (!thread.acl.can_unmark_best_answer) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'check_box_outline_blank'\n ),\n gettext(\"Unmark best answer\")\n )\n );\n }\n }]);\n\n return UnmarkMarkBestAnswer;\n}(_react2.default.Component);\n\nvar PostEdits = exports.PostEdits = function (_React$Component5) {\n _inherits(PostEdits, _React$Component5);\n\n function PostEdits() {\n var _ref5;\n\n var _temp5, _this5, _ret5;\n\n _classCallCheck(this, PostEdits);\n\n for (var _len5 = arguments.length, args = Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n return _ret5 = (_temp5 = (_this5 = _possibleConstructorReturn(this, (_ref5 = PostEdits.__proto__ || Object.getPrototypeOf(PostEdits)).call.apply(_ref5, [this].concat(args))), _this5), _this5.onClick = function () {\n _modal2.default.show(_react2.default.createElement(_postChangelog2.default, { post: _this5.props.post }));\n }, _temp5), _possibleConstructorReturn(_this5, _ret5);\n }\n\n _createClass(PostEdits, [{\n key: 'render',\n value: function render() {\n var isHidden = this.props.post.is_hidden && !this.props.post.acl.can_see_hidden;\n var isUnedited = this.props.post.edits === 0;\n if (isHidden || isUnedited) return null;\n\n var message = ngettext(\"This post was edited %(edits)s time.\", \"This post was edited %(edits)s times.\", this.props.post.edits);\n\n var title = interpolate(message, {\n 'edits': this.props.post.edits\n }, true);\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'edit'\n ),\n gettext(\"Changes history\")\n )\n );\n }\n }]);\n\n return PostEdits;\n}(_react2.default.Component);\n\nvar Approve = exports.Approve = function (_React$Component6) {\n _inherits(Approve, _React$Component6);\n\n function Approve() {\n var _ref6;\n\n var _temp6, _this6, _ret6;\n\n _classCallCheck(this, Approve);\n\n for (var _len6 = arguments.length, args = Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n return _ret6 = (_temp6 = (_this6 = _possibleConstructorReturn(this, (_ref6 = Approve.__proto__ || Object.getPrototypeOf(Approve)).call.apply(_ref6, [this].concat(args))), _this6), _this6.onClick = function () {\n moderation.approve(_this6.props);\n }, _temp6), _possibleConstructorReturn(_this6, _ret6);\n }\n\n _createClass(Approve, [{\n key: 'render',\n value: function render() {\n if (!this.props.post.acl.can_approve) return null;\n if (!this.props.post.is_unapproved) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'done'\n ),\n gettext(\"Approve\")\n )\n );\n }\n }]);\n\n return Approve;\n}(_react2.default.Component);\n\nvar Move = exports.Move = function (_React$Component7) {\n _inherits(Move, _React$Component7);\n\n function Move() {\n var _ref7;\n\n var _temp7, _this7, _ret7;\n\n _classCallCheck(this, Move);\n\n for (var _len7 = arguments.length, args = Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n return _ret7 = (_temp7 = (_this7 = _possibleConstructorReturn(this, (_ref7 = Move.__proto__ || Object.getPrototypeOf(Move)).call.apply(_ref7, [this].concat(args))), _this7), _this7.onClick = function () {\n _modal2.default.show(_react2.default.createElement(_move2.default, _this7.props));\n }, _temp7), _possibleConstructorReturn(_this7, _ret7);\n }\n\n _createClass(Move, [{\n key: 'render',\n value: function render() {\n if (!this.props.post.acl.can_move) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'arrow_forward'\n ),\n gettext(\"Move\")\n )\n );\n }\n }]);\n\n return Move;\n}(_react2.default.Component);\n\nvar Split = exports.Split = function (_React$Component8) {\n _inherits(Split, _React$Component8);\n\n function Split() {\n var _ref8;\n\n var _temp8, _this8, _ret8;\n\n _classCallCheck(this, Split);\n\n for (var _len8 = arguments.length, args = Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n args[_key8] = arguments[_key8];\n }\n\n return _ret8 = (_temp8 = (_this8 = _possibleConstructorReturn(this, (_ref8 = Split.__proto__ || Object.getPrototypeOf(Split)).call.apply(_ref8, [this].concat(args))), _this8), _this8.onClick = function () {\n _modal2.default.show(_react2.default.createElement(_split2.default, _this8.props));\n }, _temp8), _possibleConstructorReturn(_this8, _ret8);\n }\n\n _createClass(Split, [{\n key: 'render',\n value: function render() {\n if (!this.props.post.acl.can_move) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'call_split'\n ),\n gettext(\"Split\")\n )\n );\n }\n }]);\n\n return Split;\n}(_react2.default.Component);\n\nvar Protect = exports.Protect = function (_React$Component9) {\n _inherits(Protect, _React$Component9);\n\n function Protect() {\n var _ref9;\n\n var _temp9, _this9, _ret9;\n\n _classCallCheck(this, Protect);\n\n for (var _len9 = arguments.length, args = Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n args[_key9] = arguments[_key9];\n }\n\n return _ret9 = (_temp9 = (_this9 = _possibleConstructorReturn(this, (_ref9 = Protect.__proto__ || Object.getPrototypeOf(Protect)).call.apply(_ref9, [this].concat(args))), _this9), _this9.onClick = function () {\n moderation.protect(_this9.props);\n }, _temp9), _possibleConstructorReturn(_this9, _ret9);\n }\n\n _createClass(Protect, [{\n key: 'render',\n value: function render() {\n if (!this.props.post.acl.can_protect) return null;\n if (this.props.post.is_protected) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'lock_outline'\n ),\n gettext(\"Protect\")\n )\n );\n }\n }]);\n\n return Protect;\n}(_react2.default.Component);\n\nvar Unprotect = exports.Unprotect = function (_React$Component10) {\n _inherits(Unprotect, _React$Component10);\n\n function Unprotect() {\n var _ref10;\n\n var _temp10, _this10, _ret10;\n\n _classCallCheck(this, Unprotect);\n\n for (var _len10 = arguments.length, args = Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\n args[_key10] = arguments[_key10];\n }\n\n return _ret10 = (_temp10 = (_this10 = _possibleConstructorReturn(this, (_ref10 = Unprotect.__proto__ || Object.getPrototypeOf(Unprotect)).call.apply(_ref10, [this].concat(args))), _this10), _this10.onClick = function () {\n moderation.unprotect(_this10.props);\n }, _temp10), _possibleConstructorReturn(_this10, _ret10);\n }\n\n _createClass(Unprotect, [{\n key: 'render',\n value: function render() {\n if (!this.props.post.acl.can_protect) return null;\n if (!this.props.post.is_protected) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'lock_open'\n ),\n gettext(\"Remove protection\")\n )\n );\n }\n }]);\n\n return Unprotect;\n}(_react2.default.Component);\n\nvar Hide = exports.Hide = function (_React$Component11) {\n _inherits(Hide, _React$Component11);\n\n function Hide() {\n var _ref11;\n\n var _temp11, _this11, _ret11;\n\n _classCallCheck(this, Hide);\n\n for (var _len11 = arguments.length, args = Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {\n args[_key11] = arguments[_key11];\n }\n\n return _ret11 = (_temp11 = (_this11 = _possibleConstructorReturn(this, (_ref11 = Hide.__proto__ || Object.getPrototypeOf(Hide)).call.apply(_ref11, [this].concat(args))), _this11), _this11.onClick = function () {\n moderation.hide(_this11.props);\n }, _temp11), _possibleConstructorReturn(_this11, _ret11);\n }\n\n _createClass(Hide, [{\n key: 'render',\n value: function render() {\n var _props3 = this.props,\n post = _props3.post,\n thread = _props3.thread;\n\n\n if (post.id === thread.best_answer) return null;\n if (!post.acl.can_hide) return null;\n if (post.is_hidden) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'visibility_off'\n ),\n gettext(\"Hide\")\n )\n );\n }\n }]);\n\n return Hide;\n}(_react2.default.Component);\n\nvar Unhide = exports.Unhide = function (_React$Component12) {\n _inherits(Unhide, _React$Component12);\n\n function Unhide() {\n var _ref12;\n\n var _temp12, _this12, _ret12;\n\n _classCallCheck(this, Unhide);\n\n for (var _len12 = arguments.length, args = Array(_len12), _key12 = 0; _key12 < _len12; _key12++) {\n args[_key12] = arguments[_key12];\n }\n\n return _ret12 = (_temp12 = (_this12 = _possibleConstructorReturn(this, (_ref12 = Unhide.__proto__ || Object.getPrototypeOf(Unhide)).call.apply(_ref12, [this].concat(args))), _this12), _this12.onClick = function () {\n moderation.unhide(_this12.props);\n }, _temp12), _possibleConstructorReturn(_this12, _ret12);\n }\n\n _createClass(Unhide, [{\n key: 'render',\n value: function render() {\n if (!this.props.post.acl.can_unhide) return null;\n if (!this.props.post.is_hidden) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'visibility'\n ),\n gettext(\"Unhide\")\n )\n );\n }\n }]);\n\n return Unhide;\n}(_react2.default.Component);\n\nvar Delete = exports.Delete = function (_React$Component13) {\n _inherits(Delete, _React$Component13);\n\n function Delete() {\n var _ref13;\n\n var _temp13, _this13, _ret13;\n\n _classCallCheck(this, Delete);\n\n for (var _len13 = arguments.length, args = Array(_len13), _key13 = 0; _key13 < _len13; _key13++) {\n args[_key13] = arguments[_key13];\n }\n\n return _ret13 = (_temp13 = (_this13 = _possibleConstructorReturn(this, (_ref13 = Delete.__proto__ || Object.getPrototypeOf(Delete)).call.apply(_ref13, [this].concat(args))), _this13), _this13.onClick = function () {\n moderation.remove(_this13.props);\n }, _temp13), _possibleConstructorReturn(_this13, _ret13);\n }\n\n _createClass(Delete, [{\n key: 'render',\n value: function render() {\n var _props4 = this.props,\n post = _props4.post,\n thread = _props4.thread;\n\n\n if (post.id === thread.best_answer) return null;\n if (!post.acl.can_delete) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'clear'\n ),\n gettext(\"Delete\")\n )\n );\n }\n }]);\n\n return Delete;\n}(_react2.default.Component);\n\n},{\"../../../../services/modal\":370,\"../../../../services/posting\":374,\"../../../post-changelog\":118,\"./actions\":154,\"./move\":157,\"./split\":158,\"react\":\"react\"}],156:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n { className: 'pull-right dropdown' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-expanded': 'true',\n 'aria-haspopup': 'true',\n className: 'btn btn-default btn-icon dropdown-toggle',\n 'data-toggle': 'dropdown',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'expand_more'\n )\n ),\n _react2.default.createElement(_dropdown2.default, props)\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _dropdown = require('./dropdown');\n\nvar _dropdown2 = _interopRequireDefault(_dropdown);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./dropdown\":155,\"react\":\"react\"}],157:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.ModalHeader = ModalHeader;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _post = require('../../../../reducers/post');\n\nvar post = _interopRequireWildcard(_post);\n\nvar _ajax = require('../../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.onUrlChange = function (event) {\n _this.changeValue('url', event.target.value);\n };\n\n _this.state = {\n isLoading: false,\n\n url: '',\n\n validators: {\n url: []\n },\n errors: {}\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'clean',\n value: function clean() {\n if (!this.state.url.trim().length) {\n _snackbar2.default.error(gettext(\"You have to enter link to the other thread.\"));\n return false;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.thread.api.posts.move, {\n new_thread: this.state.url,\n posts: [this.props.post.id]\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(success) {\n _store2.default.dispatch(post.patch(this.props.post, {\n isDeleted: true\n }));\n\n _modal2.default.hide();\n\n _snackbar2.default.success(gettext(\"Selected post was moved to the other thread.\"));\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-dialog', role: 'document' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(ModalHeader, null),\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n _formGroup2.default,\n {\n 'for': 'id_url',\n label: gettext(\"Link to thread you want to move post to\")\n },\n _react2.default.createElement('input', {\n className: 'form-control',\n disabled: this.state.isLoading,\n id: 'id_url',\n onChange: this.onUrlChange,\n value: this.state.url\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'button',\n { className: 'btn btn-primary', loading: this.state.isLoading },\n gettext(\"Move post\")\n )\n )\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\nfunction ModalHeader(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-label': gettext(\"Close\"),\n className: 'close',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Move post\")\n )\n );\n}\n\n},{\"../../../../reducers/post\":352,\"../../../../services/ajax\":364,\"../../../../services/modal\":370,\"../../../../services/snackbar\":375,\"../../../../services/store\":376,\"../../../button\":8,\"../../../form\":55,\"../../../form-group\":54,\"react\":\"react\"}],158:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ModerationForm = exports.PostingConfig = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /* jshint ignore:start */\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nexports.default = function (props) {\n return _react2.default.createElement(PostingConfig, _extends({}, props, { Form: ModerationForm }));\n};\n\nexports.Loader = Loader;\nexports.Error = Error;\nexports.Modal = Modal;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _categorySelect = require('../../../category-select');\n\nvar _categorySelect2 = _interopRequireDefault(_categorySelect);\n\nvar _modalLoader = require('../../../modal-loader');\n\nvar _modalLoader2 = _interopRequireDefault(_modalLoader);\n\nvar _select = require('../../../select');\n\nvar _select2 = _interopRequireDefault(_select);\n\nvar _post = require('../../../../reducers/post');\n\nvar post = _interopRequireWildcard(_post);\n\nvar _ajax = require('../../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _validators = require('../../../../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar PostingConfig = exports.PostingConfig = function (_React$Component) {\n _inherits(PostingConfig, _React$Component);\n\n function PostingConfig(props) {\n _classCallCheck(this, PostingConfig);\n\n var _this = _possibleConstructorReturn(this, (PostingConfig.__proto__ || Object.getPrototypeOf(PostingConfig)).call(this, props));\n\n _this.state = {\n isLoaded: false,\n isError: false,\n\n categories: []\n };\n return _this;\n }\n\n _createClass(PostingConfig, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n _ajax2.default.get(misago.get('THREAD_EDITOR_API')).then(function (data) {\n // hydrate categories, extract posting options\n var categories = data.map(function (item) {\n return Object.assign(item, {\n disabled: item.post === false,\n label: item.name,\n value: item.id,\n post: item.post\n });\n });\n\n _this2.setState({\n isLoaded: true,\n categories: categories\n });\n }, function (rejection) {\n _this2.setState({\n isError: rejection.detail\n });\n });\n }\n }, {\n key: 'render',\n value: function render() {\n if (this.state.isError) {\n return _react2.default.createElement(Error, { message: this.state.isError });\n } else if (this.state.isLoaded) {\n return _react2.default.createElement(ModerationForm, _extends({}, this.props, { categories: this.state.categories }));\n } else {\n return _react2.default.createElement(Loader, null);\n }\n }\n }]);\n\n return PostingConfig;\n}(_react2.default.Component);\n\nvar ModerationForm = exports.ModerationForm = function (_Form) {\n _inherits(ModerationForm, _Form);\n\n function ModerationForm(props) {\n _classCallCheck(this, ModerationForm);\n\n var _this3 = _possibleConstructorReturn(this, (ModerationForm.__proto__ || Object.getPrototypeOf(ModerationForm)).call(this, props));\n\n _this3.onCategoryChange = function (ev) {\n var categoryId = ev.target.value;\n var newState = {\n category: categoryId\n };\n\n if (_this3.acl[categoryId].can_pin_threads < newState.weight) {\n newState.weight = 0;\n }\n\n if (!_this3.acl[categoryId].can_hide_threads) {\n newState.is_hidden = 0;\n }\n\n if (!_this3.acl[categoryId].can_close_threads) {\n newState.is_closed = false;\n }\n\n _this3.setState(newState);\n };\n\n _this3.state = {\n isLoading: false,\n\n title: '',\n category: null,\n categories: props.categories,\n weight: 0,\n is_hidden: 0,\n is_closed: false,\n\n validators: {\n title: [validators.required()]\n },\n\n errors: {}\n };\n\n _this3.isHiddenChoices = [{\n 'value': 0,\n 'icon': 'visibility',\n 'label': gettext(\"No\")\n }, {\n 'value': 1,\n 'icon': 'visibility_off',\n 'label': gettext(\"Yes\")\n }];\n\n _this3.isClosedChoices = [{\n 'value': false,\n 'icon': 'lock_outline',\n 'label': gettext(\"No\")\n }, {\n 'value': true,\n 'icon': 'lock',\n 'label': gettext(\"Yes\")\n }];\n\n _this3.acl = {};\n _this3.props.categories.forEach(function (category) {\n if (category.post) {\n if (!_this3.state.category) {\n _this3.state.category = category.id;\n }\n\n _this3.acl[category.id] = {\n can_pin_threads: category.post.pin,\n can_close_threads: category.post.close,\n can_hide_threads: category.post.hide\n };\n }\n });\n return _this3;\n }\n\n _createClass(ModerationForm, [{\n key: 'clean',\n value: function clean() {\n if (this.isValid()) {\n return true;\n } else {\n _snackbar2.default.error(gettext(\"Form contains errors.\"));\n this.setState({\n errors: this.validate()\n });\n return false;\n }\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.thread.api.posts.split, {\n title: this.state.title,\n category: this.state.category,\n weight: this.state.weight,\n is_hidden: this.state.is_hidden,\n is_closed: this.state.is_closed,\n posts: [this.props.post.id]\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(apiResponse) {\n _store2.default.dispatch(post.patch(this.props.post, {\n isDeleted: true\n }));\n\n _modal2.default.hide();\n\n _snackbar2.default.success(gettext(\"Selected post was split into new thread.\"));\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n this.setState({\n 'errors': Object.assign({}, this.state.errors, rejection)\n });\n _snackbar2.default.error(gettext(\"Form contains errors.\"));\n } else if (rejection.status === 403 && Array.isArray(rejection)) {\n _modal2.default.show(_react2.default.createElement(ErrorsModal, { errors: rejection }));\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'getWeightChoices',\n value: function getWeightChoices() {\n var choices = [{\n 'value': 0,\n 'icon': 'remove',\n 'label': gettext(\"Not pinned\")\n }, {\n 'value': 1,\n 'icon': 'bookmark_border',\n 'label': gettext(\"Pinned locally\")\n }];\n\n if (this.acl[this.state.category].can_pin_threads == 2) {\n choices.push({\n 'value': 2,\n 'icon': 'bookmark',\n 'label': gettext(\"Pinned globally\")\n });\n }\n\n return choices;\n }\n }, {\n key: 'renderWeightField',\n value: function renderWeightField() {\n if (this.acl[this.state.category].can_pin_threads) {\n return _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Thread weight\"),\n 'for': 'id_weight',\n labelClass: 'col-sm-4', controlClass: 'col-sm-8' },\n _react2.default.createElement(_select2.default, { id: 'id_weight',\n onChange: this.bindInput('weight'),\n value: this.state.weight,\n choices: this.getWeightChoices() })\n );\n } else {\n return null;\n }\n }\n }, {\n key: 'renderHiddenField',\n value: function renderHiddenField() {\n if (this.acl[this.state.category].can_hide_threads) {\n return _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Hide thread\"),\n 'for': 'id_is_hidden',\n labelClass: 'col-sm-4', controlClass: 'col-sm-8' },\n _react2.default.createElement(_select2.default, { id: 'id_is_closed',\n onChange: this.bindInput('is_hidden'),\n value: this.state.is_hidden,\n choices: this.isHiddenChoices })\n );\n } else {\n return null;\n }\n }\n }, {\n key: 'renderClosedField',\n value: function renderClosedField() {\n if (this.acl[this.state.category].can_close_threads) {\n return _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Close thread\"),\n 'for': 'id_is_closed',\n labelClass: 'col-sm-4', controlClass: 'col-sm-8' },\n _react2.default.createElement(_select2.default, { id: 'id_is_closed',\n onChange: this.bindInput('is_closed'),\n value: this.state.is_closed,\n choices: this.isClosedChoices })\n );\n } else {\n return null;\n }\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n Modal,\n { className: 'modal-dialog' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Thread title\"),\n 'for': 'id_title',\n labelClass: 'col-sm-4', controlClass: 'col-sm-8',\n validation: this.state.errors.title },\n _react2.default.createElement('input', { id: 'id_title',\n className: 'form-control',\n type: 'text',\n onChange: this.bindInput('title'),\n value: this.state.title })\n ),\n _react2.default.createElement('div', { className: 'clearfix' }),\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Category\"),\n 'for': 'id_category',\n labelClass: 'col-sm-4', controlClass: 'col-sm-8',\n validation: this.state.errors.category },\n _react2.default.createElement(_categorySelect2.default, { id: 'id_category',\n onChange: this.onCategoryChange,\n value: this.state.category,\n choices: this.state.categories })\n ),\n _react2.default.createElement('div', { className: 'clearfix' }),\n this.renderWeightField(),\n this.renderHiddenField(),\n this.renderClosedField()\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary', loading: this.state.isLoading },\n gettext(\"Split post\")\n )\n )\n )\n );\n }\n }]);\n\n return ModerationForm;\n}(_form2.default);\n\nfunction Loader() {\n return _react2.default.createElement(\n Modal,\n { className: 'modal-dialog' },\n _react2.default.createElement(_modalLoader2.default, null)\n );\n}\n\nfunction Error(props) {\n return _react2.default.createElement(\n Modal,\n { className: 'modal-dialog modal-message' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'info_outline'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"You can't move this post at the moment.\")\n ),\n _react2.default.createElement(\n 'p',\n null,\n props.message\n )\n )\n );\n}\n\nfunction Modal(props) {\n return _react2.default.createElement(\n 'div',\n { className: props.className, role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-label': gettext(\"Close\"),\n className: 'close',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Split post into new thread\")\n )\n ),\n props.children\n )\n );\n}\n\n},{\"../../../../reducers/post\":352,\"../../../../services/ajax\":364,\"../../../../services/modal\":370,\"../../../../services/snackbar\":375,\"../../../../services/store\":376,\"../../../../utils/validators\":392,\"../../../button\":8,\"../../../category-select\":21,\"../../../form\":55,\"../../../form-group\":54,\"../../../modal-loader\":60,\"../../../select\":209,\"react\":\"react\"}],159:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FlagBestAnswer = FlagBestAnswer;\nexports.FlagHidden = FlagHidden;\nexports.FlagUnapproved = FlagUnapproved;\nexports.FlagProtected = FlagProtected;\nexports.isVisible = isVisible;\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction FlagBestAnswer(_ref) {\n var post = _ref.post,\n thread = _ref.thread,\n user = _ref.user;\n\n if (!(isVisible(post) && post.id === thread.best_answer)) {\n return null;\n }\n\n var message = null;\n if (user.id && thread.best_answer_marked_by === user.id) {\n message = interpolate(gettext(\"Marked as best answer by you %(marked_on)s.\"), {\n marked_on: thread.best_answer_marked_on.fromNow()\n }, true);\n } else {\n message = interpolate(gettext(\"Marked as best answer by %(marked_by)s %(marked_on)s.\"), {\n marked_by: thread.best_answer_marked_by_name,\n marked_on: thread.best_answer_marked_on.fromNow()\n }, true);\n }\n\n return _react2.default.createElement(\n \"div\",\n { className: \"post-status-message post-status-best-answer\" },\n _react2.default.createElement(\n \"span\",\n { className: \"material-icon\" },\n \"check_box\"\n ),\n _react2.default.createElement(\n \"p\",\n null,\n message\n )\n );\n} /* jshint ignore:start */\nfunction FlagHidden(props) {\n if (!(isVisible(props.post) && props.post.is_hidden)) {\n return null;\n }\n\n return _react2.default.createElement(\n \"div\",\n { className: \"post-status-message post-status-hidden\" },\n _react2.default.createElement(\n \"span\",\n { className: \"material-icon\" },\n \"visibility_off\"\n ),\n _react2.default.createElement(\n \"p\",\n null,\n gettext(\"This post is hidden. Only users with permission may see its contents.\")\n )\n );\n}\n\nfunction FlagUnapproved(props) {\n if (!(isVisible(props.post) && props.post.is_unapproved)) {\n return null;\n }\n\n return _react2.default.createElement(\n \"div\",\n { className: \"post-status-message post-status-unapproved\" },\n _react2.default.createElement(\n \"span\",\n { className: \"material-icon\" },\n \"remove_circle_outline\"\n ),\n _react2.default.createElement(\n \"p\",\n null,\n gettext(\"This post is unapproved. Only users with permission to approve posts and its author may see its contents.\")\n )\n );\n}\n\nfunction FlagProtected(props) {\n if (!(isVisible(props.post) && props.post.is_protected)) {\n return null;\n }\n\n return _react2.default.createElement(\n \"div\",\n { className: \"post-status-message post-status-protected visible-xs-block\" },\n _react2.default.createElement(\n \"span\",\n { className: \"material-icon\" },\n \"lock_outline\"\n ),\n _react2.default.createElement(\n \"p\",\n null,\n gettext(\"This post is protected. Only moderators may change it.\")\n )\n );\n}\n\nfunction isVisible(post) {\n return !post.is_hidden || post.acl.can_see_hidden;\n}\n\n},{\"react\":\"react\"}],160:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Edit = exports.Reply = exports.LikesCompact = exports.Likes = exports.Like = exports.MarkAsBestAnswerCompact = exports.MarkAsBestAnswer = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /* jshint ignore:start */\n\n\nexports.default = function (props) {\n if (!isVisible(props.post)) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'post-footer' },\n _react2.default.createElement(MarkAsBestAnswer, props),\n _react2.default.createElement(MarkAsBestAnswerCompact, props),\n _react2.default.createElement(Like, props),\n _react2.default.createElement(Likes, _extends({\n lastLikes: props.post.last_likes,\n likes: props.post.likes\n }, props)),\n _react2.default.createElement(LikesCompact, _extends({\n likes: props.post.likes\n }, props)),\n _react2.default.createElement(Reply, props),\n _react2.default.createElement(Edit, props)\n );\n};\n\nexports.isVisible = isVisible;\nexports.getLikesMessage = getLikesMessage;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _actions = require('./controls/actions');\n\nvar actions = _interopRequireWildcard(_actions);\n\nvar _postLikes = require('../../post-likes');\n\nvar _postLikes2 = _interopRequireDefault(_postLikes);\n\nvar _modal = require('../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _posting = require('../../../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction isVisible(post) {\n return (!post.is_hidden || post.acl.can_see_hidden) && (post.acl.can_reply || post.acl.can_edit || post.acl.can_see_likes && (post.last_likes || []).length || post.acl.can_like);\n}\n\nvar MarkAsBestAnswer = exports.MarkAsBestAnswer = function (_React$Component) {\n _inherits(MarkAsBestAnswer, _React$Component);\n\n function MarkAsBestAnswer() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, MarkAsBestAnswer);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = MarkAsBestAnswer.__proto__ || Object.getPrototypeOf(MarkAsBestAnswer)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n actions.markAsBestAnswer(_this.props);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(MarkAsBestAnswer, [{\n key: 'render',\n value: function render() {\n var _props = this.props,\n post = _props.post,\n thread = _props.thread;\n\n\n if (!thread.acl.can_mark_best_answer) return null;\n if (!post.acl.can_mark_as_best_answer) return null;\n if (thread.best_answer && !thread.acl.can_change_best_answer) return null;\n\n return _react2.default.createElement(\n 'button',\n {\n className: 'hidden-xs btn btn-default btn-sm pull-left',\n disabled: this.props.post.isBusy || post.id === thread.best_answer,\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'check_box'\n ),\n gettext(\"Best answer\")\n );\n }\n }]);\n\n return MarkAsBestAnswer;\n}(_react2.default.Component);\n\nvar MarkAsBestAnswerCompact = exports.MarkAsBestAnswerCompact = function (_React$Component2) {\n _inherits(MarkAsBestAnswerCompact, _React$Component2);\n\n function MarkAsBestAnswerCompact() {\n var _ref2;\n\n var _temp2, _this2, _ret2;\n\n _classCallCheck(this, MarkAsBestAnswerCompact);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, (_ref2 = MarkAsBestAnswerCompact.__proto__ || Object.getPrototypeOf(MarkAsBestAnswerCompact)).call.apply(_ref2, [this].concat(args))), _this2), _this2.onClick = function () {\n actions.markAsBestAnswer(_this2.props);\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n }\n\n _createClass(MarkAsBestAnswerCompact, [{\n key: 'render',\n value: function render() {\n var _props2 = this.props,\n post = _props2.post,\n thread = _props2.thread;\n\n\n if (!thread.acl.can_mark_best_answer) return null;\n if (!post.acl.can_mark_as_best_answer) return null;\n if (thread.best_answer && !thread.acl.can_change_best_answer) return null;\n\n return _react2.default.createElement(\n 'button',\n {\n className: 'visible-xs-inline-block btn btn-default btn-sm pull-left',\n disabled: this.props.post.isBusy || post.id === thread.best_answer,\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'check_box'\n )\n );\n }\n }]);\n\n return MarkAsBestAnswerCompact;\n}(_react2.default.Component);\n\nvar Like = exports.Like = function (_React$Component3) {\n _inherits(Like, _React$Component3);\n\n function Like() {\n var _ref3;\n\n var _temp3, _this3, _ret3;\n\n _classCallCheck(this, Like);\n\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _ret3 = (_temp3 = (_this3 = _possibleConstructorReturn(this, (_ref3 = Like.__proto__ || Object.getPrototypeOf(Like)).call.apply(_ref3, [this].concat(args))), _this3), _this3.onClick = function () {\n if (_this3.props.post.is_liked) {\n actions.unlike(_this3.props);\n } else {\n actions.like(_this3.props);\n }\n }, _temp3), _possibleConstructorReturn(_this3, _ret3);\n }\n\n _createClass(Like, [{\n key: 'render',\n value: function render() {\n if (!this.props.post.acl.can_like) return null;\n\n var className = 'btn btn-default btn-sm pull-left';\n if (this.props.post.is_liked) {\n className = 'btn btn-success btn-sm pull-left';\n }\n\n return _react2.default.createElement(\n 'button',\n {\n className: className,\n disabled: this.props.post.isBusy,\n onClick: this.onClick,\n type: 'button'\n },\n this.props.post.is_liked ? gettext(\"Liked\") : gettext(\"Like\")\n );\n }\n }]);\n\n return Like;\n}(_react2.default.Component);\n\nvar Likes = exports.Likes = function (_React$Component4) {\n _inherits(Likes, _React$Component4);\n\n function Likes() {\n var _ref4;\n\n var _temp4, _this4, _ret4;\n\n _classCallCheck(this, Likes);\n\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _ret4 = (_temp4 = (_this4 = _possibleConstructorReturn(this, (_ref4 = Likes.__proto__ || Object.getPrototypeOf(Likes)).call.apply(_ref4, [this].concat(args))), _this4), _this4.onClick = function () {\n _modal2.default.show(_react2.default.createElement(_postLikes2.default, {\n post: _this4.props.post\n }));\n }, _temp4), _possibleConstructorReturn(_this4, _ret4);\n }\n\n _createClass(Likes, [{\n key: 'render',\n value: function render() {\n var hasLikes = (this.props.post.last_likes || []).length > 0;\n if (!this.props.post.acl.can_see_likes || !hasLikes) return null;\n\n if (this.props.post.acl.can_see_likes === 2) {\n return _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link btn-sm pull-left hidden-xs',\n onClick: this.onClick,\n type: 'button'\n },\n getLikesMessage(this.props.likes, this.props.lastLikes)\n );\n }\n\n return _react2.default.createElement(\n 'p',\n { className: 'pull-left hidden-xs' },\n getLikesMessage(this.props.likes, this.props.lastLikes)\n );\n }\n }]);\n\n return Likes;\n}(_react2.default.Component);\n\nvar LikesCompact = exports.LikesCompact = function (_Likes) {\n _inherits(LikesCompact, _Likes);\n\n function LikesCompact() {\n _classCallCheck(this, LikesCompact);\n\n return _possibleConstructorReturn(this, (LikesCompact.__proto__ || Object.getPrototypeOf(LikesCompact)).apply(this, arguments));\n }\n\n _createClass(LikesCompact, [{\n key: 'render',\n value: function render() {\n var hasLikes = (this.props.post.last_likes || []).length > 0;\n if (!this.props.post.acl.can_see_likes || !hasLikes) return null;\n\n if (this.props.post.acl.can_see_likes === 2) {\n return _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link btn-sm likes-compact pull-left visible-xs-block',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'favorite'\n ),\n this.props.likes\n );\n }\n\n return _react2.default.createElement(\n 'p',\n { className: 'likes-compact pull-left visible-xs-block' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'favorite'\n ),\n this.props.likes\n );\n }\n }]);\n\n return LikesCompact;\n}(Likes);\n\nfunction getLikesMessage(likes, users) {\n var usernames = users.slice(0, 3).map(function (u) {\n return u.username;\n });\n\n if (usernames.length == 1) {\n return interpolate(gettext(\"%(user)s likes this.\"), {\n user: usernames[0]\n }, true);\n }\n\n var hiddenLikes = likes - usernames.length;\n\n var otherUsers = usernames.slice(0, -1).join(', ');\n var lastUser = usernames.slice(-1)[0];\n\n var usernamesList = interpolate(gettext(\"%(users)s and %(last_user)s\"), {\n users: otherUsers,\n last_user: lastUser\n }, true);\n\n if (hiddenLikes === 0) {\n return interpolate(gettext(\"%(users)s like this.\"), {\n users: usernamesList\n }, true);\n }\n\n var message = ngettext(\"%(users)s and %(likes)s other user like this.\", \"%(users)s and %(likes)s other users like this.\", hiddenLikes);\n\n return interpolate(message, {\n users: usernames.join(', '),\n likes: hiddenLikes\n }, true);\n}\n\nvar Reply = exports.Reply = function (_React$Component5) {\n _inherits(Reply, _React$Component5);\n\n function Reply() {\n var _ref5;\n\n var _temp5, _this6, _ret5;\n\n _classCallCheck(this, Reply);\n\n for (var _len5 = arguments.length, args = Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n return _ret5 = (_temp5 = (_this6 = _possibleConstructorReturn(this, (_ref5 = Reply.__proto__ || Object.getPrototypeOf(Reply)).call.apply(_ref5, [this].concat(args))), _this6), _this6.onClick = function () {\n _posting2.default.open({\n mode: 'REPLY',\n\n config: _this6.props.thread.api.editor,\n submit: _this6.props.thread.api.posts.index,\n\n context: {\n reply: _this6.props.post.id\n }\n });\n }, _temp5), _possibleConstructorReturn(_this6, _ret5);\n }\n\n _createClass(Reply, [{\n key: 'render',\n value: function render() {\n if (this.props.post.acl.can_reply) {\n return _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-primary btn-sm pull-right',\n type: 'button',\n onClick: this.onClick\n },\n gettext(\"Reply\")\n );\n } else {\n return null;\n }\n }\n }]);\n\n return Reply;\n}(_react2.default.Component);\n\nvar Edit = exports.Edit = function (_React$Component6) {\n _inherits(Edit, _React$Component6);\n\n function Edit() {\n var _ref6;\n\n var _temp6, _this7, _ret6;\n\n _classCallCheck(this, Edit);\n\n for (var _len6 = arguments.length, args = Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n return _ret6 = (_temp6 = (_this7 = _possibleConstructorReturn(this, (_ref6 = Edit.__proto__ || Object.getPrototypeOf(Edit)).call.apply(_ref6, [this].concat(args))), _this7), _this7.onClick = function () {\n _posting2.default.open({\n mode: 'EDIT',\n\n config: _this7.props.post.api.editor,\n submit: _this7.props.post.api.index\n });\n }, _temp6), _possibleConstructorReturn(_this7, _ret6);\n }\n\n _createClass(Edit, [{\n key: 'render',\n value: function render() {\n if (this.props.post.acl.can_edit) {\n return _react2.default.createElement(\n 'button',\n {\n className: 'hidden-xs btn btn-default btn-sm pull-right',\n type: 'button',\n onClick: this.onClick\n },\n gettext(\"Edit\")\n );\n } else {\n return null;\n }\n }\n }]);\n\n return Edit;\n}(_react2.default.Component);\n\n},{\"../../../services/modal\":370,\"../../../services/posting\":374,\"../../post-likes\":131,\"./controls/actions\":154,\"react\":\"react\"}],161:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PostEditsCompacts = exports.PostEdits = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n { className: 'post-heading' },\n _react2.default.createElement(UnreadLabel, props),\n _react2.default.createElement(UnreadCompact, props),\n _react2.default.createElement(PostedOn, props),\n _react2.default.createElement(PostedOnCompact, props),\n _react2.default.createElement(PostEdits, props),\n _react2.default.createElement(PostEditsCompacts, props),\n _react2.default.createElement(ProtectedLabel, props),\n _react2.default.createElement(_select2.default, props),\n _react2.default.createElement(_controls2.default, props)\n );\n};\n\nexports.UnreadLabel = UnreadLabel;\nexports.UnreadCompact = UnreadCompact;\nexports.PostedOn = PostedOn;\nexports.PostedOnCompact = PostedOnCompact;\nexports.ProtectedLabel = ProtectedLabel;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _controls = require('./controls');\n\nvar _controls2 = _interopRequireDefault(_controls);\n\nvar _select = require('./select');\n\nvar _select2 = _interopRequireDefault(_select);\n\nvar _userStatus = require('../../user-status');\n\nvar _postChangelog = require('../../post-changelog');\n\nvar _postChangelog2 = _interopRequireDefault(_postChangelog);\n\nvar _modal = require('../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nfunction UnreadLabel(props) {\n if (props.post.is_read) return null;\n\n return _react2.default.createElement(\n 'span',\n { className: 'label label-unread hidden-xs' },\n gettext(\"New post\")\n );\n}\n\nfunction UnreadCompact(props) {\n if (props.post.is_read) return null;\n\n return _react2.default.createElement(\n 'span',\n { className: 'label label-unread visible-xs-inline-block' },\n gettext(\"New\")\n );\n}\n\nfunction PostedOn(props) {\n var tooltip = interpolate(gettext(\"posted %(posted_on)s\"), {\n 'posted_on': props.post.posted_on.format('LL, LT')\n }, true);\n\n return _react2.default.createElement(\n 'a',\n {\n href: props.post.url.index,\n className: 'btn btn-link posted-on hidden-xs',\n title: tooltip\n },\n props.post.posted_on.fromNow()\n );\n}\n\nfunction PostedOnCompact(props) {\n return _react2.default.createElement(\n 'a',\n {\n href: props.post.url.index,\n className: 'btn btn-link posted-on visible-xs-inline-block'\n },\n props.post.posted_on.fromNow(true)\n );\n}\n\nvar PostEdits = exports.PostEdits = function (_React$Component) {\n _inherits(PostEdits, _React$Component);\n\n function PostEdits() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, PostEdits);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = PostEdits.__proto__ || Object.getPrototypeOf(PostEdits)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n _modal2.default.show(_react2.default.createElement(_postChangelog2.default, { post: _this.props.post }));\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(PostEdits, [{\n key: 'render',\n value: function render() {\n var isHidden = this.props.post.is_hidden && !this.props.post.acl.can_see_hidden;\n var isUnedited = this.props.post.edits === 0;\n if (isHidden || isUnedited) return null;\n\n var tooltip = ngettext(\"This post was edited %(edits)s time.\", \"This post was edited %(edits)s times.\", this.props.post.edits);\n\n var title = interpolate(tooltip, {\n 'edits': this.props.post.edits\n }, true);\n\n var label = ngettext(\"edited %(edits)s time\", \"edited %(edits)s times\", this.props.post.edits);\n\n return _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link btn-see-edits hidden-xs',\n onClick: this.onClick,\n title: title,\n type: 'button'\n },\n interpolate(label, {\n 'edits': this.props.post.edits\n }, true)\n );\n }\n }]);\n\n return PostEdits;\n}(_react2.default.Component);\n\nvar PostEditsCompacts = exports.PostEditsCompacts = function (_PostEdits) {\n _inherits(PostEditsCompacts, _PostEdits);\n\n function PostEditsCompacts() {\n _classCallCheck(this, PostEditsCompacts);\n\n return _possibleConstructorReturn(this, (PostEditsCompacts.__proto__ || Object.getPrototypeOf(PostEditsCompacts)).apply(this, arguments));\n }\n\n _createClass(PostEditsCompacts, [{\n key: 'render',\n value: function render() {\n var isHidden = this.props.post.is_hidden && !this.props.post.acl.can_see_hidden;\n var isUnedited = this.props.post.edits === 0;\n if (isHidden || isUnedited) return null;\n\n var label = ngettext(\"%(edits)s edit\", \"%(edits)s edits\", this.props.post.edits);\n\n return _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link btn-see-edits visible-xs-inline-block',\n onClick: this.onClick,\n type: 'button'\n },\n interpolate(label, {\n 'edits': this.props.post.edits\n }, true)\n );\n }\n }]);\n\n return PostEditsCompacts;\n}(PostEdits);\n\nfunction ProtectedLabel(props) {\n var postAuthor = props.post.poster && props.post.poster.id === props.user.id;\n var hasAcl = props.post.acl.can_protect;\n var isVisible = props.user.id && props.post.is_protected && (postAuthor || hasAcl);\n\n if (!isVisible) {\n return null;\n }\n\n return _react2.default.createElement(\n 'span',\n {\n className: 'label label-protected hidden-xs',\n title: gettext(\"This post is protected and may not be edited.\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'lock_outline'\n ),\n gettext(\"protected\")\n );\n}\n\n},{\"../../../services/modal\":370,\"../../post-changelog\":118,\"../../user-status\":273,\"./controls\":156,\"./select\":171,\"react\":\"react\"}],162:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n var className = 'post';\n if (props.post.isDeleted) {\n className = 'hide';\n } else if (props.post.is_hidden && !props.post.acl.can_see_hidden) {\n className = 'post post-hidden';\n }\n\n if (props.post.poster && props.post.poster.rank.css_class) {\n className += ' post-' + props.post.poster.rank.css_class;\n }\n\n if (!props.post.is_read) {\n className += ' post-new';\n }\n\n return _react2.default.createElement(\n 'li',\n { id: 'post-' + props.post.id, className: className },\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-post' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(_postSide2.default, props),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-md-9' },\n _react2.default.createElement(_header2.default, props),\n _react2.default.createElement(_flags.FlagBestAnswer, props),\n _react2.default.createElement(_flags.FlagUnapproved, props),\n _react2.default.createElement(_flags.FlagProtected, props),\n _react2.default.createElement(_flags.FlagHidden, props),\n _react2.default.createElement(_body2.default, props),\n _react2.default.createElement(_attachments2.default, props),\n _react2.default.createElement(_footer2.default, props)\n )\n )\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _attachments = require('./attachments');\n\nvar _attachments2 = _interopRequireDefault(_attachments);\n\nvar _body = require('./body');\n\nvar _body2 = _interopRequireDefault(_body);\n\nvar _flags = require('./flags');\n\nvar _footer = require('./footer');\n\nvar _footer2 = _interopRequireDefault(_footer);\n\nvar _header = require('./header');\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _postSide = require('./post-side');\n\nvar _postSide2 = _interopRequireDefault(_postSide);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./attachments\":152,\"./body\":153,\"./flags\":159,\"./footer\":160,\"./header\":161,\"./post-side\":165,\"react\":\"react\"}],163:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var post = _ref.post,\n thread = _ref.thread;\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-md-3 post-side post-side-anonymous' },\n _react2.default.createElement(_select2.default, {\n post: post,\n thread: thread\n }),\n _react2.default.createElement(_controls2.default, {\n post: post,\n thread: thread\n }),\n _react2.default.createElement(\n 'div',\n { className: 'media' },\n _react2.default.createElement(\n 'div',\n { className: 'media-left' },\n _react2.default.createElement(\n 'span',\n null,\n _react2.default.createElement(_avatar2.default, {\n className: 'poster-avatar',\n size: 100\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'media-body' },\n _react2.default.createElement(\n 'span',\n { className: 'media-heading item-title' },\n post.poster_name\n ),\n _react2.default.createElement(\n 'span',\n { className: 'user-title user-title-anonymous' },\n gettext(\"Removed user\")\n )\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _controls = require('../controls');\n\nvar _controls2 = _interopRequireDefault(_controls);\n\nvar _select = require('../select');\n\nvar _select2 = _interopRequireDefault(_select);\n\nvar _userStatus = require('../../../user-status');\n\nvar _userStatus2 = _interopRequireDefault(_userStatus);\n\nvar _userPostcount = require('./user-postcount');\n\nvar _userPostcount2 = _interopRequireDefault(_userPostcount);\n\nvar _userTitle = require('./user-title');\n\nvar _userTitle2 = _interopRequireDefault(_userTitle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../../avatar\":6,\"../../../user-status\":273,\"../controls\":156,\"../select\":171,\"./user-postcount\":167,\"./user-title\":169,\"react\":\"react\"}],164:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var title = _ref.title,\n rank = _ref.rank;\n\n return rank.is_tab || !!title || !!rank.title;\n};\n\n},{}],165:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n if (props.post.poster) {\n return _react2.default.createElement(_registered2.default, props);\n }\n\n return _react2.default.createElement(_anonymous2.default, props);\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _anonymous = require('./anonymous');\n\nvar _anonymous2 = _interopRequireDefault(_anonymous);\n\nvar _registered = require('./registered');\n\nvar _registered2 = _interopRequireDefault(_registered);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./anonymous\":163,\"./registered\":166,\"react\":\"react\"}],166:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var post = _ref.post,\n thread = _ref.thread;\n var poster = post.poster;\n\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-md-3 post-side post-side-registered' },\n _react2.default.createElement(_select2.default, {\n post: post,\n thread: thread\n }),\n _react2.default.createElement(_controls2.default, {\n post: post,\n thread: thread\n }),\n _react2.default.createElement(\n 'div',\n { className: 'media' },\n _react2.default.createElement(\n 'div',\n { className: 'media-left' },\n _react2.default.createElement(\n 'a',\n { href: poster.url },\n _react2.default.createElement(_avatar2.default, {\n className: 'poster-avatar',\n size: 100,\n user: poster\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'media-body' },\n _react2.default.createElement(\n 'div',\n { className: 'media-heading' },\n _react2.default.createElement(\n 'a',\n {\n className: 'item-title',\n href: poster.url\n },\n poster.username\n ),\n _react2.default.createElement(\n _userStatus2.default,\n { status: poster.status },\n _react2.default.createElement(_userStatus.StatusIcon, { status: poster.status })\n )\n ),\n _react2.default.createElement(_userTitle2.default, {\n rank: poster.rank,\n title: poster.title\n }),\n _react2.default.createElement(_userStatus4.default, { poster: poster }),\n _react2.default.createElement(_userPostcount2.default, { poster: poster })\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _controls = require('../controls');\n\nvar _controls2 = _interopRequireDefault(_controls);\n\nvar _select = require('../select');\n\nvar _select2 = _interopRequireDefault(_select);\n\nvar _userStatus = require('../../../user-status');\n\nvar _userStatus2 = _interopRequireDefault(_userStatus);\n\nvar _userPostcount = require('./user-postcount');\n\nvar _userPostcount2 = _interopRequireDefault(_userPostcount);\n\nvar _userStatus3 = require('./user-status');\n\nvar _userStatus4 = _interopRequireDefault(_userStatus3);\n\nvar _userTitle = require('./user-title');\n\nvar _userTitle2 = _interopRequireDefault(_userTitle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../../avatar\":6,\"../../../user-status\":273,\"../controls\":156,\"../select\":171,\"./user-postcount\":167,\"./user-status\":168,\"./user-title\":169,\"react\":\"react\"}],167:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var poster = _ref.poster;\n\n var message = ngettext(\"%(posts)s post\", \"%(posts)s posts\", poster.posts);\n\n var className = 'user-postcount';\n if ((0, _hasVisibleTitle2.default)(poster)) {\n className += ' hidden-xs hidden-sm';\n }\n\n return _react2.default.createElement(\n 'span',\n { className: className },\n interpolate(message, {\n 'posts': poster.posts\n }, true)\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _hasVisibleTitle = require('./has-visible-title');\n\nvar _hasVisibleTitle2 = _interopRequireDefault(_hasVisibleTitle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./has-visible-title\":164,\"react\":\"react\"}],168:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var poster = _ref.poster;\n\n var className = 'hidden-xs';\n if ((0, _hasVisibleTitle2.default)(poster)) {\n className += ' hidden-sm';\n }\n\n return _react2.default.createElement(\n 'span',\n { className: className },\n _react2.default.createElement(\n _userStatus2.default,\n { status: poster.status },\n _react2.default.createElement(_userStatus.StatusLabel, {\n status: poster.status,\n user: poster\n })\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _userStatus = require('../../../user-status');\n\nvar _userStatus2 = _interopRequireDefault(_userStatus);\n\nvar _hasVisibleTitle = require('./has-visible-title');\n\nvar _hasVisibleTitle2 = _interopRequireDefault(_hasVisibleTitle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../../user-status\":273,\"./has-visible-title\":164,\"react\":\"react\"}],169:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var rank = _ref.rank,\n title = _ref.title;\n\n var userTitle = title || rank.title;\n if (!userTitle && rank.is_tab) {\n userTitle = rank.name;\n }\n\n if (!userTitle) return null;\n\n var className = 'user-title';\n if (rank.css_class) {\n className += ' user-title-' + rank.css_class;\n }\n\n if (rank.is_tab) {\n return _react2.default.createElement(\n 'div',\n { className: className },\n _react2.default.createElement(\n 'a',\n { href: rank.url },\n userTitle\n )\n );\n }\n\n return _react2.default.createElement(\n 'div',\n { className: className },\n userTitle\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],170:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'li',\n { className: 'post' },\n _react2.default.createElement(\n 'div',\n { className: 'post-border' },\n _react2.default.createElement(\n 'div',\n { className: 'post-avatar' },\n _react2.default.createElement(_avatar2.default, { size: '100' })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'post-body' },\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-post' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading post-heading' },\n _react2.default.createElement(\n 'span',\n { className: 'ui-preview-text', style: { width: random.int(30, 100) + \"px\" } },\n '\\xA0'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'ui-preview-text', style: { width: random.int(30, 100) + \"px\" } },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n 'article',\n { className: 'misago-markup' },\n _react2.default.createElement(\n 'p',\n { className: 'ui-preview-text', style: { width: random.int(50, 100) + \"%\" } },\n '\\xA0'\n ),\n _react2.default.createElement(\n 'p',\n { className: 'ui-preview-text', style: { width: random.int(50, 100) + \"%\" } },\n '\\xA0'\n ),\n _react2.default.createElement(\n 'p',\n { className: 'ui-preview-text', style: { width: random.int(50, 100) + \"%\" } },\n '\\xA0'\n )\n )\n )\n )\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _random = require('../../../utils/random');\n\nvar random = _interopRequireWildcard(_random);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../../utils/random\":387,\"../../avatar\":6,\"react\":\"react\"}],171:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.isVisible = isVisible;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _posts = require('../../../reducers/posts');\n\nvar posts = _interopRequireWildcard(_posts);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n if (_this.props.post.isSelected) {\n _store2.default.dispatch(posts.deselect(_this.props.post));\n } else {\n _store2.default.dispatch(posts.select(_this.props.post));\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n if (!(this.props.thread.acl.can_merge_posts || isVisible(this.props.post.acl))) {\n return null;\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'pull-right hidden-xs' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-icon',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n this.props.post.isSelected ? 'check_box' : 'check_box_outline_blank'\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\nfunction isVisible(acl) {\n return acl.can_approve || acl.can_hide || acl.can_protect || acl.can_unhide || acl.can_delete || acl.can_move;\n}\n\n},{\"../../../reducers/posts\":353,\"../../../services/store\":376,\"react\":\"react\"}],172:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _post = require('../../reducers/post');\n\nvar post = _interopRequireWildcard(_post);\n\nvar _thread = require('../../reducers/thread');\n\nvar thread = _interopRequireWildcard(_thread);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n\n /*\n Super naive and de-facto placeholder implementation for reading posts on scroll\n */\n value: function componentDidMount() {\n var _this2 = this;\n\n if (this.props.post.is_read) return; // don't register read tracker\n\n $(this.documentNode).waypoint({\n handler: function handler(direction) {\n if (direction !== 'down' || _this2.props.post.is_read) return;\n\n // after 1500ms run flag post as read logic\n window.setTimeout(function () {\n // check if post's bottom edge is still in viewport\n var boundingClientRect = _this2.documentNode.getBoundingClientRect();\n var offsetBottom = boundingClientRect.height + boundingClientRect.top;\n var clientHeight = document.documentElement.clientHeight;\n\n if (offsetBottom < 5) return; // scrolled past the post\n if (offsetBottom > clientHeight) return; // scrolled back up\n\n // mark post as read\n _store2.default.dispatch(post.patch(_this2.props.post, {\n is_read: true\n }));\n\n // call API to let it know we have unread post\n _ajax2.default.post(_this2.props.post.api.read).then(function (data) {\n _store2.default.dispatch(thread.update(_this2.props.thread, {\n is_read: data.thread_is_read\n }));\n }, function (rejection) {\n _snackbar2.default.apiError(rejection);\n });\n }, 1000);\n },\n offset: 'bottom-in-view'\n });\n }\n }, {\n key: 'render',\n value: function render() {\n var _this3 = this;\n\n return _react2.default.createElement(\n 'div',\n { className: this.props.className, ref: function ref(node) {\n _this3.documentNode = node;\n } },\n this.props.children\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../reducers/post\":352,\"../../reducers/thread\":359,\"../../services/ajax\":364,\"../../services/snackbar\":375,\"../../services/store\":376,\"react\":\"react\"}],173:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _panelLoader = require('../panel-loader');\n\nvar _panelLoader2 = _interopRequireDefault(_panelLoader);\n\nvar _panelMessage = require('../panel-message');\n\nvar _panelMessage2 = _interopRequireDefault(_panelMessage);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _polls = require('../../services/polls');\n\nvar _polls2 = _interopRequireDefault(_polls);\n\nvar _pageTitle = require('../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.update = function (ban) {\n if (ban.expires_on) {\n ban.expires_on = (0, _moment2.default)(ban.expires_on);\n }\n\n _this.setState({\n isLoaded: true,\n error: null,\n\n ban: ban\n });\n };\n\n _this.error = function (error) {\n _this.setState({\n isLoaded: true,\n error: error.detail,\n ban: null\n });\n };\n\n if (_index2.default.has('PROFILE_BAN')) {\n _this.initWithPreloadedData(_index2.default.pop('PROFILE_BAN'));\n } else {\n _this.initWithoutPreloadedData();\n }\n\n _this.startPolling(props.profile.api.ban);\n return _this;\n }\n\n _createClass(_class, [{\n key: 'initWithPreloadedData',\n value: function initWithPreloadedData(ban) {\n if (ban.expires_on) {\n ban.expires_on = (0, _moment2.default)(ban.expires_on);\n }\n\n this.state = {\n isLoaded: true,\n ban: ban\n };\n }\n }, {\n key: 'initWithoutPreloadedData',\n value: function initWithoutPreloadedData() {\n this.state = {\n isLoaded: false\n };\n }\n }, {\n key: 'startPolling',\n value: function startPolling(api) {\n _polls2.default.start({\n poll: 'ban-details',\n url: api,\n frequency: 90 * 1000,\n update: this.update,\n error: this.error\n });\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'componentDidMount',\n\n /* jshint ignore:end */\n\n value: function componentDidMount() {\n _pageTitle2.default.set({\n title: gettext(\"Ban details\"),\n parent: this.props.profile.username\n });\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n _polls2.default.stop('ban-details');\n }\n }, {\n key: 'getUserMessage',\n value: function getUserMessage() {\n if (this.state.ban.user_message) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'panel-body ban-message ban-user-message' },\n _react2.default.createElement(\n 'h4',\n null,\n gettext(\"User-shown ban message\")\n ),\n _react2.default.createElement('div', { className: 'lead', dangerouslySetInnerHTML: {\n __html: this.state.ban.user_message.html\n } })\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'getStaffMessage',\n value: function getStaffMessage() {\n if (this.state.ban.staff_message) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'panel-body ban-message ban-staff-message' },\n _react2.default.createElement(\n 'h4',\n null,\n gettext(\"Team-shown ban message\")\n ),\n _react2.default.createElement('div', { className: 'lead', dangerouslySetInnerHTML: {\n __html: this.state.ban.staff_message.html\n } })\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'getExpirationMessage',\n value: function getExpirationMessage() {\n if (this.state.ban.expires_on) {\n if (this.state.ban.expires_on.isAfter((0, _moment2.default)())) {\n /* jshint ignore:start */\n var _title = interpolate(gettext(\"This ban expires on %(expires_on)s.\"), {\n 'expires_on': this.state.ban.expires_on.format('LL, LT')\n }, true);\n\n var message = interpolate(gettext(\"This ban expires %(expires_on)s.\"), {\n 'expires_on': this.state.ban.expires_on.fromNow()\n }, true);\n\n return _react2.default.createElement(\n 'abbr',\n { title: _title },\n message\n );\n /* jshint ignore:end */\n } else {\n return gettext(\"This ban has expired.\");\n }\n } else {\n return interpolate(gettext(\"%(username)s's ban is permanent.\"), {\n 'username': this.props.profile.username\n }, true);\n }\n }\n }, {\n key: 'getPanelBody',\n value: function getPanelBody() {\n if (this.state.ban) {\n if (Object.keys(this.state.ban).length) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n null,\n this.getUserMessage(),\n this.getStaffMessage(),\n _react2.default.createElement(\n 'div',\n { className: 'panel-body ban-expires' },\n _react2.default.createElement(\n 'h4',\n null,\n gettext(\"Ban expiration\")\n ),\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n this.getExpirationMessage()\n )\n )\n );\n /* jshint ignore:end */\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(_panelMessage2.default, { message: gettext(\"No ban is active at the moment.\") })\n );\n /* jshint ignore:end */\n }\n } else if (this.state.error) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(_panelMessage2.default, { icon: 'error_outline',\n message: this.state.error })\n );\n /* jshint ignore:end */\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(_panelLoader2.default, null)\n );\n /* jshint ignore:end */\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'profile-ban-details' },\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-default' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n gettext(\"Ban details\")\n )\n ),\n this.getPanelBody()\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../index\":301,\"../../services/page-title\":372,\"../../services/polls\":373,\"../panel-loader\":92,\"../panel-message\":93,\"moment\":\"moment\",\"react\":\"react\"}],174:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var isAuthenticated = _ref.isAuthenticated,\n profile = _ref.profile;\n\n var message = null;\n if (isAuthenticated) {\n message = gettext(\"You are not sharing any details with others.\");\n } else {\n message = interpolate(gettext(\"%(username)s is not sharing any details with others.\"), {\n 'username': profile.username\n }, true);\n }\n\n return _react2.default.createElement(\n \"div\",\n { className: \"panel panel-default\" },\n _react2.default.createElement(\n \"div\",\n { className: \"panel-body text-center lead\" },\n message\n )\n );\n};\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],175:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var html = _ref.html,\n text = _ref.text,\n url = _ref.url;\n\n if (html) {\n return _react2.default.createElement(\"div\", {\n className: \"form-control-static col-md-9\",\n dangerouslySetInnerHTML: { __html: html }\n });\n }\n\n return _react2.default.createElement(\n \"div\",\n { className: \"form-control-static col-md-9\" },\n _react2.default.createElement(SafeValue, {\n text: text,\n url: url\n })\n );\n};\n\nexports.SafeValue = SafeValue;\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nfunction SafeValue(_ref2) {\n var text = _ref2.text,\n url = _ref2.url;\n\n if (url) {\n return _react2.default.createElement(\n \"p\",\n null,\n _react2.default.createElement(\n \"a\",\n { href: url, target: \"_blank\", rel: \"nofollow\" },\n text || url\n )\n );\n }\n\n if (text) {\n return _react2.default.createElement(\n \"p\",\n null,\n text\n );\n }\n\n return null;\n}\n\n},{\"react\":\"react\"}],176:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n { className: 'form-group' },\n _react2.default.createElement(\n 'strong',\n { className: 'control-label col-md-3' },\n props.name,\n ':'\n ),\n _react2.default.createElement(_fieldValue2.default, props)\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _fieldValue = require('./field-value');\n\nvar _fieldValue2 = _interopRequireDefault(_fieldValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./field-value\":175,\"react\":\"react\"}],177:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var api = _ref.api,\n display = _ref.display,\n onCancel = _ref.onCancel,\n onSuccess = _ref.onSuccess;\n\n if (!display) return null;\n\n return _react2.default.createElement(_editDetails2.default, {\n api: api,\n onCancel: onCancel,\n onSuccess: onSuccess\n });\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _editDetails = require('../../edit-details');\n\nvar _editDetails2 = _interopRequireDefault(_editDetails);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../edit-details\":32,\"react\":\"react\"}],178:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var fields = _ref.fields,\n name = _ref.name;\n\n return _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-profile-details-group' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n name\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n 'div',\n { className: 'form-horizontal' },\n fields.map(function (_ref2) {\n var fieldname = _ref2.fieldname,\n html = _ref2.html,\n name = _ref2.name,\n text = _ref2.text,\n url = _ref2.url;\n\n return _react2.default.createElement(_field2.default, {\n key: fieldname,\n name: name,\n html: html,\n text: text,\n url: url\n });\n })\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _field = require('./field');\n\nvar _field2 = _interopRequireDefault(_field);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./field\":176,\"react\":\"react\"}],179:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var display = _ref.display,\n groups = _ref.groups,\n isAuthenticated = _ref.isAuthenticated,\n loading = _ref.loading,\n profile = _ref.profile;\n\n if (!display) return null;\n\n if (loading) {\n return _react2.default.createElement(_loader2.default, null);\n }\n\n if (!groups.length) {\n return _react2.default.createElement(_emptyMessage2.default, {\n isAuthenticated: isAuthenticated,\n profile: profile\n });\n }\n\n return _react2.default.createElement(\n 'div',\n null,\n groups.map(function (group, i) {\n return _react2.default.createElement(_group2.default, {\n fields: group.fields,\n key: i,\n name: group.name\n });\n })\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _emptyMessage = require('./empty-message');\n\nvar _emptyMessage2 = _interopRequireDefault(_emptyMessage);\n\nvar _group = require('./group');\n\nvar _group2 = _interopRequireDefault(_group);\n\nvar _loader = require('../../loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../loader\":57,\"./empty-message\":174,\"./group\":178,\"react\":\"react\"}],180:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var onEdit = _ref.onEdit,\n showEditButton = _ref.showEditButton;\n\n return _react2.default.createElement(\n \"div\",\n null,\n _react2.default.createElement(\n \"nav\",\n { className: \"toolbar\" },\n _react2.default.createElement(\n \"div\",\n { className: \"row\" },\n _react2.default.createElement(\n \"div\",\n { className: \"col-sm-8 col-md-10\" },\n _react2.default.createElement(\n \"h3\",\n { className: \"md-margin-top-no\" },\n gettext(\"Details\")\n )\n ),\n _react2.default.createElement(EditButton, {\n onEdit: onEdit,\n showEditButton: showEditButton\n })\n )\n )\n );\n};\n\nexports.EditButton = EditButton;\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nfunction EditButton(_ref2) {\n var onEdit = _ref2.onEdit,\n showEditButton = _ref2.showEditButton;\n\n if (!showEditButton) return null;\n\n return _react2.default.createElement(\n \"div\",\n { className: \"col-sm-4 col-md-2\" },\n _react2.default.createElement(\n \"button\",\n {\n className: \"btn btn-default btn-outline btn-block\",\n onClick: onEdit,\n type: \"button\"\n },\n gettext(\"Edit\")\n )\n );\n}\n\n},{\"react\":\"react\"}],181:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _groupsList = require('./groups-list');\n\nvar _groupsList2 = _interopRequireDefault(_groupsList);\n\nvar _header = require('./header');\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _profileDetails = require('../../../data/profile-details');\n\nvar _profileDetails2 = _interopRequireDefault(_profileDetails);\n\nvar _profileDetails3 = require('../../../reducers/profile-details');\n\nvar _pageTitle = require('../../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.onCancel = function () {\n _this.setState({ editing: false });\n };\n\n _this.onEdit = function () {\n _this.setState({ editing: true });\n };\n\n _this.onSuccess = function (newDetails) {\n var _this$props = _this.props,\n dispatch = _this$props.dispatch,\n isAuthenticated = _this$props.isAuthenticated,\n profile = _this$props.profile;\n\n\n var message = null;\n if (isAuthenticated) {\n message = gettext(\"Your details have been updated.\");\n } else {\n message = interpolate(gettext(\"%(username)s's details have been updated.\"), {\n 'username': profile.username\n }, true);\n }\n\n _snackbar2.default.info(message);\n dispatch((0, _profileDetails3.load)(newDetails));\n _this.setState({ editing: false });\n };\n\n _this.state = {\n editing: false\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n _pageTitle2.default.set({\n title: gettext(\"Details\"),\n parent: this.props.profile.username\n });\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n dispatch = _props.dispatch,\n isAuthenticated = _props.isAuthenticated,\n profile = _props.profile,\n profileDetails = _props.profileDetails;\n\n var loading = profileDetails.id !== profile.id;\n\n return _react2.default.createElement(\n _profileDetails2.default,\n {\n data: profileDetails,\n dispatch: dispatch,\n user: profile\n },\n _react2.default.createElement(\n 'div',\n { className: 'profile-details' },\n _react2.default.createElement(_header2.default, {\n onEdit: this.onEdit,\n showEditButton: !!profileDetails.edit && !this.state.editing\n }),\n _react2.default.createElement(_groupsList2.default, {\n display: !this.state.editing,\n groups: profileDetails.groups,\n isAuthenticated: isAuthenticated,\n loading: loading,\n profile: profile\n }),\n _react2.default.createElement(_form2.default, {\n api: profile.api.edit_details,\n dispatch: dispatch,\n display: this.state.editing,\n onCancel: this.onCancel,\n onSuccess: this.onSuccess\n })\n )\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../data/profile-details\":300,\"../../../reducers/profile-details\":354,\"../../../services/page-title\":372,\"../../../services/snackbar\":375,\"./form\":177,\"./groups-list\":179,\"./header\":180,\"react\":\"react\"}],182:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // jshint ignore:start\n\n\nexports.Threads = Threads;\nexports.Posts = Posts;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _route = require('./route');\n\nvar _route2 = _interopRequireDefault(_route);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction Threads(props) {\n var emptyMessage = null;\n if (props.user.id === props.profile.id) {\n emptyMessage = gettext(\"You have no started threads.\");\n } else {\n emptyMessage = interpolate(gettext(\"%(username)s started no threads.\"), {\n 'username': props.profile.username\n }, true);\n }\n\n var header = null;\n if (!props.posts.isLoaded) {\n header = gettext('Loading...');\n } else if (props.profile.id === props.user.id) {\n var message = ngettext(\"You have started %(threads)s thread.\", \"You have started %(threads)s threads.\", props.posts.count);\n\n header = interpolate(message, {\n 'threads': props.posts.count\n }, true);\n } else {\n var _message = ngettext(\"%(username)s has started %(threads)s thread.\", \"%(username)s has started %(threads)s threads.\", props.posts.count);\n\n header = interpolate(_message, {\n 'username': props.profile.username,\n 'threads': props.posts.count\n }, true);\n }\n\n return _react2.default.createElement(_route2.default, _extends({\n api: props.profile.api.threads,\n emptyMessage: emptyMessage,\n header: header,\n title: gettext(\"Threads\")\n }, props));\n}\n\nfunction Posts(props) {\n var emptyMessage = null;\n if (props.user.id === props.profile.id) {\n emptyMessage = gettext(\"You have posted no messages.\");\n } else {\n emptyMessage = interpolate(gettext(\"%(username)s posted no messages.\"), {\n 'username': props.profile.username\n }, true);\n }\n\n var header = null;\n if (!props.posts.isLoaded) {\n header = gettext('Loading...');\n } else if (props.profile.id === props.user.id) {\n var message = ngettext(\"You have posted %(posts)s message.\", \"You have posted %(posts)s messages.\", props.posts.count);\n\n header = interpolate(message, {\n 'posts': props.posts.count\n }, true);\n } else {\n var _message2 = ngettext(\"%(username)s has posted %(posts)s message.\", \"%(username)s has posted %(posts)s messages.\", props.posts.count);\n\n header = interpolate(_message2, {\n 'username': props.profile.username,\n 'posts': props.posts.count\n }, true);\n }\n\n return _react2.default.createElement(_route2.default, _extends({\n api: props.profile.api.posts,\n emptyMessage: emptyMessage,\n header: header,\n title: gettext(\"Posts\")\n }, props));\n}\n\n},{\"./route\":183,\"react\":\"react\"}],183:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.Feed = Feed;\nexports.LoadMoreButton = LoadMoreButton;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _postFeed = require('../../post-feed');\n\nvar _postFeed2 = _interopRequireDefault(_postFeed);\n\nvar _button = require('../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _posts = require('../../../reducers/posts');\n\nvar posts = _interopRequireWildcard(_posts);\n\nvar _pageTitle = require('../../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.loadMore = function () {\n _this.setState({\n isLoading: true\n });\n\n _this.loadItems(_this.props.posts.page + 1);\n };\n\n _this.state = {\n isLoading: false\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'loadItems',\n value: function loadItems() {\n var _this2 = this;\n\n var page = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n\n _ajax2.default.get(this.props.api, {\n page: page || 1\n }).then(function (data) {\n if (page === 1) {\n _store2.default.dispatch(posts.load(data));\n } else {\n _store2.default.dispatch(posts.append(data));\n }\n\n _this2.setState({\n isLoading: false\n });\n }, function (rejection) {\n _this2.setState({\n isLoading: false\n });\n\n _snackbar2.default.apiError(rejection);\n });\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n _pageTitle2.default.set({\n title: this.props.title,\n parent: this.props.profile.username\n });\n\n this.loadItems();\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'div',\n { className: 'profile-feed' },\n _react2.default.createElement(\n 'nav',\n { className: 'toolbar' },\n _react2.default.createElement(\n 'h3',\n { className: 'toolbar-left' },\n this.props.header\n )\n ),\n _react2.default.createElement(Feed, _extends({\n isLoading: this.state.isLoading,\n loadMore: this.loadMore\n }, this.props))\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\nfunction Feed(props) {\n if (!props.posts.count) {\n return _react2.default.createElement(\n 'p',\n { className: 'lead' },\n props.emptyMessage\n );\n }\n\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(_postFeed2.default, {\n isReady: props.posts.isLoaded,\n posts: props.posts.results,\n poster: props.profile\n }),\n _react2.default.createElement(LoadMoreButton, {\n isLoading: props.isLoading,\n loadMore: props.loadMore,\n more: props.posts.more\n })\n );\n}\n\nfunction LoadMoreButton(props) {\n if (!props.more) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'pager-more' },\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn btn-default btn-outline',\n loading: props.isLoading,\n onClick: props.loadMore\n },\n interpolate(gettext(\"Show more (%(more)s)\"), {\n 'more': props.more\n }, true)\n )\n );\n}\n\n},{\"../../../reducers/posts\":353,\"../../../services/ajax\":364,\"../../../services/page-title\":372,\"../../../services/snackbar\":375,\"../../../services/store\":376,\"../../button\":8,\"../../post-feed\":121,\"react\":\"react\"}],184:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _profile = require('../../reducers/profile');\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.action = function () {\n _this.setState({\n isLoading: true\n });\n\n if (_this.props.profile.is_followed) {\n _store2.default.dispatch((0, _profile.patch)({\n is_followed: false,\n followers: _this.props.profile.followers - 1\n }));\n } else {\n _store2.default.dispatch((0, _profile.patch)({\n is_followed: true,\n followers: _this.props.profile.followers + 1\n }));\n }\n\n _ajax2.default.post(_this.props.profile.api.follow).then(function (data) {\n _this.setState({\n isLoading: false\n });\n\n _store2.default.dispatch((0, _profile.patch)(data));\n }, function (rejection) {\n _this.setState({\n isLoading: false\n });\n _snackbar2.default.apiError(rejection);\n });\n };\n\n _this.state = {\n isLoading: false\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'getClassName',\n value: function getClassName() {\n if (this.props.profile.is_followed) {\n return this.props.className + ' btn-default btn-following';\n } else {\n return this.props.className + ' btn-default btn-follow';\n }\n }\n }, {\n key: 'getIcon',\n value: function getIcon() {\n if (this.props.profile.is_followed) {\n return 'favorite';\n } else {\n return 'favorite_border';\n }\n }\n }, {\n key: 'getLabel',\n value: function getLabel() {\n if (this.props.profile.is_followed) {\n return gettext(\"Following\");\n } else {\n return gettext(\"Follow\");\n }\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n _button2.default,\n { className: this.getClassName(),\n disabled: this.state.isLoading,\n onClick: this.action },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n this.getIcon()\n ),\n this.getLabel()\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../reducers/profile\":355,\"../../services/ajax\":364,\"../../services/snackbar\":375,\"../../services/store\":376,\"../button\":8,\"react\":\"react\"}],185:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _quickSearch = require('../quick-search');\n\nvar _quickSearch2 = _interopRequireDefault(_quickSearch);\n\nvar _usersList = require('../users-list');\n\nvar _usersList2 = _interopRequireDefault(_usersList);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _users = require('../../reducers/users');\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _pageTitle = require('../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.loadMore = function () {\n _this.setState({\n isBusy: true\n });\n\n _this.loadUsers(_this.state.page + 1, _this.state.search);\n };\n\n _this.search = function (ev) {\n _this.setState({\n isLoaded: false,\n isBusy: true,\n\n search: ev.target.value,\n\n count: 0,\n more: 0,\n\n page: 1,\n pages: 1\n });\n\n _this.loadUsers(1, ev.target.value);\n };\n\n _this.setSpecialProps();\n\n if (_index2.default.has(_this.PRELOADED_DATA_KEY)) {\n _this.initWithPreloadedData(_index2.default.pop(_this.PRELOADED_DATA_KEY));\n } else {\n _this.initWithoutPreloadedData();\n }\n return _this;\n }\n\n _createClass(_class, [{\n key: 'setSpecialProps',\n value: function setSpecialProps() {\n this.PRELOADED_DATA_KEY = 'PROFILE_FOLLOWERS';\n this.TITLE = gettext('Followers');\n this.API_FILTER = 'followers';\n }\n }, {\n key: 'initWithPreloadedData',\n value: function initWithPreloadedData(data) {\n this.state = {\n isLoaded: true,\n isBusy: false,\n\n search: '',\n\n count: data.count,\n more: data.more,\n\n page: data.page,\n pages: data.pages\n };\n\n _store2.default.dispatch((0, _users.hydrate)(data.results));\n }\n }, {\n key: 'initWithoutPreloadedData',\n value: function initWithoutPreloadedData() {\n this.state = {\n isLoaded: false,\n isBusy: false,\n\n search: '',\n\n count: 0,\n more: 0,\n\n page: 1,\n pages: 1\n };\n\n this.loadUsers();\n }\n }, {\n key: 'loadUsers',\n value: function loadUsers() {\n var _this2 = this;\n\n var page = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n var search = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n var apiUrl = this.props.profile.api[this.API_FILTER];\n\n _ajax2.default.get(apiUrl, {\n search: search,\n page: page || 1\n }, 'user-' + this.API_FILTER).then(function (data) {\n if (page === 1) {\n _store2.default.dispatch((0, _users.hydrate)(data.results));\n } else {\n _store2.default.dispatch((0, _users.append)(data.results));\n }\n\n _this2.setState({\n isLoaded: true,\n isBusy: false,\n\n count: data.count,\n more: data.more,\n\n page: data.page,\n pages: data.pages\n });\n }, function (rejection) {\n _snackbar2.default.apiError(rejection);\n });\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n _pageTitle2.default.set({\n title: this.TITLE,\n parent: this.props.profile.username\n });\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'getLabel',\n\n /* jshint ignore:end */\n\n value: function getLabel() {\n if (!this.state.isLoaded) {\n return gettext('Loading...');\n } else if (this.state.search) {\n var message = ngettext(\"Found %(users)s user.\", \"Found %(users)s users.\", this.state.count);\n\n return interpolate(message, {\n 'users': this.state.count\n }, true);\n } else if (this.props.profile.id === this.props.user.id) {\n var _message = ngettext(\"You have %(users)s follower.\", \"You have %(users)s followers.\", this.state.count);\n\n return interpolate(_message, {\n 'users': this.state.count\n }, true);\n } else {\n var _message2 = ngettext(\"%(username)s has %(users)s follower.\", \"%(username)s has %(users)s followers.\", this.state.count);\n\n return interpolate(_message2, {\n 'username': this.props.profile.username,\n 'users': this.state.count\n }, true);\n }\n }\n }, {\n key: 'getEmptyMessage',\n value: function getEmptyMessage() {\n if (this.state.search) {\n return gettext(\"Search returned no users matching specified criteria.\");\n } else if (this.props.user.id === this.props.profile.id) {\n return gettext(\"You have no followers.\");\n } else {\n return interpolate(gettext(\"%(username)s has no followers.\"), {\n 'username': this.props.profile.username\n }, true);\n }\n }\n }, {\n key: 'getMoreButton',\n value: function getMoreButton() {\n if (!this.state.more) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'pager-more' },\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn btn-default btn-outline',\n loading: this.state.isBusy,\n onClick: this.loadMore\n },\n interpolate(gettext(\"Show more (%(more)s)\"), {\n 'more': this.state.more\n }, true)\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getListBody',\n value: function getListBody() {\n if (this.state.isLoaded && this.state.count === 0) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'p',\n { className: 'lead' },\n this.getEmptyMessage()\n );\n /* jshint ignore:end */\n }\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(_usersList2.default, {\n cols: 3,\n isReady: this.state.isLoaded,\n users: this.props.users\n }),\n this.getMoreButton()\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getClassName',\n value: function getClassName() {\n return 'profile-' + this.API_FILTER;\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: this.getClassName() },\n _react2.default.createElement(\n 'nav',\n { className: 'toolbar' },\n _react2.default.createElement(\n 'h3',\n { className: 'toolbar-left' },\n this.getLabel()\n ),\n _react2.default.createElement(_quickSearch2.default, { className: 'toolbar-right',\n value: this.state.search,\n onChange: this.search,\n placeholder: gettext(\"Search users...\") })\n ),\n this.getListBody()\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../index\":301,\"../../reducers/users\":363,\"../../services/ajax\":364,\"../../services/page-title\":372,\"../../services/snackbar\":375,\"../../services/store\":376,\"../button\":8,\"../quick-search\":196,\"../users-list\":283,\"react\":\"react\"}],186:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _followers = require('./followers');\n\nvar _followers2 = _interopRequireDefault(_followers);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n\n\nvar _class = function (_Followers) {\n _inherits(_class, _Followers);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'setSpecialProps',\n value: function setSpecialProps() {\n this.PRELOADED_DATA_KEY = 'PROFILE_FOLLOWS';\n this.TITLE = gettext('Follows');\n this.API_FILTER = 'follows';\n }\n }, {\n key: 'getLabel',\n value: function getLabel() {\n if (!this.state.isLoaded) {\n return gettext('Loading...');\n } else if (this.state.search) {\n var message = ngettext(\"Found %(users)s user.\", \"Found %(users)s users.\", this.state.count);\n\n return interpolate(message, {\n 'users': this.state.count\n }, true);\n } else if (this.props.profile.id === this.props.user.id) {\n var _message = ngettext(\"You are following %(users)s user.\", \"You are following %(users)s users.\", this.state.count);\n\n return interpolate(_message, {\n 'users': this.state.count\n }, true);\n } else {\n var _message2 = ngettext(\"%(username)s is following %(users)s user.\", \"%(username)s is following %(users)s users.\", this.state.count);\n\n return interpolate(_message2, {\n 'username': this.props.profile.username,\n 'users': this.state.count\n }, true);\n }\n }\n }, {\n key: 'getEmptyMessage',\n value: function getEmptyMessage() {\n if (this.state.search) {\n return gettext(\"Search returned no users matching specified criteria.\");\n } else if (this.props.user.id === this.props.profile.id) {\n return gettext(\"You are not following any users.\");\n } else {\n return interpolate(gettext(\"%(username)s is not following any users.\"), {\n 'username': this.props.profile.username\n }, true);\n }\n }\n }]);\n\n return _class;\n}(_followers2.default);\n\nexports.default = _class;\n\n},{\"./followers\":185,\"react\":\"react\"}],187:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.IsDisabledMessage = IsDisabledMessage;\nexports.getColStyle = getColStyle;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _dropdownToggle = require('../dropdown-toggle');\n\nvar _dropdownToggle2 = _interopRequireDefault(_dropdownToggle);\n\nvar _followButton = require('./follow-button');\n\nvar _followButton2 = _interopRequireDefault(_followButton);\n\nvar _messageButton = require('./message-button');\n\nvar _messageButton2 = _interopRequireDefault(_messageButton);\n\nvar _nav = require('./moderation/nav');\n\nvar _nav2 = _interopRequireDefault(_nav);\n\nvar _navs = require('./navs');\n\nvar _userStatus = require('../user-status');\n\nvar _userStatus2 = _interopRequireDefault(_userStatus);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'getUserStatus',\n value: function getUserStatus() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: 'user-status-display' },\n _react2.default.createElement(\n _userStatus2.default,\n {\n user: this.props.profile,\n status: this.props.profile.status\n },\n _react2.default.createElement(_userStatus.StatusIcon, {\n user: this.props.profile,\n status: this.props.profile.status\n }),\n _react2.default.createElement(_userStatus.StatusLabel, {\n user: this.props.profile,\n status: this.props.profile.status,\n className: 'status-label'\n })\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getUserRank',\n value: function getUserRank() {\n if (this.props.profile.rank.is_tab) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: 'user-rank' },\n _react2.default.createElement(\n 'a',\n { href: this.props.profile.rank.url, className: 'item-title' },\n this.props.profile.rank.name\n )\n );\n /* jshint ignore:end */\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: 'user-rank' },\n _react2.default.createElement(\n 'span',\n { className: 'item-title' },\n this.props.profile.rank.name\n )\n );\n /* jshint ignore:end */\n }\n }\n }, {\n key: 'getUserTitle',\n value: function getUserTitle() {\n if (this.props.profile.title) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: 'user-title' },\n this.props.profile.title\n );\n /* jshint ignore:end */\n } else if (this.props.profile.rank.title) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: 'user-title' },\n this.props.profile.rank.title\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'getJoinedOn',\n value: function getJoinedOn() {\n /* jshint ignore:start */\n var title = interpolate(gettext(\"Joined on %(joined_on)s\"), {\n 'joined_on': this.props.profile.joined_on.format('LL, LT')\n }, true);\n\n var age = interpolate(gettext(\"Joined %(joined_on)s\"), {\n 'joined_on': this.props.profile.joined_on.fromNow()\n }, true);\n\n return _react2.default.createElement(\n 'li',\n { className: 'user-joined-on' },\n _react2.default.createElement(\n 'abbr',\n { title: title },\n age\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getEmail',\n value: function getEmail() {\n if (this.props.profile.email) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: 'user-email' },\n _react2.default.createElement(\n 'a',\n { href: 'mailto:' + this.props.profile.email, className: 'item-title' },\n this.props.profile.email\n )\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'getFollowButton',\n value: function getFollowButton() {\n if (this.props.profile.acl.can_follow) {\n /* jshint ignore:start */\n return _react2.default.createElement(_followButton2.default, {\n className: 'btn btn-block btn-outline',\n profile: this.props.profile\n });\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'getModerationButton',\n value: function getModerationButton() {\n if (this.props.profile.acl.can_moderate) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'btn-group btn-group-justified' },\n _react2.default.createElement(\n 'div',\n { className: 'btn-group' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-moderate btn-outline dropdown-toggle',\n type: 'button',\n 'data-toggle': 'dropdown',\n 'aria-haspopup': 'true',\n 'aria-expanded': 'false'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'tonality'\n ),\n gettext(\"Moderation\")\n ),\n _react2.default.createElement(_nav2.default, { profile: this.props.profile })\n )\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n var canFollow = this.props.profile.acl.can_follow;\n var canModerate = this.props.profile.acl.can_moderate;\n\n var isProfileOwner = this.props.user.id === this.props.profile.id;\n var canMessage = !isProfileOwner && this.props.user.acl.can_start_private_threads;\n\n var cols = 0;\n if (canFollow) cols += 1;\n if (canModerate) cols += 1;\n if (canMessage) cols += 1;\n\n var colsWidth = cols ? 2 * cols + 1 : 0;\n\n var headerClassName = 'page-header';\n if (this.props.profile.rank.css_class) {\n headerClassName += ' page-header-rank-' + this.props.profile.rank.css_class;\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'page-header-bg' },\n _react2.default.createElement(\n 'div',\n { className: headerClassName },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(IsDisabledMessage, {\n isActive: this.props.profile.is_active,\n isDeletingAccount: this.props.profile.is_deleting_account\n }),\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-9 col-md-offset-3' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: \"col-sm-\" + (12 - colsWidth) },\n _react2.default.createElement(_avatar2.default, {\n className: 'user-avatar user-avatar-sm',\n user: this.props.profile,\n size: '100',\n size2x: '200'\n }),\n _react2.default.createElement(\n 'h1',\n null,\n this.props.profile.username\n )\n ),\n !!cols && _react2.default.createElement(\n 'div',\n { className: \"col-sm-\" + colsWidth },\n _react2.default.createElement(\n 'div',\n { className: 'row xs-margin-top sm-margin-top' },\n !!canMessage && _react2.default.createElement(\n 'div',\n { className: getColStyle(cols, 0) },\n _react2.default.createElement(_messageButton2.default, {\n className: 'btn btn-default btn-block btn-outline',\n profile: this.props.profile,\n user: this.props.user\n })\n ),\n !!canFollow && _react2.default.createElement(\n 'div',\n { className: getColStyle(cols, 1) },\n this.getFollowButton()\n ),\n !!canModerate && _react2.default.createElement(\n 'div',\n { className: getColStyle(cols, 2) },\n this.getModerationButton()\n )\n )\n )\n )\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'header-stats' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-9 col-md-offset-3' },\n _react2.default.createElement(\n 'ul',\n { className: 'list-inline' },\n this.getUserStatus(),\n this.getUserRank(),\n this.getUserTitle(),\n this.getJoinedOn(),\n this.getEmail()\n )\n )\n )\n )\n ),\n _react2.default.createElement(_navs.CompactNav, {\n baseUrl: this.props.baseUrl,\n pages: this.props.pages,\n profile: this.props.profile\n })\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\n/* jshint ignore:start */\n\n\nexports.default = _class;\nfunction IsDisabledMessage(_ref) {\n var isActive = _ref.isActive,\n isDeletingAccount = _ref.isDeletingAccount;\n\n if (isActive !== false && isDeletingAccount !== true) return null;\n\n var message = null;\n if (isDeletingAccount) {\n message = gettext(\"This user is deleting their account.\");\n } else {\n message = gettext(\"This user's account has been disabled by administrator.\");\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'alert alert-danger' },\n _react2.default.createElement(\n 'p',\n null,\n message\n )\n );\n}\n\nfunction getColStyle(cols, col) {\n var colStyle = \"\";\n\n if (cols == 1) {\n colStyle = \"col-xs-12\";\n }\n\n if (cols == 2) {\n colStyle = \"col-xs-6 col-sm-6\";\n }\n\n if (cols == 3) {\n if (col == 2) {\n colStyle = \"col-xs-12 col-sm-4 xs-margin-top\";\n } else {\n colStyle += \"col-xs-6 col-sm-4\";\n }\n }\n\n return colStyle;\n}\n/* jshint ignore:end */\n\n},{\"../avatar\":6,\"../dropdown-toggle\":27,\"../user-status\":273,\"./follow-button\":184,\"./message-button\":188,\"./moderation/nav\":192,\"./navs\":193,\"react\":\"react\"}],188:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _posting = require('../../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n _posting2.default.open({\n mode: 'START_PRIVATE',\n submit: _2.default.get('PRIVATE_THREADS_API'),\n\n to: [_this.props.profile]\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n var canMessage = this.props.user.acl.can_start_private_threads;\n var isProfileOwner = this.props.user.id === this.props.profile.id;\n\n if (!canMessage || isProfileOwner) return null;\n\n return _react2.default.createElement(\n 'button',\n {\n className: this.props.className,\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'comment'\n ),\n gettext(\"Message\")\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../..\":301,\"../../services/posting\":374,\"react\":\"react\"}],189:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _modalLoader = require('../../modal-loader');\n\nvar _modalLoader2 = _interopRequireDefault(_modalLoader);\n\nvar _yesNoSwitch = require('../../yes-no-switch');\n\nvar _yesNoSwitch2 = _interopRequireDefault(_yesNoSwitch);\n\nvar _modalMessage = require('../../modal-message');\n\nvar _modalMessage2 = _interopRequireDefault(_modalMessage);\n\nvar _users = require('../../../reducers/users');\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.state = {\n isLoaded: false,\n isLoading: false,\n error: null,\n\n is_avatar_locked: '',\n avatar_lock_user_message: '',\n avatar_lock_staff_message: ''\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n _ajax2.default.get(this.props.profile.api.moderate_avatar).then(function (options) {\n _this2.setState({\n isLoaded: true,\n\n is_avatar_locked: options.is_avatar_locked,\n avatar_lock_user_message: options.avatar_lock_user_message || '',\n avatar_lock_staff_message: options.avatar_lock_staff_message || ''\n });\n }, function (rejection) {\n _this2.setState({\n isLoaded: true,\n error: rejection.detail\n });\n });\n }\n }, {\n key: 'clean',\n value: function clean() {\n if (this.isValid()) {\n return true;\n } else {\n _snackbar2.default.error(this.validate().username[0]);\n return false;\n }\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.profile.api.moderate_avatar, {\n is_avatar_locked: this.state.is_avatar_locked,\n avatar_lock_user_message: this.state.avatar_lock_user_message,\n avatar_lock_staff_message: this.state.avatar_lock_staff_message\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(apiResponse) {\n _store2.default.dispatch((0, _users.updateAvatar)(this.props.profile, apiResponse.avatar_hash));\n _snackbar2.default.success(gettext(\"Avatar controls have been changed.\"));\n }\n }, {\n key: 'getFormBody',\n value: function getFormBody() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Lock avatar\"),\n helpText: gettext(\"Locking user avatar will prohibit user from changing his avatar and will reset his/her avatar to default one.\"),\n 'for': 'id_is_avatar_locked' },\n _react2.default.createElement(_yesNoSwitch2.default, { id: 'id_is_avatar_locked',\n disabled: this.state.isLoading,\n iconOn: 'lock_outline',\n iconOff: 'lock_open',\n labelOn: gettext(\"Disallow user from changing avatar\"),\n labelOff: gettext(\"Allow user to change avatar\"),\n onChange: this.bindInput('is_avatar_locked'),\n value: this.state.is_avatar_locked })\n ),\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"User message\"),\n helpText: gettext(\"Optional message for user explaining why he/she is prohibited form changing avatar.\"),\n 'for': 'id_avatar_lock_user_message' },\n _react2.default.createElement('textarea', { id: 'id_avatar_lock_user_message',\n className: 'form-control',\n rows: '4',\n disabled: this.state.isLoading,\n onChange: this.bindInput('avatar_lock_user_message'),\n value: this.state.avatar_lock_user_message })\n ),\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Staff message\"),\n helpText: gettext(\"Optional message for forum team members explaining why user is prohibited form changing avatar.\"),\n 'for': 'id_avatar_lock_staff_message' },\n _react2.default.createElement('textarea', { id: 'id_avatar_lock_staff_message',\n className: 'form-control',\n rows: '4',\n disabled: this.state.isLoading,\n onChange: this.bindInput('avatar_lock_staff_message'),\n value: this.state.avatar_lock_staff_message })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-default', 'data-dismiss': 'modal' },\n gettext(\"Close\")\n ),\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary', loading: this.state.isLoading },\n gettext(\"Save changes\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getModalBody',\n value: function getModalBody() {\n if (this.state.error) {\n /* jshint ignore:start */\n return _react2.default.createElement(_modalMessage2.default, { icon: 'remove_circle_outline',\n message: this.state.error });\n /* jshint ignore:end */\n } else if (this.state.isLoaded) {\n return this.getFormBody();\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(_modalLoader2.default, null);\n /* jshint ignore:end */\n }\n }\n }, {\n key: 'getClassName',\n value: function getClassName() {\n if (this.state.error) {\n return \"modal-dialog modal-message modal-avatar-controls\";\n } else {\n return \"modal-dialog modal-avatar-controls\";\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: this.getClassName(),\n role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'close', 'data-dismiss': 'modal',\n 'aria-label': gettext(\"Close\") },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Avatar controls\")\n )\n ),\n this.getModalBody()\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../../reducers/users\":363,\"../../../services/ajax\":364,\"../../../services/snackbar\":375,\"../../../services/store\":376,\"../../button\":8,\"../../form\":55,\"../../form-group\":54,\"../../modal-loader\":60,\"../../modal-message\":61,\"../../yes-no-switch\":299,\"react\":\"react\"}],190:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _modalLoader = require('../../modal-loader');\n\nvar _modalLoader2 = _interopRequireDefault(_modalLoader);\n\nvar _modalMessage = require('../../modal-message');\n\nvar _modalMessage2 = _interopRequireDefault(_modalMessage);\n\nvar _usernameHistory = require('../../../reducers/username-history');\n\nvar _users = require('../../../reducers/users');\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _validators = require('../../../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.state = {\n isLoaded: false,\n isLoading: false,\n error: null,\n\n username: '',\n validators: {\n username: [validators.usernameContent()]\n }\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n _ajax2.default.get(this.props.profile.api.moderate_username).then(function () {\n _this2.setState({\n isLoaded: true\n });\n }, function (rejection) {\n _this2.setState({\n isLoaded: true,\n error: rejection.detail\n });\n });\n }\n }, {\n key: 'clean',\n value: function clean() {\n if (this.isValid()) {\n return true;\n } else {\n _snackbar2.default.error(this.validate().username[0]);\n return false;\n }\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.profile.api.moderate_username, {\n username: this.state.username\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(apiResponse) {\n this.setState({\n username: ''\n });\n\n _store2.default.dispatch((0, _usernameHistory.addNameChange)(apiResponse, this.props.profile, this.props.user));\n _store2.default.dispatch((0, _users.updateUsername)(this.props.profile, apiResponse.username, apiResponse.slug));\n\n _snackbar2.default.success(gettext(\"Username has been changed.\"));\n }\n }, {\n key: 'getFormBody',\n value: function getFormBody() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"New username\"), 'for': 'id_username' },\n _react2.default.createElement('input', { type: 'text', id: 'id_username', className: 'form-control',\n disabled: this.state.isLoading,\n onChange: this.bindInput('username'),\n value: this.state.username })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n disabled: this.state.isLoading,\n type: 'button'\n },\n gettext(\"Cancel\")\n ),\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary', loading: this.state.isLoading },\n gettext(\"Change username\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getModalBody',\n value: function getModalBody() {\n if (this.state.error) {\n /* jshint ignore:start */\n return _react2.default.createElement(_modalMessage2.default, { icon: 'remove_circle_outline',\n message: this.state.error });\n /* jshint ignore:end */\n } else if (this.state.isLoaded) {\n return this.getFormBody();\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(_modalLoader2.default, null);\n /* jshint ignore:end */\n }\n }\n }, {\n key: 'getClassName',\n value: function getClassName() {\n if (this.state.error) {\n return \"modal-dialog modal-message modal-rename-user\";\n } else {\n return \"modal-dialog modal-rename-user\";\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: this.getClassName(),\n role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'close', 'data-dismiss': 'modal',\n 'aria-label': gettext(\"Close\") },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Change username\")\n )\n ),\n this.getModalBody()\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../../reducers/username-history\":362,\"../../../reducers/users\":363,\"../../../services/ajax\":364,\"../../../services/snackbar\":375,\"../../../services/store\":376,\"../../../utils/validators\":392,\"../../button\":8,\"../../form\":55,\"../../form-group\":54,\"../../modal-loader\":60,\"../../modal-message\":61,\"react\":\"react\"}],191:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _modalLoader = require('../../modal-loader');\n\nvar _modalLoader2 = _interopRequireDefault(_modalLoader);\n\nvar _modalMessage = require('../../modal-message');\n\nvar _modalMessage2 = _interopRequireDefault(_modalMessage);\n\nvar _yesNoSwitch = require('../../yes-no-switch');\n\nvar _yesNoSwitch2 = _interopRequireDefault(_yesNoSwitch);\n\nvar _index = require('../../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _polls = require('../../../services/polls');\n\nvar _polls2 = _interopRequireDefault(_polls);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.countdown = function () {\n window.setTimeout(function () {\n if (_this.state.countdown > 1) {\n _this.setState({\n countdown: _this.state.countdown - 1\n });\n _this.countdown();\n } else if (!_this.state.confirm) {\n _this.setState({\n confirm: true\n });\n }\n }, 1000);\n };\n\n _this.state = {\n isLoaded: false,\n isLoading: false,\n isDeleted: false,\n error: null,\n\n countdown: 5,\n confirm: false,\n\n with_content: false\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n _ajax2.default.get(this.props.profile.api.delete).then(function () {\n _this2.setState({\n isLoaded: true\n });\n\n _this2.countdown();\n }, function (rejection) {\n _this2.setState({\n isLoaded: true,\n error: rejection.detail\n });\n });\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'send',\n\n /* jshint ignore:end */\n\n value: function send() {\n return _ajax2.default.post(this.props.profile.api.delete, {\n with_content: this.state.with_content\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess() {\n _polls2.default.stop('user-profile');\n\n if (this.state.with_content) {\n this.setState({\n isDeleted: interpolate(gettext(\"%(username)s's account, threads, posts and other content has been deleted.\"), {\n 'username': this.props.profile.username\n }, true)\n });\n } else {\n this.setState({\n isDeleted: interpolate(gettext(\"%(username)s's account has been deleted and other content has been hidden.\"), {\n 'username': this.props.profile.username\n }, true)\n });\n }\n }\n }, {\n key: 'getButtonLabel',\n value: function getButtonLabel() {\n if (this.state.confirm) {\n return interpolate(gettext(\"Delete %(username)s\"), {\n 'username': this.props.profile.username\n }, true);\n } else {\n return interpolate(gettext(\"Please wait... (%(countdown)ss)\"), {\n 'countdown': this.state.countdown\n }, true);\n }\n }\n }, {\n key: 'getForm',\n value: function getForm() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"User content\"),\n 'for': 'id_with_content' },\n _react2.default.createElement(_yesNoSwitch2.default, { id: 'id_with_content',\n disabled: this.state.isLoading,\n labelOn: gettext(\"Delete together with user's account\"),\n labelOff: gettext(\"Hide after deleting user's account\"),\n onChange: this.bindInput('with_content'),\n value: this.state.with_content })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'button',\n { type: 'button',\n className: 'btn btn-default',\n 'data-dismiss': 'modal' },\n gettext(\"Cancel\")\n ),\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-danger',\n loading: this.state.isLoading,\n disabled: !this.state.confirm },\n this.getButtonLabel()\n )\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getDeletedBody',\n value: function getDeletedBody() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'info_outline'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n this.state.isDeleted\n ),\n _react2.default.createElement(\n 'p',\n null,\n _react2.default.createElement(\n 'a',\n { href: _index2.default.get('USERS_LIST_URL') },\n gettext(\"Return to users list\")\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getModalBody',\n value: function getModalBody() {\n if (this.state.error) {\n /* jshint ignore:start */\n return _react2.default.createElement(_modalMessage2.default, { icon: 'remove_circle_outline',\n message: this.state.error });\n /* jshint ignore:end */\n } else if (this.state.isLoaded) {\n if (this.state.isDeleted) {\n return this.getDeletedBody();\n } else {\n return this.getForm();\n }\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(_modalLoader2.default, null);\n /* jshint ignore:end */\n }\n }\n }, {\n key: 'getClassName',\n value: function getClassName() {\n if (this.state.error || this.state.isDeleted) {\n return \"modal-dialog modal-message modal-delete-account\";\n } else {\n return \"modal-dialog modal-delete-account\";\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: this.getClassName(),\n role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'close', 'data-dismiss': 'modal',\n 'aria-label': gettext(\"Close\") },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Delete user account\")\n )\n ),\n this.getModalBody()\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../../index\":301,\"../../../services/ajax\":364,\"../../../services/polls\":373,\"../../button\":8,\"../../form\":55,\"../../form-group\":54,\"../../modal-loader\":60,\"../../modal-message\":61,\"../../yes-no-switch\":299,\"react\":\"react\"}],192:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRedux = require('react-redux');\n\nvar _avatarControls = require('./avatar-controls');\n\nvar _avatarControls2 = _interopRequireDefault(_avatarControls);\n\nvar _changeUsername = require('./change-username');\n\nvar _changeUsername2 = _interopRequireDefault(_changeUsername);\n\nvar _deleteAccount = require('./delete-account');\n\nvar _deleteAccount2 = _interopRequireDefault(_deleteAccount);\n\nvar _modal = require('../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\n/* jshint ignore:start */\nvar select = function select(store) {\n return {\n tick: store.tick,\n user: store.auth,\n profile: store.profile\n };\n};\n/* jshint ignore:end */\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.showAvatarDialog = function () {\n _modal2.default.show((0, _reactRedux.connect)(select)(_avatarControls2.default));\n }, _this.showRenameDialog = function () {\n _modal2.default.show((0, _reactRedux.connect)(select)(_changeUsername2.default));\n }, _this.showDeleteDialog = function () {\n _modal2.default.show((0, _reactRedux.connect)(select)(_deleteAccount2.default));\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'getAvatarButton',\n\n /* jshint ignore:end */\n\n value: function getAvatarButton() {\n if (this.props.profile.acl.can_moderate_avatar) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n type: 'button',\n className: 'btn btn-link',\n onClick: this.showAvatarDialog\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'portrait'\n ),\n gettext(\"Avatar controls\")\n )\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'getRenameButton',\n\n /* jshint ignore:end */\n\n value: function getRenameButton() {\n if (this.props.profile.acl.can_rename) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n type: 'button',\n className: 'btn btn-link',\n onClick: this.showRenameDialog\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'credit_card'\n ),\n gettext(\"Change username\")\n )\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'getDeleteButton',\n\n /* jshint ignore:end */\n\n value: function getDeleteButton() {\n if (this.props.profile.acl.can_delete) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n type: 'button',\n className: 'btn btn-link',\n onClick: this.showDeleteDialog\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'clear'\n ),\n gettext(\"Delete account\")\n )\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'ul',\n {\n className: 'dropdown-menu dropdown-menu-right stick-to-bottom',\n role: 'menu'\n },\n this.getAvatarButton(),\n this.getRenameButton(),\n this.getDeleteButton()\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../services/modal\":370,\"./avatar-controls\":189,\"./change-username\":190,\"./delete-account\":191,\"react\":\"react\",\"react-redux\":\"react-redux\"}],193:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SideNav = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.CompactNav = CompactNav;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRouter = require('react-router');\n\nvar _li = require('../li');\n\nvar _li2 = _interopRequireDefault(_li);\n\nvar _followButton = require('./follow-button');\n\nvar _followButton2 = _interopRequireDefault(_followButton);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n//jshint ignore:line\n// jshint ignore:line\n\n\n//jshint ignore:line\n\nvar SideNav = exports.SideNav = function (_React$Component) {\n _inherits(SideNav, _React$Component);\n\n function SideNav() {\n _classCallCheck(this, SideNav);\n\n return _possibleConstructorReturn(this, (SideNav.__proto__ || Object.getPrototypeOf(SideNav)).apply(this, arguments));\n }\n\n _createClass(SideNav, [{\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n // jshint ignore:start\n return _react2.default.createElement(\n 'div',\n { className: 'list-group nav-side' },\n this.props.pages.map(function (page) {\n return _react2.default.createElement(\n _reactRouter.Link,\n {\n to: _this2.props.baseUrl + page.component + '/',\n className: 'list-group-item',\n activeClassName: 'active',\n key: page.component\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n page.icon\n ),\n page.name\n );\n })\n );\n // jshint ignore:end\n }\n }]);\n\n return SideNav;\n}(_react2.default.Component);\n\n// jshint ignore:start\n\n\nfunction CompactNav(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'page-tabs hidden-md hidden-lg' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'ul',\n { className: 'nav nav-pills', role: 'menu' },\n props.pages.map(function (page) {\n return _react2.default.createElement(\n _li2.default,\n {\n path: props.baseUrl + page.component + '/',\n key: page.component\n },\n _react2.default.createElement(\n _reactRouter.Link,\n {\n to: props.baseUrl + page.component + '/',\n onClick: props.hideNav\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n page.icon\n ),\n page.name\n )\n );\n })\n )\n )\n );\n}\n// jshint ignore:end\n\n},{\"../../index\":301,\"../li\":56,\"./follow-button\":184,\"react\":\"react\",\"react-router\":\"react-router\"}],194:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.select = select;\nexports.paths = paths;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRedux = require('react-redux');\n\nvar _banDetails = require('./ban-details');\n\nvar _banDetails2 = _interopRequireDefault(_banDetails);\n\nvar _details = require('./details');\n\nvar _details2 = _interopRequireDefault(_details);\n\nvar _feed = require('./feed');\n\nvar _followers = require('./followers');\n\nvar _followers2 = _interopRequireDefault(_followers);\n\nvar _follows = require('./follows');\n\nvar _follows2 = _interopRequireDefault(_follows);\n\nvar _usernameHistory = require('./username-history');\n\nvar _usernameHistory2 = _interopRequireDefault(_usernameHistory);\n\nvar _header = require('./header');\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _nav = require('./moderation/nav');\n\nvar _nav2 = _interopRequireDefault(_nav);\n\nvar _navs = require('./navs');\n\nvar _avatar = require('../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _withDropdown = require('../with-dropdown');\n\nvar _withDropdown2 = _interopRequireDefault(_withDropdown);\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _profile = require('../../reducers/profile');\n\nvar _polls = require('../../services/polls');\n\nvar _polls2 = _interopRequireDefault(_polls);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_WithDropdown) {\n _inherits(_class, _WithDropdown);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.update = function (data) {\n _store2.default.dispatch((0, _profile.hydrate)(data));\n };\n\n _this.startPolling(props.profile.api.index);\n return _this;\n }\n\n _createClass(_class, [{\n key: 'startPolling',\n value: function startPolling(api) {\n _polls2.default.start({\n poll: 'user-profile',\n url: api,\n frequency: 90 * 1000,\n update: this.update\n });\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n var baseUrl = _2.default.get('PROFILE').url;\n var pages = _2.default.get('PROFILE_PAGES');\n\n return _react2.default.createElement(\n 'div',\n { className: 'page page-user-profile' },\n _react2.default.createElement(_header2.default, {\n baseUrl: baseUrl,\n pages: pages,\n profile: this.props.profile,\n toggleNav: this.toggleNav,\n toggleModeration: this.toggleModeration,\n user: this.props.user\n }),\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-3 hidden-xs hidden-sm' },\n _react2.default.createElement(\n 'div',\n { className: 'profile-side-avatar' },\n _react2.default.createElement(_avatar2.default, { user: this.props.profile, size: '400' })\n ),\n _react2.default.createElement(_navs.SideNav, {\n baseUrl: baseUrl,\n pages: pages,\n profile: this.props.profile\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-md-9' },\n this.props.children\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_withDropdown2.default);\n\nexports.default = _class;\nfunction select(store) {\n return {\n isAuthenticated: store.auth.user.id === store.profile.id,\n\n tick: store.tick.tick,\n user: store.auth.user,\n users: store.users,\n posts: store.posts,\n profile: store.profile,\n profileDetails: store['profile-details'],\n 'username-history': store['username-history']\n };\n}\n\nvar COMPONENTS = {\n 'posts': _feed.Posts,\n 'threads': _feed.Threads,\n 'followers': _followers2.default,\n 'follows': _follows2.default,\n 'details': _details2.default,\n 'username-history': _usernameHistory2.default,\n 'ban-details': _banDetails2.default\n};\n\nfunction paths() {\n var paths = [];\n _2.default.get('PROFILE_PAGES').forEach(function (item) {\n paths.push(Object.assign({}, item, {\n path: _2.default.get('PROFILE').url + item.component + '/',\n component: (0, _reactRedux.connect)(select)(COMPONENTS[item.component])\n }));\n });\n\n return paths;\n}\n\n},{\"../..\":301,\"../../reducers/profile\":355,\"../../services/polls\":373,\"../../services/store\":376,\"../avatar\":6,\"../with-dropdown\":298,\"./ban-details\":173,\"./details\":181,\"./feed\":182,\"./followers\":185,\"./follows\":186,\"./header\":187,\"./moderation/nav\":192,\"./navs\":193,\"./username-history\":195,\"react\":\"react\",\"react-redux\":\"react-redux\"}],195:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _quickSearch = require('../quick-search');\n\nvar _quickSearch2 = _interopRequireDefault(_quickSearch);\n\nvar _root = require('../username-history/root');\n\nvar _root2 = _interopRequireDefault(_root);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _usernameHistory = require('../../reducers/username-history');\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _pageTitle = require('../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.loadMore = function () {\n _this.setState({\n isBusy: true\n });\n\n _this.loadChanges(_this.state.page + 1, _this.state.search);\n };\n\n _this.search = function (ev) {\n _this.setState({\n isLoaded: false,\n isBusy: true,\n\n search: ev.target.value,\n\n count: 0,\n more: 0,\n\n page: 1,\n pages: 1\n });\n\n _this.loadChanges(1, ev.target.value);\n };\n\n if (_index2.default.has('PROFILE_NAME_HISTORY')) {\n _this.initWithPreloadedData(_index2.default.pop('PROFILE_NAME_HISTORY'));\n } else {\n _this.initWithoutPreloadedData();\n }\n return _this;\n }\n\n _createClass(_class, [{\n key: 'initWithPreloadedData',\n value: function initWithPreloadedData(data) {\n this.state = {\n isLoaded: true,\n isBusy: false,\n\n search: '',\n\n count: data.count,\n more: data.more,\n\n page: data.page,\n pages: data.pages\n };\n\n _store2.default.dispatch((0, _usernameHistory.hydrate)(data.results));\n }\n }, {\n key: 'initWithoutPreloadedData',\n value: function initWithoutPreloadedData() {\n this.state = {\n isLoaded: false,\n isBusy: false,\n\n search: '',\n\n count: 0,\n more: 0,\n\n page: 1,\n pages: 1\n };\n\n this.loadChanges();\n }\n }, {\n key: 'loadChanges',\n value: function loadChanges() {\n var _this2 = this;\n\n var page = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n var search = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n _ajax2.default.get(_index2.default.get('USERNAME_CHANGES_API'), {\n user: this.props.profile.id,\n search: search,\n page: page || 1\n }, 'search-username-history').then(function (data) {\n if (page === 1) {\n _store2.default.dispatch((0, _usernameHistory.hydrate)(data.results));\n } else {\n _store2.default.dispatch((0, _usernameHistory.append)(data.results));\n }\n\n _this2.setState({\n isLoaded: true,\n isBusy: false,\n\n count: data.count,\n more: data.more,\n\n page: data.page,\n pages: data.pages\n });\n }, function (rejection) {\n _snackbar2.default.apiError(rejection);\n });\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n _pageTitle2.default.set({\n title: gettext(\"Username history\"),\n parent: this.props.profile.username\n });\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'getLabel',\n\n /* jshint ignore:end */\n\n value: function getLabel() {\n if (!this.state.isLoaded) {\n return gettext('Loading...');\n } else if (this.state.search) {\n var message = ngettext(\"Found %(changes)s username change.\", \"Found %(changes)s username changes.\", this.state.count);\n\n return interpolate(message, {\n 'changes': this.state.count\n }, true);\n } else if (this.props.profile.id === this.props.user.id) {\n var _message = ngettext(\"Your username was changed %(changes)s time.\", \"Your username was changed %(changes)s times.\", this.state.count);\n\n return interpolate(_message, {\n 'changes': this.state.count\n }, true);\n } else {\n var _message2 = ngettext(\"%(username)s's username was changed %(changes)s time.\", \"%(username)s's username was changed %(changes)s times.\", this.state.count);\n\n return interpolate(_message2, {\n 'username': this.props.profile.username,\n 'changes': this.state.count\n }, true);\n }\n }\n }, {\n key: 'getEmptyMessage',\n value: function getEmptyMessage() {\n if (this.state.search) {\n return gettext(\"Search returned no username changes matching specified criteria.\");\n } else if (this.props.user.id === this.props.profile.id) {\n return gettext(\"No name changes have been recorded for your account.\");\n } else {\n return interpolate(gettext(\"%(username)s's username was never changed.\"), {\n 'username': this.props.profile.username\n }, true);\n }\n }\n }, {\n key: 'getMoreButton',\n value: function getMoreButton() {\n if (!this.state.more) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'pager-more' },\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn btn-default btn-outline',\n loading: this.state.isBusy,\n onClick: this.loadMore\n },\n interpolate(gettext(\"Show older (%(more)s)\"), {\n 'more': this.state.more\n }, true)\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'profile-username-history' },\n _react2.default.createElement(\n 'nav',\n { className: 'toolbar' },\n _react2.default.createElement(\n 'h3',\n { className: 'toolbar-left' },\n this.getLabel()\n ),\n _react2.default.createElement(_quickSearch2.default, { className: 'toolbar-right',\n value: this.state.search,\n onChange: this.search,\n placeholder: gettext(\"Search history...\") })\n ),\n _react2.default.createElement(_root2.default, { isLoaded: this.state.isLoaded,\n emptyMessage: this.getEmptyMessage(),\n changes: this.props['username-history'] }),\n this.getMoreButton()\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../index\":301,\"../../reducers/username-history\":362,\"../../services/ajax\":364,\"../../services/page-title\":372,\"../../services/snackbar\":375,\"../../services/store\":376,\"../button\":8,\"../quick-search\":196,\"../username-history/root\":279,\"react\":\"react\"}],196:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: \"getClassName\",\n value: function getClassName() {\n if (this.props.className) {\n return \"form-search \" + this.props.className;\n } else {\n return \"form-search\";\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n \"div\",\n { className: this.getClassName() },\n _react2.default.createElement(\"input\", { type: \"text\",\n className: \"form-control\",\n value: this.props.value,\n onChange: this.props.onChange,\n placeholder: this.props.placeholder || gettext(\"Search...\") }),\n _react2.default.createElement(\n \"span\",\n { className: \"material-icon\" },\n \"search\"\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\"}],197:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _loader = require('./loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nvar _register = require('./register.js');\n\nvar _register2 = _interopRequireDefault(_register);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _captcha = require('../services/captcha');\n\nvar _captcha2 = _interopRequireDefault(_captcha);\n\nvar _modal = require('../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.showRegisterForm = function () {\n if (misago.get('SETTINGS').account_activation === 'closed') {\n _snackbar2.default.info(gettext(\"New registrations are currently disabled.\"));\n } else if (_this.state.isLoaded) {\n _modal2.default.show(_react2.default.createElement(_register2.default, {\n criteria: _this.state.criteria\n }));\n } else {\n _this.setState({ isLoading: true });\n\n Promise.all([_captcha2.default.load(), _ajax2.default.get(misago.get('AUTH_CRITERIA_API'))]).then(function (result) {\n _this.setState({\n isLoading: false,\n isLoaded: true,\n criteria: result[1]\n });\n\n _modal2.default.show(_react2.default.createElement(_register2.default, {\n criteria: result[1]\n }));\n }, function () {\n _this.setState({ isLoading: false });\n\n _snackbar2.default.error(gettext(\"Registration is currently unavailable due to an error.\"));\n });\n }\n };\n\n _this.state = {\n isLoading: false,\n isLoaded: false,\n\n criteria: null\n };\n return _this;\n }\n\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'getClassName',\n\n /* jshint ignore:end */\n\n value: function getClassName() {\n return this.props.className + (this.state.isLoading ? ' btn-loading' : '');\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'button',\n {\n className: 'btn ' + this.getClassName(),\n disabled: this.state.isLoading,\n onClick: this.showRegisterForm,\n type: 'button'\n },\n gettext(\"Register\"),\n this.state.isLoading ? _react2.default.createElement(_loader2.default, null) : null\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../services/ajax\":364,\"../services/captcha\":366,\"../services/modal\":370,\"../services/snackbar\":375,\"./loader\":57,\"./register.js\":198,\"react\":\"react\"}],198:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.RegisterComplete = exports.RegisterForm = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('./button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('./form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _passwordStrength = require('./password-strength');\n\nvar _passwordStrength2 = _interopRequireDefault(_passwordStrength);\n\nvar _RegisterLegalFootnote = require('./RegisterLegalFootnote');\n\nvar _RegisterLegalFootnote2 = _interopRequireDefault(_RegisterLegalFootnote);\n\nvar _StartSocialAuth = require('./StartSocialAuth');\n\nvar _StartSocialAuth2 = _interopRequireDefault(_StartSocialAuth);\n\nvar _ = require('..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _auth = require('../services/auth');\n\nvar _auth2 = _interopRequireDefault(_auth);\n\nvar _captcha = require('../services/captcha');\n\nvar _captcha2 = _interopRequireDefault(_captcha);\n\nvar _modal = require('../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _bannedPage = require('../utils/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nvar _validators = require('../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar RegisterForm = exports.RegisterForm = function (_Form) {\n _inherits(RegisterForm, _Form);\n\n function RegisterForm(props) {\n _classCallCheck(this, RegisterForm);\n\n var _this = _possibleConstructorReturn(this, (RegisterForm.__proto__ || Object.getPrototypeOf(RegisterForm)).call(this, props));\n\n _this.handlePrivacyPolicyChange = function (event) {\n var value = event.target.value;\n _this.handleToggleAgreement('privacyPolicy', value);\n };\n\n _this.handleTermsOfServiceChange = function (event) {\n var value = event.target.value;\n _this.handleToggleAgreement('termsOfService', value);\n };\n\n _this.handleToggleAgreement = function (agreement, value) {\n _this.setState(function (prevState, props) {\n if (prevState[agreement] === null) {\n var _errors = _extends({}, prevState.errors, _defineProperty({}, agreement, null));\n return _defineProperty({ errors: _errors }, agreement, value);\n }\n\n var validator = _this.state.validators[agreement][0];\n var errors = _extends({}, prevState.errors, _defineProperty({}, agreement, [validator(null)]));\n return _defineProperty({ errors: errors }, agreement, null);\n });\n };\n\n var _this$props$criteria = _this.props.criteria,\n username = _this$props$criteria.username,\n password = _this$props$criteria.password;\n\n\n var passwordMinLength = 0;\n password.forEach(function (item) {\n if (item.name === 'MinimumLengthValidator') {\n passwordMinLength = item.min_length;\n }\n });\n\n var formValidators = {\n username: [validators.usernameContent(), validators.usernameMinLength(username.min_length), validators.usernameMaxLength(username.max_length)],\n email: [validators.email()],\n password: [validators.passwordMinLength(passwordMinLength)],\n captcha: _captcha2.default.validator()\n };\n\n if (!!_2.default.get('TERMS_OF_SERVICE_ID')) {\n formValidators.termsOfService = [validators.requiredTermsOfService()];\n }\n\n if (!!_2.default.get('PRIVACY_POLICY_ID')) {\n formValidators.privacyPolicy = [validators.requiredPrivacyPolicy()];\n }\n\n _this.state = {\n isLoading: false,\n\n username: '',\n email: '',\n password: '',\n captcha: '',\n\n termsOfService: null,\n privacyPolicy: null,\n\n validators: formValidators,\n errors: {}\n };\n return _this;\n }\n\n _createClass(RegisterForm, [{\n key: 'clean',\n value: function clean() {\n if (this.isValid()) {\n return true;\n } else {\n _snackbar2.default.error(gettext(\"Form contains errors.\"));\n this.setState({\n errors: this.validate()\n });\n return false;\n }\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(_2.default.get('USERS_API'), {\n username: this.state.username,\n email: this.state.email,\n password: this.state.password,\n captcha: this.state.captcha,\n terms_of_service: this.state.termsOfService,\n privacy_policy: this.state.privacyPolicy\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(apiResponse) {\n this.props.callback(apiResponse);\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n this.setState({\n 'errors': Object.assign({}, this.state.errors, rejection)\n });\n\n if (rejection.__all__ && rejection.__all__.length > 0) {\n _snackbar2.default.error(rejection.__all__[0]);\n } else {\n _snackbar2.default.error(gettext(\"Form contains errors.\"));\n }\n } else if (rejection.status === 403 && rejection.ban) {\n (0, _bannedPage2.default)(rejection.ban);\n _modal2.default.hide();\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'modal-dialog modal-register', role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'close', 'data-dismiss': 'modal',\n 'aria-label': gettext(\"Close\") },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Register\")\n )\n ),\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement('input', { type: 'type', style: { display: 'none' } }),\n _react2.default.createElement('input', { type: 'password', style: { display: 'none' } }),\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(_StartSocialAuth2.default, {\n buttonClassName: 'col-xs-12 col-sm-6',\n buttonLabel: gettext(\"Join with %(site)s\"),\n formLabel: gettext(\"Or create forum account:\")\n }),\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Username\"), 'for': 'id_username',\n validation: this.state.errors.username },\n _react2.default.createElement('input', { type: 'text', id: 'id_username', className: 'form-control',\n 'aria-describedby': 'id_username_status',\n disabled: this.state.isLoading,\n onChange: this.bindInput('username'),\n value: this.state.username })\n ),\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"E-mail\"), 'for': 'id_email',\n validation: this.state.errors.email },\n _react2.default.createElement('input', { type: 'text', id: 'id_email', className: 'form-control',\n 'aria-describedby': 'id_email_status',\n disabled: this.state.isLoading,\n onChange: this.bindInput('email'),\n value: this.state.email })\n ),\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Password\"), 'for': 'id_password',\n validation: this.state.errors.password,\n extra: _react2.default.createElement(_passwordStrength2.default, {\n password: this.state.password,\n inputs: [this.state.username, this.state.email]\n }) },\n _react2.default.createElement('input', { type: 'password', id: 'id_password', className: 'form-control',\n 'aria-describedby': 'id_password_status',\n disabled: this.state.isLoading,\n onChange: this.bindInput('password'),\n value: this.state.password })\n ),\n _captcha2.default.component({\n form: this\n }),\n _react2.default.createElement(_RegisterLegalFootnote2.default, {\n errors: this.state.errors,\n privacyPolicy: this.state.privacyPolicy,\n termsOfService: this.state.termsOfService,\n onPrivacyPolicyChange: this.handlePrivacyPolicyChange,\n onTermsOfServiceChange: this.handleTermsOfServiceChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n disabled: this.state.isLoading,\n type: 'button'\n },\n gettext(\"Cancel\")\n ),\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary', loading: this.state.isLoading },\n gettext(\"Register account\")\n )\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return RegisterForm;\n}(_form2.default);\n\nvar RegisterComplete = exports.RegisterComplete = function (_React$Component) {\n _inherits(RegisterComplete, _React$Component);\n\n function RegisterComplete() {\n _classCallCheck(this, RegisterComplete);\n\n return _possibleConstructorReturn(this, (RegisterComplete.__proto__ || Object.getPrototypeOf(RegisterComplete)).apply(this, arguments));\n }\n\n _createClass(RegisterComplete, [{\n key: 'getLead',\n value: function getLead() {\n if (this.props.activation === 'user') {\n return gettext(\"%(username)s, your account has been created but you need to activate it before you will be able to sign in.\");\n } else if (this.props.activation === 'admin') {\n return gettext(\"%(username)s, your account has been created but board administrator will have to activate it before you will be able to sign in.\");\n }\n }\n }, {\n key: 'getSubscript',\n value: function getSubscript() {\n if (this.props.activation === 'user') {\n return gettext(\"We have sent an e-mail to %(email)s with link that you have to click to activate your account.\");\n } else if (this.props.activation === 'admin') {\n return gettext(\"We will send an e-mail to %(email)s when this takes place.\");\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'modal-dialog modal-message modal-register',\n role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'close', 'data-dismiss': 'modal',\n 'aria-label': gettext(\"Close\") },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Registration complete\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'info_outline'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n interpolate(this.getLead(), { 'username': this.props.username }, true)\n ),\n _react2.default.createElement(\n 'p',\n null,\n interpolate(this.getSubscript(), { 'email': this.props.email }, true)\n ),\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n gettext(\"Ok\")\n )\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return RegisterComplete;\n}(_react2.default.Component);\n\nvar _class = function (_React$Component2) {\n _inherits(_class, _React$Component2);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this3 = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this3.completeRegistration = function (apiResponse) {\n if (apiResponse.activation === 'active') {\n _modal2.default.hide();\n _auth2.default.signIn(apiResponse);\n } else {\n _this3.setState({\n complete: apiResponse\n });\n }\n };\n\n _this3.state = {\n complete: false\n };\n return _this3;\n }\n\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n if (this.state.complete) {\n return _react2.default.createElement(RegisterComplete, {\n activation: this.state.complete.activation,\n email: this.state.complete.email,\n username: this.state.complete.username\n });\n }\n\n return _react2.default.createElement(RegisterForm, _extends({\n callback: this.completeRegistration\n }, this.props));\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"..\":301,\"../services/ajax\":364,\"../services/auth\":365,\"../services/captcha\":366,\"../services/modal\":370,\"../services/snackbar\":375,\"../utils/banned-page\":378,\"../utils/validators\":392,\"./RegisterLegalFootnote\":1,\"./StartSocialAuth\":2,\"./button\":8,\"./form\":55,\"./form-group\":54,\"./password-strength\":102,\"react\":\"react\"}],199:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LinkSent = exports.RequestLinkForm = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _button = require('./button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _validators = require('../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nvar _bannedPage = require('../utils/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n\n\nvar RequestLinkForm = exports.RequestLinkForm = function (_Form) {\n _inherits(RequestLinkForm, _Form);\n\n function RequestLinkForm(props) {\n _classCallCheck(this, RequestLinkForm);\n\n var _this = _possibleConstructorReturn(this, (RequestLinkForm.__proto__ || Object.getPrototypeOf(RequestLinkForm)).call(this, props));\n\n _this.state = {\n 'isLoading': false,\n\n 'email': '',\n\n 'validators': {\n 'email': [validators.email()]\n }\n };\n return _this;\n }\n\n _createClass(RequestLinkForm, [{\n key: 'clean',\n value: function clean() {\n if (this.isValid()) {\n return true;\n } else {\n _snackbar2.default.error(gettext(\"Enter a valid email address.\"));\n return false;\n }\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(_index2.default.get('SEND_ACTIVATION_API'), {\n 'email': this.state.email\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(apiResponse) {\n this.props.callback(apiResponse);\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (['already_active', 'inactive_admin'].indexOf(rejection.code) > -1) {\n _snackbar2.default.info(rejection.detail);\n } else if (rejection.status === 403 && rejection.ban) {\n (0, _bannedPage2.default)(rejection.ban);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'well well-form well-form-request-activation-link' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'form-group' },\n _react2.default.createElement(\n 'div',\n { className: 'control-input' },\n _react2.default.createElement('input', { type: 'text', className: 'form-control',\n placeholder: gettext(\"Your e-mail address\"),\n disabled: this.state.isLoading,\n onChange: this.bindInput('email'),\n value: this.state.email })\n )\n ),\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary btn-block',\n loading: this.state.isLoading },\n gettext(\"Send link\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return RequestLinkForm;\n}(_form2.default);\n\nvar LinkSent = exports.LinkSent = function (_React$Component) {\n _inherits(LinkSent, _React$Component);\n\n function LinkSent() {\n _classCallCheck(this, LinkSent);\n\n return _possibleConstructorReturn(this, (LinkSent.__proto__ || Object.getPrototypeOf(LinkSent)).apply(this, arguments));\n }\n\n _createClass(LinkSent, [{\n key: 'getMessage',\n value: function getMessage() {\n return interpolate(gettext(\"Activation link was sent to %(email)s\"), {\n email: this.props.user.email\n }, true);\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'well well-form well-form-request-activation-link well-done' },\n _react2.default.createElement(\n 'div',\n { className: 'done-message' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'check'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n null,\n this.getMessage()\n )\n ),\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-primary btn-block',\n type: 'button',\n onClick: this.props.callback\n },\n gettext(\"Request another link\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return LinkSent;\n}(_react2.default.Component);\n\nvar _class = function (_React$Component2) {\n _inherits(_class, _React$Component2);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this3 = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this3.complete = function (apiResponse) {\n _this3.setState({\n complete: apiResponse\n });\n };\n\n _this3.reset = function () {\n _this3.setState({\n complete: false\n });\n };\n\n _this3.state = {\n complete: false\n };\n return _this3;\n }\n\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n if (this.state.complete) {\n return _react2.default.createElement(LinkSent, { user: this.state.complete, callback: this.reset });\n } else {\n return _react2.default.createElement(RequestLinkForm, { callback: this.complete });\n };\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../index\":301,\"../services/ajax\":364,\"../services/snackbar\":375,\"../utils/banned-page\":378,\"../utils/validators\":392,\"./button\":8,\"./form\":55,\"react\":\"react\"}],200:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AccountInactivePage = exports.LinkSent = exports.RequestResetForm = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _button = require('./button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _validators = require('../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nvar _bannedPage = require('../utils/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar RequestResetForm = exports.RequestResetForm = function (_Form) {\n _inherits(RequestResetForm, _Form);\n\n function RequestResetForm(props) {\n _classCallCheck(this, RequestResetForm);\n\n var _this = _possibleConstructorReturn(this, (RequestResetForm.__proto__ || Object.getPrototypeOf(RequestResetForm)).call(this, props));\n\n _this.state = {\n 'isLoading': false,\n\n 'email': '',\n\n 'validators': {\n 'email': [validators.email()]\n }\n };\n return _this;\n }\n\n _createClass(RequestResetForm, [{\n key: 'clean',\n value: function clean() {\n if (this.isValid()) {\n return true;\n } else {\n _snackbar2.default.error(gettext(\"Enter a valid email address.\"));\n return false;\n }\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(_index2.default.get('SEND_PASSWORD_RESET_API'), {\n 'email': this.state.email\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(apiResponse) {\n this.props.callback(apiResponse);\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (['inactive_user', 'inactive_admin'].indexOf(rejection.code) > -1) {\n this.props.showInactivePage(rejection);\n } else if (rejection.status === 403 && rejection.ban) {\n (0, _bannedPage2.default)(rejection.ban);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'well well-form well-form-request-password-reset' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'form-group' },\n _react2.default.createElement(\n 'div',\n { className: 'control-input' },\n _react2.default.createElement('input', { type: 'text', className: 'form-control',\n placeholder: gettext(\"Your e-mail address\"),\n disabled: this.state.isLoading,\n onChange: this.bindInput('email'),\n value: this.state.email })\n )\n ),\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary btn-block',\n loading: this.state.isLoading },\n gettext(\"Send link\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return RequestResetForm;\n}(_form2.default);\n\nvar LinkSent = exports.LinkSent = function (_React$Component) {\n _inherits(LinkSent, _React$Component);\n\n function LinkSent() {\n _classCallCheck(this, LinkSent);\n\n return _possibleConstructorReturn(this, (LinkSent.__proto__ || Object.getPrototypeOf(LinkSent)).apply(this, arguments));\n }\n\n _createClass(LinkSent, [{\n key: 'getMessage',\n value: function getMessage() {\n return interpolate(gettext(\"Reset password link was sent to %(email)s\"), {\n email: this.props.user.email\n }, true);\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'well well-form well-form-request-password-reset well-done' },\n _react2.default.createElement(\n 'div',\n { className: 'done-message' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'check'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n null,\n this.getMessage()\n )\n ),\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-primary btn-block',\n onClick: this.props.callback },\n gettext(\"Request another link\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return LinkSent;\n}(_react2.default.Component);\n\nvar AccountInactivePage = exports.AccountInactivePage = function (_React$Component2) {\n _inherits(AccountInactivePage, _React$Component2);\n\n function AccountInactivePage() {\n _classCallCheck(this, AccountInactivePage);\n\n return _possibleConstructorReturn(this, (AccountInactivePage.__proto__ || Object.getPrototypeOf(AccountInactivePage)).apply(this, arguments));\n }\n\n _createClass(AccountInactivePage, [{\n key: 'getActivateButton',\n value: function getActivateButton() {\n if (this.props.activation === 'inactive_user') {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'p',\n null,\n _react2.default.createElement(\n 'a',\n { href: _index2.default.get('REQUEST_ACTIVATION_URL') },\n gettext(\"Activate your account.\")\n )\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'page page-message page-message-info page-forgotten-password-inactive' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'message-panel' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'info_outline'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"Your account is inactive.\")\n ),\n _react2.default.createElement(\n 'p',\n null,\n this.props.message\n ),\n this.getActivateButton()\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return AccountInactivePage;\n}(_react2.default.Component);\n\nvar _class = function (_React$Component3) {\n _inherits(_class, _React$Component3);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this4 = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this4.complete = function (apiResponse) {\n _this4.setState({\n complete: apiResponse\n });\n };\n\n _this4.reset = function () {\n _this4.setState({\n complete: false\n });\n };\n\n _this4.state = {\n complete: false\n };\n return _this4;\n }\n\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'showInactivePage',\n value: function showInactivePage(apiResponse) {\n _reactDom2.default.render(_react2.default.createElement(AccountInactivePage, {\n activation: apiResponse.code,\n message: apiResponse.detail\n }), document.getElementById('page-mount'));\n }\n /* jshint ignore:end */\n\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n if (this.state.complete) {\n return _react2.default.createElement(LinkSent, {\n callback: this.reset,\n user: this.state.complete\n });\n }\n\n return _react2.default.createElement(RequestResetForm, {\n callback: this.complete,\n showInactivePage: this.showInactivePage\n });\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../index\":301,\"../services/ajax\":364,\"../services/snackbar\":375,\"../utils/banned-page\":378,\"../utils/validators\":392,\"./button\":8,\"./form\":55,\"react\":\"react\",\"react-dom\":\"react-dom\"}],201:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PasswordChangedPage = exports.ResetPasswordForm = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _button = require('./button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _signIn = require('./sign-in.js');\n\nvar _signIn2 = _interopRequireDefault(_signIn);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _auth = require('../services/auth');\n\nvar _auth2 = _interopRequireDefault(_auth);\n\nvar _modal = require('../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _bannedPage = require('../utils/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar ResetPasswordForm = exports.ResetPasswordForm = function (_Form) {\n _inherits(ResetPasswordForm, _Form);\n\n function ResetPasswordForm(props) {\n _classCallCheck(this, ResetPasswordForm);\n\n var _this = _possibleConstructorReturn(this, (ResetPasswordForm.__proto__ || Object.getPrototypeOf(ResetPasswordForm)).call(this, props));\n\n _this.state = {\n 'isLoading': false,\n\n 'password': ''\n };\n return _this;\n }\n\n _createClass(ResetPasswordForm, [{\n key: 'clean',\n value: function clean() {\n if (this.state.password.trim().length) {\n return true;\n } else {\n _snackbar2.default.error(gettext(\"Enter new password.\"));\n return false;\n }\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(_index2.default.get('CHANGE_PASSWORD_API'), {\n 'password': this.state.password\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(apiResponse) {\n this.props.callback(apiResponse);\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 403 && rejection.ban) {\n (0, _bannedPage2.default)(rejection.ban);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'well well-form well-form-reset-password' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'form-group' },\n _react2.default.createElement(\n 'div',\n { className: 'control-input' },\n _react2.default.createElement('input', { type: 'password', className: 'form-control',\n placeholder: gettext(\"Enter new password\"),\n disabled: this.state.isLoading,\n onChange: this.bindInput('password'),\n value: this.state.password })\n )\n ),\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary btn-block',\n loading: this.state.isLoading },\n gettext(\"Change password\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return ResetPasswordForm;\n}(_form2.default);\n\nvar PasswordChangedPage = exports.PasswordChangedPage = function (_React$Component) {\n _inherits(PasswordChangedPage, _React$Component);\n\n function PasswordChangedPage() {\n _classCallCheck(this, PasswordChangedPage);\n\n return _possibleConstructorReturn(this, (PasswordChangedPage.__proto__ || Object.getPrototypeOf(PasswordChangedPage)).apply(this, arguments));\n }\n\n _createClass(PasswordChangedPage, [{\n key: 'getMessage',\n value: function getMessage() {\n return interpolate(gettext(\"%(username)s, your password has been changed successfully.\"), {\n username: this.props.user.username\n }, true);\n }\n }, {\n key: 'showSignIn',\n value: function showSignIn() {\n _modal2.default.show(_signIn2.default);\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'page page-message page-message-success page-forgotten-password-changed' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'message-panel' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'check'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n this.getMessage()\n ),\n _react2.default.createElement(\n 'p',\n null,\n gettext(\"You will have to sign in using new password before continuing.\")\n ),\n _react2.default.createElement(\n 'p',\n null,\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-primary', onClick: this.showSignIn },\n gettext(\"Sign in\")\n )\n )\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return PasswordChangedPage;\n}(_react2.default.Component);\n\nvar _class = function (_React$Component2) {\n _inherits(_class, _React$Component2);\n\n function _class() {\n var _ref;\n\n var _temp, _this3, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this3 = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this3), _this3.complete = function (apiResponse) {\n _auth2.default.softSignOut();\n\n // nuke \"redirect_to\" field so we don't end\n // coming back to error page after sign in\n $('#hidden-login-form input[name=\"redirect_to\"]').remove();\n\n _reactDom2.default.render(_react2.default.createElement(PasswordChangedPage, { user: apiResponse }), document.getElementById('page-mount'));\n }, _temp), _possibleConstructorReturn(_this3, _ret);\n }\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(ResetPasswordForm, { callback: this.complete });\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../index\":301,\"../services/ajax\":364,\"../services/auth\":365,\"../services/modal\":370,\"../services/snackbar\":375,\"../utils/banned-page\":378,\"./button\":8,\"./form\":55,\"./sign-in.js\":210,\"react\":\"react\",\"react-dom\":\"react-dom\"}],202:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _form = require('../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _posts = require('../../reducers/posts');\n\nvar _search = require('../../reducers/search');\n\nvar _users = require('../../reducers/users');\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.onQueryChange = function (event) {\n _this.changeValue('query', event.target.value);\n };\n\n _this.state = {\n isLoading: false,\n\n query: props.search.query\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.state.query.length) {\n this.handleSubmit();\n }\n }\n }, {\n key: 'clean',\n value: function clean() {\n if (!this.state.query.trim().length) {\n _snackbar2.default.error(gettext(\"You have to enter search query.\"));\n return false;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n _store2.default.dispatch((0, _search.update)({\n isLoading: true\n }));\n\n return _ajax2.default.get(_2.default.get('SEARCH_API'), {\n q: this.state.query.trim()\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(providers) {\n _store2.default.dispatch((0, _search.update)({\n query: this.state.query.trim(),\n isLoading: false,\n providers: providers\n }));\n\n providers.forEach(function (provider) {\n if (provider.id === 'users') {\n _store2.default.dispatch((0, _users.hydrate)(provider.results.results));\n } else if (provider.id === 'threads') {\n _store2.default.dispatch((0, _posts.load)(provider.results));\n }\n });\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n _snackbar2.default.apiError(rejection);\n\n _store2.default.dispatch((0, _search.update)({\n isLoading: false\n }));\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'div',\n { className: 'page-header-bg' },\n _react2.default.createElement(\n 'div',\n { className: 'page-header page-search-form' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-md-3' },\n _react2.default.createElement(\n 'h1',\n null,\n gettext(\"Search\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-md-9' },\n _react2.default.createElement(\n 'div',\n { className: 'row xs-margin-top sm-margin-top' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-8 col-md-9' },\n _react2.default.createElement(\n 'div',\n { className: 'form-group' },\n _react2.default.createElement('input', {\n className: 'form-control',\n disabled: this.props.search.isLoading || this.state.isLoading,\n onChange: this.onQueryChange,\n type: 'text',\n value: this.state.query\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-4 col-md-3' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-primary btn-block btn-outline',\n disabled: this.props.search.isLoading || this.state.isLoading\n },\n gettext(\"Search\")\n )\n )\n )\n )\n )\n )\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../..\":301,\"../../reducers/posts\":353,\"../../reducers/search\":356,\"../../reducers/users\":363,\"../../services/ajax\":364,\"../../services/snackbar\":375,\"../../services/store\":376,\"../form\":55,\"react\":\"react\"}],203:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.select = select;\n\nexports.default = function (providers) {\n return providers.map(function (provider) {\n return {\n path: provider.url,\n component: (0, _reactRedux.connect)(select)(components[provider.id]),\n provider: provider\n };\n });\n};\n\nvar _reactRedux = require('react-redux');\n\nvar _threads = require('./threads');\n\nvar _threads2 = _interopRequireDefault(_threads);\n\nvar _users = require('./users');\n\nvar _users2 = _interopRequireDefault(_users);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n threads: _threads2.default,\n users: _users2.default\n};\n\nfunction select(store) {\n return {\n 'posts': store.posts,\n 'search': store.search,\n 'tick': store.tick.tick,\n 'user': store.auth.user,\n 'users': store.users\n };\n}\n\n},{\"./threads\":206,\"./users\":208,\"react-redux\":\"react-redux\"}],204:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n { className: 'page page-search' },\n _react2.default.createElement(_form2.default, {\n provider: props.provider,\n search: props.search\n }),\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-3' },\n _react2.default.createElement(_sidenav2.default, { providers: props.search.providers })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-md-9' },\n props.children,\n _react2.default.createElement(SearchTime, {\n provider: props.provider,\n search: props.search\n })\n )\n )\n )\n );\n};\n\nexports.SearchTime = SearchTime;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _sidenav = require('./sidenav');\n\nvar _sidenav2 = _interopRequireDefault(_sidenav);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:start\nfunction SearchTime(props) {\n var time = null;\n props.search.providers.forEach(function (p) {\n if (p.id === props.provider.id) {\n time = p.time;\n }\n });\n\n if (time === null) return null;\n\n var copy = gettext(\"Search took %(time)s s to complete\");\n\n return _react2.default.createElement(\n 'footer',\n { className: 'search-footer' },\n _react2.default.createElement(\n 'p',\n null,\n interpolate(copy, { time: time }, true)\n )\n );\n}\n\n},{\"./form\":202,\"./sidenav\":205,\"react\":\"react\"}],205:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n { className: 'list-group nav-side' },\n props.providers.map(function (provider) {\n return _react2.default.createElement(\n _reactRouter.Link,\n {\n activeClassName: 'active',\n className: 'list-group-item',\n key: provider.id,\n to: provider.url\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n provider.icon\n ),\n provider.name,\n _react2.default.createElement(Badge, { results: provider.results })\n );\n })\n );\n};\n\nexports.Badge = Badge;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRouter = require('react-router');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction Badge(props) {\n if (!props.results) return null;\n\n var count = props.results.count;\n if (count > 1000000) {\n count = Math.ceil(count / 1000000) + 'KK';\n } else if (count > 1000) {\n count = Math.ceil(count / 1000) + 'K';\n }\n\n return _react2.default.createElement(\n 'span',\n { className: 'badge' },\n count\n );\n} // jshint ignore:start\n\n},{\"react\":\"react\",\"react-router\":\"react-router\"}],206:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // jshint ignore:start\n\n\nexports.default = function (props) {\n return _react2.default.createElement(\n _page2.default,\n {\n provider: props.route.provider,\n search: props.search\n },\n _react2.default.createElement(\n Blankslate,\n {\n query: props.search.query,\n posts: props.posts\n },\n _react2.default.createElement(_results2.default, _extends({\n provider: props.route.provider,\n query: props.search.query\n }, props.posts))\n )\n );\n};\n\nexports.Blankslate = Blankslate;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _page = require('../page');\n\nvar _page2 = _interopRequireDefault(_page);\n\nvar _results = require('./results');\n\nvar _results2 = _interopRequireDefault(_results);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction Blankslate(props) {\n if (props.posts && props.posts.count) return props.children;\n\n if (props.query.length) {\n return _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"No threads matching search query have been found.\")\n );\n }\n\n return _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"Enter at least two characters to search threads.\")\n );\n}\n\n},{\"../page\":204,\"./results\":207,\"react\":\"react\"}],207:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LoadMore = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(_postFeed2.default, {\n isReady: true,\n posts: props.results\n }),\n _react2.default.createElement(LoadMore, props)\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _postFeed = require('../../post-feed');\n\nvar _postFeed2 = _interopRequireDefault(_postFeed);\n\nvar _button = require('../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _misagoMarkup = require('../../misago-markup');\n\nvar _misagoMarkup2 = _interopRequireDefault(_misagoMarkup);\n\nvar _posts = require('../../../reducers/posts');\n\nvar _search = require('../../../reducers/search');\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar LoadMore = exports.LoadMore = function (_React$Component) {\n _inherits(LoadMore, _React$Component);\n\n function LoadMore() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, LoadMore);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = LoadMore.__proto__ || Object.getPrototypeOf(LoadMore)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n _store2.default.dispatch((0, _posts.update)({\n isBusy: true\n }));\n\n _ajax2.default.get(_this.props.provider.api, {\n q: _this.props.query,\n page: _this.props.next\n }).then(function (providers) {\n providers.forEach(function (provider) {\n if (provider.id !== 'threads') return;\n _store2.default.dispatch((0, _posts.append)(provider.results));\n _store2.default.dispatch((0, _search.updateProvider)(provider));\n });\n\n _store2.default.dispatch((0, _posts.update)({\n isBusy: false\n }));\n }, function (rejection) {\n _snackbar2.default.apiError(rejection);\n\n _store2.default.dispatch((0, _posts.update)({\n isBusy: false\n }));\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(LoadMore, [{\n key: 'render',\n value: function render() {\n if (!this.props.more) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'pager-more' },\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn btn-default btn-outline',\n loading: this.props.isBusy,\n onClick: this.onClick\n },\n gettext(\"Show more\")\n )\n );\n }\n }]);\n\n return LoadMore;\n}(_react2.default.Component);\n\n},{\"../../../reducers/posts\":353,\"../../../reducers/search\":356,\"../../../services/ajax\":364,\"../../../services/snackbar\":375,\"../../../services/store\":376,\"../../button\":8,\"../../misago-markup\":59,\"../../post-feed\":121,\"react\":\"react\"}],208:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n _page2.default,\n {\n provider: props.route.provider,\n search: props.search\n },\n _react2.default.createElement(\n Blankslate,\n {\n query: props.search.query,\n users: props.users\n },\n _react2.default.createElement(_usersList2.default, {\n cols: 3,\n isReady: true,\n users: props.users\n })\n )\n );\n};\n\nexports.Blankslate = Blankslate;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _page = require('../page');\n\nvar _page2 = _interopRequireDefault(_page);\n\nvar _usersList = require('../../users-list');\n\nvar _usersList2 = _interopRequireDefault(_usersList);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:start\nfunction Blankslate(props) {\n if (props.users.length) return props.children;\n\n if (props.query.length) {\n return _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"No users matching search query have been found.\")\n );\n }\n\n return _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"Enter at least two characters to search users.\")\n );\n}\n\n},{\"../../users-list\":283,\"../page\":204,\"react\":\"react\"}],209:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.Icon = Icon;\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.change = function (value) {\n return function () {\n _this.props.onChange({\n target: {\n value: value\n }\n });\n };\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: \"getChoice\",\n value: function getChoice() {\n var _this2 = this;\n\n var choice = null;\n this.props.choices.map(function (item) {\n if (item.value === _this2.props.value) {\n choice = item;\n }\n });\n return choice;\n }\n }, {\n key: \"getIcon\",\n value: function getIcon() {\n return this.getChoice().icon;\n }\n }, {\n key: \"getLabel\",\n value: function getLabel() {\n return this.getChoice().label;\n }\n\n /* jshint ignore:start */\n\n }, {\n key: \"render\",\n\n /* jshint ignore:end */\n\n value: function render() {\n var _this3 = this;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n \"div\",\n { className: \"btn-group btn-select-group\" },\n _react2.default.createElement(\n \"button\",\n { type: \"button\",\n className: \"btn btn-select dropdown-toggle\",\n id: this.props.id || null,\n \"data-toggle\": \"dropdown\",\n \"aria-haspopup\": \"true\",\n \"aria-expanded\": \"false\",\n \"aria-describedby\": this.props['aria-describedby'] || null,\n disabled: this.props.disabled || false },\n _react2.default.createElement(Icon, { icon: this.getIcon() }),\n this.getLabel()\n ),\n _react2.default.createElement(\n \"ul\",\n { className: \"dropdown-menu\" },\n this.props.choices.map(function (item, i) {\n return _react2.default.createElement(\n \"li\",\n { key: i },\n _react2.default.createElement(\n \"button\",\n { type: \"button\", className: \"btn-link\",\n onClick: _this3.change(item.value) },\n _react2.default.createElement(Icon, { icon: item.icon }),\n item.label\n )\n );\n })\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\n/* jshint ignore:start */\n\n\nexports.default = _class;\nfunction Icon(_ref2) {\n var icon = _ref2.icon;\n\n if (!icon) return null;\n\n return _react2.default.createElement(\n \"span\",\n { className: \"material-icon\" },\n icon\n );\n}\n/* jshint ignore:end */\n\n},{\"react\":\"react\"}],210:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _button = require('./button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _StartSocialAuth = require('./StartSocialAuth');\n\nvar _StartSocialAuth2 = _interopRequireDefault(_StartSocialAuth);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _bannedPage = require('../utils/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.state = {\n 'isLoading': false,\n 'showActivation': false,\n\n 'username': '',\n 'password': '',\n\n 'validators': {\n 'username': [],\n 'password': []\n }\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'clean',\n value: function clean() {\n if (!this.isValid()) {\n _snackbar2.default.error(gettext(\"Fill out both fields.\"));\n return false;\n } else {\n return true;\n }\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(_index2.default.get('AUTH_API'), {\n 'username': this.state.username,\n 'password': this.state.password\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess() {\n var form = $('#hidden-login-form');\n\n form.append('');\n form.append('');\n\n // fill out form with user credentials and submit it, this will tell\n // Misago to redirect user back to right page, and will trigger browser's\n // key ring feature\n form.find('input[type=\"hidden\"]').val(_ajax2.default.getCsrfToken());\n form.find('input[name=\"redirect_to\"]').val(window.location.pathname);\n form.find('input[name=\"username\"]').val(this.state.username);\n form.find('input[name=\"password\"]').val(this.state.password);\n form.submit();\n\n // keep form loading\n this.setState({\n 'isLoading': true\n });\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n if (rejection.code === 'inactive_admin') {\n _snackbar2.default.info(rejection.detail);\n } else if (rejection.code === 'inactive_user') {\n _snackbar2.default.info(rejection.detail);\n this.setState({\n 'showActivation': true\n });\n } else if (rejection.code === 'banned') {\n (0, _bannedPage2.default)(rejection.detail);\n _modal2.default.hide();\n } else {\n _snackbar2.default.error(rejection.detail);\n }\n } else if (rejection.status === 403 && rejection.ban) {\n (0, _bannedPage2.default)(rejection.ban);\n _modal2.default.hide();\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'getActivationButton',\n value: function getActivationButton() {\n if (!this.state.showActivation) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'a',\n {\n className: 'btn btn-success btn-block',\n href: _index2.default.get('REQUEST_ACTIVATION_URL')\n },\n gettext(\"Activate account\")\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n {\n className: 'modal-dialog modal-sm modal-sign-in',\n role: 'document'\n },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-label': gettext(\"Close\"),\n className: 'close',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Sign in\")\n )\n ),\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(_StartSocialAuth2.default, {\n buttonLabel: gettext(\"Sign in with %(site)s\"),\n formLabel: gettext(\"Or use your forum account:\"),\n labelClassName: 'text-center'\n }),\n _react2.default.createElement(\n 'div',\n { className: 'form-group' },\n _react2.default.createElement(\n 'div',\n { className: 'control-input' },\n _react2.default.createElement('input', {\n className: 'form-control input-lg',\n disabled: this.state.isLoading,\n id: 'id_username',\n onChange: this.bindInput('username'),\n placeholder: gettext(\"Username or e-mail\"),\n type: 'text',\n value: this.state.username\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'form-group' },\n _react2.default.createElement(\n 'div',\n { className: 'control-input' },\n _react2.default.createElement('input', {\n className: 'form-control input-lg',\n disabled: this.state.isLoading,\n id: 'id_password',\n onChange: this.bindInput('password'),\n placeholder: gettext(\"Password\"),\n type: 'password',\n value: this.state.password\n })\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n this.getActivationButton(),\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-primary btn-block',\n loading: this.state.isLoading\n },\n gettext(\"Sign in\")\n ),\n _react2.default.createElement(\n 'a',\n {\n className: 'btn btn-default btn-block',\n href: _index2.default.get('FORGOTTEN_PASSWORD_URL')\n },\n gettext(\"Forgot password?\")\n )\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../index\":301,\"../services/ajax\":364,\"../services/modal\":370,\"../services/snackbar\":375,\"../utils/banned-page\":378,\"./StartSocialAuth\":2,\"./button\":8,\"./form\":55,\"react\":\"react\"}],211:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Snackbar = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.select = select;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/* jshint ignore:start */\nvar TYPES_CLASSES = {\n 'info': 'alert-info',\n 'success': 'alert-success',\n 'warning': 'alert-warning',\n 'error': 'alert-danger'\n};\n/* jshint ignore:end */\n\nvar Snackbar = exports.Snackbar = function (_React$Component) {\n _inherits(Snackbar, _React$Component);\n\n function Snackbar() {\n _classCallCheck(this, Snackbar);\n\n return _possibleConstructorReturn(this, (Snackbar.__proto__ || Object.getPrototypeOf(Snackbar)).apply(this, arguments));\n }\n\n _createClass(Snackbar, [{\n key: 'getSnackbarClass',\n value: function getSnackbarClass() {\n var snackbarClass = 'alerts-snackbar';\n if (this.props.isVisible) {\n snackbarClass += ' in';\n } else {\n snackbarClass += ' out';\n }\n return snackbarClass;\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: this.getSnackbarClass() },\n _react2.default.createElement(\n 'p',\n { className: 'alert ' + TYPES_CLASSES[this.props.type] },\n this.props.message\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return Snackbar;\n}(_react2.default.Component);\n\nfunction select(state) {\n return state.snackbar;\n}\n\n},{\"react\":\"react\"}],212:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _header = require('./header');\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Complete = function Complete(_ref) {\n var activation = _ref.activation,\n backend_name = _ref.backend_name,\n username = _ref.username;\n\n var icon = '';\n var message = '';\n if (activation === 'user') {\n message = gettext(\"%(username)s, your account has been created but you need to activate it before you will be able to sign in.\");\n } else if (activation === 'admin') {\n message = gettext(\"%(username)s, your account has been created but board administrator will have to activate it before you will be able to sign in.\");\n } else {\n message = gettext(\"%(username)s, your account has been created and you have been signed in to it.\");\n }\n\n if (activation === 'active') {\n icon = 'check';\n } else {\n icon = 'info_outline';\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'page page-social-auth page-social-sauth-register' },\n _react2.default.createElement(_header2.default, { backendName: backend_name }),\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-6 col-md-offset-3' },\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-form' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n gettext(\"Registration completed!\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-body panel-message-body' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n icon\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n interpolate(message, { username: username }, true)\n ),\n _react2.default.createElement(\n 'p',\n { className: 'help-block' },\n _react2.default.createElement(\n 'a',\n {\n className: 'btn btn-default',\n href: _2.default.get('MISAGO_PATH')\n },\n gettext(\"Return to forum index\")\n )\n )\n )\n )\n )\n )\n )\n )\n );\n}; /* jshint ignore:start */\nexports.default = Complete;\n\n},{\"../..\":301,\"./header\":213,\"react\":\"react\"}],213:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Header = function Header(_ref) {\n var backendName = _ref.backendName;\n\n var pageTitleTpl = gettext(\"Sign in with %(backend)s\");\n var pageTitle = interpolate(pageTitleTpl, { backend: backendName }, true);\n\n return _react2.default.createElement(\n \"div\",\n { className: \"page-header-bg\" },\n _react2.default.createElement(\n \"div\",\n { className: \"page-header\" },\n _react2.default.createElement(\n \"div\",\n { className: \"container\" },\n _react2.default.createElement(\n \"h1\",\n null,\n pageTitle\n )\n )\n )\n );\n}; /* jshint ignore:start */\nexports.default = Header;\n\n},{\"react\":\"react\"}],214:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _register = require('./register');\n\nvar _register2 = _interopRequireDefault(_register);\n\nvar _complete = require('./complete');\n\nvar _complete2 = _interopRequireDefault(_complete);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar SocialAuth = function (_React$Component) {\n _inherits(SocialAuth, _React$Component);\n\n function SocialAuth(props) {\n _classCallCheck(this, SocialAuth);\n\n var _this = _possibleConstructorReturn(this, (SocialAuth.__proto__ || Object.getPrototypeOf(SocialAuth)).call(this, props));\n\n _this.handleRegistrationComplete = function (_ref) {\n var activation = _ref.activation,\n email = _ref.email,\n step = _ref.step,\n username = _ref.username;\n\n _this.setState({ activation: activation, email: email, step: step, username: username });\n };\n\n _this.state = {\n step: props.step,\n\n activation: props.activation || '',\n email: props.email || '',\n username: props.username || ''\n };\n return _this;\n }\n\n _createClass(SocialAuth, [{\n key: 'render',\n value: function render() {\n var _props = this.props,\n backend_name = _props.backend_name,\n url = _props.url;\n var _state = this.state,\n activation = _state.activation,\n email = _state.email,\n step = _state.step,\n username = _state.username;\n\n\n if (step === 'register') {\n return _react2.default.createElement(_register2.default, {\n backend_name: backend_name,\n email: email,\n url: url,\n username: username,\n onRegistrationComplete: this.handleRegistrationComplete\n });\n }\n\n return _react2.default.createElement(_complete2.default, {\n activation: activation,\n backend_name: backend_name,\n email: email,\n url: url,\n username: username\n });\n }\n }]);\n\n return SocialAuth;\n}(_react2.default.Component);\n\nexports.default = SocialAuth;\n\n},{\"./complete\":212,\"./register\":215,\"react\":\"react\"}],215:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _RegisterLegalFootnote = require('../RegisterLegalFootnote');\n\nvar _RegisterLegalFootnote2 = _interopRequireDefault(_RegisterLegalFootnote);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _validators = require('../../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nvar _header = require('./header');\n\nvar _header2 = _interopRequireDefault(_header);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar Register = function (_Form) {\n _inherits(Register, _Form);\n\n function Register(props) {\n _classCallCheck(this, Register);\n\n var _this = _possibleConstructorReturn(this, (Register.__proto__ || Object.getPrototypeOf(Register)).call(this, props));\n\n _this.handlePrivacyPolicyChange = function (event) {\n var value = event.target.value;\n _this.handleToggleAgreement('privacyPolicy', value);\n };\n\n _this.handleTermsOfServiceChange = function (event) {\n var value = event.target.value;\n _this.handleToggleAgreement('termsOfService', value);\n };\n\n _this.handleToggleAgreement = function (agreement, value) {\n _this.setState(function (prevState, props) {\n if (prevState[agreement] === null) {\n var _errors = _extends({}, prevState.errors, _defineProperty({}, agreement, null));\n return _defineProperty({ errors: _errors }, agreement, value);\n }\n\n var validator = _this.state.validators[agreement][0];\n var errors = _extends({}, prevState.errors, _defineProperty({}, agreement, [validator(null)]));\n return _defineProperty({ errors: errors }, agreement, null);\n });\n };\n\n var formValidators = {\n email: [validators.email()],\n username: [validators.usernameContent()]\n };\n\n if (!!_2.default.get('TERMS_OF_SERVICE_ID')) {\n formValidators.termsOfService = [validators.requiredTermsOfService()];\n }\n\n if (!!_2.default.get('PRIVACY_POLICY_ID')) {\n formValidators.privacyPolicy = [validators.requiredPrivacyPolicy()];\n }\n\n _this.state = {\n email: props.email || '',\n emailProtected: !!props.email,\n username: props.username || '',\n\n termsOfService: null,\n privacyPolicy: null,\n\n validators: formValidators,\n errors: {},\n\n isLoading: false\n };\n return _this;\n }\n\n _createClass(Register, [{\n key: 'clean',\n value: function clean() {\n var errors = this.validate();\n var lengths = [this.state.email.trim().length, this.state.username.trim().length];\n\n if (lengths.indexOf(0) !== -1) {\n _snackbar2.default.error(gettext(\"Fill out all fields.\"));\n return false;\n }\n\n var validators = this.state.validators;\n\n\n var checkTermsOfService = !!_2.default.get('TERMS_OF_SERVICE_ID');\n if (checkTermsOfService && this.state.termsOfService === null) {\n _snackbar2.default.error(validators.termsOfService[0](null));\n return false;\n }\n\n var checkPrivacyPolicy = !!_2.default.get('PRIVACY_POLICY_ID');\n if (checkPrivacyPolicy && this.state.privacyPolicy === null) {\n _snackbar2.default.error(validators.privacyPolicy[0](null));\n _snackbar2.default.error(gettext(\"You need to accept the privacy policy.\"));\n return false;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.url, {\n email: this.state.email,\n username: this.state.username,\n terms_of_service: this.state.termsOfService,\n privacy_policy: this.state.privacyPolicy\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(response) {\n onRegistrationComplete(response);\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 200) {\n // We've entered \"errored\" state because response is HTML instead of exptected JSON\n var _onRegistrationComplete = this.props.onRegistrationComplete;\n var username = this.state.username;\n\n _onRegistrationComplete({ activation: 'active', step: 'done', username: username });\n } else if (rejection.status === 400) {\n var stateUpdate = { errors: rejection };\n if (rejection.email) {\n stateUpdate.emailProtected = false;\n }\n this.setState(stateUpdate);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var backend_name = this.props.backend_name;\n var _state = this.state,\n email = _state.email,\n emailProtected = _state.emailProtected,\n username = _state.username,\n isLoading = _state.isLoading;\n\n\n var emailHelpText = null;\n if (emailProtected) {\n var emailHelpTextTpl = gettext(\"Your e-mail address has been verified by %(backend)s.\");\n emailHelpText = interpolate(emailHelpTextTpl, { backend: backend_name }, true);\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'page page-social-auth page-social-sauth-register' },\n _react2.default.createElement(_header2.default, { backendName: backend_name }),\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-md-6 col-md-offset-3' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'panel panel-default panel-form' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-heading' },\n _react2.default.createElement(\n 'h3',\n { className: 'panel-title' },\n gettext(\"Complete your details\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n _formGroup2.default,\n {\n 'for': 'id_username',\n label: gettext(\"Username\"),\n validation: this.state.errors.username\n },\n _react2.default.createElement('input', {\n type: 'text',\n id: 'id_username',\n className: 'form-control',\n disabled: isLoading,\n onChange: this.bindInput('username'),\n value: username\n })\n ),\n _react2.default.createElement(\n _formGroup2.default,\n {\n 'for': 'id_email',\n label: gettext(\"E-mail address\"),\n helpText: emailHelpText,\n validation: emailProtected ? null : this.state.errors.email\n },\n _react2.default.createElement('input', {\n type: 'email',\n id: 'id_email',\n className: 'form-control',\n disabled: isLoading || emailProtected,\n onChange: this.bindInput('email'),\n value: email\n })\n ),\n _react2.default.createElement(_RegisterLegalFootnote2.default, {\n errors: this.state.errors,\n privacyPolicy: this.state.privacyPolicy,\n termsOfService: this.state.termsOfService,\n onPrivacyPolicyChange: this.handlePrivacyPolicyChange,\n onTermsOfServiceChange: this.handleTermsOfServiceChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'panel-footer' },\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary', loading: this.state.isLoading },\n gettext(\"Sign in\")\n )\n )\n )\n )\n )\n )\n )\n );\n }\n }]);\n\n return Register;\n}(_form2.default);\n\nexports.default = Register;\n\n},{\"../..\":301,\"../../services/ajax\":364,\"../../services/snackbar\":375,\"../../utils/validators\":392,\"../RegisterLegalFootnote\":1,\"../button\":8,\"../form\":55,\"../form-group\":54,\"./header\":213,\"react\":\"react\"}],216:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n \"div\",\n { className: \"page-breadcrumbs\" },\n _react2.default.createElement(\n \"div\",\n { className: \"container\" },\n _react2.default.createElement(\n \"ol\",\n { className: \"breadcrumb hidden-xs\" },\n props.path.map(function (item) {\n return _react2.default.createElement(Breadcrumb, {\n key: item.id,\n node: item\n });\n })\n ),\n _react2.default.createElement(GoBack, props)\n )\n );\n};\n\nexports.Breadcrumb = Breadcrumb;\nexports.GoBack = GoBack;\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nfunction Breadcrumb(props) {\n return _react2.default.createElement(\n \"li\",\n null,\n _react2.default.createElement(\n \"a\",\n { href: props.node.url.index },\n props.node.name\n )\n );\n}\n\nfunction GoBack(props) {\n var lastItem = props.path[props.path.length - 1];\n\n return _react2.default.createElement(\n \"a\",\n { href: lastItem.url.index, className: \"go-back-sm visible-xs-block\" },\n _react2.default.createElement(\n \"span\",\n { className: \"material-icon\" },\n \"chevron_left\"\n ),\n lastItem.name\n );\n}\n/* jshint ignore:end */\n\n},{\"react\":\"react\"}],217:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.Moderation = Moderation;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _breadcrumbs = require('./breadcrumbs');\n\nvar _breadcrumbs2 = _interopRequireDefault(_breadcrumbs);\n\nvar _thread = require('../moderation/thread');\n\nvar _stats = require('./stats');\n\nvar _stats2 = _interopRequireDefault(_stats);\n\nvar _form = require('../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _validators = require('../../posting/utils/validators');\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _thread2 = require('../../../reducers/thread');\n\nvar thread = _interopRequireWildcard(_thread2);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.onChange = function (event) {\n _this.changeValue('title', event.target.value);\n };\n\n _this.onEdit = function () {\n _this.setState({\n isEditing: true\n });\n };\n\n _this.onCancel = function () {\n _this.setState({\n title: _this.props.thread.title,\n\n isEditing: false\n });\n };\n\n _this.state = {\n isEditing: false,\n isLoading: false,\n\n title: props.thread.title,\n\n validators: {\n title: (0, _validators.getTitleValidators)()\n },\n errors: {}\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'clean',\n value: function clean() {\n if (!this.state.title.trim().length) {\n _snackbar2.default.error(gettext(\"You have to enter thread title.\"));\n return false;\n }\n\n var errors = this.validate();\n\n if (errors.title) {\n _snackbar2.default.error(errors.title[0]);\n return false;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.patch(this.props.thread.api.index, [{ op: 'replace', path: 'title', value: this.state.title }]);\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(data) {\n _store2.default.dispatch(thread.update(data));\n\n this.setState({\n 'isEditing': false\n });\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n thread = _props.thread,\n user = _props.user;\n\n var showModeration = !!user.id && (0, _thread.isModerationVisible)(thread);\n\n if (this.state.isEditing) {\n return _react2.default.createElement(\n 'div',\n { className: 'page-header' },\n _react2.default.createElement(_breadcrumbs2.default, { path: thread.path }),\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'row xs-margin-top title-edit-form' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'col-sm-6 col-md-6' },\n _react2.default.createElement('input', {\n className: 'form-control',\n type: 'text',\n value: this.state.title,\n onChange: this.onChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-sm-6 col-md-4' },\n _react2.default.createElement(\n 'div',\n { className: 'row xs-margin-top-half sm-margin-top-no md-margin-top-no' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-6' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-primary btn-block btn-outline',\n disabled: this.state.isLoading,\n title: gettext(\"Change title\")\n },\n gettext(\"Save changes\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-6' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-block btn-outline',\n disabled: this.state.isLoading,\n onClick: this.onCancel,\n title: gettext(\"Cancel\"),\n type: 'button'\n },\n gettext(\"Cancel\")\n )\n )\n )\n )\n )\n )\n ),\n _react2.default.createElement(_stats2.default, { thread: thread })\n );\n } else if (user.id && thread.acl.can_edit) {\n return _react2.default.createElement(\n 'div',\n { className: 'page-header' },\n _react2.default.createElement(_breadcrumbs2.default, { path: thread.path }),\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: showModeration ? \"col-sm-9 col-md-8\" : \"col-sm-10 col-md-10\" },\n _react2.default.createElement(\n 'h1',\n null,\n thread.title\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: showModeration ? \"col-sm-3 col-md-4\" : \"col-sm-3 col-md-2\" },\n _react2.default.createElement(\n 'div',\n { className: 'row xs-margin-top md-margin-top-no' },\n _react2.default.createElement(\n 'div',\n { className: showModeration ? \"col-xs-6\" : \"col-xs-12\" },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-block btn-outline',\n onClick: this.onEdit,\n title: gettext(\"Edit title\"),\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'edit'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'hidden-sm' },\n gettext(\"Edit\")\n )\n )\n ),\n showModeration && _react2.default.createElement(Moderation, this.props)\n )\n )\n )\n ),\n _react2.default.createElement(_stats2.default, { thread: thread })\n );\n } else if (showModeration) {\n return _react2.default.createElement(\n 'div',\n { className: 'page-header' },\n _react2.default.createElement(_breadcrumbs2.default, { path: thread.path }),\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-sm-9 col-md-10' },\n _react2.default.createElement(\n 'h1',\n null,\n thread.title\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-sm-3 col-md-2' },\n _react2.default.createElement(\n 'div',\n { className: 'row xs-margin-top md-margin-top-no' },\n _react2.default.createElement(Moderation, _extends({\n isSingle: true\n }, this.props))\n )\n )\n )\n ),\n _react2.default.createElement(_stats2.default, { thread: thread })\n );\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'page-header' },\n _react2.default.createElement(_breadcrumbs2.default, { path: thread.path }),\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'h1',\n null,\n thread.title\n )\n ),\n _react2.default.createElement(_stats2.default, { thread: thread })\n );\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\nfunction Moderation(props) {\n return _react2.default.createElement(\n 'div',\n { className: props.isSingle ? \"col-xs-12\" : \"col-xs-6\" },\n _react2.default.createElement(\n 'div',\n { className: 'btn-group btn-group-justified' },\n _react2.default.createElement(\n 'div',\n { className: 'btn-group' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-expanded': 'false',\n 'aria-haspopup': 'true',\n className: 'btn btn-default btn-outline dropdown-toggle',\n 'data-toggle': 'dropdown',\n disabled: props.thread.isBusy,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'settings'\n ),\n _react2.default.createElement(\n 'span',\n { className: props.isSingle ? \"\" : \"hidden-sm\" },\n gettext(\"Moderation\")\n )\n ),\n _react2.default.createElement(_thread.ModerationControls, {\n posts: props.posts,\n thread: props.thread,\n user: props.user\n })\n )\n )\n );\n}\n\n},{\"../../../reducers/thread\":359,\"../../../services/ajax\":364,\"../../../services/snackbar\":375,\"../../../services/store\":376,\"../../form\":55,\"../../posting/utils/validators\":143,\"../moderation/thread\":226,\"./breadcrumbs\":216,\"./stats\":218,\"react\":\"react\"}],218:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Weight = Weight;\nexports.Unapproved = Unapproved;\nexports.IsHidden = IsHidden;\nexports.IsClosed = IsClosed;\nexports.Replies = Replies;\nexports.LastReply = LastReply;\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n { className: 'header-stats' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'ul',\n { className: 'list-inline' },\n _react2.default.createElement(Weight, { thread: props.thread }),\n _react2.default.createElement(Unapproved, { thread: props.thread }),\n _react2.default.createElement(IsHidden, { thread: props.thread }),\n _react2.default.createElement(IsClosed, { thread: props.thread }),\n _react2.default.createElement(Replies, { thread: props.thread }),\n _react2.default.createElement(LastReply, { thread: props.thread })\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _escapeHtml = require('../../../utils/escape-html');\n\nvar _escapeHtml2 = _interopRequireDefault(_escapeHtml);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nvar LAST_POSTER_URL = '%(user)s';\nvar LAST_POSTER_SPAN = '%(user)s';\nvar LAST_REPLY = '%(relative)s';\n\nfunction Weight(props) {\n if (props.thread.weight == 2) {\n return _react2.default.createElement(\n 'li',\n { className: 'thread-pinned-globally' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'bookmark'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'icon-legend' },\n gettext(\"Pinned globally\")\n )\n );\n } else if (props.thread.weight == 1) {\n return _react2.default.createElement(\n 'li',\n { className: 'thread-pinned-locally' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'bookmark_border'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'icon-legend' },\n gettext(\"Pinned locally\")\n )\n );\n } else {\n return null;\n }\n}\n\nfunction Unapproved(props) {\n if (props.thread.is_unapproved) {\n return _react2.default.createElement(\n 'li',\n { className: 'thread-unapproved' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'remove_circle'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'icon-legend' },\n gettext(\"Unapproved\")\n )\n );\n } else if (props.thread.has_unapproved_posts) {\n return _react2.default.createElement(\n 'li',\n { className: 'thread-unapproved-posts' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'remove_circle_outline'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'icon-legend' },\n gettext(\"Unapproved posts\")\n )\n );\n } else {\n return null;\n }\n}\n\nfunction IsHidden(props) {\n if (props.thread.is_hidden) {\n return _react2.default.createElement(\n 'li',\n { className: 'thread-hidden' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'visibility_off'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'icon-legend' },\n gettext(\"Hidden\")\n )\n );\n } else {\n return null;\n }\n}\n\nfunction IsClosed(props) {\n if (props.thread.is_closed) {\n return _react2.default.createElement(\n 'li',\n { className: 'thread-closed' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'lock_outline'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'icon-legend' },\n gettext(\"Closed\")\n )\n );\n } else {\n return null;\n }\n}\n\nfunction Replies(props) {\n var message = ngettext(\"%(replies)s reply\", \"%(replies)s replies\", props.thread.replies);\n var legend = interpolate(message, { 'replies': props.thread.replies }, true);\n\n return _react2.default.createElement(\n 'li',\n { className: 'thread-replies' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'forum'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'icon-legend' },\n legend\n )\n );\n}\n\n/* jshint ignore:end */\nfunction LastReply(props) {\n var user = null;\n if (props.thread.url.last_poster) {\n user = interpolate(LAST_POSTER_URL, {\n url: (0, _escapeHtml2.default)(props.thread.url.last_poster),\n user: (0, _escapeHtml2.default)(props.thread.last_poster_name)\n }, true);\n } else {\n user = interpolate(LAST_POSTER_SPAN, {\n user: (0, _escapeHtml2.default)(props.thread.last_poster_name)\n }, true);\n };\n\n var date = interpolate(LAST_REPLY, {\n absolute: (0, _escapeHtml2.default)(props.thread.last_post_on.format('LLL')),\n relative: (0, _escapeHtml2.default)(props.thread.last_post_on.fromNow())\n }, true);\n\n var message = interpolate((0, _escapeHtml2.default)(gettext(\"last reply by %(user)s %(date)s\")), {\n date: date, user: user\n }, true);\n\n return _react2.default.createElement('li', { className: 'thread-last-reply', dangerouslySetInnerHTML: { __html: message } });\n}\n\n},{\"../../../utils/escape-html\":382,\"react\":\"react\"}],219:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.approve = approve;\nexports.protect = protect;\nexports.unprotect = unprotect;\nexports.hide = hide;\nexports.unhide = unhide;\nexports.patch = patch;\nexports.merge = merge;\nexports.remove = remove;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _post = require('../../../../reducers/post');\n\nvar post = _interopRequireWildcard(_post);\n\nvar _posts = require('../../../../reducers/posts');\n\nvar posts = _interopRequireWildcard(_posts);\n\nvar _ajax = require('../../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _errorsList = require('./errors-list');\n\nvar _errorsList2 = _interopRequireDefault(_errorsList);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:line\n\nfunction approve(props) {\n var selection = props.selection;\n\n\n var ops = [{ 'op': 'replace', 'path': 'is-unapproved', 'value': false }];\n\n var newState = selection.map(function (post) {\n return {\n id: post.id,\n is_unapproved: false\n };\n });\n\n var previousState = selection.map(function (post) {\n return {\n id: post.id,\n is_unapproved: post.is_unapproved\n };\n });\n\n patch(props, ops, newState, previousState);\n} // jshint ignore:line\n// jshint ignore:line\nfunction protect(props) {\n var selection = props.selection;\n\n\n var ops = [{ 'op': 'replace', 'path': 'is-protected', 'value': true }];\n\n var newState = selection.map(function (post) {\n return {\n id: post.id,\n is_protected: true\n };\n });\n\n var previousState = selection.map(function (post) {\n return {\n id: post.id,\n is_protected: post.is_protected\n };\n });\n\n patch(props, ops, newState, previousState);\n}\n\nfunction unprotect(props) {\n var selection = props.selection;\n\n\n var ops = [{ 'op': 'replace', 'path': 'is-protected', 'value': false }];\n\n var newState = selection.map(function (post) {\n return {\n id: post.id,\n is_protected: false\n };\n });\n\n var previousState = selection.map(function (post) {\n return {\n id: post.id,\n is_protected: post.is_protected\n };\n });\n\n patch(props, ops, newState, previousState);\n}\n\nfunction hide(props) {\n var selection = props.selection;\n\n\n var ops = [{ 'op': 'replace', 'path': 'is-hidden', 'value': true }];\n\n var newState = selection.map(function (post) {\n return {\n id: post.id,\n is_hidden: true,\n hidden_on: (0, _moment2.default)(),\n hidden_by_name: props.user.username,\n url: Object.assign(post.url, {\n hidden_by: props.user.url\n })\n };\n });\n\n var previousState = selection.map(function (post) {\n return {\n id: post.id,\n is_hidden: post.is_hidden,\n hidden_on: post.hidden_on,\n hidden_by_name: post.hidden_by_name,\n url: post.url\n };\n });\n\n patch(props, ops, newState, previousState);\n}\n\nfunction unhide(props) {\n var selection = props.selection;\n\n\n var ops = [{ 'op': 'replace', 'path': 'is-hidden', 'value': false }];\n\n var newState = selection.map(function (post) {\n return {\n id: post.id,\n is_hidden: false,\n hidden_on: (0, _moment2.default)(),\n hidden_by_name: props.user.username,\n url: Object.assign(post.url, {\n hidden_by: props.user.url\n })\n };\n });\n\n var previousState = selection.map(function (post) {\n return {\n id: post.id,\n is_hidden: post.is_hidden,\n hidden_on: post.hidden_on,\n hidden_by_name: post.hidden_by_name,\n url: post.url\n };\n });\n\n patch(props, ops, newState, previousState);\n}\n\nfunction patch(props, ops, newState, previousState) {\n var selection = props.selection,\n thread = props.thread;\n\n // patch selected items\n\n newState.forEach(function (item) {\n post.patch(item, item);\n });\n\n // deselect all the things\n _store2.default.dispatch(posts.deselectAll());\n\n // call ajax\n var data = {\n ops: ops,\n\n ids: selection.map(function (post) {\n return post.id;\n })\n };\n\n _ajax2.default.patch(thread.api.posts.index, data).then(function (data) {\n data.forEach(function (item) {\n _store2.default.dispatch(post.patch(item, item));\n });\n }, function (rejection) {\n if (rejection.status !== 400) {\n // rollback all\n previousState.forEach(function (item) {\n _store2.default.dispatch(post.patch(item, item));\n });\n return _snackbar2.default.apiError(rejection);\n }\n\n var errors = [];\n var rollback = [];\n\n rejection.forEach(function (item) {\n if (item.detail) {\n errors.push(item);\n rollback.push(item.id);\n } else {\n _store2.default.dispatch(post.patch(item, item));\n }\n\n previousState.forEach(function (item) {\n if (rollback.indexOf(item) !== -1) {\n _store2.default.dispatch(post.patch(item, item));\n }\n });\n });\n\n var posts = {};\n selection.forEach(function (item) {\n posts[item.id] = item;\n });\n\n /* jshint ignore:start */\n _modal2.default.show(_react2.default.createElement(_errorsList2.default, {\n errors: errors,\n posts: posts\n }));\n /* jshint ignore:end */\n });\n}\n\nfunction merge(props) {\n var confirmed = confirm(gettext(\"Are you sure you want to merge selected posts? This action is not reversible!\"));\n if (!confirmed) {\n return;\n }\n\n props.selection.slice(1).map(function (selection) {\n _store2.default.dispatch(post.patch(selection, {\n isDeleted: true\n }));\n });\n\n _ajax2.default.post(props.thread.api.posts.merge, {\n posts: props.selection.map(function (post) {\n return post.id;\n })\n }).then(function (data) {\n _store2.default.dispatch(post.patch(data, post.hydrate(data)));\n }, function (rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n\n props.selection.slice(1).map(function (selection) {\n _store2.default.dispatch(post.patch(selection, {\n isDeleted: false\n }));\n });\n });\n\n _store2.default.dispatch(posts.deselectAll());\n}\n\nfunction remove(props) {\n var confirmed = confirm(gettext(\"Are you sure you want to delete selected posts? This action is not reversible!\"));\n if (!confirmed) {\n return;\n }\n\n props.selection.map(function (selection) {\n _store2.default.dispatch(post.patch(selection, {\n isDeleted: true\n }));\n });\n\n var ids = props.selection.map(function (post) {\n return post.id;\n });\n\n _ajax2.default.delete(props.thread.api.posts.index, ids).then(function () {\n return;\n }, function (rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n\n props.selection.map(function (selection) {\n _store2.default.dispatch(post.patch(selection, {\n isDeleted: false\n }));\n });\n });\n\n _store2.default.dispatch(posts.deselectAll());\n}\n\n},{\"../../../../reducers/post\":352,\"../../../../reducers/posts\":353,\"../../../../services/ajax\":364,\"../../../../services/modal\":370,\"../../../../services/snackbar\":375,\"../../../../services/store\":376,\"./errors-list\":221,\"moment\":\"moment\",\"react\":\"react\"}],220:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Delete = exports.Unhide = exports.Hide = exports.Unprotect = exports.Protect = exports.Split = exports.Move = exports.Merge = exports.Approve = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'ul',\n { className: 'dropdown-menu' },\n _react2.default.createElement(Approve, props),\n _react2.default.createElement(Merge, props),\n _react2.default.createElement(Move, props),\n _react2.default.createElement(Split, props),\n _react2.default.createElement(Protect, props),\n _react2.default.createElement(Unprotect, props),\n _react2.default.createElement(Unhide, props),\n _react2.default.createElement(Hide, props),\n _react2.default.createElement(Delete, props)\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _modal = require('../../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _actions = require('./actions');\n\nvar moderation = _interopRequireWildcard(_actions);\n\nvar _move = require('./move');\n\nvar _move2 = _interopRequireDefault(_move);\n\nvar _split = require('./split');\n\nvar _split2 = _interopRequireDefault(_split);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar Approve = exports.Approve = function (_React$Component) {\n _inherits(Approve, _React$Component);\n\n function Approve() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Approve);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Approve.__proto__ || Object.getPrototypeOf(Approve)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n moderation.approve(_this.props);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Approve, [{\n key: 'render',\n value: function render() {\n var isVisible = this.props.selection.find(function (post) {\n return post.acl.can_approve && post.is_unapproved;\n });\n\n if (!isVisible) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-link', onClick: this.onClick },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'done'\n ),\n gettext(\"Approve\")\n )\n );\n }\n }]);\n\n return Approve;\n}(_react2.default.Component);\n\nvar Merge = exports.Merge = function (_React$Component2) {\n _inherits(Merge, _React$Component2);\n\n function Merge() {\n var _ref2;\n\n var _temp2, _this2, _ret2;\n\n _classCallCheck(this, Merge);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, (_ref2 = Merge.__proto__ || Object.getPrototypeOf(Merge)).call.apply(_ref2, [this].concat(args))), _this2), _this2.onClick = function () {\n moderation.merge(_this2.props);\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n }\n\n _createClass(Merge, [{\n key: 'render',\n value: function render() {\n var isVisible = this.props.selection.length > 1 && this.props.selection.find(function (post) {\n return post.acl.can_merge;\n });\n\n if (!isVisible) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-link', onClick: this.onClick },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'call_merge'\n ),\n gettext(\"Merge\")\n )\n );\n }\n }]);\n\n return Merge;\n}(_react2.default.Component);\n\nvar Move = exports.Move = function (_React$Component3) {\n _inherits(Move, _React$Component3);\n\n function Move() {\n var _ref3;\n\n var _temp3, _this3, _ret3;\n\n _classCallCheck(this, Move);\n\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _ret3 = (_temp3 = (_this3 = _possibleConstructorReturn(this, (_ref3 = Move.__proto__ || Object.getPrototypeOf(Move)).call.apply(_ref3, [this].concat(args))), _this3), _this3.onClick = function () {\n _modal2.default.show(_react2.default.createElement(_move2.default, _this3.props));\n }, _temp3), _possibleConstructorReturn(_this3, _ret3);\n }\n\n _createClass(Move, [{\n key: 'render',\n value: function render() {\n var isVisible = this.props.selection.find(function (post) {\n return post.acl.can_move;\n });\n\n if (!isVisible) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-link', onClick: this.onClick },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'arrow_forward'\n ),\n gettext(\"Move\")\n )\n );\n }\n }]);\n\n return Move;\n}(_react2.default.Component);\n\nvar Split = exports.Split = function (_React$Component4) {\n _inherits(Split, _React$Component4);\n\n function Split() {\n var _ref4;\n\n var _temp4, _this4, _ret4;\n\n _classCallCheck(this, Split);\n\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _ret4 = (_temp4 = (_this4 = _possibleConstructorReturn(this, (_ref4 = Split.__proto__ || Object.getPrototypeOf(Split)).call.apply(_ref4, [this].concat(args))), _this4), _this4.onClick = function () {\n _modal2.default.show(_react2.default.createElement(_split2.default, _this4.props));\n }, _temp4), _possibleConstructorReturn(_this4, _ret4);\n }\n\n _createClass(Split, [{\n key: 'render',\n value: function render() {\n var isVisible = this.props.selection.find(function (post) {\n return post.acl.can_move;\n });\n\n if (!isVisible) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-link', onClick: this.onClick },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'call_split'\n ),\n gettext(\"Split\")\n )\n );\n }\n }]);\n\n return Split;\n}(_react2.default.Component);\n\nvar Protect = exports.Protect = function (_React$Component5) {\n _inherits(Protect, _React$Component5);\n\n function Protect() {\n var _ref5;\n\n var _temp5, _this5, _ret5;\n\n _classCallCheck(this, Protect);\n\n for (var _len5 = arguments.length, args = Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n return _ret5 = (_temp5 = (_this5 = _possibleConstructorReturn(this, (_ref5 = Protect.__proto__ || Object.getPrototypeOf(Protect)).call.apply(_ref5, [this].concat(args))), _this5), _this5.onClick = function () {\n moderation.protect(_this5.props);\n }, _temp5), _possibleConstructorReturn(_this5, _ret5);\n }\n\n _createClass(Protect, [{\n key: 'render',\n value: function render() {\n var isVisible = this.props.selection.find(function (post) {\n return !post.is_protected && post.acl.can_protect;\n });\n\n if (!isVisible) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-link', onClick: this.onClick },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'lock_outline'\n ),\n gettext(\"Protect\")\n )\n );\n }\n }]);\n\n return Protect;\n}(_react2.default.Component);\n\nvar Unprotect = exports.Unprotect = function (_React$Component6) {\n _inherits(Unprotect, _React$Component6);\n\n function Unprotect() {\n var _ref6;\n\n var _temp6, _this6, _ret6;\n\n _classCallCheck(this, Unprotect);\n\n for (var _len6 = arguments.length, args = Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n return _ret6 = (_temp6 = (_this6 = _possibleConstructorReturn(this, (_ref6 = Unprotect.__proto__ || Object.getPrototypeOf(Unprotect)).call.apply(_ref6, [this].concat(args))), _this6), _this6.onClick = function () {\n moderation.unprotect(_this6.props);\n }, _temp6), _possibleConstructorReturn(_this6, _ret6);\n }\n\n _createClass(Unprotect, [{\n key: 'render',\n value: function render() {\n var isVisible = this.props.selection.find(function (post) {\n return post.is_protected && post.acl.can_protect;\n });\n\n if (!isVisible) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-link', onClick: this.onClick },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'lock_open'\n ),\n gettext(\"Unprotect\")\n )\n );\n }\n }]);\n\n return Unprotect;\n}(_react2.default.Component);\n\nvar Hide = exports.Hide = function (_React$Component7) {\n _inherits(Hide, _React$Component7);\n\n function Hide() {\n var _ref7;\n\n var _temp7, _this7, _ret7;\n\n _classCallCheck(this, Hide);\n\n for (var _len7 = arguments.length, args = Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n return _ret7 = (_temp7 = (_this7 = _possibleConstructorReturn(this, (_ref7 = Hide.__proto__ || Object.getPrototypeOf(Hide)).call.apply(_ref7, [this].concat(args))), _this7), _this7.onClick = function () {\n moderation.hide(_this7.props);\n }, _temp7), _possibleConstructorReturn(_this7, _ret7);\n }\n\n _createClass(Hide, [{\n key: 'render',\n value: function render() {\n var isVisible = this.props.selection.find(function (post) {\n return post.acl.can_hide && !post.is_hidden;\n });\n\n if (!isVisible) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-link', onClick: this.onClick },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'visibility_off'\n ),\n gettext(\"Hide\")\n )\n );\n }\n }]);\n\n return Hide;\n}(_react2.default.Component);\n\nvar Unhide = exports.Unhide = function (_React$Component8) {\n _inherits(Unhide, _React$Component8);\n\n function Unhide() {\n var _ref8;\n\n var _temp8, _this8, _ret8;\n\n _classCallCheck(this, Unhide);\n\n for (var _len8 = arguments.length, args = Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n args[_key8] = arguments[_key8];\n }\n\n return _ret8 = (_temp8 = (_this8 = _possibleConstructorReturn(this, (_ref8 = Unhide.__proto__ || Object.getPrototypeOf(Unhide)).call.apply(_ref8, [this].concat(args))), _this8), _this8.onClick = function () {\n moderation.unhide(_this8.props);\n }, _temp8), _possibleConstructorReturn(_this8, _ret8);\n }\n\n _createClass(Unhide, [{\n key: 'render',\n value: function render() {\n var isVisible = this.props.selection.find(function (post) {\n return post.acl.can_unhide && post.is_hidden;\n });\n\n if (!isVisible) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-link', onClick: this.onClick },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'visibility'\n ),\n gettext(\"Unhide\")\n )\n );\n }\n }]);\n\n return Unhide;\n}(_react2.default.Component);\n\nvar Delete = exports.Delete = function (_React$Component9) {\n _inherits(Delete, _React$Component9);\n\n function Delete() {\n var _ref9;\n\n var _temp9, _this9, _ret9;\n\n _classCallCheck(this, Delete);\n\n for (var _len9 = arguments.length, args = Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n args[_key9] = arguments[_key9];\n }\n\n return _ret9 = (_temp9 = (_this9 = _possibleConstructorReturn(this, (_ref9 = Delete.__proto__ || Object.getPrototypeOf(Delete)).call.apply(_ref9, [this].concat(args))), _this9), _this9.onClick = function () {\n moderation.remove(_this9.props);\n }, _temp9), _possibleConstructorReturn(_this9, _ret9);\n }\n\n _createClass(Delete, [{\n key: 'render',\n value: function render() {\n var isVisible = this.props.selection.find(function (post) {\n return post.acl.can_delete;\n });\n\n if (!isVisible) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'btn btn-link', onClick: this.onClick },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'clear'\n ),\n gettext(\"Delete\")\n )\n );\n }\n }]);\n\n return Delete;\n}(_react2.default.Component);\n\n},{\"../../../../services/modal\":370,\"./actions\":219,\"./move\":223,\"./split\":224,\"react\":\"react\"}],221:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var errors = _ref.errors,\n posts = _ref.posts;\n\n return _react2.default.createElement(\n \"div\",\n { className: \"modal-dialog\", role: \"document\" },\n _react2.default.createElement(\n \"div\",\n { className: \"modal-content\" },\n _react2.default.createElement(\n \"div\",\n { className: \"modal-header\" },\n _react2.default.createElement(\n \"button\",\n {\n \"aria-label\": gettext(\"Close\"),\n className: \"close\",\n \"data-dismiss\": \"modal\",\n type: \"button\"\n },\n _react2.default.createElement(\n \"span\",\n { \"aria-hidden\": \"true\" },\n \"\\xD7\"\n )\n ),\n _react2.default.createElement(\n \"h4\",\n { className: \"modal-title\" },\n gettext(\"Moderation\")\n )\n ),\n _react2.default.createElement(\n \"div\",\n { className: \"modal-body\" },\n _react2.default.createElement(\n \"p\",\n { className: \"lead\" },\n gettext(\"One or more posts could not be changed:\")\n ),\n _react2.default.createElement(\n \"ul\",\n { className: \"list-unstyled list-errored-items\" },\n errors.map(function (post) {\n return _react2.default.createElement(PostErrors, {\n errors: post.detail,\n key: post.id,\n post: posts[post.id]\n });\n })\n )\n )\n )\n );\n};\n\nexports.PostErrors = PostErrors;\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nfunction PostErrors(_ref2) {\n var errors = _ref2.errors,\n post = _ref2.post;\n\n var heading = interpolate(gettext(\"%(username)s on %(posted_on)s\"), {\n posted_on: post.posted_on.format('LL, LT'),\n username: post.poster_name\n }, true);\n\n return _react2.default.createElement(\n \"li\",\n null,\n _react2.default.createElement(\n \"h5\",\n null,\n heading,\n \":\"\n ),\n errors.map(function (error, i) {\n return _react2.default.createElement(\n \"p\",\n { key: i },\n error\n );\n })\n );\n}\n\n},{\"react\":\"react\"}],222:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /* jshint ignore:start */\n\n\nexports.default = function (props) {\n if (!props.user.id || !isVisible(props.thread, props.posts.results)) {\n return null;\n }\n\n var selection = props.posts.results.filter(function (post) {\n return post.isSelected;\n });\n\n return _react2.default.createElement(\n 'div',\n { className: 'dropup' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-expanded': 'true',\n 'aria-haspopup': 'true',\n className: 'btn btn-default dropdown-toggle btn-block btn-outline',\n 'data-toggle': 'dropdown',\n disabled: !selection.length,\n type: 'button'\n },\n gettext(\"Posts options\")\n ),\n _react2.default.createElement(_dropdown2.default, _extends({ selection: selection }, props))\n );\n};\n\nexports.isVisible = isVisible;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _dropdown = require('./dropdown');\n\nvar _dropdown2 = _interopRequireDefault(_dropdown);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction isVisible(thread, posts) {\n if (thread.acl.can_merge_posts && posts.length > 1) {\n // fast test: show moderation menu if we can merge posts\n return true;\n }\n\n // slow test: show moderation if any of posts has moderation options\n var visible = false;\n posts.forEach(function (post) {\n if (!post.is_event) {\n var showModeration = post.acl.can_approve && post.is_unapproved || post.acl.can_delete || !post.is_hidden && post.acl.can_hide || post.acl.can_move || post.acl.can_merge || post.acl.can_protect || post.is_hidden && post.acl.can_unhide || post.acl.can_unprotect;\n\n if (showModeration) {\n visible = true;\n }\n }\n });\n return visible;\n}\n\n},{\"./dropdown\":220,\"react\":\"react\"}],223:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.ModalHeader = ModalHeader;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _post = require('../../../../reducers/post');\n\nvar post = _interopRequireWildcard(_post);\n\nvar _ajax = require('../../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.onUrlChange = function (event) {\n _this.changeValue('url', event.target.value);\n };\n\n _this.state = {\n isLoading: false,\n\n url: '',\n\n validators: {\n url: []\n },\n errors: {}\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'clean',\n value: function clean() {\n if (!this.state.url.trim().length) {\n _snackbar2.default.error(gettext(\"You have to enter link to the other thread.\"));\n return false;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.thread.api.posts.move, {\n new_thread: this.state.url,\n posts: this.props.selection.map(function (post) {\n return post.id;\n })\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(success) {\n this.props.selection.forEach(function (selection) {\n _store2.default.dispatch(post.patch(selection, {\n isDeleted: true\n }));\n });\n\n _modal2.default.hide();\n\n _snackbar2.default.success(gettext(\"Selected posts were moved to the other thread.\"));\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-dialog', role: 'document' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(ModalHeader, null),\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n _formGroup2.default,\n {\n 'for': 'id_url',\n label: gettext(\"Link to thread you want to move posts to\")\n },\n _react2.default.createElement('input', {\n className: 'form-control',\n disabled: this.state.isLoading,\n id: 'id_url',\n onChange: this.onUrlChange,\n value: this.state.url\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n disabled: this.state.isLoading,\n type: 'button'\n },\n gettext(\"Cancel\")\n ),\n _react2.default.createElement(\n 'button',\n { className: 'btn btn-primary', loading: this.state.isLoading },\n gettext(\"Move posts\")\n )\n )\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\nfunction ModalHeader(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-label': gettext(\"Close\"),\n className: 'close',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Move posts\")\n )\n );\n}\n\n},{\"../../../../reducers/post\":352,\"../../../../services/ajax\":364,\"../../../../services/modal\":370,\"../../../../services/snackbar\":375,\"../../../../services/store\":376,\"../../../button\":8,\"../../../form\":55,\"../../../form-group\":54,\"react\":\"react\"}],224:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ModerationForm = exports.PostingConfig = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /* jshint ignore:start */\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nexports.default = function (props) {\n return _react2.default.createElement(PostingConfig, _extends({}, props, { Form: ModerationForm }));\n};\n\nexports.Loader = Loader;\nexports.Error = Error;\nexports.Modal = Modal;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _categorySelect = require('../../../category-select');\n\nvar _categorySelect2 = _interopRequireDefault(_categorySelect);\n\nvar _modalLoader = require('../../../modal-loader');\n\nvar _modalLoader2 = _interopRequireDefault(_modalLoader);\n\nvar _select = require('../../../select');\n\nvar _select2 = _interopRequireDefault(_select);\n\nvar _post = require('../../../../reducers/post');\n\nvar post = _interopRequireWildcard(_post);\n\nvar _ajax = require('../../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _validators = require('../../../../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar PostingConfig = exports.PostingConfig = function (_React$Component) {\n _inherits(PostingConfig, _React$Component);\n\n function PostingConfig(props) {\n _classCallCheck(this, PostingConfig);\n\n var _this = _possibleConstructorReturn(this, (PostingConfig.__proto__ || Object.getPrototypeOf(PostingConfig)).call(this, props));\n\n _this.state = {\n isLoaded: false,\n isError: false,\n\n categories: []\n };\n return _this;\n }\n\n _createClass(PostingConfig, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n _ajax2.default.get(misago.get('THREAD_EDITOR_API')).then(function (data) {\n // hydrate categories, extract posting options\n var categories = data.map(function (item) {\n return Object.assign(item, {\n disabled: item.post === false,\n label: item.name,\n value: item.id,\n post: item.post\n });\n });\n\n _this2.setState({\n isLoaded: true,\n categories: categories\n });\n }, function (rejection) {\n _this2.setState({\n isError: rejection.detail\n });\n });\n }\n }, {\n key: 'render',\n value: function render() {\n if (this.state.isError) {\n return _react2.default.createElement(Error, { message: this.state.isError });\n } else if (this.state.isLoaded) {\n return _react2.default.createElement(ModerationForm, _extends({}, this.props, { categories: this.state.categories }));\n } else {\n return _react2.default.createElement(Loader, null);\n }\n }\n }]);\n\n return PostingConfig;\n}(_react2.default.Component);\n\nvar ModerationForm = exports.ModerationForm = function (_Form) {\n _inherits(ModerationForm, _Form);\n\n function ModerationForm(props) {\n _classCallCheck(this, ModerationForm);\n\n var _this3 = _possibleConstructorReturn(this, (ModerationForm.__proto__ || Object.getPrototypeOf(ModerationForm)).call(this, props));\n\n _this3.onCategoryChange = function (ev) {\n var categoryId = ev.target.value;\n var newState = {\n category: categoryId\n };\n\n if (_this3.acl[categoryId].can_pin_threads < newState.weight) {\n newState.weight = 0;\n }\n\n if (!_this3.acl[categoryId].can_hide_threads) {\n newState.is_hidden = 0;\n }\n\n if (!_this3.acl[categoryId].can_close_threads) {\n newState.is_closed = false;\n }\n\n _this3.setState(newState);\n };\n\n _this3.state = {\n isLoading: false,\n\n title: '',\n category: null,\n categories: props.categories,\n weight: 0,\n is_hidden: 0,\n is_closed: false,\n\n validators: {\n title: [validators.required()]\n },\n\n errors: {}\n };\n\n _this3.isHiddenChoices = [{\n 'value': 0,\n 'icon': 'visibility',\n 'label': gettext(\"No\")\n }, {\n 'value': 1,\n 'icon': 'visibility_off',\n 'label': gettext(\"Yes\")\n }];\n\n _this3.isClosedChoices = [{\n 'value': false,\n 'icon': 'lock_outline',\n 'label': gettext(\"No\")\n }, {\n 'value': true,\n 'icon': 'lock',\n 'label': gettext(\"Yes\")\n }];\n\n _this3.acl = {};\n _this3.props.categories.forEach(function (category) {\n if (category.post) {\n if (!_this3.state.category) {\n _this3.state.category = category.id;\n }\n\n _this3.acl[category.id] = {\n can_pin_threads: category.post.pin,\n can_close_threads: category.post.close,\n can_hide_threads: category.post.hide\n };\n }\n });\n return _this3;\n }\n\n _createClass(ModerationForm, [{\n key: 'clean',\n value: function clean() {\n if (this.isValid()) {\n return true;\n } else {\n _snackbar2.default.error(gettext(\"Form contains errors.\"));\n this.setState({\n errors: this.validate()\n });\n return false;\n }\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(this.props.thread.api.posts.split, {\n title: this.state.title,\n category: this.state.category,\n weight: this.state.weight,\n is_hidden: this.state.is_hidden,\n is_closed: this.state.is_closed,\n posts: this.props.selection.map(function (post) {\n return post.id;\n })\n });\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess(apiResponse) {\n this.props.selection.forEach(function (selection) {\n _store2.default.dispatch(post.patch(selection, {\n isDeleted: true\n }));\n });\n\n _modal2.default.hide();\n\n _snackbar2.default.success(gettext(\"Selected posts were split into new thread.\"));\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n this.setState({\n 'errors': Object.assign({}, this.state.errors, rejection)\n });\n _snackbar2.default.error(gettext(\"Form contains errors.\"));\n } else if (rejection.status === 403 && Array.isArray(rejection)) {\n _modal2.default.show(_react2.default.createElement(ErrorsModal, { errors: rejection }));\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n }, {\n key: 'getWeightChoices',\n value: function getWeightChoices() {\n var choices = [{\n 'value': 0,\n 'icon': 'remove',\n 'label': gettext(\"Not pinned\")\n }, {\n 'value': 1,\n 'icon': 'bookmark_border',\n 'label': gettext(\"Pinned locally\")\n }];\n\n if (this.acl[this.state.category].can_pin_threads == 2) {\n choices.push({\n 'value': 2,\n 'icon': 'bookmark',\n 'label': gettext(\"Pinned globally\")\n });\n }\n\n return choices;\n }\n }, {\n key: 'renderWeightField',\n value: function renderWeightField() {\n if (this.acl[this.state.category].can_pin_threads) {\n return _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Thread weight\"),\n 'for': 'id_weight',\n labelClass: 'col-sm-4', controlClass: 'col-sm-8' },\n _react2.default.createElement(_select2.default, { id: 'id_weight',\n onChange: this.bindInput('weight'),\n value: this.state.weight,\n choices: this.getWeightChoices() })\n );\n } else {\n return null;\n }\n }\n }, {\n key: 'renderHiddenField',\n value: function renderHiddenField() {\n if (this.acl[this.state.category].can_hide_threads) {\n return _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Hide thread\"),\n 'for': 'id_is_hidden',\n labelClass: 'col-sm-4', controlClass: 'col-sm-8' },\n _react2.default.createElement(_select2.default, { id: 'id_is_closed',\n onChange: this.bindInput('is_hidden'),\n value: this.state.is_hidden,\n choices: this.isHiddenChoices })\n );\n } else {\n return null;\n }\n }\n }, {\n key: 'renderClosedField',\n value: function renderClosedField() {\n if (this.acl[this.state.category].can_close_threads) {\n return _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Close thread\"),\n 'for': 'id_is_closed',\n labelClass: 'col-sm-4', controlClass: 'col-sm-8' },\n _react2.default.createElement(_select2.default, { id: 'id_is_closed',\n onChange: this.bindInput('is_closed'),\n value: this.state.is_closed,\n choices: this.isClosedChoices })\n );\n } else {\n return null;\n }\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n Modal,\n { className: 'modal-dialog' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Thread title\"),\n 'for': 'id_title',\n labelClass: 'col-sm-4', controlClass: 'col-sm-8',\n validation: this.state.errors.title },\n _react2.default.createElement('input', { id: 'id_title',\n className: 'form-control',\n type: 'text',\n onChange: this.bindInput('title'),\n value: this.state.title })\n ),\n _react2.default.createElement('div', { className: 'clearfix' }),\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Category\"),\n 'for': 'id_category',\n labelClass: 'col-sm-4', controlClass: 'col-sm-8',\n validation: this.state.errors.category },\n _react2.default.createElement(_categorySelect2.default, { id: 'id_category',\n onChange: this.onCategoryChange,\n value: this.state.category,\n choices: this.state.categories })\n ),\n _react2.default.createElement('div', { className: 'clearfix' }),\n this.renderWeightField(),\n this.renderHiddenField(),\n this.renderClosedField()\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n disabled: this.state.isLoading,\n type: 'button'\n },\n gettext(\"Cancel\")\n ),\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary', loading: this.state.isLoading },\n gettext(\"Split posts\")\n )\n )\n )\n );\n }\n }]);\n\n return ModerationForm;\n}(_form2.default);\n\nfunction Loader() {\n return _react2.default.createElement(\n Modal,\n { className: 'modal-dialog' },\n _react2.default.createElement(_modalLoader2.default, null)\n );\n}\n\nfunction Error(props) {\n return _react2.default.createElement(\n Modal,\n { className: 'modal-dialog modal-message' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'info_outline'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"You can't move selected posts at the moment.\")\n ),\n _react2.default.createElement(\n 'p',\n null,\n props.message\n ),\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n gettext(\"Ok\")\n )\n )\n );\n}\n\nfunction Modal(props) {\n return _react2.default.createElement(\n 'div',\n { className: props.className, role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-label': gettext(\"Close\"),\n className: 'close',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Split posts into new thread\")\n )\n ),\n props.children\n )\n );\n}\n\n},{\"../../../../reducers/post\":352,\"../../../../services/ajax\":364,\"../../../../services/modal\":370,\"../../../../services/snackbar\":375,\"../../../../services/store\":376,\"../../../../utils/validators\":392,\"../../../button\":8,\"../../../category-select\":21,\"../../../form\":55,\"../../../form-group\":54,\"../../../modal-loader\":60,\"../../../select\":209,\"react\":\"react\"}],225:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _merge = require('./merge');\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _move = require('./move');\n\nvar _move2 = _interopRequireDefault(_move);\n\nvar _thread = require('../../../../reducers/thread');\n\nvar thread = _interopRequireWildcard(_thread);\n\nvar _ajax = require('../../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.callApi = function (ops, successMessage) {\n _store2.default.dispatch(thread.busy());\n\n // by the chance update thread acl too\n ops.push({ op: 'add', path: 'acl', value: true });\n\n _ajax2.default.patch(_this.props.thread.api.index, ops).then(function (data) {\n _store2.default.dispatch(thread.update(data));\n _store2.default.dispatch(thread.release());\n _snackbar2.default.success(successMessage);\n }, function (rejection) {\n _store2.default.dispatch(thread.release());\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n });\n }, _this.pinGlobally = function () {\n _this.callApi([{\n op: 'replace',\n path: 'weight',\n value: 2\n }], gettext(\"Thread has been pinned globally.\"));\n }, _this.pinLocally = function () {\n _this.callApi([{\n op: 'replace',\n path: 'weight',\n value: 1\n }], gettext(\"Thread has been pinned locally.\"));\n }, _this.unpin = function () {\n _this.callApi([{\n op: 'replace',\n path: 'weight',\n value: 0\n }], gettext(\"Thread has been unpinned.\"));\n }, _this.approve = function () {\n _this.callApi([{\n op: 'replace',\n path: 'is-unapproved',\n value: false\n }], gettext(\"Thread has been approved.\"));\n }, _this.open = function () {\n _this.callApi([{\n op: 'replace',\n path: 'is-closed',\n value: false\n }], gettext(\"Thread has been opened.\"));\n }, _this.close = function () {\n _this.callApi([{\n op: 'replace',\n path: 'is-closed',\n value: true\n }], gettext(\"Thread has been closed.\"));\n }, _this.unhide = function () {\n _this.callApi([{\n op: 'replace',\n path: 'is-hidden',\n value: false\n }], gettext(\"Thread has been made visible.\"));\n }, _this.hide = function () {\n _this.callApi([{\n op: 'replace',\n path: 'is-hidden',\n value: true\n }], gettext(\"Thread has been made hidden.\"));\n }, _this.move = function () {\n _modal2.default.show(_react2.default.createElement(_move2.default, {\n posts: _this.props.posts,\n thread: _this.props.thread\n }));\n }, _this.merge = function () {\n _modal2.default.show(_react2.default.createElement(_merge2.default, { thread: _this.props.thread }));\n }, _this.delete = function () {\n if (!confirm(gettext(\"Are you sure you want to delete this thread?\"))) {\n return;\n }\n\n _store2.default.dispatch(thread.busy());\n\n _ajax2.default.delete(_this.props.thread.api.index).then(function (data) {\n _snackbar2.default.success(gettext(\"Thread has been deleted.\"));\n window.location = _this.props.thread.category.url.index;\n }, function (rejection) {\n _store2.default.dispatch(thread.release());\n _snackbar2.default.apiError(rejection);\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'getPinGloballyButton',\n value: function getPinGloballyButton() {\n if (this.props.thread.weight === 2) return null;\n if (!this.props.thread.acl.can_pin_globally) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.pinGlobally,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'bookmark'\n ),\n gettext(\"Pin globally\")\n )\n );\n }\n }, {\n key: 'getPinLocallyButton',\n value: function getPinLocallyButton() {\n if (this.props.thread.weight === 1) return null;\n if (!this.props.thread.acl.can_pin) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.pinLocally,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'bookmark_border'\n ),\n gettext(\"Pin locally\")\n )\n );\n }\n }, {\n key: 'getUnpinButton',\n value: function getUnpinButton() {\n if (this.props.thread.weight === 0) return null;\n if (!this.props.thread.acl.can_pin) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.unpin,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'panorama_fish_eye'\n ),\n gettext(\"Unpin\")\n )\n );\n }\n }, {\n key: 'getMoveButton',\n value: function getMoveButton() {\n if (!this.props.thread.acl.can_move) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.move,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'arrow_forward'\n ),\n gettext(\"Move\")\n )\n );\n }\n }, {\n key: 'getMergeButton',\n value: function getMergeButton() {\n if (!this.props.thread.acl.can_merge) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.merge,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'call_merge'\n ),\n gettext(\"Merge\")\n )\n );\n }\n }, {\n key: 'getApproveButton',\n value: function getApproveButton() {\n if (!this.props.thread.is_unapproved) return null;\n if (!this.props.thread.acl.can_approve) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.approve,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'done'\n ),\n gettext(\"Approve\")\n )\n );\n }\n }, {\n key: 'getOpenButton',\n value: function getOpenButton() {\n if (!this.props.thread.is_closed) return null;\n if (!this.props.thread.acl.can_close) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.open,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'lock_open'\n ),\n gettext(\"Open\")\n )\n );\n }\n }, {\n key: 'getCloseButton',\n value: function getCloseButton() {\n if (this.props.thread.is_closed) return null;\n if (!this.props.thread.acl.can_close) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.close,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'lock_outline'\n ),\n gettext(\"Close\")\n )\n );\n }\n }, {\n key: 'getUnhideButton',\n value: function getUnhideButton() {\n if (!this.props.thread.is_hidden) return null;\n if (!this.props.thread.acl.can_unhide) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.unhide,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'visibility'\n ),\n gettext(\"Unhide\")\n )\n );\n }\n }, {\n key: 'getHideButton',\n value: function getHideButton() {\n if (this.props.thread.is_hidden) return null;\n if (!this.props.thread.acl.can_hide) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.hide,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'visibility_off'\n ),\n gettext(\"Hide\")\n )\n );\n }\n }, {\n key: 'getDeleteButton',\n value: function getDeleteButton() {\n if (!this.props.thread.acl.can_delete) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.delete,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'clear'\n ),\n gettext(\"Delete\")\n )\n );\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'ul',\n { className: 'dropdown-menu dropdown-menu-right stick-to-bottom' },\n this.getPinGloballyButton(),\n this.getPinLocallyButton(),\n this.getUnpinButton(),\n this.getMoveButton(),\n this.getMergeButton(),\n this.getApproveButton(),\n this.getOpenButton(),\n this.getCloseButton(),\n this.getUnhideButton(),\n this.getHideButton(),\n this.getDeleteButton()\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../../reducers/thread\":359,\"../../../../services/ajax\":364,\"../../../../services/modal\":370,\"../../../../services/snackbar\":375,\"../../../../services/store\":376,\"./merge\":228,\"./move\":229,\"react\":\"react\"}],226:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isModerationVisible = exports.ModerationControls = undefined;\n\nvar _controls = require('./controls');\n\nvar _controls2 = _interopRequireDefault(_controls);\n\nvar _isVisible = require('./is-visible');\n\nvar _isVisible2 = _interopRequireDefault(_isVisible);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.ModerationControls = _controls2.default;\nexports.isModerationVisible = _isVisible2.default;\n\n},{\"./controls\":225,\"./is-visible\":227}],227:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (thread) {\n return !!(thread.acl.can_approve && thread.is_unapproved || thread.acl.can_close || thread.acl.can_delete || thread.acl.can_hide || thread.acl.can_move || thread.acl.can_merge || thread.acl.can_pin || thread.acl.can_pin_globally && thread.weight !== 2 || thread.acl.can_unhide && thread.is_hidden);\n};\n\n},{}],228:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.ModalHeader = ModalHeader;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _form = require('../../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _mergeConflict = require('../../../merge-conflict');\n\nvar _mergeConflict2 = _interopRequireDefault(_mergeConflict);\n\nvar _thread = require('../../../../reducers/thread');\n\nvar thread = _interopRequireWildcard(_thread);\n\nvar _ajax = require('../../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.handleSuccess = function (success) {\n _this.handleSuccessUnmounted(success);\n\n // keep form loading\n _this.setState({\n 'isLoading': true\n });\n };\n\n _this.handleSuccessUnmounted = function (success) {\n _snackbar2.default.success(gettext(\"Thread has been merged with other one.\"));\n window.location = success.url;\n };\n\n _this.handleError = function (rejection) {\n _store2.default.dispatch(thread.release());\n\n if (rejection.status === 400) {\n if (rejection.best_answers || rejection.polls) {\n _modal2.default.show(_react2.default.createElement(_mergeConflict2.default, {\n api: _this.props.thread.api.merge,\n bestAnswers: rejection.best_answers,\n data: { other_thread: _this.state.url },\n polls: rejection.polls,\n onError: _this.handleError,\n onSuccess: _this.handleSuccessUnmounted\n }));\n } else if (rejection.best_answer) {\n _snackbar2.default.error(rejection.best_answer[0]);\n } else if (rejection.poll) {\n _snackbar2.default.error(rejection.poll[0]);\n } else {\n _snackbar2.default.error(rejection.detail);\n }\n } else {\n _snackbar2.default.apiError(rejection);\n }\n };\n\n _this.onUrlChange = function (event) {\n _this.changeValue('url', event.target.value);\n };\n\n _this.state = {\n isLoading: false,\n\n url: '',\n\n validators: {\n url: []\n },\n errors: {}\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'clean',\n value: function clean() {\n if (!this.state.url.trim().length) {\n _snackbar2.default.error(gettext(\"You have to enter link to the other thread.\"));\n return false;\n }\n\n return true;\n }\n }, {\n key: 'send',\n value: function send() {\n // freeze thread\n _store2.default.dispatch(thread.busy());\n\n return _ajax2.default.post(this.props.thread.api.merge, {\n other_thread: this.state.url\n });\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'modal-dialog', role: 'document' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(ModalHeader, null),\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n _formGroup2.default,\n {\n 'for': 'id_url',\n label: gettext(\"Link to thread you want to merge with\"),\n help_text: gettext(\"Merge will delete current thread and move its contents to the thread specified here.\")\n },\n _react2.default.createElement('input', {\n className: 'form-control',\n disabled: this.state.isLoading || this.props.thread.isBusy,\n id: 'id_url',\n onChange: this.onUrlChange,\n value: this.state.url\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n disabled: this.state.isLoading,\n type: 'button'\n },\n gettext(\"Cancel\")\n ),\n _react2.default.createElement(\n 'button',\n { className: 'btn btn-primary', loading: this.state.isLoading || this.props.thread.isBusy },\n gettext(\"Merge thread\")\n )\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\n/* jshint ignore:start */\n\n\nexports.default = _class;\nfunction ModalHeader(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-label': gettext(\"Close\"),\n className: 'close',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Merge thread\")\n )\n );\n}\n/* jshint ignore:end */\n\n},{\"../../../../reducers/thread\":359,\"../../../../services/ajax\":364,\"../../../../services/modal\":370,\"../../../../services/snackbar\":375,\"../../../../services/store\":376,\"../../../form\":55,\"../../../form-group\":54,\"../../../merge-conflict\":58,\"react\":\"react\"}],229:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.ModalHeader = ModalHeader;\nexports.ModalLoading = ModalLoading;\nexports.ModalMessage = ModalMessage;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _form = require('../../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _categorySelect = require('../../../category-select');\n\nvar _categorySelect2 = _interopRequireDefault(_categorySelect);\n\nvar _modalLoader = require('../../../modal-loader');\n\nvar _modalLoader2 = _interopRequireDefault(_modalLoader);\n\nvar _posts = require('../../../../reducers/posts');\n\nvar posts = _interopRequireWildcard(_posts);\n\nvar _thread = require('../../../../reducers/thread');\n\nvar thread = _interopRequireWildcard(_thread);\n\nvar _ = require('../../../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _ajax = require('../../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.onCategoryChange = function (event) {\n _this.changeValue('category', event.target.value);\n };\n\n _this.state = {\n isReady: false,\n isLoading: false,\n isError: false,\n\n category: null,\n categories: []\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n _ajax2.default.get(_2.default.get('THREAD_EDITOR_API')).then(function (data) {\n var category = null;\n\n // hydrate categories, extract posting options\n var categories = data.map(function (item) {\n // pick first category that allows posting and if it may, override it with initial one\n if (item.post !== false && !category) {\n category = item.id;\n }\n\n return Object.assign(item, {\n disabled: item.post === false,\n label: item.name,\n value: item.id\n });\n });\n\n _this2.setState({\n isReady: true,\n\n category: category,\n categories: categories\n });\n }, function (rejection) {\n _this2.setState({\n isError: rejection.detail\n });\n });\n }\n }, {\n key: 'send',\n value: function send() {\n // freeze thread\n _store2.default.dispatch(thread.busy());\n\n return _ajax2.default.patch(this.props.thread.api.index, [{ op: 'replace', path: 'category', value: this.state.category }]);\n }\n }, {\n key: 'handleSuccess',\n value: function handleSuccess() {\n // refresh thread and displayed posts\n _ajax2.default.get(this.props.thread.api.posts.index, { page: this.props.posts.page }).then(function (data) {\n _store2.default.dispatch(thread.replace(data));\n _store2.default.dispatch(posts.load(data.post_set));\n _store2.default.dispatch(thread.release());\n\n _snackbar2.default.success(gettext(\"Thread has been moved.\"));\n _modal2.default.hide();\n }, function (rejection) {\n _store2.default.dispatch(thread.release());\n _snackbar2.default.apiError(rejection);\n });\n }\n }, {\n key: 'handleError',\n value: function handleError(rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n if (this.state.isReady) {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-dialog', role: 'document' },\n _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(ModalHeader, null),\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n _formGroup2.default,\n { 'for': 'id_category', label: gettext(\"New category\") },\n _react2.default.createElement(_categorySelect2.default, {\n choices: this.state.categories,\n disabled: this.state.isLoading || this.props.thread.isBusy,\n id: 'id_category',\n onChange: this.onCategoryChange,\n value: this.state.category\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n disabled: this.state.isLoading,\n type: 'button'\n },\n gettext(\"Cancel\")\n ),\n _react2.default.createElement(\n 'button',\n { className: 'btn btn-primary', loading: this.state.isLoading || this.props.thread.isBusy },\n gettext(\"Move thread\")\n )\n )\n )\n )\n );\n } else if (this.state.isError) {\n return _react2.default.createElement(ModalMessage, { message: this.state.isError });\n } else {\n return _react2.default.createElement(ModalLoading, null);\n }\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\n/* jshint ignore:start */\n\n\nexports.default = _class;\nfunction ModalHeader(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-label': gettext(\"Close\"),\n className: 'close',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Move thread\")\n )\n );\n}\n\nfunction ModalLoading(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-dialog', role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(ModalHeader, null),\n _react2.default.createElement(_modalLoader2.default, null)\n )\n );\n}\n\nfunction ModalMessage(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'modal-dialog modal-message', role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(ModalHeader, null),\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'info_outline'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"You can't move this thread at the moment.\")\n ),\n _react2.default.createElement(\n 'p',\n null,\n props.message\n ),\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n gettext(\"Ok\")\n )\n )\n )\n );\n}\n/* jshint ignore:end */\n\n},{\"../../../..\":301,\"../../../../reducers/posts\":353,\"../../../../reducers/thread\":359,\"../../../../services/ajax\":364,\"../../../../services/modal\":370,\"../../../../services/snackbar\":375,\"../../../../services/store\":376,\"../../../category-select\":21,\"../../../form\":55,\"../../../form-group\":54,\"../../../modal-loader\":60,\"react\":\"react\"}],230:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'nav',\n { className: 'misago-pagination pull-left' },\n _react2.default.createElement(Pager, props),\n _react2.default.createElement(More, { more: props.posts.more })\n );\n};\n\nexports.Pager = Pager;\nexports.FirstPage = FirstPage;\nexports.PreviousPage = PreviousPage;\nexports.NextPage = NextPage;\nexports.LastPage = LastPage;\nexports.More = More;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRouter = require('react-router');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction Pager(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'row row-paginator' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-3' },\n _react2.default.createElement(FirstPage, props)\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-3' },\n _react2.default.createElement(PreviousPage, props)\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-3' },\n _react2.default.createElement(NextPage, props)\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-3' },\n _react2.default.createElement(LastPage, props)\n )\n );\n} /* jshint ignore:start */\nfunction FirstPage(props) {\n if (props.posts.isLoaded && props.posts.first) {\n return _react2.default.createElement(\n _reactRouter.Link,\n {\n className: 'btn btn-default btn-block btn-outline btn-icon',\n to: props.thread.url.index,\n title: gettext(\"Go to first page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'first_page'\n )\n );\n } else {\n return _react2.default.createElement(\n 'span',\n {\n className: 'btn btn-default btn-block btn-outline btn-icon disabled',\n title: gettext(\"Go to first page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'first_page'\n )\n );\n }\n}\n\nfunction PreviousPage(props) {\n if (props.posts.isLoaded && props.posts.page > 1) {\n var previousUrl = '';\n if (props.posts.previous) {\n previousUrl = props.posts.previous + '/';\n }\n\n return _react2.default.createElement(\n _reactRouter.Link,\n {\n className: 'btn btn-default btn-block btn-outline btn-icon',\n to: props.thread.url.index + previousUrl,\n title: gettext(\"Go to previous page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'chevron_left'\n )\n );\n } else {\n return _react2.default.createElement(\n 'span',\n {\n className: 'btn btn-default btn-block btn-outline btn-icon disabled',\n title: gettext(\"Go to previous page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'chevron_left'\n )\n );\n }\n}\n\nfunction NextPage(props) {\n if (props.posts.isLoaded && props.posts.more) {\n var nextUrl = '';\n if (props.posts.next) {\n nextUrl = props.posts.next + '/';\n }\n\n return _react2.default.createElement(\n _reactRouter.Link,\n {\n className: 'btn btn-default btn-block btn-outline btn-icon',\n to: props.thread.url.index + nextUrl,\n title: gettext(\"Go to next page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'chevron_right'\n )\n );\n } else {\n return _react2.default.createElement(\n 'span',\n {\n className: 'btn btn-default btn-block btn-outline btn-icon disabled',\n title: gettext(\"Go to next page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'chevron_right'\n )\n );\n }\n}\n\nfunction LastPage(props) {\n if (props.posts.isLoaded && props.posts.last) {\n return _react2.default.createElement(\n _reactRouter.Link,\n {\n className: 'btn btn-default btn-block btn-outline btn-icon',\n to: props.thread.url.index + props.posts.last + '/',\n title: gettext(\"Go to last page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'last_page'\n )\n );\n } else {\n return _react2.default.createElement(\n 'span',\n {\n className: 'btn btn-default btn-block btn-outline btn-icon disabled',\n title: gettext(\"Go to last page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'last_page'\n )\n );\n }\n}\n\nfunction More(props) {\n var message = null;\n if (props.more) {\n message = ngettext(\"There is %(more)s more post in this thread.\", \"There are %(more)s more posts in this thread.\", props.more);\n message = interpolate(message, { 'more': props.more }, true);\n } else {\n message = gettext(\"There are no more posts in this thread.\");\n }\n\n return _react2.default.createElement(\n 'p',\n null,\n message\n );\n}\n\n},{\"react\":\"react\",\"react-router\":\"react-router\"}],231:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'button',\n {\n className: props.className || 'btn btn-primary btn-outline',\n onClick: props.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'chat'\n ),\n gettext(\"Reply\")\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],232:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.select = select;\nexports.paths = paths;\n\nvar _reactRedux = require('react-redux');\n\nvar _route = require('./route');\n\nvar _route2 = _interopRequireDefault(_route);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction select(store) {\n return {\n 'participants': store.participants,\n 'poll': store.poll,\n 'posts': store.posts,\n 'thread': store.thread,\n 'tick': store.tick.tick,\n 'user': store.auth.user\n };\n}\n\nfunction paths() {\n var thread = _index2.default.get('THREAD');\n var basePath = thread.url.index.replace(thread.slug + '-' + thread.pk, ':slug');\n\n return [{\n path: basePath,\n component: (0, _reactRedux.connect)(select)(_route2.default)\n }, {\n path: basePath + ':page/',\n component: (0, _reactRedux.connect)(select)(_route2.default)\n }];\n}\n\n},{\"../../index\":301,\"./route\":233,\"react-redux\":\"react-redux\"}],233:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _participants = require('../participants');\n\nvar _participants2 = _interopRequireDefault(_participants);\n\nvar _poll = require('../poll');\n\nvar _postsList = require('../posts-list');\n\nvar _postsList2 = _interopRequireDefault(_postsList);\n\nvar _header = require('./header');\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _toolbarTop = require('./toolbar-top');\n\nvar _toolbarTop2 = _interopRequireDefault(_toolbarTop);\n\nvar _toolbarBottom = require('./toolbar-bottom');\n\nvar _toolbarBottom2 = _interopRequireDefault(_toolbarBottom);\n\nvar _participants3 = require('../../reducers/participants');\n\nvar participants = _interopRequireWildcard(_participants3);\n\nvar _poll2 = require('../../reducers/poll');\n\nvar poll = _interopRequireWildcard(_poll2);\n\nvar _posts = require('../../reducers/posts');\n\nvar posts = _interopRequireWildcard(_posts);\n\nvar _thread = require('../../reducers/thread');\n\nvar thread = _interopRequireWildcard(_thread);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _polls = require('../../services/polls');\n\nvar _polls2 = _interopRequireDefault(_polls);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _posting = require('../../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _pageTitle = require('../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.update = function (data) {\n _store2.default.dispatch(thread.replace(data));\n _store2.default.dispatch(posts.load(data.post_set));\n\n if (data.participants) {\n _store2.default.dispatch(participants.replace(data.participants));\n }\n\n if (data.poll) {\n _store2.default.dispatch(poll.replace(data.poll));\n }\n\n _this.setPageTitle();\n }, _this.openReplyForm = function () {\n _posting2.default.open({\n mode: 'REPLY',\n\n config: _this.props.thread.api.editor,\n submit: _this.props.thread.api.posts.index\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.shouldFetchData()) {\n this.fetchData();\n this.setPageTitle();\n }\n\n this.startPollingApi();\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n if (this.shouldFetchData()) {\n this.fetchData();\n this.startPollingApi();\n this.setPageTitle();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.stopPollingApi();\n }\n }, {\n key: 'shouldFetchData',\n value: function shouldFetchData() {\n if (this.props.posts.isLoaded) {\n var page = (this.props.params.page || 1) * 1;\n return page != this.props.posts.page;\n } else {\n return false;\n }\n }\n }, {\n key: 'fetchData',\n value: function fetchData() {\n var _this2 = this;\n\n _store2.default.dispatch(posts.unload());\n\n _ajax2.default.get(this.props.thread.api.posts.index, {\n page: this.props.params.page || 1\n }, 'posts').then(function (data) {\n _this2.update(data);\n }, function (rejection) {\n _snackbar2.default.apiError(rejection);\n });\n }\n }, {\n key: 'startPollingApi',\n value: function startPollingApi() {\n _polls2.default.start({\n poll: 'thread-posts',\n\n url: this.props.thread.api.posts.index,\n data: {\n page: this.props.params.page || 1\n },\n update: this.update,\n\n frequency: 120 * 1000,\n delayed: true\n });\n }\n }, {\n key: 'stopPollingApi',\n value: function stopPollingApi() {\n _polls2.default.stop('thread-posts');\n }\n }, {\n key: 'setPageTitle',\n value: function setPageTitle() {\n _pageTitle2.default.set({\n title: this.props.thread.title,\n parent: this.props.thread.category.name,\n page: (this.props.params.page || 1) * 1\n });\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n var className = 'page page-thread';\n if (this.props.thread.category.css_class) {\n className += ' page-thread-' + this.props.thread.category.css_class;\n }\n\n return _react2.default.createElement(\n 'div',\n { className: className },\n _react2.default.createElement(\n 'div',\n { className: 'page-header-bg' },\n _react2.default.createElement(_header2.default, this.props)\n ),\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(_toolbarTop2.default, _extends({\n openReplyForm: this.openReplyForm\n }, this.props)),\n _react2.default.createElement(_poll.Poll, {\n poll: this.props.poll,\n thread: this.props.thread,\n user: this.props.user\n }),\n _react2.default.createElement(_participants2.default, {\n participants: this.props.participants,\n thread: this.props.thread,\n user: this.props.user\n }),\n _react2.default.createElement(_postsList2.default, this.props),\n _react2.default.createElement(_toolbarBottom2.default, _extends({\n openReplyForm: this.openReplyForm\n }, this.props))\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../reducers/participants\":350,\"../../reducers/poll\":351,\"../../reducers/posts\":353,\"../../reducers/thread\":359,\"../../services/ajax\":364,\"../../services/page-title\":372,\"../../services/polls\":373,\"../../services/posting\":374,\"../../services/snackbar\":375,\"../../services/store\":376,\"../participants\":100,\"../poll\":105,\"../posts-list\":150,\"./header\":217,\"./toolbar-bottom\":235,\"./toolbar-top\":236,\"react\":\"react\"}],234:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Email = exports.Enable = exports.Disable = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = function (props) {\n if (!props.user.id) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: props.className },\n _react2.default.createElement(\n 'button',\n {\n 'aria-expanded': 'true',\n 'aria-haspopup': 'true',\n className: 'btn btn-default dropdown-toggle btn-block btn-outline',\n 'data-toggle': 'dropdown',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n getIcon(props.thread.subscription)\n ),\n getLabel(props.thread.subscription)\n ),\n _react2.default.createElement(Dropdown, props)\n );\n};\n\nexports.getIcon = getIcon;\nexports.getLabel = getLabel;\nexports.Dropdown = Dropdown;\nexports.update = update;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _thread = require('../../reducers/thread');\n\nvar actions = _interopRequireWildcard(_thread);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nfunction getIcon(subscription) {\n if (subscription === true) {\n return 'star';\n } else if (subscription === false) {\n return 'star_half';\n } else {\n return 'star_border';\n }\n}\n\nfunction getLabel(subscription) {\n if (subscription === true) {\n return gettext(\"E-mail\");\n } else if (subscription === false) {\n return gettext(\"Enabled\");\n } else {\n return gettext(\"Disabled\");\n }\n}\n\nfunction Dropdown(props) {\n return _react2.default.createElement(\n 'ul',\n { className: props.dropdownClassName || \"dropdown-menu stick-to-bottom\" },\n _react2.default.createElement(Disable, props),\n _react2.default.createElement(Enable, props),\n _react2.default.createElement(Email, props)\n );\n}\n\nvar Disable = exports.Disable = function (_React$Component) {\n _inherits(Disable, _React$Component);\n\n function Disable() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Disable);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Disable.__proto__ || Object.getPrototypeOf(Disable)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n if (_this.props.thread.subscription === null) {\n return;\n }\n\n update(_this.props.thread, null, 'unsubscribe');\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Disable, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { className: 'btn btn-link', onClick: this.onClick },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'star_border'\n ),\n gettext(\"Unsubscribe\")\n )\n );\n }\n }]);\n\n return Disable;\n}(_react2.default.Component);\n\nvar Enable = exports.Enable = function (_React$Component2) {\n _inherits(Enable, _React$Component2);\n\n function Enable() {\n var _ref2;\n\n var _temp2, _this2, _ret2;\n\n _classCallCheck(this, Enable);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, (_ref2 = Enable.__proto__ || Object.getPrototypeOf(Enable)).call.apply(_ref2, [this].concat(args))), _this2), _this2.onClick = function () {\n if (_this2.props.thread.subscription === false) {\n return;\n }\n\n update(_this2.props.thread, false, 'notify');\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n }\n\n _createClass(Enable, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { className: 'btn btn-link', onClick: this.onClick },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'star_half'\n ),\n gettext(\"Subscribe\")\n )\n );\n }\n }]);\n\n return Enable;\n}(_react2.default.Component);\n\nvar Email = exports.Email = function (_React$Component3) {\n _inherits(Email, _React$Component3);\n\n function Email() {\n var _ref3;\n\n var _temp3, _this3, _ret3;\n\n _classCallCheck(this, Email);\n\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _ret3 = (_temp3 = (_this3 = _possibleConstructorReturn(this, (_ref3 = Email.__proto__ || Object.getPrototypeOf(Email)).call.apply(_ref3, [this].concat(args))), _this3), _this3.onClick = function () {\n if (_this3.props.thread.subscription === true) {\n return;\n }\n\n update(_this3.props.thread, true, 'email');\n }, _temp3), _possibleConstructorReturn(_this3, _ret3);\n }\n\n _createClass(Email, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { className: 'btn btn-link', onClick: this.onClick },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'star'\n ),\n gettext(\"Subscribe with e-mail\")\n )\n );\n }\n }]);\n\n return Email;\n}(_react2.default.Component);\n\nfunction update(thread, newState, value) {\n var oldState = {\n subscription: thread.subscription\n };\n\n _store2.default.dispatch(actions.update({\n subscription: newState\n }));\n\n _ajax2.default.patch(thread.api.index, [{ op: 'replace', path: 'subscription', value: value }]).then(function (finalState) {\n _store2.default.dispatch(actions.update(finalState));\n }, function (rejection) {\n if (rejection.status === 400) {\n _snackbar2.default.error(rejection.detail[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n\n _store2.default.dispatch(actions.update(oldState));\n });\n}\n\n},{\"../../reducers/thread\":359,\"../../services/ajax\":364,\"../../services/snackbar\":375,\"../../services/store\":376,\"react\":\"react\"}],235:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /* jshint ignore:start */\n\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n { className: 'row row-toolbar' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 text-center visible-xs-block' },\n _react2.default.createElement(_paginator.More, { more: props.posts.more }),\n _react2.default.createElement('div', { className: 'toolbar-vertical-spacer' })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-md-7' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-sm-4 col-md-5' },\n _react2.default.createElement(_paginator.Pager, props)\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-sm-8 col-md-7 hidden-xs' },\n _react2.default.createElement(_paginator.More, { more: props.posts.more })\n )\n )\n ),\n _react2.default.createElement(\n Options,\n { visible: !!props.user.id },\n _react2.default.createElement('div', { className: 'toolbar-vertical-spacer hidden-md hidden-lg' }),\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(Spacer, props),\n _react2.default.createElement(Moderation, props),\n _react2.default.createElement(Subscription, props),\n _react2.default.createElement(Reply, {\n thread: props.thread,\n onClick: props.openReplyForm\n })\n )\n )\n );\n};\n\nexports.Options = Options;\nexports.Moderation = Moderation;\nexports.Subscription = Subscription;\nexports.Reply = Reply;\nexports.Spacer = Spacer;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _paginator = require('./paginator');\n\nvar _posts = require('./moderation/posts');\n\nvar _posts2 = _interopRequireDefault(_posts);\n\nvar _replyButton = require('./reply-button');\n\nvar _replyButton2 = _interopRequireDefault(_replyButton);\n\nvar _subscription = require('./subscription');\n\nvar _subscription2 = _interopRequireDefault(_subscription);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction Options(props) {\n if (!props.visible) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-md-5' },\n props.children\n );\n}\n\nfunction Moderation(props) {\n if (!props.user.id) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-sm-4 hidden-xs' },\n _react2.default.createElement(_posts2.default, props)\n );\n}\n\nfunction Subscription(props) {\n var xsClass = \"col-xs-6\";\n if (!props.thread.acl.can_reply) {\n xsClass = 'col-xs-12';\n }\n\n return _react2.default.createElement(\n 'div',\n { className: xsClass + \" col-sm-4\" },\n _react2.default.createElement(_subscription2.default, _extends({\n btnClassName: 'btn-block',\n className: 'dropup'\n }, props))\n );\n}\n\nfunction Reply(props) {\n if (!props.thread.acl.can_reply) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-6 col-sm-4' },\n _react2.default.createElement(_replyButton2.default, {\n className: 'btn btn-primary btn-block btn-outline',\n onClick: props.onClick\n })\n );\n}\n\nfunction Spacer(props) {\n if (props.thread.acl.can_reply) return null;\n\n return _react2.default.createElement('div', { className: 'hidden-xs hidden-sm col-sm-4' });\n}\n\n},{\"./moderation/posts\":222,\"./paginator\":230,\"./reply-button\":231,\"./subscription\":234,\"react\":\"react\"}],236:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.StartPollCompact = exports.StartPoll = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /* jshint ignore:start */\n\n\nexports.default = function (props) {\n var hiddenSpecialOption = !props.thread.acl.can_start_poll || props.thread.poll;\n\n return _react2.default.createElement(\n 'div',\n { className: 'row row-toolbar row-toolbar-bottom-margin' },\n _react2.default.createElement(GotoMenu, props),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-9 col-md-5 col-md-offset-2' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(Spacer, { visible: !props.user.id }),\n _react2.default.createElement(Spacer, { visible: hiddenSpecialOption }),\n _react2.default.createElement(SubscriptionMenu, props),\n _react2.default.createElement(StartPoll, props),\n _react2.default.createElement(Reply, props)\n )\n )\n );\n};\n\nexports.GotoMenu = GotoMenu;\nexports.GotoNew = GotoNew;\nexports.GotoBestAnswer = GotoBestAnswer;\nexports.GotoUnapproved = GotoUnapproved;\nexports.GotoLast = GotoLast;\nexports.CompactOptions = CompactOptions;\nexports.GotoNewCompact = GotoNewCompact;\nexports.GotoUnapprovedCompact = GotoUnapprovedCompact;\nexports.GotoLastCompact = GotoLastCompact;\nexports.Reply = Reply;\nexports.SubscriptionMenu = SubscriptionMenu;\nexports.Spacer = Spacer;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _replyButton = require('./reply-button');\n\nvar _replyButton2 = _interopRequireDefault(_replyButton);\n\nvar _subscription = require('./subscription');\n\nvar _subscription2 = _interopRequireDefault(_subscription);\n\nvar _posting = require('../../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction GotoMenu(props) {\n var user = props.user;\n\n\n var className = 'col-xs-3 col-sm-3 col-md-5';\n if (user.is_anonymous) {\n className = 'col-xs-12 col-sm-3 col-md-5';\n }\n\n return _react2.default.createElement(\n 'div',\n { className: className },\n _react2.default.createElement(\n 'div',\n { className: 'row hidden-xs hidden-sm' },\n _react2.default.createElement(GotoLast, { thread: props.thread }),\n _react2.default.createElement(GotoNew, { thread: props.thread }),\n _react2.default.createElement(GotoBestAnswer, { thread: props.thread }),\n _react2.default.createElement(GotoUnapproved, { thread: props.thread })\n ),\n _react2.default.createElement(CompactOptions, props)\n );\n}\n\nfunction GotoNew(props) {\n if (!props.thread.is_new) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-sm-4' },\n _react2.default.createElement(\n 'a',\n {\n href: props.thread.url.new_post,\n className: 'btn btn-default btn-block btn-outline',\n title: gettext('Go to first new post')\n },\n gettext(\"New\")\n )\n );\n}\n\nfunction GotoBestAnswer(props) {\n if (!props.thread.best_answer) {\n return null;\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-sm-4' },\n _react2.default.createElement(\n 'a',\n {\n href: props.thread.url.best_answer,\n className: 'btn btn-default btn-block btn-outline',\n title: gettext('Go to best answer')\n },\n gettext(\"Best answer\")\n )\n );\n}\n\nfunction GotoUnapproved(props) {\n if (!props.thread.has_unapproved_posts || !props.thread.acl.can_approve) {\n return null;\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-sm-4' },\n _react2.default.createElement(\n 'a',\n {\n href: props.thread.url.unapproved_post,\n className: 'btn btn-default btn-block btn-outline',\n title: gettext('Go to first unapproved post')\n },\n gettext(\"Unapproved\")\n )\n );\n}\n\nfunction GotoLast(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'col-sm-4' },\n _react2.default.createElement(\n 'a',\n {\n href: props.thread.url.last_post,\n className: 'btn btn-default btn-block btn-outline',\n title: gettext('Go to last post')\n },\n gettext(\"Last\")\n )\n );\n}\n\nfunction CompactOptions(props) {\n var user = props.user;\n\n if (user.is_anonymous) {\n return _react2.default.createElement(\n 'div',\n { className: 'visible-xs-block visible-sm-block' },\n _react2.default.createElement(\n 'a',\n {\n href: props.thread.url.last_post,\n className: 'btn btn-default btn-block btn-outline'\n },\n gettext(\"Last post\")\n )\n );\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'dropdown visible-xs-block visible-sm-block' },\n _react2.default.createElement(\n 'button',\n {\n 'aria-expanded': 'true',\n 'aria-haspopup': 'true',\n className: 'btn btn-default dropdown-toggle btn-block btn-outline',\n 'data-toggle': 'dropdown',\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'expand_more'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'btn-text hidden-xs' },\n gettext(\"Options\")\n )\n ),\n _react2.default.createElement(\n 'ul',\n { className: 'dropdown-menu' },\n _react2.default.createElement(StartPollCompact, props),\n _react2.default.createElement(GotoNewCompact, props),\n _react2.default.createElement(GotoUnapprovedCompact, props),\n _react2.default.createElement(GotoLastCompact, props)\n )\n );\n}\n\nfunction GotoNewCompact(props) {\n if (!props.thread.is_new) return null;\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'a',\n {\n href: props.thread.url.new_post,\n className: 'btn btn-link'\n },\n gettext(\"Go to first new post\")\n )\n );\n}\n\nfunction GotoUnapprovedCompact(props) {\n if (!props.thread.has_unapproved_posts || !props.thread.acl.can_approve) {\n return null;\n }\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'a',\n {\n href: props.thread.url.unapproved_post,\n className: 'btn btn-link'\n },\n gettext(\"Go to first unapproved post\")\n )\n );\n}\n\nfunction GotoLastCompact(props) {\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'a',\n {\n href: props.thread.url.last_post,\n className: 'btn btn-link'\n },\n gettext(\"Go to last post\")\n )\n );\n}\n\nfunction Reply(props) {\n if (!props.thread.acl.can_reply) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-sm-4 hidden-xs' },\n _react2.default.createElement(_replyButton2.default, {\n className: 'btn btn-primary btn-block btn-outline',\n onClick: props.openReplyForm\n })\n );\n}\n\nfunction SubscriptionMenu(props) {\n if (!props.user.id) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 col-sm-4' },\n _react2.default.createElement(_subscription2.default, _extends({\n className: 'dropdown',\n dropdownClassName: 'dropdown-menu dropdown-menu-right stick-to-bottom'\n }, props))\n );\n}\n\nvar StartPoll = exports.StartPoll = function (_React$Component) {\n _inherits(StartPoll, _React$Component);\n\n function StartPoll() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, StartPoll);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = StartPoll.__proto__ || Object.getPrototypeOf(StartPoll)).call.apply(_ref, [this].concat(args))), _this), _this.onClick = function () {\n _posting2.default.open({\n mode: 'POLL',\n submit: _this.props.thread.api.poll,\n\n thread: _this.props.thread,\n poll: null\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(StartPoll, [{\n key: 'render',\n value: function render() {\n if (!this.props.thread.acl.can_start_poll || this.props.thread.poll) {\n return null;\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-sm-4 hidden-xs' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-block btn-outline',\n onClick: this.onClick,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'poll'\n ),\n gettext(\"Add poll\")\n )\n );\n }\n }]);\n\n return StartPoll;\n}(_react2.default.Component);\n\nvar StartPollCompact = exports.StartPollCompact = function (_StartPoll) {\n _inherits(StartPollCompact, _StartPoll);\n\n function StartPollCompact() {\n _classCallCheck(this, StartPollCompact);\n\n return _possibleConstructorReturn(this, (StartPollCompact.__proto__ || Object.getPrototypeOf(StartPollCompact)).apply(this, arguments));\n }\n\n _createClass(StartPollCompact, [{\n key: 'render',\n value: function render() {\n if (!this.props.thread.acl.can_start_poll || this.props.thread.poll) {\n return null;\n }\n\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.onClick,\n type: 'button'\n },\n gettext(\"Add poll\")\n )\n );\n }\n }]);\n\n return StartPollCompact;\n}(StartPoll);\n\nfunction Spacer(props) {\n if (!props.visible) return null;\n\n return _react2.default.createElement('div', { className: 'col-sm-4 hidden-xs' });\n}\n\n},{\"../../services/posting\":374,\"./reply-button\":231,\"./subscription\":234,\"react\":\"react\"}],237:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n if (!props.isLoaded) {\n return _react2.default.createElement(_preview2.default, null);\n }\n\n if (props.threads.length === 0) {\n return _react2.default.createElement(\n _empty2.default,\n {\n diffSize: props.diffSize,\n applyDiff: props.applyDiff\n },\n props.children\n );\n }\n\n return _react2.default.createElement(_ready2.default, {\n activeCategory: props.category,\n categories: props.categories,\n list: props.list,\n threads: props.threads,\n\n diffSize: props.diffSize,\n applyDiff: props.applyDiff,\n\n showOptions: props.showOptions,\n selection: props.selection,\n\n busyThreads: props.busyThreads\n });\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _empty = require('./list/empty');\n\nvar _empty2 = _interopRequireDefault(_empty);\n\nvar _ready = require('./list/ready');\n\nvar _ready2 = _interopRequireDefault(_ready);\n\nvar _preview = require('./list/preview');\n\nvar _preview2 = _interopRequireDefault(_preview);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./list/empty\":239,\"./list/preview\":240,\"./list/ready\":241,\"react\":\"react\"}],238:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n var diffSize = props.diffSize,\n applyDiff = props.applyDiff;\n\n\n if (diffSize === 0) return null;\n\n return _react2.default.createElement(\n \"li\",\n { className: \"list-group-item threads-diff-message\" },\n _react2.default.createElement(\n \"button\",\n {\n type: \"button\",\n className: \"btn btn-block btn-default\",\n onClick: applyDiff\n },\n _react2.default.createElement(\n \"span\",\n { className: \"material-icon\" },\n \"cached\"\n ),\n _react2.default.createElement(\n \"span\",\n { className: \"diff-message\" },\n getMessage(diffSize)\n )\n )\n );\n};\n\nexports.getMessage = getMessage;\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nfunction getMessage(diffSize) {\n var message = 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.\", diffSize);\n\n return interpolate(message, {\n threads: diffSize\n }, true);\n}\n\n},{\"react\":\"react\"}],239:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _diffMessage = require('./diff-message');\n\nvar _diffMessage2 = _interopRequireDefault(_diffMessage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'getDiffMessage',\n value: function getDiffMessage() {\n if (this.props.diffSize === 0) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(_diffMessage2.default, {\n applyDiff: this.props.applyDiff,\n diffSize: this.props.diffSize\n });\n /* jshint ignore:end */\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'threads-list ui-ready' },\n _react2.default.createElement(\n 'ul',\n { className: 'list-group' },\n this.getDiffMessage(),\n this.props.children\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"./diff-message\":238,\"react\":\"react\"}],240:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _preview = require('../thread/preview');\n\nvar _preview2 = _interopRequireDefault(_preview);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n return false;\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'threads-list ui-preview' },\n _react2.default.createElement(\n 'ul',\n { className: 'list-group' },\n _react2.default.createElement(_preview2.default, null)\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../thread/preview\":248,\"react\":\"react\"}],241:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n { className: 'threads-list ui-ready' },\n _react2.default.createElement(\n 'ul',\n { className: 'list-group' },\n _react2.default.createElement(_diffMessage2.default, {\n diffSize: props.diffSize,\n applyDiff: props.applyDiff\n }),\n props.threads.map(function (thread) {\n return _react2.default.createElement(_ready2.default, {\n activeCategory: props.activeCategory,\n categories: props.categories,\n list: props.list,\n thread: thread,\n\n showOptions: props.showOptions,\n isSelected: props.selection.indexOf(thread.id) >= 0,\n\n isBusy: props.busyThreads.indexOf(thread.id) >= 0,\n key: thread.id\n });\n })\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _diffMessage = require('./diff-message');\n\nvar _diffMessage2 = _interopRequireDefault(_diffMessage);\n\nvar _ready = require('../thread/ready');\n\nvar _ready2 = _interopRequireDefault(_ready);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../thread/ready\":249,\"./diff-message\":238,\"react\":\"react\"}],242:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var category = _ref.category,\n isBusy = _ref.isBusy,\n showOptions = _ref.showOptions,\n isSelected = _ref.isSelected,\n thread = _ref.thread;\n\n var className = 'col-xs-12 col-sm-12';\n if (showOptions) {\n if (thread.moderation.length) {\n className = 'col-xs-6 col-sm-12';\n } else {\n className = 'col-xs-9 col-sm-12';\n }\n }\n\n var statusFlags = 0;\n if (thread.is_hidden) statusFlags += 1;\n if (thread.is_closed) statusFlags += 1;\n if (thread.has_poll) statusFlags += 1;\n\n var allFlagsVisible = showOptions && statusFlags === 3;\n\n var textClassName = 'detail-text hidden-xs';\n if (allFlagsVisible) {\n textClassName += ' hidden-sm';\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'row thread-details-bottom' },\n _react2.default.createElement(\n 'div',\n { className: className },\n _react2.default.createElement(_category2.default, {\n className: 'item-title thread-detail-category hidden-xs',\n category: category\n }),\n _react2.default.createElement(HiddenLabel, {\n textClassName: textClassName,\n display: thread.is_hidden\n }),\n _react2.default.createElement(ClosedLabel, {\n textClassName: textClassName,\n display: thread.is_closed\n }),\n _react2.default.createElement(PollLabel, {\n textClassName: textClassName,\n display: thread.has_poll\n }),\n _react2.default.createElement(BestAnswerLabel, { thread: thread }),\n _react2.default.createElement(RepliesLabel, {\n forceFullText: !showOptions || statusFlags < 2,\n replies: thread.replies\n }),\n _react2.default.createElement(LastReplyLabel, {\n datetime: thread.last_post_on,\n url: thread.url.last_post\n }),\n _react2.default.createElement(LastPoster, {\n posterName: thread.last_poster_name,\n url: thread.url.last_poster\n })\n ),\n _react2.default.createElement(_options.OptionsXs, {\n disabled: isBusy,\n display: showOptions,\n isSelected: isSelected,\n thread: thread\n })\n );;\n};\n\nexports.HiddenLabel = HiddenLabel;\nexports.ClosedLabel = ClosedLabel;\nexports.PollLabel = PollLabel;\nexports.BestAnswerLabel = BestAnswerLabel;\nexports.RepliesLabel = RepliesLabel;\nexports.LastReplyLabel = LastReplyLabel;\nexports.LastPoster = LastPoster;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _category = require('./category');\n\nvar _category2 = _interopRequireDefault(_category);\n\nvar _options = require('../options');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nfunction HiddenLabel(_ref2) {\n var display = _ref2.display,\n textClassName = _ref2.textClassName;\n\n if (!display) return null;\n\n return _react2.default.createElement(\n 'span',\n { className: 'thread-detail-hidden' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'visibility_off'\n ),\n _react2.default.createElement(\n 'span',\n { className: textClassName },\n gettext(\"Hidden\")\n )\n );\n}\n\nfunction ClosedLabel(_ref3) {\n var display = _ref3.display,\n textClassName = _ref3.textClassName;\n\n if (!display) return null;\n\n return _react2.default.createElement(\n 'span',\n { className: 'thread-detail-closed' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'lock_outline'\n ),\n _react2.default.createElement(\n 'span',\n { className: textClassName },\n gettext(\"Closed\")\n )\n );\n}\n\nfunction PollLabel(_ref4) {\n var display = _ref4.display,\n textClassName = _ref4.textClassName;\n\n if (!display) return null;\n\n return _react2.default.createElement(\n 'span',\n { className: 'thread-detail-poll' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'assessment'\n ),\n _react2.default.createElement(\n 'span',\n { className: textClassName },\n gettext(\"Poll\")\n )\n );\n}\n\nfunction BestAnswerLabel(_ref5) {\n var thread = _ref5.thread;\n\n if (!thread.best_answer) return null;\n\n return _react2.default.createElement(\n 'a',\n {\n className: 'visible-xs-inline-block thread-detail-answered',\n href: thread.url.best_answer\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'check_box'\n )\n );\n}\n\nfunction RepliesLabel(_ref6) {\n var replies = _ref6.replies,\n forceFullText = _ref6.forceFullText;\n\n var text = ngettext(\"%(replies)s reply\", \"%(replies)s replies\", replies);\n\n var compactClassName = '';\n var fullClassName = '';\n\n if (forceFullText) {\n compactClassName = 'detail-text hide';\n fullClassName = 'detail-text';\n } else {\n compactClassName = 'detail-text visible-xs-inline-block';\n fullClassName = 'detail-text hidden-xs';\n }\n\n return _react2.default.createElement(\n 'span',\n { className: 'thread-detail-replies' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'forum'\n ),\n _react2.default.createElement(\n 'span',\n { className: compactClassName },\n replies\n ),\n _react2.default.createElement(\n 'span',\n { className: fullClassName },\n interpolate(text, { replies: replies }, true)\n )\n );\n}\n\nfunction LastReplyLabel(_ref7) {\n var datetime = _ref7.datetime,\n url = _ref7.url;\n\n return _react2.default.createElement(\n 'a',\n {\n className: 'visible-sm-inline-block thread-detail-last-reply',\n href: url,\n title: datetime.format('LLL')\n },\n datetime.fromNow(true)\n );\n}\n\nfunction LastPoster(props) {\n var posterName = props.posterName,\n url = props.url;\n\n var className = 'visible-sm-inline-block item-title thread-last-poster';\n\n if (url) {\n return _react2.default.createElement(\n 'a',\n { className: className, href: url },\n posterName\n );\n }\n\n return _react2.default.createElement(\n 'span',\n { className: className },\n posterName\n );;\n}\n\n},{\"../options\":247,\"./category\":243,\"react\":\"react\"}],243:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var category = _ref.category,\n className = _ref.className;\n\n if (!category) return null;\n\n if (category.css_class) {\n className += ' thread-detail-category-' + category.css_class;\n }\n\n return _react2.default.createElement(\n 'a',\n {\n className: className,\n href: category.url.index\n },\n category.name\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],244:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TopDetails = exports.BottomDetails = undefined;\n\nvar _bottom = require('./bottom');\n\nvar _bottom2 = _interopRequireDefault(_bottom);\n\nvar _top = require('./top');\n\nvar _top2 = _interopRequireDefault(_top);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nexports.BottomDetails = _bottom2.default;\nexports.TopDetails = _top2.default;\n\n},{\"./bottom\":242,\"./top\":245}],245:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var category = _ref.category,\n thread = _ref.thread;\n\n return _react2.default.createElement(\n 'div',\n { className: 'thread-details-top' },\n _react2.default.createElement(NewLabel, {\n isRead: thread.is_read,\n url: thread.url.new_post\n }),\n _react2.default.createElement(PinnedLabel, { weight: thread.weight }),\n _react2.default.createElement(UnapprovedLabel, {\n thread: thread.is_unapproved,\n posts: thread.has_unapproved_posts\n }),\n _react2.default.createElement(BestAnswerLabel, { thread: thread }),\n _react2.default.createElement(_category2.default, {\n className: 'item-title thread-detail-category visible-xs-inline-block',\n category: category\n }),\n _react2.default.createElement(LastReplyLabel, {\n datetime: thread.last_post_on,\n url: thread.url.last_post\n }),\n _react2.default.createElement(LastPoster, {\n posterName: thread.last_poster_name,\n url: thread.url.last_poster\n })\n );\n};\n\nexports.NewLabel = NewLabel;\nexports.PinnedLabel = PinnedLabel;\nexports.UnapprovedLabel = UnapprovedLabel;\nexports.BestAnswerLabel = BestAnswerLabel;\nexports.LastReplyLabel = LastReplyLabel;\nexports.LastPoster = LastPoster;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _category = require('./category');\n\nvar _category2 = _interopRequireDefault(_category);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction NewLabel(_ref2) {\n var isRead = _ref2.isRead,\n url = _ref2.url;\n\n if (isRead) return null;\n\n return _react2.default.createElement(\n 'a',\n {\n className: 'thread-detail-new',\n href: url\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'comment'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'detail-text' },\n gettext(\"New posts\")\n )\n );\n} /* jshint ignore:start */\nfunction PinnedLabel(_ref3) {\n var weight = _ref3.weight;\n\n if (weight === 0) return null;\n\n var className = 'thread-detail-pinned-globally';\n var icon = 'bookmark';\n var text = gettext(\"Pinned globally\");\n\n if (weight === 1) {\n className = 'thread-detail-pinned-locally';\n icon = 'bookmark_border';\n text = gettext(\"Pinned locally\");\n }\n\n return _react2.default.createElement(\n 'span',\n { className: className },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n icon\n ),\n _react2.default.createElement(\n 'span',\n { className: 'detail-text' },\n text\n )\n );\n}\n\nfunction UnapprovedLabel(_ref4) {\n var posts = _ref4.posts,\n thread = _ref4.thread;\n\n if (!posts && !thread) return null;\n\n var className = 'thread-detail-unapproved-posts';\n var icon = 'remove_circle_outline';\n var text = gettext(\"Unapproved posts\");\n\n if (thread) {\n className = 'thread-detail-unapproved';\n icon = 'remove_circle';\n text = gettext(\"Unapproved\");\n }\n\n return _react2.default.createElement(\n 'span',\n { className: className },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n icon\n ),\n _react2.default.createElement(\n 'span',\n { className: 'detail-text' },\n text\n )\n );\n}\n\nfunction BestAnswerLabel(_ref5) {\n var thread = _ref5.thread;\n\n if (!thread.best_answer) return null;\n\n return _react2.default.createElement(\n 'a',\n {\n className: 'hidden-xs thread-detail-answered',\n href: thread.url.best_answer\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'check_box'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'detail-text' },\n gettext(\"Answered\")\n )\n );\n}\n\nfunction LastReplyLabel(_ref6) {\n var datetime = _ref6.datetime,\n url = _ref6.url;\n\n return _react2.default.createElement(\n 'a',\n {\n className: 'visible-xs-inline-block thread-detail-last-reply',\n href: url,\n title: datetime.format('LLL')\n },\n datetime.fromNow(true)\n );\n}\n\nfunction LastPoster(props) {\n var posterName = props.posterName,\n url = props.url;\n\n\n if (url) {\n return _react2.default.createElement(\n 'a',\n {\n className: 'visible-xs-inline-block item-title thread-last-poster',\n href: url\n },\n posterName\n );\n }\n\n return _react2.default.createElement(\n 'span',\n { className: 'visible-xs-inline-block item-title thread-last-poster' },\n posterName\n );\n}\n\n},{\"./category\":243,\"react\":\"react\"}],246:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var thread = _ref.thread;\n\n return _react2.default.createElement(\n 'div',\n { className: 'media' },\n _react2.default.createElement(\n 'div',\n { className: 'media-left' },\n _react2.default.createElement(\n _userUrl2.default,\n {\n className: 'thread-last-poster-avatar',\n title: thread.last_poster_name,\n url: thread.url.last_poster\n },\n _react2.default.createElement(_avatar2.default, {\n className: 'media-object',\n size: 40,\n user: thread.last_poster\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'media-body' },\n _react2.default.createElement(\n _userUrl2.default,\n {\n className: 'item-title thread-last-poster',\n url: thread.url.last_poster\n },\n thread.last_poster_name\n ),\n _react2.default.createElement(Timestamp, {\n datetime: thread.last_post_on,\n url: thread.url.last_post\n })\n )\n );\n};\n\nexports.Timestamp = Timestamp;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _userUrl = require('./user-url');\n\nvar _userUrl2 = _interopRequireDefault(_userUrl);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nfunction Timestamp(_ref2) {\n var datetime = _ref2.datetime,\n url = _ref2.url;\n\n return _react2.default.createElement(\n 'a',\n {\n className: 'thread-last-reply',\n href: url,\n title: datetime.format('LLL')\n },\n datetime.fromNow(true)\n );\n}\n\n},{\"../../avatar\":6,\"./user-url\":254,\"react\":\"react\"}],247:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Checkbox = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.Options = Options;\nexports.OptionsXs = OptionsXs;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _compact = require('./subscription/compact');\n\nvar _compact2 = _interopRequireDefault(_compact);\n\nvar _full = require('./subscription/full');\n\nvar _full2 = _interopRequireDefault(_full);\n\nvar _selection = require('../../../reducers/selection');\n\nvar select = _interopRequireWildcard(_selection);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nfunction Options(_ref) {\n var display = _ref.display,\n disabled = _ref.disabled,\n isSelected = _ref.isSelected,\n thread = _ref.thread;\n\n if (!display) return null;\n\n var className = 'col-sm-2 col-md-2 hidden-xs';\n if (thread.moderation.length) {\n className = 'col-sm-3 col-md-2 hidden-xs';\n }\n\n return _react2.default.createElement(\n 'div',\n { className: className },\n _react2.default.createElement(\n 'div',\n { className: 'row thread-options' },\n _react2.default.createElement(_full2.default, {\n thread: thread,\n disabled: disabled\n }),\n _react2.default.createElement(_compact2.default, {\n thread: thread,\n disabled: disabled\n }),\n _react2.default.createElement(Checkbox, {\n thread: thread,\n disabled: disabled,\n isSelected: isSelected\n })\n )\n );\n}\n\nfunction OptionsXs(_ref2) {\n var display = _ref2.display,\n disabled = _ref2.disabled,\n isSelected = _ref2.isSelected,\n thread = _ref2.thread;\n\n if (!display) return null;\n\n var className = '';\n if (thread.moderation.length) {\n className += 'col-xs-6';\n } else {\n className += 'col-xs-3';\n }\n className += ' visible-xs-block thread-options-xs';\n\n return _react2.default.createElement(\n 'div',\n { className: className },\n _react2.default.createElement(\n 'div',\n { className: 'row thread-options' },\n _react2.default.createElement(_full2.default, {\n thread: thread,\n disabled: disabled\n }),\n _react2.default.createElement(_compact2.default, {\n thread: thread,\n disabled: disabled\n }),\n _react2.default.createElement(Checkbox, {\n thread: thread,\n disabled: disabled,\n isSelected: isSelected\n })\n )\n );\n}\n\nvar Checkbox = exports.Checkbox = function (_React$Component) {\n _inherits(Checkbox, _React$Component);\n\n function Checkbox() {\n var _ref3;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Checkbox);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref3 = Checkbox.__proto__ || Object.getPrototypeOf(Checkbox)).call.apply(_ref3, [this].concat(args))), _this), _this.toggleSelection = function () {\n _store2.default.dispatch(select.item(_this.props.thread.id));\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Checkbox, [{\n key: 'render',\n value: function render() {\n var _props = this.props,\n disabled = _props.disabled,\n isSelected = _props.isSelected,\n thread = _props.thread;\n\n\n if (!thread.moderation.length) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-6' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-icon btn-block',\n onClick: this.toggleSelection,\n disabled: disabled\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n isSelected ? 'check_box' : 'check_box_outline_blank'\n )\n )\n );\n }\n }]);\n\n return Checkbox;\n}(_react2.default.Component);\n\n},{\"../../../reducers/selection\":357,\"../../../services/store\":376,\"./subscription/compact\":250,\"./subscription/full\":251,\"react\":\"react\"}],248:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _random = require('../../../utils/random');\n\nvar random = _interopRequireWildcard(_random);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n return false;\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: 'list-group-item thread-preview' },\n _react2.default.createElement(\n 'div',\n { className: 'thread-details-top visible-xs-block' },\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 80) + \"px\" }\n },\n '\\xA0'\n ),\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 80) + \"px\" }\n },\n '\\xA0'\n ),\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 80) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'span',\n { className: 'item-title thread-title' },\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(60, 200) + \"px\" }\n },\n '\\xA0'\n ),\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text hidden-xs',\n style: { width: random.int(60, 200) + \"px\" }\n },\n '\\xA0'\n ),\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text hidden-xs',\n style: { width: random.int(60, 200) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'thread-details-bottom' },\n _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 80) + \"px\" }\n },\n '\\xA0'\n ),\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 80) + \"px\" }\n },\n '\\xA0'\n ),\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 80) + \"px\" }\n },\n '\\xA0'\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../utils/random\":387,\"react\":\"react\"}],249:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n var activeCategory = props.activeCategory,\n categories = props.categories,\n list = props.list,\n thread = props.thread,\n isBusy = props.isBusy,\n isSelected = props.isSelected,\n showOptions = props.showOptions;\n\n\n var category = null;\n if (activeCategory.id !== thread.category) {\n category = categories[thread.category];\n }\n\n var flavor = category || activeCategory;\n\n var className = 'thread-main col-xs-12';\n if (showOptions) {\n if (thread.moderation.length) {\n className += ' col-sm-9 col-md-7';\n } else {\n className += ' col-sm-10 col-md-7';\n }\n } else {\n className += ' col-sm-12 col-md-9';\n }\n\n return _react2.default.createElement(\n 'li',\n { className: getClassName(thread.is_read, isBusy, isSelected, flavor) },\n _react2.default.createElement(_details.TopDetails, {\n category: category,\n thread: thread\n }),\n _react2.default.createElement(\n 'div',\n { className: 'row thread-row' },\n _react2.default.createElement(\n 'div',\n { className: className },\n _react2.default.createElement(\n 'div',\n { className: 'media' },\n _react2.default.createElement(\n 'div',\n { className: 'media-left hidden-xs' },\n _react2.default.createElement(\n _userUrl2.default,\n {\n className: 'thread-starter-avatar',\n title: thread.starter_name,\n url: thread.url.starter\n },\n _react2.default.createElement(_avatar2.default, {\n size: 40,\n user: thread.starter\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'media-body' },\n _react2.default.createElement(\n 'a',\n { href: thread.url.index, className: 'item-title thread-title' },\n thread.title\n ),\n _react2.default.createElement(_details.BottomDetails, {\n category: category,\n disabled: isBusy,\n isSelected: isSelected,\n showOptions: showOptions,\n thread: thread\n })\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-md-3 hidden-xs hidden-sm thread-last-action' },\n _react2.default.createElement(_lastAction2.default, { thread: thread })\n ),\n _react2.default.createElement(_options.Options, {\n disabled: isBusy,\n display: showOptions,\n isSelected: isSelected,\n thread: thread\n })\n )\n );\n};\n\nexports.getClassName = getClassName;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _details = require('./details');\n\nvar _lastAction = require('./last-action');\n\nvar _lastAction2 = _interopRequireDefault(_lastAction);\n\nvar _options = require('./options');\n\nvar _userUrl = require('./user-url');\n\nvar _userUrl2 = _interopRequireDefault(_userUrl);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getClassName(isRead, isBusy, isSelected, flavor) {\n var styles = ['list-group-item'];\n\n if (flavor && flavor.css_class) {\n styles.push('list-group-category-has-flavor');\n styles.push('list-group-item-category-' + flavor.css_class);\n }\n\n if (isRead) {\n styles.push('thread-read');\n } else {\n styles.push('thread-new');\n }\n\n if (isBusy) {\n styles.push('thread-busy');\n } else if (isSelected) {\n styles.push('thread-selected');\n }\n\n return styles.join(' ');\n} /* jshint ignore:start */\n\n},{\"../../avatar\":6,\"./details\":244,\"./last-action\":246,\"./options\":247,\"./user-url\":254,\"react\":\"react\"}],250:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _full = require('./full');\n\nvar _full2 = _interopRequireDefault(_full);\n\nvar _modal = require('./modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _modal3 = require('../../../../services/modal');\n\nvar _modal4 = _interopRequireDefault(_modal3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_SubscriptionFull) {\n _inherits(_class, _SubscriptionFull);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.showOptions = function () {\n _modal4.default.show(_react2.default.createElement(_modal2.default, { thread: _this.props.thread }));\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n var moderation = this.props.thread.moderation;\n\n\n var className = '';\n if (moderation.length) {\n className += 'col-xs-6';\n } else {\n className += 'col-xs-12';\n }\n className += ' hidden-md hidden-lg';\n\n return _react2.default.createElement(\n 'div',\n { className: className },\n _react2.default.createElement(\n 'button',\n {\n type: 'button',\n className: this.getClassName(),\n disabled: this.props.disabled,\n onClick: this.showOptions\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n this.getIcon()\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_full2.default);\n\nexports.default = _class;\n\n},{\"../../../../services/modal\":370,\"./full\":251,\"./modal\":252,\"react\":\"react\"}],251:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.Label = Label;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _options = require('./options');\n\nvar _options2 = _interopRequireDefault(_options);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'getIcon',\n value: function getIcon() {\n if (this.props.thread.subscription === true) {\n return 'star';\n } else if (this.props.thread.subscription === false) {\n return 'star_half';\n }\n\n return 'star_border';\n }\n }, {\n key: 'getClassName',\n value: function getClassName() {\n if (this.props.thread.subscription === true) {\n return \"btn btn-default btn-icon btn-block btn-subscribe btn-subscribe-full dropdown-toggle\";\n } else if (this.props.thread.subscription === false) {\n return \"btn btn-default btn-icon btn-block btn-subscribe btn-subscribe-half dropdown-toggle\";\n }\n\n return \"btn btn-default btn-icon btn-block btn-subscribe dropdown-toggle\";\n }\n }, {\n key: 'render',\n value: function render() {\n var _props$thread = this.props.thread,\n moderation = _props$thread.moderation,\n subscription = _props$thread.subscription;\n\n var fullwidth = !moderation.length;\n\n var className = fullwidth ? 'col-xs-12' : 'col-xs-6';\n className += ' hidden-xs hidden-sm';\n\n return _react2.default.createElement(\n 'div',\n { className: className },\n _react2.default.createElement(\n 'div',\n { className: 'btn-group btn-group-justified' },\n _react2.default.createElement(\n 'div',\n { className: 'btn-group' },\n _react2.default.createElement(\n 'button',\n {\n type: 'button',\n className: this.getClassName(),\n disabled: this.props.disabled,\n 'data-toggle': 'dropdown',\n 'aria-haspopup': 'true',\n 'aria-expanded': 'false'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n this.getIcon()\n ),\n _react2.default.createElement(Label, {\n moderation: moderation,\n subscription: subscription\n })\n ),\n _react2.default.createElement(_options2.default, {\n className: 'dropdown-menu dropdown-menu-right',\n thread: this.props.thread\n })\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\nfunction Label(_ref) {\n var moderation = _ref.moderation,\n subscription = _ref.subscription;\n\n if (moderation.length) return null;\n\n var text = gettext(\"Disabled\");\n if (subscription === true) {\n text = gettext(\"E-mail\");\n } else if (subscription === false) {\n text = gettext(\"Enabled\");\n }\n\n return _react2.default.createElement(\n 'span',\n { className: 'btn-text' },\n text\n );\n}\n\n},{\"./options\":253,\"react\":\"react\"}],252:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _options = require('./options');\n\nvar _options2 = _interopRequireDefault(_options);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'modal-dialog modal-sm',\n role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'close', 'data-dismiss': 'modal',\n 'aria-label': gettext(\"Close\") },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Change subscription\")\n )\n ),\n _react2.default.createElement(_options2.default, { className: 'modal-menu', thread: this.props.thread })\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"./options\":253,\"react\":\"react\"}],253:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _threads = require('../../../../reducers/threads');\n\nvar _ajax = require('../../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\n/* jshint ignore:start */\nvar STATE_UPDATES = {\n 'unsubscribe': null,\n 'notify': false,\n 'email': true\n};\n/* jshint ignore:end */\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.setSubscription = function (newState) {\n _modal2.default.hide();\n\n _this.setState({\n isLoading: true\n });\n\n var oldState = _this.props.thread.subscription;\n\n _store2.default.dispatch((0, _threads.patch)(_this.props.thread, {\n subscription: STATE_UPDATES[newState]\n }));\n\n _ajax2.default.patch(_this.props.thread.api.index, [{ op: 'replace', path: 'subscription', value: newState }]).then(function () {\n _this.setState({\n isLoading: false\n });\n }, function (rejection) {\n _this.setState({\n isLoading: false\n });\n _store2.default.dispatch((0, _threads.patch)(_this.props.thread, {\n subscription: STATE_UPDATES[oldState]\n }));\n _snackbar2.default.apiError(rejection);\n });\n };\n\n _this.unsubscribe = function () {\n _this.setSubscription('unsubscribe');\n };\n\n _this.notify = function () {\n _this.setSubscription('notify');\n };\n\n _this.email = function () {\n _this.setSubscription('email');\n };\n\n _this.state = {\n isLoading: false\n };\n return _this;\n }\n\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'ul',\n { className: this.props.className },\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { className: 'btn-link', onClick: this.unsubscribe },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'star_border'\n ),\n gettext(\"Unsubscribe\")\n )\n ),\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { className: 'btn-link', onClick: this.notify },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'star_half'\n ),\n gettext(\"Subscribe\")\n )\n ),\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n { className: 'btn-link', onClick: this.email },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'star'\n ),\n gettext(\"Subscribe with e-mail\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../../reducers/threads\":360,\"../../../../services/ajax\":364,\"../../../../services/modal\":370,\"../../../../services/snackbar\":375,\"../../../../services/store\":376,\"../../../button\":8,\"react\":\"react\"}],254:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var children = _ref.children,\n className = _ref.className,\n title = _ref.title,\n url = _ref.url;\n\n if (url) {\n return _react2.default.createElement(\n 'a',\n {\n className: className,\n href: url,\n title: title\n },\n children\n );\n }\n\n return _react2.default.createElement(\n 'span',\n {\n className: className,\n title: title\n },\n children\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"react\":\"react\"}],255:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Subcategory = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRouter = require('react-router');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar Subcategory = exports.Subcategory = function (_React$Component) {\n _inherits(Subcategory, _React$Component);\n\n function Subcategory() {\n _classCallCheck(this, Subcategory);\n\n return _possibleConstructorReturn(this, (Subcategory.__proto__ || Object.getPrototypeOf(Subcategory)).apply(this, arguments));\n }\n\n _createClass(Subcategory, [{\n key: 'getUrl',\n value: function getUrl() {\n if (this.props.listPath) {\n return this.props.category.url.index + this.props.listPath;\n } else {\n return this.props.category.url.index;\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n _reactRouter.Link,\n { to: this.getUrl(), className: 'btn btn-link' },\n this.props.category.name\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return Subcategory;\n}(_react2.default.Component);\n\nvar _class = function (_React$Component2) {\n _inherits(_class, _React$Component2);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n var _this3 = this;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'dropdown category-picker' },\n _react2.default.createElement(\n 'button',\n {\n type: 'button',\n className: 'btn btn-default btn-outline dropdown-toggle btn-block',\n 'data-toggle': 'dropdown',\n 'aria-haspopup': 'true',\n 'aria-expanded': 'false'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'label_outline'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'hidden-xs' },\n gettext(\"Category\")\n )\n ),\n _react2.default.createElement(\n 'ul',\n { className: 'dropdown-menu stick-to-bottom categories-menu' },\n this.props.choices.map(function (id) {\n if (_this3.props.categories[id]) {\n return _react2.default.createElement(Subcategory, {\n category: _this3.props.categories[id],\n listPath: _this3.props.list.path,\n key: id\n });\n } else {\n return null;\n }\n })\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\",\"react-router\":\"react-router\"}],256:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.compareLastPostAge = compareLastPostAge;\nexports.compareGlobalWeight = compareGlobalWeight;\nexports.compareWeight = compareWeight;\nfunction compareLastPostAge(a, b) {\n if (a.last_post > b.last_post) {\n return -1;\n } else if (a.last_post < b.last_post) {\n return 1;\n } else {\n return 0;\n }\n}\n\nfunction compareGlobalWeight(a, b) {\n if (a.weight === 2 && a.weight > b.weight) {\n return -1;\n } else if (b.weight === 2 && a.weight < b.weight) {\n return 1;\n } else {\n return compareLastPostAge(a, b);\n }\n}\n\nfunction compareWeight(a, b) {\n if (a.weight > b.weight) {\n return -1;\n } else if (a.weight < b.weight) {\n return 1;\n } else {\n return compareLastPostAge(a, b);\n }\n}\n\n},{}],257:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _pageLead = require('../page-lead');\n\nvar _pageLead2 = _interopRequireDefault(_pageLead);\n\nvar _toolbar = require('./toolbar');\n\nvar _toolbar2 = _interopRequireDefault(_toolbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'getCategoryDescription',\n value: function getCategoryDescription() {\n if (this.props.pageLead) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'category-description' },\n _react2.default.createElement(\n 'div',\n { className: 'page-lead' },\n _react2.default.createElement(\n 'p',\n null,\n this.props.pageLead\n )\n )\n );\n /* jshint ignore:end */\n } else if (this.props.route.category.description) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'category-description' },\n _react2.default.createElement(_pageLead2.default, { copy: this.props.route.category.description.html })\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'getDisableToolbar',\n value: function getDisableToolbar() {\n return !this.props.isLoaded || this.props.isBusy || this.props.busyThreads.length;\n }\n }, {\n key: 'getToolbar',\n value: function getToolbar() {\n var isVisible = this.props.subcategories.length || this.props.user.id;\n\n if (!isVisible) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(_toolbar2.default, {\n subcategories: this.props.subcategories,\n categories: this.props.route.categories,\n categoriesMap: this.props.route.categoriesMap,\n list: this.props.route.list,\n\n threads: this.props.threads,\n moderation: this.props.moderation,\n selection: this.props.selection,\n selectAllThreads: this.props.selectAllThreads,\n selectNoneThreads: this.props.selectNoneThreads,\n\n addThreads: this.props.addThreads,\n freezeThread: this.props.freezeThread,\n deleteThread: this.props.deleteThread,\n updateThread: this.props.updateThread,\n\n api: this.props.api,\n route: this.props.route,\n disabled: this.getDisableToolbar(),\n user: this.props.user\n });\n /* jshint ignore:end */\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'container' },\n this.getCategoryDescription(),\n this.getToolbar(),\n this.props.children\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../page-lead\":91,\"./toolbar\":268,\"react\":\"react\"}],258:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.ParentCategory = ParentCategory;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRouter = require('react-router');\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _dropdownToggle = require('../dropdown-toggle');\n\nvar _dropdownToggle2 = _interopRequireDefault(_dropdownToggle);\n\nvar _nav = require('./nav');\n\nvar _nav2 = _interopRequireDefault(_nav);\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _posting = require('../../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.startThread = function () {\n _posting2.default.open(_this.props.startThread || {\n mode: 'START',\n\n config: _2.default.get('THREAD_EDITOR_API'),\n submit: _2.default.get('THREADS_API'),\n\n category: _this.props.route.category.id\n });\n };\n\n _this.state = {\n isBusy: false\n };\n return _this;\n }\n\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'hasGoBackButton',\n\n /* jshint ignore:end */\n\n value: function hasGoBackButton() {\n return !!this.props.route.category.parent;\n }\n }, {\n key: 'getGoBackButton',\n value: function getGoBackButton() {\n if (!this.props.route.category.parent) return null;\n\n /* jshint ignore:start */\n var parent = this.props.categories[this.props.route.category.parent];\n\n return _react2.default.createElement(\n 'div',\n { className: 'hidden-xs col-sm-2 col-lg-1' },\n _react2.default.createElement(\n _reactRouter.Link,\n {\n className: 'btn btn-default btn-icon btn-aligned btn-go-back btn-block btn-outline',\n to: parent.url.index + this.props.route.list.path\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'keyboard_arrow_left'\n )\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getStartThreadButton',\n value: function getStartThreadButton() {\n if (!this.props.user.id) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n _button2.default,\n {\n className: 'btn-primary btn-block btn-outline',\n onClick: this.startThread,\n disabled: this.props.disabled\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'chat'\n ),\n gettext(\"Start thread\")\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n var headerClassName = 'col-xs-12';\n if (this.hasGoBackButton()) {\n headerClassName += ' col-sm-10 col-lg-11 sm-align-row-buttons';\n }\n\n var isAuthenticated = !!this.props.user.id;\n\n return _react2.default.createElement(\n 'div',\n { className: 'page-header-bg' },\n _react2.default.createElement(\n 'div',\n { className: 'page-header' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: isAuthenticated ? \"col-sm-9 col-md-10\" : \"col-xs-12\" },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n this.getGoBackButton(),\n _react2.default.createElement(\n 'div',\n { className: headerClassName },\n _react2.default.createElement(ParentCategory, {\n categories: this.props.categories,\n category: this.props.route.category.parent\n }),\n _react2.default.createElement(\n 'h1',\n null,\n this.props.title\n )\n )\n )\n ),\n isAuthenticated && _react2.default.createElement(\n 'div',\n { className: 'col-sm-3 col-md-2 xs-margin-top' },\n this.getStartThreadButton()\n )\n )\n ),\n _react2.default.createElement(_nav2.default, {\n baseUrl: this.props.route.category.url.index,\n list: this.props.route.list,\n lists: this.props.route.lists\n })\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\n/* jshint ignore:start */\n\n\nexports.default = _class;\nfunction ParentCategory(_ref) {\n var categories = _ref.categories,\n category = _ref.category;\n\n if (!category) return null;\n\n var parent = categories[category];\n\n return _react2.default.createElement(\n _reactRouter.Link,\n {\n className: 'go-back-sm visible-xs-block',\n to: parent.url.index\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'chevron_left'\n ),\n parent.parent ? parent.name : gettext(\"Threads\")\n );\n}\n/* jshint ignore:end */\n\n},{\"../..\":301,\"../../services/ajax\":364,\"../../services/posting\":374,\"../../services/snackbar\":375,\"../../services/store\":376,\"../button\":8,\"../dropdown-toggle\":27,\"./nav\":265,\"react\":\"react\",\"react-router\":\"react-router\"}],259:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n if (this.props.list.type === 'all') {\n if (this.props.emptyMessage) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: 'list-group-item empty-message' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n this.props.emptyMessage\n ),\n _react2.default.createElement(\n 'p',\n null,\n gettext(\"Why not start one yourself?\")\n )\n );\n /* jshint ignore:end */\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: 'list-group-item empty-message' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n this.props.category.special_role ? gettext(\"There are no threads on this forum... yet!\") : gettext(\"There are no threads in this category.\")\n ),\n _react2.default.createElement(\n 'p',\n null,\n gettext(\"Why not start one yourself?\")\n )\n );\n /* jshint ignore:end */\n }\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: 'list-group-item empty-message' },\n gettext(\"No threads matching specified criteria were found.\")\n );\n /* jshint ignore:end */\n }\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\"}],260:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _errorsList = require('./errors-list');\n\nvar _errorsList2 = _interopRequireDefault(_errorsList);\n\nvar _merge = require('./merge');\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _move = require('./move');\n\nvar _move2 = _interopRequireDefault(_move);\n\nvar _selection = require('../../../reducers/selection');\n\nvar select = _interopRequireWildcard(_selection);\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _countdown = require('../../../utils/countdown');\n\nvar _countdown2 = _interopRequireDefault(_countdown);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.callApi = function (ops, successMessage) {\n var onSuccess = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n // freeze threads\n _this.props.threads.forEach(function (thread) {\n _this.props.freezeThread(thread.id);\n });\n\n // list ids\n var ids = _this.props.threads.map(function (thread) {\n return thread.id;\n });\n\n // always return current acl\n ops.push({ op: 'add', path: 'acl', value: true });\n\n _ajax2.default.patch(_this.props.api, { ids: ids, ops: ops }).then(function (data) {\n // unfreeze\n _this.props.threads.forEach(function (thread) {\n _this.props.freezeThread(thread.id);\n });\n\n // update threads\n data.forEach(function (thread) {\n _this.props.updateThread(thread);\n });\n\n // show success message and call callback\n _snackbar2.default.success(successMessage);\n if (onSuccess) {\n onSuccess();\n }\n }, function (rejection) {\n // unfreeze\n _this.props.threads.forEach(function (thread) {\n _this.props.freezeThread(thread.id);\n });\n\n // escape on non-400 error\n if (rejection.status !== 400) {\n return _snackbar2.default.apiError(rejection);\n }\n\n // build errors list\n var errors = [];\n var threadsMap = {};\n\n _this.props.threads.forEach(function (thread) {\n threadsMap[thread.id] = thread;\n });\n\n rejection.forEach(function (_ref2) {\n var id = _ref2.id,\n detail = _ref2.detail;\n\n if (typeof threadsMap[id] !== 'undefined') {\n errors.push({\n errors: detail,\n thread: threadsMap[id]\n });\n }\n });\n\n _modal2.default.show(_react2.default.createElement(_errorsList2.default, { errors: errors }));\n });\n }, _this.pinGlobally = function () {\n _this.callApi([{\n op: 'replace',\n path: 'weight',\n value: 2\n }], gettext(\"Selected threads were pinned globally.\"));\n }, _this.pinLocally = function () {\n _this.callApi([{\n op: 'replace',\n path: 'weight',\n value: 1\n }], gettext(\"Selected threads were pinned locally.\"));\n }, _this.unpin = function () {\n _this.callApi([{\n op: 'replace',\n path: 'weight',\n value: 0\n }], gettext(\"Selected threads were unpinned.\"));\n }, _this.approve = function () {\n _this.callApi([{\n op: 'replace',\n path: 'is-unapproved',\n value: false\n }], gettext(\"Selected threads were approved.\"));\n }, _this.open = function () {\n _this.callApi([{\n op: 'replace',\n path: 'is-closed',\n value: false\n }], gettext(\"Selected threads were opened.\"));\n }, _this.close = function () {\n _this.callApi([{\n op: 'replace',\n path: 'is-closed',\n value: true\n }], gettext(\"Selected threads were closed.\"));\n }, _this.unhide = function () {\n _this.callApi([{\n op: 'replace',\n path: 'is-hidden',\n value: false\n }], gettext(\"Selected threads were unhidden.\"));\n }, _this.hide = function () {\n _this.callApi([{\n op: 'replace',\n path: 'is-hidden',\n value: true\n }], gettext(\"Selected threads were hidden.\"));\n }, _this.move = function () {\n _modal2.default.show(_react2.default.createElement(_move2.default, {\n callApi: _this.callApi,\n categories: _this.props.categories,\n categoriesMap: _this.props.categoriesMap,\n route: _this.props.route,\n user: _this.props.user\n }));\n }, _this.merge = function () {\n var errors = [];\n _this.props.threads.forEach(function (thread) {\n if (!thread.acl.can_merge) {\n errors.append({\n 'id': thread.id,\n 'title': thread.title,\n 'errors': [gettext(\"You don't have permission to merge this thread with others.\")]\n });\n }\n });\n\n if (_this.props.threads.length < 2) {\n _snackbar2.default.info(gettext(\"You have to select at least two threads to merge.\"));\n } else if (errors.length) {\n _modal2.default.show(_react2.default.createElement(_errorsList2.default, { errors: errors }));\n return;\n } else {\n _modal2.default.show(_react2.default.createElement(_merge2.default, _this.props));\n }\n }, _this.delete = function () {\n if (!confirm(gettext(\"Are you sure you want to delete selected threads?\"))) {\n return;\n }\n\n _this.props.threads.map(function (thread) {\n _this.props.freezeThread(thread.id);\n });\n\n var ids = _this.props.threads.map(function (thread) {\n return thread.id;\n });\n\n _ajax2.default.delete(_this.props.api, ids).then(function () {\n _this.props.threads.map(function (thread) {\n _this.props.freezeThread(thread.id);\n _this.props.deleteThread(thread);\n });\n\n _snackbar2.default.success(gettext(\"Selected threads were deleted.\"));\n }, function (rejection) {\n if (rejection.status === 400) {\n var failedThreads = rejection.map(function (thread) {\n return thread.id;\n });\n\n _this.props.threads.map(function (thread) {\n _this.props.freezeThread(thread.id);\n if (failedThreads.indexOf(thread.id) === -1) {\n _this.props.deleteThread(thread);\n }\n });\n\n _modal2.default.show(_react2.default.createElement(_errorsList2.default, { errors: rejection }));\n } else {\n _snackbar2.default.apiError(rejection);\n }\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'getPinGloballyButton',\n\n /* jshint ignore:end */\n\n value: function getPinGloballyButton() {\n if (!this.props.moderation.can_pin_globally) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.pinGlobally,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'bookmark'\n ),\n gettext(\"Pin threads globally\")\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getPinLocallyButton',\n value: function getPinLocallyButton() {\n if (!this.props.moderation.can_pin) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.pinLocally,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'bookmark_border'\n ),\n gettext(\"Pin threads locally\")\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getUnpinButton',\n value: function getUnpinButton() {\n if (!this.props.moderation.can_pin) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.unpin,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'panorama_fish_eye'\n ),\n gettext(\"Unpin threads\")\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getMoveButton',\n value: function getMoveButton() {\n if (!this.props.moderation.can_move) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.move,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'arrow_forward'\n ),\n gettext(\"Move threads\")\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getMergeButton',\n value: function getMergeButton() {\n if (!this.props.moderation.can_merge) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.merge,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'call_merge'\n ),\n gettext(\"Merge threads\")\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getApproveButton',\n value: function getApproveButton() {\n if (!this.props.moderation.can_approve) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.approve,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'done'\n ),\n gettext(\"Approve threads\")\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getOpenButton',\n value: function getOpenButton() {\n if (!this.props.moderation.can_close) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.open,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'lock_open'\n ),\n gettext(\"Open threads\")\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getCloseButton',\n value: function getCloseButton() {\n if (!this.props.moderation.can_close) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.close,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'lock_outline'\n ),\n gettext(\"Close threads\")\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getUnhideButton',\n value: function getUnhideButton() {\n if (!this.props.moderation.can_unhide) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.unhide,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'visibility'\n ),\n gettext(\"Unhide threads\")\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getHideButton',\n value: function getHideButton() {\n if (!this.props.moderation.can_hide) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n onClick: this.hide,\n type: 'button',\n className: 'btn btn-link'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'visibility_off'\n ),\n gettext(\"Hide threads\")\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getDeleteButton',\n value: function getDeleteButton() {\n if (!this.props.moderation.can_delete) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n onClick: this.delete,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'clear'\n ),\n gettext(\"Delete threads\")\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'ul',\n { className: this.props.className },\n this.getPinGloballyButton(),\n this.getPinLocallyButton(),\n this.getUnpinButton(),\n this.getMoveButton(),\n this.getMergeButton(),\n this.getApproveButton(),\n this.getOpenButton(),\n this.getCloseButton(),\n this.getUnhideButton(),\n this.getHideButton(),\n this.getDeleteButton()\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../reducers/selection\":357,\"../../../services/ajax\":364,\"../../../services/modal\":370,\"../../../services/snackbar\":375,\"../../../services/store\":376,\"../../../utils/countdown\":381,\"./errors-list\":261,\"./merge\":262,\"./move\":263,\"react\":\"react\"}],261:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.ThreadErrors = ThreadErrors;\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: \"render\",\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n \"div\",\n { className: \"modal-dialog\", role: \"document\" },\n _react2.default.createElement(\n \"div\",\n { className: \"modal-content\" },\n _react2.default.createElement(\n \"div\",\n { className: \"modal-header\" },\n _react2.default.createElement(\n \"button\",\n {\n \"aria-label\": gettext(\"Close\"),\n className: \"close\",\n \"data-dismiss\": \"modal\",\n type: \"button\"\n },\n _react2.default.createElement(\n \"span\",\n { \"aria-hidden\": \"true\" },\n \"\\xD7\"\n )\n ),\n _react2.default.createElement(\n \"h4\",\n { className: \"modal-title\" },\n gettext(\"Threads moderation\")\n )\n ),\n _react2.default.createElement(\n \"div\",\n { className: \"modal-body\" },\n _react2.default.createElement(\n \"p\",\n { className: \"lead\" },\n gettext(\"One or more threads could not be deleted:\")\n ),\n _react2.default.createElement(\n \"ul\",\n { className: \"list-unstyled list-errored-items\" },\n this.props.errors.map(function (item) {\n return _react2.default.createElement(ThreadErrors, {\n errors: item.errors,\n key: item.thread.id,\n thread: item.thread\n });\n })\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\n/* jshint ignore:start */\n\n\nexports.default = _class;\nfunction ThreadErrors(_ref) {\n var errors = _ref.errors,\n thread = _ref.thread;\n\n return _react2.default.createElement(\n \"li\",\n null,\n _react2.default.createElement(\n \"h5\",\n null,\n thread.title\n ),\n errors.map(function (message, i) {\n return _react2.default.createElement(\n \"p\",\n null,\n message\n );\n })\n );\n}\n/* jshint ignore:end */\n\n},{\"react\":\"react\"}],262:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _categorySelect = require('../../category-select');\n\nvar _categorySelect2 = _interopRequireDefault(_categorySelect);\n\nvar _select = require('../../select');\n\nvar _select2 = _interopRequireDefault(_select);\n\nvar _index = require('../../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _threads = require('../../../reducers/threads');\n\nvar _selection = require('../../../reducers/selection');\n\nvar select = _interopRequireWildcard(_selection);\n\nvar _errorsList = require('./errors-list');\n\nvar _errorsList2 = _interopRequireDefault(_errorsList);\n\nvar _mergeConflict = require('../../merge-conflict');\n\nvar _mergeConflict2 = _interopRequireDefault(_mergeConflict);\n\nvar _ajax = require('../../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _validators = require('../../../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.getFormdata = function () {\n return {\n threads: _this.props.threads.map(function (thread) {\n return thread.id;\n }),\n title: _this.state.title,\n category: _this.state.category,\n weight: _this.state.weight,\n is_hidden: _this.state.is_hidden,\n is_closed: _this.state.is_closed\n };\n };\n\n _this.handleSuccess = function (apiResponse) {\n // unfreeze and remove merged threads\n _this.props.threads.forEach(function (thread) {\n _this.props.freezeThread(thread.id);\n _this.props.deleteThread(thread);\n });\n\n // deselect all threads\n _store2.default.dispatch(select.none());\n\n // append merged thread, filter threads\n _this.props.addThreads([apiResponse]);\n _store2.default.dispatch((0, _threads.filterThreads)(_this.props.route.category, _this.props.categoriesMap));\n\n // hide modal\n _modal2.default.hide();\n };\n\n _this.handleError = function (rejection) {\n if (rejection.status === 400) {\n if (rejection.best_answers || rejection.polls) {\n _modal2.default.show(_react2.default.createElement(_mergeConflict2.default, {\n api: _index2.default.get('MERGE_THREADS_API'),\n bestAnswers: rejection.best_answers,\n data: _this.getFormdata(),\n polls: rejection.polls,\n onError: _this.handleError,\n onSuccess: _this.handleSuccess\n }));\n } else {\n _this.setState({\n 'errors': Object.assign({}, _this.state.errors, rejection)\n });\n _snackbar2.default.error(gettext(\"Form contains errors.\"));\n }\n } else if (rejection.status === 403 && Array.isArray(rejection)) {\n _modal2.default.show(_react2.default.createElement(_errorsList2.default, { errors: rejection }));\n } else if (rejection.best_answer) {\n _snackbar2.default.error(rejection.best_answer[0]);\n } else if (rejection.poll) {\n _snackbar2.default.error(rejection.poll[0]);\n } else {\n _snackbar2.default.apiError(rejection);\n }\n };\n\n _this.onCategoryChange = function (ev) {\n var categoryId = ev.target.value;\n var newState = {\n category: categoryId\n };\n\n if (_this.acl[categoryId].can_pin_threads < newState.weight) {\n newState.weight = 0;\n }\n\n if (!_this.acl[categoryId].can_hide_threads) {\n newState.is_hidden = 0;\n }\n\n if (!_this.acl[categoryId].can_close_threads) {\n newState.is_closed = false;\n }\n\n _this.setState(newState);\n };\n\n _this.state = {\n isLoading: false,\n\n title: '',\n category: null,\n weight: 0,\n is_hidden: 0,\n is_closed: false,\n\n validators: {\n title: [validators.required()]\n },\n\n errors: {}\n };\n\n _this.acl = {};\n for (var i in props.user.acl.categories) {\n if (!props.user.acl.categories.hasOwnProperty(i)) {\n continue;\n }\n\n var acl = props.user.acl.categories[i];\n _this.acl[acl.id] = acl;\n }\n\n _this.categoryChoices = [];\n props.categories.forEach(function (category) {\n if (category.level > 0) {\n var _acl = _this.acl[category.id];\n var disabled = !_acl.can_start_threads || category.is_closed && !_acl.can_close_threads;\n\n _this.categoryChoices.push({\n value: category.id,\n disabled: disabled,\n level: category.level - 1,\n label: category.name\n });\n\n if (!disabled && !_this.state.category) {\n _this.state.category = category.id;\n }\n }\n });\n\n _this.isHiddenChoices = [{\n 'value': 0,\n 'icon': 'visibility',\n 'label': gettext(\"No\")\n }, {\n 'value': 1,\n 'icon': 'visibility_off',\n 'label': gettext(\"Yes\")\n }];\n\n _this.isClosedChoices = [{\n 'value': false,\n 'icon': 'lock_outline',\n 'label': gettext(\"No\")\n }, {\n 'value': true,\n 'icon': 'lock',\n 'label': gettext(\"Yes\")\n }];\n return _this;\n }\n\n _createClass(_class, [{\n key: 'clean',\n value: function clean() {\n if (this.isValid()) {\n return true;\n } else {\n _snackbar2.default.error(gettext(\"Form contains errors.\"));\n this.setState({\n errors: this.validate()\n });\n return false;\n }\n }\n }, {\n key: 'send',\n value: function send() {\n return _ajax2.default.post(_index2.default.get('MERGE_THREADS_API'), this.getFormdata());\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'getWeightChoices',\n\n /* jshint ignore:end */\n\n value: function getWeightChoices() {\n var choices = [{\n 'value': 0,\n 'icon': 'remove',\n 'label': gettext(\"Not pinned\")\n }, {\n 'value': 1,\n 'icon': 'bookmark_border',\n 'label': gettext(\"Pinned locally\")\n }];\n\n if (this.acl[this.state.category].can_pin_threads == 2) {\n choices.push({\n 'value': 2,\n 'icon': 'bookmark',\n 'label': gettext(\"Pinned globally\")\n });\n }\n\n return choices;\n }\n }, {\n key: 'renderWeightField',\n value: function renderWeightField() {\n if (this.acl[this.state.category].can_pin_threads) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Thread weight\"),\n 'for': 'id_weight' },\n _react2.default.createElement(_select2.default, { id: 'id_weight',\n onChange: this.bindInput('weight'),\n value: this.state.weight,\n choices: this.getWeightChoices() })\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'renderHiddenField',\n value: function renderHiddenField() {\n if (this.acl[this.state.category].can_hide_threads) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Hide thread\"),\n 'for': 'id_is_hidden' },\n _react2.default.createElement(_select2.default, { id: 'id_is_closed',\n onChange: this.bindInput('is_hidden'),\n value: this.state.is_hidden,\n choices: this.isHiddenChoices })\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'renderClosedField',\n value: function renderClosedField() {\n if (this.acl[this.state.category].can_close_threads) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Close thread\"),\n 'for': 'id_is_closed' },\n _react2.default.createElement(_select2.default, { id: 'id_is_closed',\n onChange: this.bindInput('is_closed'),\n value: this.state.is_closed,\n choices: this.isClosedChoices })\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'renderForm',\n value: function renderForm() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Thread title\"),\n 'for': 'id_title',\n validation: this.state.errors.title },\n _react2.default.createElement('input', { id: 'id_title',\n className: 'form-control',\n type: 'text',\n onChange: this.bindInput('title'),\n value: this.state.title })\n ),\n _react2.default.createElement('div', { className: 'clearfix' }),\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"Category\"),\n 'for': 'id_category',\n validation: this.state.errors.category },\n _react2.default.createElement(_categorySelect2.default, { id: 'id_category',\n onChange: this.onCategoryChange,\n value: this.state.category,\n choices: this.categoryChoices })\n ),\n _react2.default.createElement('div', { className: 'clearfix' }),\n this.renderWeightField(),\n this.renderHiddenField(),\n this.renderClosedField()\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n disabled: this.state.isLoading,\n type: 'button'\n },\n gettext(\"Cancel\")\n ),\n _react2.default.createElement(\n _button2.default,\n { className: 'btn-primary', loading: this.state.isLoading },\n gettext(\"Merge threads\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'renderCantMergeMessage',\n value: function renderCantMergeMessage() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'info_outline'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"You can't move threads because there are no categories you are allowed to move them to.\")\n ),\n _react2.default.createElement(\n 'p',\n null,\n gettext(\"You need permission to start threads in category to be able to merge threads to it.\")\n ),\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n gettext(\"Ok\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getClassName',\n value: function getClassName() {\n if (!this.state.category) {\n return 'modal-dialog modal-message';\n } else {\n return 'modal-dialog';\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: this.getClassName(), role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'close', 'data-dismiss': 'modal',\n 'aria-label': gettext(\"Close\") },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Merge threads\")\n )\n ),\n this.state.category ? this.renderForm() : this.renderCantMergeMessage()\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../../index\":301,\"../../../reducers/selection\":357,\"../../../reducers/threads\":360,\"../../../services/ajax\":364,\"../../../services/modal\":370,\"../../../services/snackbar\":375,\"../../../services/store\":376,\"../../../utils/validators\":392,\"../../button\":8,\"../../category-select\":21,\"../../form\":55,\"../../form-group\":54,\"../../merge-conflict\":58,\"../../select\":209,\"./errors-list\":261,\"react\":\"react\"}],263:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _form = require('../../form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('../../form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _categorySelect = require('../../category-select');\n\nvar _categorySelect2 = _interopRequireDefault(_categorySelect);\n\nvar _selection = require('../../../reducers/selection');\n\nvar select = _interopRequireWildcard(_selection);\n\nvar _threads = require('../../../reducers/threads');\n\nvar _modal = require('../../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_Form) {\n _inherits(_class, _Form);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.handleSubmit = function (event) {\n // we don't reload page on submissions\n event.preventDefault();\n\n _modal2.default.hide();\n\n var onSuccess = function onSuccess() {\n _store2.default.dispatch((0, _threads.filterThreads)(_this.props.route.category, _this.props.categoriesMap));\n\n // deselect threads moved outside of visible scope\n var storeState = _store2.default.getState();\n var leftThreads = storeState.threads.map(function (thread) {\n return thread.id;\n });\n _store2.default.dispatch(select.all(storeState.selection.filter(function (thread) {\n return leftThreads.indexOf(thread) !== -1;\n })));\n };\n\n _this.props.callApi([{ op: 'replace', path: 'category', value: _this.state.category }, { op: 'replace', path: 'flatten-categories', value: null }, { op: 'add', path: 'acl', value: true }], gettext(\"Selected threads were moved.\"), onSuccess);\n };\n\n _this.state = {\n category: null\n };\n\n var acls = {};\n for (var i in props.user.acl.categories) {\n if (!props.user.acl.categories.hasOwnProperty(i)) {\n continue;\n }\n\n var acl = props.user.acl.categories[i];\n acls[acl.id] = acl;\n }\n\n _this.categoryChoices = [];\n props.categories.forEach(function (category) {\n if (category.level > 0) {\n var _acl = acls[category.id];\n var disabled = !_acl.can_start_threads || category.is_closed && !_acl.can_close_threads;\n\n _this.categoryChoices.push({\n value: category.id,\n disabled: disabled,\n level: category.level - 1,\n label: category.name\n });\n\n if (!disabled && !_this.state.category) {\n _this.state.category = category.id;\n }\n }\n });\n return _this;\n }\n\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'getClassName',\n\n /* jshint ignore:end */\n\n value: function getClassName() {\n if (!this.state.category) {\n return 'modal-dialog modal-message';\n } else {\n return 'modal-dialog';\n }\n }\n }, {\n key: 'renderForm',\n value: function renderForm() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'form',\n { onSubmit: this.handleSubmit },\n _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n _formGroup2.default,\n { label: gettext(\"New category\"),\n 'for': 'id_new_category' },\n _react2.default.createElement(_categorySelect2.default, { id: 'id_new_category',\n onChange: this.bindInput('category'),\n value: this.state.category,\n choices: this.categoryChoices })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'modal-footer' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n disabled: this.state.isLoading,\n type: 'button'\n },\n gettext(\"Cancel\")\n ),\n _react2.default.createElement(\n 'button',\n { className: 'btn btn-primary' },\n gettext(\"Move threads\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'renderCantMoveMessage',\n value: function renderCantMoveMessage() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'modal-body' },\n _react2.default.createElement(\n 'div',\n { className: 'message-icon' },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'info_outline'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'message-body' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"You can't move threads because there are no categories you are allowed to move them to.\")\n ),\n _react2.default.createElement(\n 'p',\n null,\n gettext(\"You need permission to start threads in category to be able to move threads to it.\")\n ),\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default',\n 'data-dismiss': 'modal',\n type: 'button'\n },\n gettext(\"Ok\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: this.getClassName(), role: 'document' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-content' },\n _react2.default.createElement(\n 'div',\n { className: 'modal-header' },\n _react2.default.createElement(\n 'button',\n { type: 'button', className: 'close', 'data-dismiss': 'modal',\n 'aria-label': gettext(\"Close\") },\n _react2.default.createElement(\n 'span',\n { 'aria-hidden': 'true' },\n '\\xD7'\n )\n ),\n _react2.default.createElement(\n 'h4',\n { className: 'modal-title' },\n gettext(\"Move threads\")\n )\n ),\n this.state.category ? this.renderForm() : this.renderCantMoveMessage()\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_form2.default);\n\nexports.default = _class;\n\n},{\"../../../reducers/selection\":357,\"../../../reducers/threads\":360,\"../../../services/modal\":370,\"../../../services/store\":376,\"../../category-select\":21,\"../../form\":55,\"../../form-group\":54,\"react\":\"react\"}],264:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _selection = require('../../../reducers/selection');\n\nvar select = _interopRequireWildcard(_selection);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.selectAll = function () {\n _store2.default.dispatch(select.all(_this.props.threads.map(function (thread) {\n return thread.id;\n })));\n }, _this.selectNone = function () {\n _store2.default.dispatch(select.none());\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'render',\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'ul',\n { className: this.props.className },\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n type: 'button',\n onClick: this.selectAll\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'check_box'\n ),\n gettext(\"Select all\")\n )\n ),\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-link',\n type: 'button',\n onClick: this.selectNone\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'check_box_outline_blank'\n ),\n gettext(\"Select none\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../reducers/selection\":357,\"../../../services/store\":376,\"react\":\"react\"}],265:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var baseUrl = _ref.baseUrl,\n list = _ref.list,\n lists = _ref.lists;\n\n if (lists.length < 2) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'page-tabs' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'ul',\n { className: 'nav nav-pills' },\n lists.map(function (item) {\n return _react2.default.createElement(\n _li2.default,\n {\n isControlled: true,\n isActive: item.path === list.path,\n key: baseUrl + item.path\n },\n _react2.default.createElement(\n _reactRouter.Link,\n { to: baseUrl + item.path },\n item.name\n )\n );\n })\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRouter = require('react-router');\n\nvar _li = require('../li');\n\nvar _li2 = _interopRequireDefault(_li);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../li\":56,\"react\":\"react\",\"react-router\":\"react-router\"}],266:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getSelect = getSelect;\nexports.getLists = getLists;\nexports.paths = paths;\n\nvar _reactRedux = require('react-redux');\n\nvar _route = require('./route');\n\nvar _route2 = _interopRequireDefault(_route);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getSelect(options) {\n return function (store) {\n return {\n 'options': options,\n 'selection': store.selection,\n 'threads': store.threads,\n 'tick': store.tick.tick,\n 'user': store.auth.user\n };\n };\n}\n\nfunction getLists(user) {\n var lists = [{\n type: 'all',\n path: '',\n name: gettext(\"All\"),\n longName: gettext(\"All threads\")\n }];\n\n if (user.id) {\n lists.push({\n type: 'my',\n path: 'my/',\n name: gettext(\"My\"),\n longName: gettext(\"My threads\")\n });\n lists.push({\n type: 'new',\n path: 'new/',\n name: gettext(\"New\"),\n longName: gettext(\"New threads\")\n });\n lists.push({\n type: 'unread',\n path: 'unread/',\n name: gettext(\"Unread\"),\n longName: gettext(\"Unread threads\")\n });\n lists.push({\n type: 'subscribed',\n path: 'subscribed/',\n name: gettext(\"Subscribed\"),\n longName: gettext(\"Subscribed threads\")\n });\n\n if (user.acl.can_see_unapproved_content_lists) {\n lists.push({\n type: 'unapproved',\n path: 'unapproved/',\n name: gettext(\"Unapproved\"),\n longName: gettext(\"Unapproved content\")\n });\n }\n }\n\n return lists;\n}\n\nfunction paths(user, mode) {\n var lists = getLists(user);\n var routes = [];\n var categoriesMap = {};\n\n _index2.default.get('CATEGORIES').forEach(function (category) {\n lists.forEach(function (list) {\n categoriesMap[category.id] = category;\n\n routes.push({\n path: category.url.index + list.path,\n component: (0, _reactRedux.connect)(getSelect(mode))(_route2.default),\n\n categories: _index2.default.get('CATEGORIES'),\n categoriesMap: categoriesMap,\n category: category,\n\n lists: lists,\n list: list\n });\n });\n });\n\n return routes;\n}\n\n},{\"../../index\":301,\"./route\":267,\"react-redux\":\"react-redux\"}],267:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('../button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _compare = require('./compare');\n\nvar _container = require('./container');\n\nvar _container2 = _interopRequireDefault(_container);\n\nvar _header = require('./header');\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _utils = require('./utils');\n\nvar _threadsList = require('../threads-list');\n\nvar _threadsList2 = _interopRequireDefault(_threadsList);\n\nvar _listEmpty = require('./list-empty');\n\nvar _listEmpty2 = _interopRequireDefault(_listEmpty);\n\nvar _withDropdown = require('../with-dropdown');\n\nvar _withDropdown2 = _interopRequireDefault(_withDropdown);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _selection = require('../../reducers/selection');\n\nvar select = _interopRequireWildcard(_selection);\n\nvar _threads = require('../../reducers/threads');\n\nvar _ajax = require('../../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _polls = require('../../services/polls');\n\nvar _polls2 = _interopRequireDefault(_polls);\n\nvar _snackbar = require('../../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _pageTitle = require('../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nvar _sets = require('../../utils/sets');\n\nvar sets = _interopRequireWildcard(_sets);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_WithDropdown) {\n _inherits(_class, _WithDropdown);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.loadMore = function () {\n _this.setState({\n isBusy: true\n });\n\n _this.loadThreads(_this.getCategory(), _this.state.page + 1);\n };\n\n _this.pollResponse = function (data) {\n _this.setState({\n diff: Object.assign({}, data, {\n results: (0, _utils.diffThreads)(_this.props.threads, data.results)\n })\n });\n };\n\n _this.addThreads = function (threads) {\n _store2.default.dispatch((0, _threads.append)(threads, _this.getSorting()));\n };\n\n _this.applyDiff = function () {\n _this.addThreads(_this.state.diff.results);\n\n _this.setState(Object.assign({}, _this.state.diff, {\n moderation: (0, _utils.getModerationActions)(_store2.default.getState().threads),\n\n diff: {\n results: []\n }\n }));\n };\n\n _this.freezeThread = function (thread) {\n _this.setState(function (currentState) {\n return {\n busyThreads: sets.toggle(currentState.busyThreads, thread)\n };\n });\n };\n\n _this.updateThread = function (thread) {\n _store2.default.dispatch((0, _threads.patch)(thread, thread, _this.getSorting()));\n };\n\n _this.deleteThread = function (thread) {\n _store2.default.dispatch((0, _threads.deleteThread)(thread));\n };\n\n _this.state = {\n isMounted: true,\n\n isLoaded: false,\n isBusy: false,\n\n diff: {\n results: []\n },\n\n moderation: [],\n busyThreads: [],\n\n dropdown: false,\n subcategories: [],\n\n count: 0,\n more: 0,\n\n page: 1,\n pages: 1\n };\n\n var category = _this.getCategory();\n\n if (_index2.default.has('THREADS')) {\n _this.initWithPreloadedData(category, _index2.default.get('THREADS'));\n } else {\n _this.initWithoutPreloadedData(category);\n }\n return _this;\n }\n\n _createClass(_class, [{\n key: 'getCategory',\n value: function getCategory() {\n if (!this.props.route.category.special_role) {\n return this.props.route.category.id;\n } else {\n return null;\n }\n }\n }, {\n key: 'initWithPreloadedData',\n value: function initWithPreloadedData(category, data) {\n this.state = Object.assign(this.state, {\n moderation: (0, _utils.getModerationActions)(data.results),\n\n subcategories: data.subcategories,\n\n count: data.count,\n more: data.more,\n\n page: data.page,\n pages: data.pages\n });\n\n this.startPolling(category);\n }\n }, {\n key: 'initWithoutPreloadedData',\n value: function initWithoutPreloadedData(category) {\n this.loadThreads(category);\n }\n }, {\n key: 'loadThreads',\n value: function loadThreads(category) {\n var _this2 = this;\n\n var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n\n _ajax2.default.get(this.props.options.api, {\n category: category,\n list: this.props.route.list.type,\n page: page || 1\n }, 'threads').then(function (data) {\n if (!_this2.state.isMounted) {\n // user changed route before loading completion\n return;\n }\n\n if (page === 1) {\n _store2.default.dispatch((0, _threads.hydrate)(data.results));\n } else {\n _store2.default.dispatch((0, _threads.append)(data.results, _this2.getSorting()));\n }\n\n _this2.setState({\n isLoaded: true,\n isBusy: false,\n\n moderation: (0, _utils.getModerationActions)(_store2.default.getState().threads),\n\n subcategories: data.subcategories,\n\n count: data.count,\n more: data.more,\n\n page: data.page,\n pages: data.pages\n });\n\n _this2.startPolling(category);\n }, function (rejection) {\n _snackbar2.default.apiError(rejection);\n });\n }\n }, {\n key: 'startPolling',\n value: function startPolling(category) {\n _polls2.default.start({\n poll: 'threads',\n url: this.props.options.api,\n data: {\n category: category,\n list: this.props.route.list.type\n },\n frequency: 120 * 1000,\n update: this.pollResponse\n });\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.setPageTitle();\n\n if (_index2.default.has('THREADS')) {\n // unlike in other components, routes are root components for threads\n // so we can't dispatch store action from constructor\n _store2.default.dispatch((0, _threads.hydrate)(_index2.default.pop('THREADS').results));\n\n this.setState({\n isLoaded: true\n });\n }\n\n _store2.default.dispatch(select.none());\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.state.isMounted = false;\n _polls2.default.stop('threads');\n }\n }, {\n key: 'getTitle',\n value: function getTitle() {\n if (this.props.options.title) {\n return this.props.options.title;\n }\n\n return (0, _utils.getTitle)(this.props.route);\n }\n }, {\n key: 'setPageTitle',\n value: function setPageTitle() {\n if (this.props.route.category.level || !_index2.default.get('THREADS_ON_INDEX')) {\n _pageTitle2.default.set((0, _utils.getPageTitle)(this.props.route));\n } else if (this.props.options.title) {\n _pageTitle2.default.set(this.props.options.title);\n } else {\n if (_index2.default.get('SETTINGS').forum_index_title) {\n document.title = _index2.default.get('SETTINGS').forum_index_title;\n } else {\n document.title = _index2.default.get('SETTINGS').forum_name;\n }\n }\n }\n }, {\n key: 'getSorting',\n value: function getSorting() {\n if (this.props.route.category.level) {\n return _compare.compareWeight;\n } else {\n return _compare.compareGlobalWeight;\n }\n }\n\n /* jshint ignore:start */\n\n // AJAX\n\n // Thread state utils\n\n }, {\n key: 'getMoreButton',\n\n /* jshint ignore:end */\n\n value: function getMoreButton() {\n if (this.state.more) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'pager-more' },\n _react2.default.createElement(\n _button2.default,\n {\n className: 'btn btn-default btn-outline',\n loading: this.state.isBusy || this.state.busyThreads.length,\n onClick: this.loadMore\n },\n gettext(\"Show more\")\n )\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'getClassName',\n value: function getClassName() {\n var className = 'page page-threads';\n className += ' page-threads-' + this.props.route.list.type;\n if (this.props.route.category.css_class) {\n className += ' page-threads-' + this.props.route.category.css_class;\n }\n return className;\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: this.getClassName() },\n _react2.default.createElement(_header2.default, {\n categories: this.props.route.categoriesMap,\n disabled: !this.state.isLoaded,\n startThread: this.props.options.startThread,\n threads: this.props.threads,\n title: this.getTitle(),\n toggleNav: this.toggleNav,\n route: this.props.route,\n user: this.props.user\n }),\n _react2.default.createElement(\n _container2.default,\n {\n api: this.props.options.api,\n\n route: this.props.route,\n subcategories: this.state.subcategories,\n user: this.props.user,\n\n pageLead: this.props.options.pageLead,\n\n threads: this.props.threads,\n threadsCount: this.state.count,\n\n moderation: this.state.moderation,\n selection: this.props.selection,\n\n busyThreads: this.state.busyThreads,\n addThreads: this.addThreads,\n freezeThread: this.freezeThread,\n deleteThread: this.deleteThread,\n updateThread: this.updateThread,\n\n isLoaded: this.state.isLoaded,\n isBusy: this.state.isBusy\n },\n _react2.default.createElement(\n _threadsList2.default,\n {\n category: this.props.route.category,\n categories: this.props.route.categoriesMap,\n list: this.props.route.list,\n selection: this.props.selection,\n threads: this.props.threads,\n\n diffSize: this.state.diff.results.length,\n applyDiff: this.applyDiff,\n\n showOptions: !!this.props.user.id,\n\n isLoaded: this.state.isLoaded,\n busyThreads: this.state.busyThreads\n },\n _react2.default.createElement(_listEmpty2.default, {\n category: this.props.route.category,\n emptyMessage: this.props.options.emptyMessage,\n list: this.props.route.list\n })\n ),\n this.getMoreButton()\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_withDropdown2.default);\n\nexports.default = _class;\n\n},{\"../../index\":301,\"../../reducers/selection\":357,\"../../reducers/threads\":360,\"../../services/ajax\":364,\"../../services/page-title\":372,\"../../services/polls\":373,\"../../services/snackbar\":375,\"../../services/store\":376,\"../../utils/sets\":390,\"../button\":8,\"../threads-list\":237,\"../with-dropdown\":298,\"./compare\":256,\"./container\":257,\"./header\":258,\"./list-empty\":259,\"./utils\":269,\"react\":\"react\"}],268:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _categoryPicker = require('./category-picker');\n\nvar _categoryPicker2 = _interopRequireDefault(_categoryPicker);\n\nvar _controls = require('./moderation/controls');\n\nvar _controls2 = _interopRequireDefault(_controls);\n\nvar _selection = require('./moderation/selection');\n\nvar _selection2 = _interopRequireDefault(_selection);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'getCategoryPicker',\n value: function getCategoryPicker() {\n if (!this.props.subcategories.length) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(_categoryPicker2.default, {\n categories: this.props.categoriesMap,\n choices: this.props.subcategories,\n list: this.props.list\n });\n /* jshint ignore:end */\n }\n }, {\n key: 'showModerationOptions',\n value: function showModerationOptions() {\n return this.props.user.id && this.props.moderation.allow;\n }\n }, {\n key: 'getSelectedThreads',\n value: function getSelectedThreads() {\n var _this2 = this;\n\n return this.props.threads.filter(function (thread) {\n return _this2.props.selection.indexOf(thread.id) >= 0;\n });\n }\n }, {\n key: 'getModerationButton',\n value: function getModerationButton() {\n if (!this.showModerationOptions()) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-6 col-sm-3 col-md-2' },\n _react2.default.createElement(\n 'div',\n { className: 'btn-group btn-group-justified' },\n _react2.default.createElement(\n 'div',\n { className: 'btn-group dropdown' },\n _react2.default.createElement(\n 'button',\n {\n type: 'button',\n className: 'btn btn-default btn-outline dropdown-toggle',\n 'data-toggle': 'dropdown',\n 'aria-haspopup': 'true',\n 'aria-expanded': 'false',\n disabled: this.props.disabled || !this.props.selection.length\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'settings'\n ),\n gettext(\"Options\")\n ),\n _react2.default.createElement(_controls2.default, {\n addThreads: this.props.addThreads,\n api: this.props.api,\n categories: this.props.categories,\n categoriesMap: this.props.categoriesMap,\n className: 'dropdown-menu dropdown-menu-right stick-to-bottom',\n deleteThread: this.props.deleteThread,\n freezeThread: this.props.freezeThread,\n moderation: this.props.moderation,\n route: this.props.route,\n threads: this.getSelectedThreads(),\n updateThread: this.props.updateThread,\n user: this.props.user\n })\n )\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getSelectionButton',\n value: function getSelectionButton() {\n if (!this.showModerationOptions()) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'col-xs-3 col-sm-2 col-md-1' },\n _react2.default.createElement(\n 'div',\n { className: 'btn-group btn-group-justified' },\n _react2.default.createElement(\n 'div',\n { className: 'btn-group dropdown' },\n _react2.default.createElement(\n 'button',\n {\n type: 'button',\n className: 'btn btn-default btn-outline btn-icon dropdown-toggle',\n 'data-toggle': 'dropdown',\n 'aria-haspopup': 'true',\n 'aria-expanded': 'false',\n disabled: this.props.disabled\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'select_all'\n )\n ),\n _react2.default.createElement(_selection2.default, {\n className: 'dropdown-menu dropdown-menu-right stick-to-bottom',\n threads: this.props.threads\n })\n )\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'row row-toolbar row-toolbar-bottom-margin' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-3 col-sm-3 col-md-2 dropdown' },\n this.getCategoryPicker()\n ),\n _react2.default.createElement('div', { className: 'hidden-xs col-sm-4 col-md-7' }),\n this.getModerationButton(),\n this.getSelectionButton()\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"./category-picker\":255,\"./moderation/controls\":260,\"./moderation/selection\":264,\"react\":\"react\"}],269:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getPageTitle = getPageTitle;\nexports.getTitle = getTitle;\nexports.isThreadChanged = isThreadChanged;\nexports.diffThreads = diffThreads;\nexports.getModerationActions = getModerationActions;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getPageTitle(route) {\n if (route.category.level) {\n if (route.list.path) {\n return {\n title: route.list.longName,\n parent: route.category.name\n };\n } else {\n return {\n title: route.category.name\n };\n }\n } else if (_index2.default.get('THREADS_ON_INDEX')) {\n if (route.list.path) {\n return {\n title: route.list.longName\n };\n } else {\n return null;\n }\n } else {\n if (route.list.path) {\n return {\n title: route.list.longName,\n parent: gettext(\"Threads\")\n };\n } else {\n return {\n title: gettext(\"Threads\")\n };\n }\n }\n}\n\nfunction getTitle(route) {\n if (route.category.level) {\n return route.category.name;\n } else if (_index2.default.get('THREADS_ON_INDEX')) {\n if (_index2.default.get('SETTINGS').forum_index_title) {\n return _index2.default.get('SETTINGS').forum_index_title;\n } else {\n return _index2.default.get('SETTINGS').forum_name;\n }\n } else {\n return gettext(\"Threads\");\n }\n}\n\nfunction isThreadChanged(current, fromDb) {\n return [current.title === fromDb.title, current.weight === fromDb.weight, current.category === fromDb.category, current.last_post === fromDb.last_post, current.last_poster_name === fromDb.last_poster_name].indexOf(false) >= 0;\n}\n\nfunction diffThreads(current, fromDb) {\n var currentMap = {};\n current.forEach(function (thread) {\n currentMap[thread.id] = thread;\n });\n\n return fromDb.filter(function (thread) {\n if (currentMap[thread.id]) {\n return isThreadChanged(currentMap[thread.id], thread);\n } else {\n return true;\n }\n });\n}\n\nfunction getModerationActions(threads) {\n var moderation = {\n allow: false,\n\n can_approve: 0,\n can_close: 0,\n can_delete: 0,\n can_hide: 0,\n can_merge: 0,\n can_move: 0,\n can_pin: 0,\n can_pin_globally: 0,\n can_unhide: 0\n };\n\n threads.forEach(function (thread) {\n if (thread.is_unapproved && thread.acl.can_approve > moderation.can_approve) {\n moderation.can_approve = thread.acl.can_approve;\n }\n\n if (thread.acl.can_close > moderation.can_close) {\n moderation.can_close = thread.acl.can_close;\n }\n\n if (thread.acl.can_delete > moderation.can_delete) {\n moderation.can_delete = thread.acl.can_delete;\n }\n\n if (thread.acl.can_hide > moderation.can_hide) {\n moderation.can_hide = thread.acl.can_hide;\n }\n\n if (thread.acl.can_merge > moderation.can_merge) {\n moderation.can_merge = thread.acl.can_merge;\n }\n\n if (thread.acl.can_move > moderation.can_move) {\n moderation.can_move = thread.acl.can_move;\n }\n\n if (thread.acl.can_pin > moderation.can_pin) {\n moderation.can_pin = thread.acl.can_pin;\n }\n\n if (thread.acl.can_pin_globally > moderation.can_pin_globally) {\n moderation.can_pin_globally = thread.acl.can_pin_globally;\n }\n\n if (thread.is_hidden && thread.acl.can_unhide > moderation.can_unhide) {\n moderation.can_unhide = thread.acl.can_unhide;\n }\n\n moderation.allow = moderation.can_approve || moderation.can_close || moderation.can_delete || moderation.can_hide || moderation.can_merge || moderation.can_move || moderation.can_pin || moderation.can_pin_globally || moderation.can_unhide;\n });\n\n return moderation;\n}\n\n},{\"../../index\":301}],270:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CompactGuestNav = exports.GuestNav = exports.GuestMenu = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _navbarSearch = require('../navbar-search');\n\nvar _navbarSearch2 = _interopRequireDefault(_navbarSearch);\n\nvar _registerButton = require('../register-button');\n\nvar _registerButton2 = _interopRequireDefault(_registerButton);\n\nvar _signIn = require('../sign-in.js');\n\nvar _signIn2 = _interopRequireDefault(_signIn);\n\nvar _mobileNavbarDropdown = require('../../services/mobile-navbar-dropdown');\n\nvar _mobileNavbarDropdown2 = _interopRequireDefault(_mobileNavbarDropdown);\n\nvar _modal = require('../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar GuestMenu = exports.GuestMenu = function (_React$Component) {\n _inherits(GuestMenu, _React$Component);\n\n function GuestMenu() {\n _classCallCheck(this, GuestMenu);\n\n return _possibleConstructorReturn(this, (GuestMenu.__proto__ || Object.getPrototypeOf(GuestMenu)).apply(this, arguments));\n }\n\n _createClass(GuestMenu, [{\n key: 'showSignInModal',\n value: function showSignInModal() {\n _modal2.default.show(_signIn2.default);\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'ul',\n {\n className: 'dropdown-menu user-dropdown dropdown-menu-right',\n role: 'menu'\n },\n _react2.default.createElement(\n 'li',\n { className: 'guest-preview' },\n _react2.default.createElement(\n 'h4',\n null,\n gettext(\"You are browsing as guest.\")\n ),\n _react2.default.createElement(\n 'p',\n null,\n gettext('Sign in or register to start and participate in discussions.')\n ),\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-6' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-sign-in btn-block',\n onClick: this.showSignInModal,\n type: 'button'\n },\n gettext(\"Sign in\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-6' },\n _react2.default.createElement(\n _registerButton2.default,\n { className: 'btn-primary btn-register btn-block' },\n gettext(\"Register\")\n )\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return GuestMenu;\n}(_react2.default.Component);\n\nvar GuestNav = exports.GuestNav = function (_GuestMenu) {\n _inherits(GuestNav, _GuestMenu);\n\n function GuestNav() {\n _classCallCheck(this, GuestNav);\n\n return _possibleConstructorReturn(this, (GuestNav.__proto__ || Object.getPrototypeOf(GuestNav)).apply(this, arguments));\n }\n\n _createClass(GuestNav, [{\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'nav nav-guest' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn navbar-btn btn-default btn-sign-in',\n onClick: this.showSignInModal,\n type: 'button'\n },\n gettext(\"Sign in\")\n ),\n _react2.default.createElement(\n _registerButton2.default,\n { className: 'navbar-btn btn-primary btn-register' },\n gettext(\"Register\")\n ),\n _react2.default.createElement(\n 'div',\n { className: 'navbar-left' },\n _react2.default.createElement(_navbarSearch2.default, null)\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return GuestNav;\n}(GuestMenu);\n\nvar CompactGuestNav = exports.CompactGuestNav = function (_React$Component2) {\n _inherits(CompactGuestNav, _React$Component2);\n\n function CompactGuestNav() {\n _classCallCheck(this, CompactGuestNav);\n\n return _possibleConstructorReturn(this, (CompactGuestNav.__proto__ || Object.getPrototypeOf(CompactGuestNav)).apply(this, arguments));\n }\n\n _createClass(CompactGuestNav, [{\n key: 'showGuestMenu',\n value: function showGuestMenu() {\n _mobileNavbarDropdown2.default.show(GuestMenu);\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'button',\n { type: 'button', onClick: this.showGuestMenu },\n _react2.default.createElement(_avatar2.default, { size: '64' })\n );\n /* jshint ignore:end */\n }\n }]);\n\n return CompactGuestNav;\n}(_react2.default.Component);\n\n},{\"../../services/mobile-navbar-dropdown\":369,\"../../services/modal\":370,\"../avatar\":6,\"../navbar-search\":76,\"../register-button\":197,\"../sign-in.js\":210,\"react\":\"react\"}],271:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CompactUserMenu = exports.UserMenu = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.select = select;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _guestNav = require('./guest-nav');\n\nvar _userNav = require('./user-nav');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n\n\n// jshint ignore:line\n\nvar UserMenu = exports.UserMenu = function (_React$Component) {\n _inherits(UserMenu, _React$Component);\n\n function UserMenu() {\n _classCallCheck(this, UserMenu);\n\n return _possibleConstructorReturn(this, (UserMenu.__proto__ || Object.getPrototypeOf(UserMenu)).apply(this, arguments));\n }\n\n _createClass(UserMenu, [{\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n if (this.props.isAuthenticated) {\n return _react2.default.createElement(_userNav.UserNav, { user: this.props.user });\n } else {\n return _react2.default.createElement(_guestNav.GuestNav, null);\n }\n /* jshint ignore:end */\n }\n }]);\n\n return UserMenu;\n}(_react2.default.Component);\n\nvar CompactUserMenu = exports.CompactUserMenu = function (_React$Component2) {\n _inherits(CompactUserMenu, _React$Component2);\n\n function CompactUserMenu() {\n _classCallCheck(this, CompactUserMenu);\n\n return _possibleConstructorReturn(this, (CompactUserMenu.__proto__ || Object.getPrototypeOf(CompactUserMenu)).apply(this, arguments));\n }\n\n _createClass(CompactUserMenu, [{\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n if (this.props.isAuthenticated) {\n return _react2.default.createElement(_userNav.CompactUserNav, { user: this.props.user });\n } else {\n return _react2.default.createElement(_guestNav.CompactGuestNav, null);\n }\n /* jshint ignore:end */\n }\n }]);\n\n return CompactUserMenu;\n}(_react2.default.Component);\n\nfunction select(state) {\n return state.auth;\n}\n\n},{\"./guest-nav\":270,\"./user-nav\":272,\"react\":\"react\"}],272:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CompactUserNav = exports.UserMenu = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.PrivateThreadsBadge = PrivateThreadsBadge;\nexports.UserNav = UserNav;\nexports.UserPrivateThreadsLink = UserPrivateThreadsLink;\nexports.selectUserMenu = selectUserMenu;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRedux = require('react-redux');\n\nvar _avatar = require('../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _root = require('../change-avatar/root');\n\nvar _root2 = _interopRequireDefault(_root);\n\nvar _navbarSearch = require('../navbar-search');\n\nvar _navbarSearch2 = _interopRequireDefault(_navbarSearch);\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _mobileNavbarDropdown = require('../../services/mobile-navbar-dropdown');\n\nvar _mobileNavbarDropdown2 = _interopRequireDefault(_mobileNavbarDropdown);\n\nvar _modal = require('../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar UserMenu = exports.UserMenu = function (_React$Component) {\n _inherits(UserMenu, _React$Component);\n\n function UserMenu() {\n _classCallCheck(this, UserMenu);\n\n return _possibleConstructorReturn(this, (UserMenu.__proto__ || Object.getPrototypeOf(UserMenu)).apply(this, arguments));\n }\n\n _createClass(UserMenu, [{\n key: 'logout',\n value: function logout() {\n var decision = confirm(gettext(\"Are you sure you want to sign out?\"));\n if (decision) {\n $('#hidden-logout-form').submit();\n }\n }\n }, {\n key: 'changeAvatar',\n value: function changeAvatar() {\n _modal2.default.show((0, _reactRedux.connect)(_root.select)(_root2.default));\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n var user = this.props.user;\n\n\n return _react2.default.createElement(\n 'ul',\n {\n className: 'dropdown-menu user-dropdown dropdown-menu-right',\n role: 'menu'\n },\n _react2.default.createElement(\n 'li',\n { className: 'dropdown-header' },\n _react2.default.createElement(\n 'strong',\n null,\n user.username\n ),\n _react2.default.createElement(\n 'ul',\n { className: 'list-unstyled list-inline user-stats' },\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'message'\n ),\n user.posts\n ),\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'forum'\n ),\n user.threads\n ),\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'favorite'\n ),\n user.followers\n ),\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'favorite_outline'\n ),\n user.following\n )\n )\n ),\n _react2.default.createElement('li', { className: 'divider' }),\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'a',\n { href: user.url },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'account_circle'\n ),\n gettext(\"See your profile\")\n )\n ),\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'a',\n { href: _2.default.get('USERCP_URL') },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'done_all'\n ),\n gettext(\"Change options\")\n )\n ),\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'button',\n {\n className: 'btn-link',\n onClick: this.changeAvatar,\n type: 'button'\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'portrait'\n ),\n gettext(\"Change avatar\")\n )\n ),\n !!user.acl.can_use_private_threads && _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'a',\n { href: _2.default.get('PRIVATE_THREADS_URL') },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'message'\n ),\n gettext(\"Private threads\"),\n _react2.default.createElement(PrivateThreadsBadge, { user: user })\n )\n ),\n _react2.default.createElement('li', { className: 'divider' }),\n _react2.default.createElement(\n 'li',\n { className: 'dropdown-buttons' },\n _react2.default.createElement(\n 'button',\n {\n className: 'btn btn-default btn-block',\n onClick: this.logout,\n type: 'button'\n },\n gettext(\"Log out\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return UserMenu;\n}(_react2.default.Component);\n\nfunction PrivateThreadsBadge(_ref) {\n var user = _ref.user;\n\n if (!user.unread_private_threads) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'span',\n { className: 'badge' },\n user.unread_private_threads\n );\n /* jshint ignore:end */\n}\n\n/* jshint ignore:start */\nfunction UserNav(_ref2) {\n var user = _ref2.user;\n\n return _react2.default.createElement(\n 'ul',\n { className: 'ul nav navbar-nav nav-user' },\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(_navbarSearch2.default, null)\n ),\n _react2.default.createElement(UserPrivateThreadsLink, { user: user }),\n _react2.default.createElement(\n 'li',\n { className: 'dropdown' },\n _react2.default.createElement(\n 'a',\n {\n 'aria-haspopup': 'true',\n 'aria-expanded': 'false',\n className: 'dropdown-toggle',\n 'data-toggle': 'dropdown',\n href: user.url,\n role: 'button'\n },\n _react2.default.createElement(_avatar2.default, { user: user, size: '64' })\n ),\n _react2.default.createElement(UserMenu, { user: user })\n )\n );\n}\n/* jshint ignore:end */\n\nfunction UserPrivateThreadsLink(_ref3) {\n var user = _ref3.user;\n\n if (!user.acl.can_use_private_threads) return null;\n\n var title = null;\n if (user.unread_private_threads) {\n title = gettext(\"You have unread private threads!\");\n } else {\n title = gettext(\"Private threads\");\n }\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'a',\n {\n className: 'navbar-icon',\n href: _2.default.get('PRIVATE_THREADS_URL'),\n title: title },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'message'\n ),\n user.unread_private_threads > 0 && _react2.default.createElement(\n 'span',\n { className: 'badge' },\n user.unread_private_threads\n )\n )\n );\n /* jshint ignore:end */\n}\n\nfunction selectUserMenu(state) {\n return {\n user: state.auth.user\n };\n}\n\nvar CompactUserNav = exports.CompactUserNav = function (_React$Component2) {\n _inherits(CompactUserNav, _React$Component2);\n\n function CompactUserNav() {\n _classCallCheck(this, CompactUserNav);\n\n return _possibleConstructorReturn(this, (CompactUserNav.__proto__ || Object.getPrototypeOf(CompactUserNav)).apply(this, arguments));\n }\n\n _createClass(CompactUserNav, [{\n key: 'showUserMenu',\n value: function showUserMenu() {\n _mobileNavbarDropdown2.default.showConnected('user-menu', (0, _reactRedux.connect)(selectUserMenu)(UserMenu));\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'button',\n { type: 'button', onClick: this.showUserMenu },\n _react2.default.createElement(_avatar2.default, { user: this.props.user, size: '50' })\n );\n /* jshint ignore:end */\n }\n }]);\n\n return CompactUserNav;\n}(_react2.default.Component);\n\n},{\"../..\":301,\"../../services/mobile-navbar-dropdown\":369,\"../../services/modal\":370,\"../avatar\":6,\"../change-avatar/root\":25,\"../navbar-search\":76,\"react\":\"react\",\"react-redux\":\"react-redux\"}],273:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.StatusLabel = exports.StatusIcon = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.getStatusClassName = getStatusClassName;\nexports.getStatusDescription = getStatusDescription;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'getClass',\n value: function getClass() {\n return getStatusClassName(this.props.status);\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'span',\n { className: this.getClass() },\n this.props.children\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\nvar StatusIcon = exports.StatusIcon = function (_React$Component2) {\n _inherits(StatusIcon, _React$Component2);\n\n function StatusIcon() {\n _classCallCheck(this, StatusIcon);\n\n return _possibleConstructorReturn(this, (StatusIcon.__proto__ || Object.getPrototypeOf(StatusIcon)).apply(this, arguments));\n }\n\n _createClass(StatusIcon, [{\n key: 'getIcon',\n value: function getIcon() {\n if (this.props.status.is_banned) {\n return 'remove_circle_outline';\n } else if (this.props.status.is_hidden) {\n return 'help_outline';\n } else if (this.props.status.is_online_hidden) {\n return 'label';\n } else if (this.props.status.is_offline_hidden) {\n return 'label_outline';\n } else if (this.props.status.is_online) {\n return 'lens';\n } else if (this.props.status.is_offline) {\n return 'panorama_fish_eye';\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'span',\n { className: 'material-icon status-icon' },\n this.getIcon()\n );\n /* jshint ignore:end */\n }\n }]);\n\n return StatusIcon;\n}(_react2.default.Component);\n\nvar StatusLabel = exports.StatusLabel = function (_React$Component3) {\n _inherits(StatusLabel, _React$Component3);\n\n function StatusLabel() {\n _classCallCheck(this, StatusLabel);\n\n return _possibleConstructorReturn(this, (StatusLabel.__proto__ || Object.getPrototypeOf(StatusLabel)).apply(this, arguments));\n }\n\n _createClass(StatusLabel, [{\n key: 'getHelp',\n value: function getHelp() {\n return getStatusDescription(this.props.user, this.props.status);\n }\n }, {\n key: 'getLabel',\n value: function getLabel() {\n if (this.props.status.is_banned) {\n return gettext(\"Banned\");\n } else if (this.props.status.is_hidden) {\n return gettext(\"Hidden\");\n } else if (this.props.status.is_online_hidden) {\n return gettext(\"Online (hidden)\");\n } else if (this.props.status.is_offline_hidden) {\n return gettext(\"Offline (hidden)\");\n } else if (this.props.status.is_online) {\n return gettext(\"Online\");\n } else if (this.props.status.is_offline) {\n return gettext(\"Offline\");\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'span',\n { className: this.props.className || \"status-label\",\n title: this.getHelp() },\n this.getLabel()\n );\n /* jshint ignore:end */\n }\n }]);\n\n return StatusLabel;\n}(_react2.default.Component);\n\nfunction getStatusClassName(status) {\n var className = '';\n if (status.is_banned) {\n className = 'banned';\n } else if (status.is_hidden) {\n className = 'offline';\n } else if (status.is_online_hidden) {\n className = 'online';\n } else if (status.is_offline_hidden) {\n className = 'offline';\n } else if (status.is_online) {\n className = 'online';\n } else if (status.is_offline) {\n className = 'offline';\n }\n\n return 'user-status user-' + className;\n}\n\nfunction getStatusDescription(user, status) {\n if (status.is_banned) {\n if (status.banned_until) {\n return interpolate(gettext(\"%(username)s is banned until %(ban_expires)s\"), {\n username: user.username,\n ban_expires: status.banned_until.format('LL, LT')\n }, true);\n } else {\n return interpolate(gettext(\"%(username)s is banned\"), {\n username: user.username\n }, true);\n }\n } else if (status.is_hidden) {\n return interpolate(gettext(\"%(username)s is hiding presence\"), {\n username: user.username\n }, true);\n } else if (status.is_online_hidden) {\n return interpolate(gettext(\"%(username)s is online (hidden)\"), {\n username: user.username\n }, true);\n } else if (status.is_offline_hidden) {\n return interpolate(gettext(\"%(username)s was last seen %(last_click)s (hidden)\"), {\n username: user.username,\n last_click: status.last_click.fromNow()\n }, true);\n } else if (status.is_online) {\n return interpolate(gettext(\"%(username)s is online\"), {\n username: user.username\n }, true);\n } else if (status.is_offline) {\n return interpolate(gettext(\"%(username)s was last seen %(last_click)s\"), {\n username: user.username,\n last_click: status.last_click.fromNow()\n }, true);\n }\n}\n\n},{\"react\":\"react\"}],274:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _random = require('../../utils/random');\n\nvar random = _interopRequireWildcard(_random);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n return false;\n }\n }, {\n key: 'getClassName',\n value: function getClassName() {\n if (this.props.hiddenOnMobile) {\n return 'list-group-item hidden-xs hidden-sm';\n } else {\n return 'list-group-item';\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: this.getClassName() },\n _react2.default.createElement(\n 'div',\n { className: 'change-avatar' },\n _react2.default.createElement(\n 'span',\n { className: 'user-avatar' },\n _react2.default.createElement(_avatar2.default, { size: '100' })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'change-author' },\n _react2.default.createElement(\n 'span',\n { className: 'ui-preview-text', style: { width: random.int(30, 100) + \"px\" } },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'change' },\n _react2.default.createElement(\n 'span',\n { className: 'ui-preview-text', style: { width: random.int(30, 70) + \"px\" } },\n '\\xA0'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'arrow_forward'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'ui-preview-text', style: { width: random.int(30, 70) + \"px\" } },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'change-date' },\n _react2.default.createElement(\n 'span',\n { className: 'ui-preview-text', style: { width: random.int(80, 140) + \"px\" } },\n '\\xA0'\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../utils/random\":387,\"../avatar\":6,\"react\":\"react\"}],275:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'renderUserAvatar',\n value: function renderUserAvatar() {\n if (this.props.change.changed_by) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'a',\n { href: this.props.change.changed_by.url, className: 'user-avatar-wrapper' },\n _react2.default.createElement(_avatar2.default, { user: this.props.change.changed_by, size: '100' })\n );\n /* jshint ignore:end */\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'span',\n { className: 'user-avatar-wrapper' },\n _react2.default.createElement(_avatar2.default, { size: '100' })\n );\n /* jshint ignore:end */\n }\n }\n }, {\n key: 'renderUsername',\n value: function renderUsername() {\n if (this.props.change.changed_by) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'a',\n { href: this.props.change.changed_by.url, className: 'item-title' },\n this.props.change.changed_by.username\n );\n /* jshint ignore:end */\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'span',\n { className: 'item-title' },\n this.props.change.changed_by_username\n );\n /* jshint ignore:end */\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: 'list-group-item', key: this.props.change.id },\n _react2.default.createElement(\n 'div',\n { className: 'change-avatar' },\n this.renderUserAvatar()\n ),\n _react2.default.createElement(\n 'div',\n { className: 'change-author' },\n this.renderUsername()\n ),\n _react2.default.createElement(\n 'div',\n { className: 'change' },\n _react2.default.createElement(\n 'span',\n { className: 'old-username' },\n this.props.change.old_username\n ),\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'arrow_forward'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'new-username' },\n this.props.change.new_username\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'change-date' },\n _react2.default.createElement(\n 'abbr',\n { title: this.props.change.changed_on.format('LLL') },\n this.props.change.changed_on.fromNow()\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../avatar\":6,\"react\":\"react\"}],276:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: \"getEmptyMessage\",\n value: function getEmptyMessage() {\n if (this.props.emptyMessage) {\n return this.props.emptyMessage;\n } else {\n return gettext(\"No name changes have been recorded for your account.\");\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n \"div\",\n { className: \"username-history ui-ready\" },\n _react2.default.createElement(\n \"ul\",\n { className: \"list-group\" },\n _react2.default.createElement(\n \"li\",\n { className: \"list-group-item empty-message\" },\n this.getEmptyMessage()\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\"}],277:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _changePreview = require('./change-preview');\n\nvar _changePreview2 = _interopRequireDefault(_changePreview);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n return false;\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'username-history ui-preview' },\n _react2.default.createElement(\n 'ul',\n { className: 'list-group' },\n [0, 1, 2].map(function (i) {\n return _react2.default.createElement(_changePreview2.default, { hiddenOnMobile: i > 0, key: i });\n })\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"./change-preview\":274,\"react\":\"react\"}],278:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _change = require('./change');\n\nvar _change2 = _interopRequireDefault(_change);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'username-history ui-ready' },\n _react2.default.createElement(\n 'ul',\n { className: 'list-group' },\n this.props.changes.map(function (change) {\n return _react2.default.createElement(_change2.default, { change: change, key: change.id });\n })\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"./change\":275,\"react\":\"react\"}],279:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _listEmpty = require('./list-empty');\n\nvar _listEmpty2 = _interopRequireDefault(_listEmpty);\n\nvar _listReady = require('./list-ready');\n\nvar _listReady2 = _interopRequireDefault(_listReady);\n\nvar _listPreview = require('./list-preview');\n\nvar _listPreview2 = _interopRequireDefault(_listPreview);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n if (this.props.isLoaded) {\n if (this.props.changes.length) {\n /* jshint ignore:start */\n return _react2.default.createElement(_listReady2.default, { changes: this.props.changes });\n /* jshint ignore:end */\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(_listEmpty2.default, { emptyMessage: this.props.emptyMessage });\n /* jshint ignore:end */\n }\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(_listPreview2.default, null);\n /* jshint ignore:end */\n }\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"./list-empty\":276,\"./list-preview\":277,\"./list-ready\":278,\"react\":\"react\"}],280:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var showStatus = _ref.showStatus,\n user = _ref.user;\n var rank = user.rank;\n\n\n var className = 'panel user-card';\n if (rank.css_class) {\n className += ' user-card-' + rank.css_class;\n }\n\n return _react2.default.createElement(\n 'div',\n { className: className },\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-3 user-card-left' },\n _react2.default.createElement(\n 'div',\n { className: 'user-card-small-avatar' },\n _react2.default.createElement(\n 'a',\n { href: user.url },\n _react2.default.createElement(_avatar2.default, {\n size: '50',\n size2x: '80',\n user: user\n })\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-9 col-sm-12 user-card-body' },\n _react2.default.createElement(\n 'div',\n { className: 'user-card-avatar' },\n _react2.default.createElement(\n 'a',\n { href: user.url },\n _react2.default.createElement(_avatar2.default, {\n size: '150',\n size2x: '200',\n user: user\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'user-card-username' },\n _react2.default.createElement(\n 'a',\n { href: user.url },\n user.username\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'user-card-title' },\n _react2.default.createElement(_userTitle2.default, {\n rank: rank,\n title: user.title\n })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'user-card-stats' },\n _react2.default.createElement(_stats2.default, {\n showStatus: showStatus,\n user: user\n })\n )\n )\n )\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _stats = require('./stats');\n\nvar _stats2 = _interopRequireDefault(_stats);\n\nvar _userTitle = require('./user-title');\n\nvar _userTitle2 = _interopRequireDefault(_userTitle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../avatar\":6,\"./stats\":281,\"./user-title\":282,\"react\":\"react\"}],281:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var showStatus = _ref.showStatus,\n user = _ref.user;\n\n return _react2.default.createElement(\n 'ul',\n { className: 'list-unstyled' },\n _react2.default.createElement(Status, {\n showStatus: showStatus,\n user: user\n }),\n _react2.default.createElement(JoinDate, { user: user }),\n _react2.default.createElement('li', { className: 'user-stat-divider' }),\n _react2.default.createElement(Posts, { user: user }),\n _react2.default.createElement(Threads, { user: user }),\n _react2.default.createElement(Followers, { user: user })\n );\n};\n\nexports.Status = Status;\nexports.JoinDate = JoinDate;\nexports.Posts = Posts;\nexports.Threads = Threads;\nexports.Followers = Followers;\nexports.getStatClassName = getStatClassName;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _userStatus = require('../../user-status');\n\nvar _userStatus2 = _interopRequireDefault(_userStatus);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction Status(_ref2) {\n var showStatus = _ref2.showStatus,\n user = _ref2.user;\n\n if (!showStatus) return null;\n\n return _react2.default.createElement(\n 'li',\n { className: 'user-stat-status' },\n _react2.default.createElement(\n _userStatus2.default,\n { status: user.status },\n _react2.default.createElement(_userStatus.StatusLabel, {\n status: user.status,\n user: user\n })\n )\n );\n} // jshint ignore:start\nfunction JoinDate(_ref3) {\n var user = _ref3.user;\n var joined_on = user.joined_on;\n\n\n var title = interpolate(gettext(\"Joined on %(joined_on)s\"), {\n 'joined_on': joined_on.format('LL, LT')\n }, true);\n\n var message = interpolate(gettext(\"Joined %(joined_on)s\"), {\n 'joined_on': joined_on.fromNow()\n }, true);\n\n return _react2.default.createElement(\n 'li',\n { className: 'user-stat-join-date' },\n _react2.default.createElement(\n 'abbr',\n { title: title },\n message\n )\n );\n}\n\nfunction Posts(_ref4) {\n var user = _ref4.user;\n\n var className = getStatClassName(\"user-stat-posts\", user.posts);\n var message = ngettext(\"%(posts)s post\", \"%(posts)s posts\", user.posts);\n\n return _react2.default.createElement(\n 'li',\n { className: className },\n interpolate(message, {\n 'posts': user.posts\n }, true)\n );\n}\n\nfunction Threads(_ref5) {\n var user = _ref5.user;\n\n var className = getStatClassName(\"user-stat-threads\", user.threads);\n var message = ngettext(\"%(threads)s thread\", \"%(threads)s threads\", user.threads);\n\n return _react2.default.createElement(\n 'li',\n { className: className },\n interpolate(message, {\n 'threads': user.threads\n }, true)\n );\n}\n\nfunction Followers(_ref6) {\n var user = _ref6.user;\n\n var className = getStatClassName(\"user-stat-followers\", user.followers);\n var message = ngettext(\"%(followers)s follower\", \"%(followers)s followers\", user.followers);\n\n return _react2.default.createElement(\n 'li',\n { className: className },\n interpolate(message, {\n 'followers': user.followers\n }, true)\n );\n}\n\nfunction getStatClassName(className, stat) {\n if (stat === 0) {\n return className + ' user-stat-empty';\n }\n return className;\n}\n\n},{\"../../user-status\":273,\"react\":\"react\"}],282:[function(require,module,exports){\narguments[4][129][0].apply(exports,arguments)\n},{\"dup\":129,\"react\":\"react\"}],283:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var cols = _ref.cols,\n isReady = _ref.isReady,\n showStatus = _ref.showStatus,\n users = _ref.users;\n\n var colClassName = 'col-xs-12 col-sm-4';\n if (cols === 4) {\n colClassName += ' col-md-3';\n }\n\n if (!isReady) {\n return _react2.default.createElement(_preview2.default, {\n colClassName: colClassName,\n cols: cols\n });\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'users-cards-list ui-ready' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n users.map(function (user) {\n return _react2.default.createElement(\n 'div',\n {\n className: colClassName,\n key: user.id\n },\n _react2.default.createElement(_card2.default, {\n showStatus: showStatus,\n user: user\n })\n );\n })\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _card = require('./card');\n\nvar _card2 = _interopRequireDefault(_card);\n\nvar _preview = require('./preview');\n\nvar _preview2 = _interopRequireDefault(_preview);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./card\":280,\"./preview\":285,\"react\":\"react\"}],284:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _random = require('../../../utils/random');\n\nvar random = _interopRequireWildcard(_random);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:start\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n return false;\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'div',\n { className: 'panel user-card user-card-preview' },\n _react2.default.createElement(\n 'div',\n { className: 'panel-body' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-3 user-card-left' },\n _react2.default.createElement(\n 'div',\n { className: 'user-card-small-avatar' },\n _react2.default.createElement(\n 'span',\n null,\n _react2.default.createElement(_avatar2.default, {\n size: '50',\n size2x: '80'\n })\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-9 col-sm-12 user-card-body' },\n _react2.default.createElement(\n 'div',\n { className: 'user-card-avatar' },\n _react2.default.createElement(\n 'span',\n null,\n _react2.default.createElement(_avatar2.default, {\n size: '150',\n size2x: '200'\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'user-card-username' },\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(60, 150) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'user-card-title' },\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(60, 150) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'user-card-stats' },\n _react2.default.createElement(\n 'ul',\n { className: 'list-unstyled' },\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 70) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 70) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement('li', { className: 'user-stat-divider' }),\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 70) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'li',\n null,\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 70) + \"px\" }\n },\n '\\xA0'\n )\n )\n )\n )\n )\n )\n )\n );\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../utils/random\":387,\"../../avatar\":6,\"react\":\"react\"}],285:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var colClassName = _ref.colClassName,\n cols = _ref.cols;\n\n var list = Array.apply(null, { length: cols }).map(Number.call, Number);\n\n return _react2.default.createElement(\n 'div',\n { className: 'users-cards-list ui-preview' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n list.map(function (i) {\n var className = colClassName;\n if (i !== 0) className += ' hidden-xs';\n if (i === 3) className += ' hidden-sm';\n\n return _react2.default.createElement(\n 'div',\n {\n className: className,\n key: i\n },\n _react2.default.createElement(_card2.default, null)\n );\n })\n )\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _card = require('./card');\n\nvar _card2 = _interopRequireDefault(_card);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"./card\":284,\"react\":\"react\"}],286:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'getEmptyMessage',\n value: function getEmptyMessage() {\n return interpolate(gettext(\"No users have posted any new messages during last %(days)s days.\"), { 'days': this.props.trackedPeriod }, true);\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'active-posters-list' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n this.getEmptyMessage()\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\"}],287:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _random = require('../../../utils/random');\n\nvar random = _interopRequireWildcard(_random);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n return false;\n }\n }, {\n key: 'getClassName',\n value: function getClassName() {\n if (this.props.hiddenOnMobile) {\n return 'list-group-item hidden-xs hidden-sm';\n } else {\n return 'list-group-item';\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: this.getClassName() },\n _react2.default.createElement(\n 'div',\n { className: 'rank-user-avatar' },\n _react2.default.createElement(\n 'span',\n null,\n _react2.default.createElement(_avatar2.default, { size: '50' })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'rank-user' },\n _react2.default.createElement(\n 'div',\n { className: 'user-name' },\n _react2.default.createElement(\n 'span',\n { className: 'item-title' },\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 80) + \"px\" }\n },\n '\\xA0'\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'user-details' },\n _react2.default.createElement(\n 'span',\n { className: 'user-status' },\n _react2.default.createElement(\n 'span',\n { className: 'status-icon ui-preview-text' },\n '\\xA0'\n ),\n _react2.default.createElement(\n 'span',\n {\n className: 'status-label ui-preview-text hidden-xs hidden-sm',\n style: { width: random.int(30, 50) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'span',\n { className: 'rank-name' },\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 50) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'span',\n { className: 'user-title hidden-xs hidden-sm' },\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(30, 50) + \"px\" }\n },\n '\\xA0'\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'user-compact-stats visible-xs-block' },\n _react2.default.createElement(\n 'span',\n { className: 'rank-position' },\n _react2.default.createElement(\n 'strong',\n null,\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(20, 30) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'small',\n null,\n gettext(\"Rank\")\n )\n ),\n _react2.default.createElement(\n 'span',\n { className: 'rank-posts-counted' },\n _react2.default.createElement(\n 'strong',\n null,\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(20, 30) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'small',\n null,\n gettext(\"Ranked posts\")\n )\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'rank-position hidden-xs' },\n _react2.default.createElement(\n 'strong',\n null,\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(20, 30) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'small',\n null,\n gettext(\"Rank\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'rank-posts-counted hidden-xs' },\n _react2.default.createElement(\n 'strong',\n null,\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(20, 30) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'small',\n null,\n gettext(\"Ranked posts\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'rank-posts-total hidden-xs' },\n _react2.default.createElement(\n 'strong',\n null,\n _react2.default.createElement(\n 'span',\n {\n className: 'ui-preview-text',\n style: { width: random.int(20, 30) + \"px\" }\n },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'small',\n null,\n gettext(\"Total posts\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../utils/random\":387,\"../../avatar\":6,\"react\":\"react\"}],288:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRouter = require('react-router');\n\nvar _avatar = require('../../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _userStatus = require('../../user-status');\n\nvar _userStatus2 = _interopRequireDefault(_userStatus);\n\nvar _index = require('../../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _random = require('../../../utils/random');\n\nvar random = _interopRequireWildcard(_random);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'getClassName',\n value: function getClassName() {\n if (this.props.rank.css_class) {\n return \"list-group-item list-group-rank-\" + this.props.rank.css_class;\n } else {\n return \"list-group-item\";\n }\n }\n }, {\n key: 'getUserStatus',\n value: function getUserStatus() {\n if (this.props.user.status) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n _userStatus2.default,\n { user: this.props.user, status: this.props.user.status },\n _react2.default.createElement(_userStatus.StatusIcon, { user: this.props.user,\n status: this.props.user.status }),\n _react2.default.createElement(_userStatus.StatusLabel, { user: this.props.user,\n status: this.props.user.status,\n className: 'status-label hidden-xs hidden-sm' })\n );\n /* jshint ignore:end */\n }\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'span',\n { className: 'user-status' },\n _react2.default.createElement(\n 'span',\n { className: 'status-icon ui-preview-text' },\n '\\xA0'\n ),\n _react2.default.createElement(\n 'span',\n { className: 'status-label ui-preview-text hidden-xs hidden-sm',\n style: { width: random.int(30, 50) + \"px\" } },\n '\\xA0'\n )\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getRankName',\n value: function getRankName() {\n if (!this.props.rank.is_tab) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'span',\n { className: 'rank-name item-title' },\n this.props.rank.name\n );\n /* jshint ignore:end */\n }\n\n /* jshint ignore:start */\n var rankUrl = _index2.default.get('USERS_LIST_URL') + this.props.rank.slug + '/';\n return _react2.default.createElement(\n _reactRouter.Link,\n { to: rankUrl, className: 'rank-name item-title' },\n this.props.rank.name\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'getUserTitle',\n value: function getUserTitle() {\n if (!this.props.user.title) return null;\n\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'span',\n { className: 'user-title hidden-xs hidden-sm' },\n this.props.user.title\n );\n /* jshint ignore:end */\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'li',\n { className: this.getClassName() },\n _react2.default.createElement(\n 'div',\n { className: 'rank-user-avatar' },\n _react2.default.createElement(\n 'a',\n { href: this.props.user.url },\n _react2.default.createElement(_avatar2.default, { user: this.props.user, size: 50, size2x: 64 })\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'rank-user' },\n _react2.default.createElement(\n 'div',\n { className: 'user-name' },\n _react2.default.createElement(\n 'a',\n { href: this.props.user.url, className: 'item-title' },\n this.props.user.username\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'user-details' },\n this.getUserStatus(),\n this.getRankName(),\n this.getUserTitle()\n ),\n _react2.default.createElement(\n 'div',\n { className: 'user-compact-stats visible-xs-block' },\n _react2.default.createElement(\n 'span',\n { className: 'rank-position' },\n _react2.default.createElement(\n 'strong',\n null,\n '#',\n this.props.counter\n ),\n _react2.default.createElement(\n 'small',\n null,\n gettext(\"Rank\")\n )\n ),\n _react2.default.createElement(\n 'span',\n { className: 'rank-posts-counted' },\n _react2.default.createElement(\n 'strong',\n null,\n this.props.user.meta.score\n ),\n _react2.default.createElement(\n 'small',\n null,\n gettext(\"Ranked posts\")\n )\n )\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'rank-position hidden-xs' },\n _react2.default.createElement(\n 'strong',\n null,\n '#',\n this.props.counter\n ),\n _react2.default.createElement(\n 'small',\n null,\n gettext(\"Rank\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'rank-posts-counted hidden-xs' },\n _react2.default.createElement(\n 'strong',\n null,\n this.props.user.meta.score\n ),\n _react2.default.createElement(\n 'small',\n null,\n gettext(\"Ranked posts\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'rank-posts-total hidden-xs' },\n _react2.default.createElement(\n 'strong',\n null,\n this.props.user.posts\n ),\n _react2.default.createElement(\n 'small',\n null,\n gettext(\"Total posts\")\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../index\":301,\"../../../utils/random\":387,\"../../avatar\":6,\"../../user-status\":273,\"react\":\"react\",\"react-router\":\"react-router\"}],289:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _listItemPreview = require('./list-item-preview');\n\nvar _listItemPreview2 = _interopRequireDefault(_listItemPreview);\n\nvar _random = require('../../../utils/random');\n\nvar random = _interopRequireWildcard(_random);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n return false;\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'active-posters-list' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'p',\n { className: 'lead ui-preview' },\n _react2.default.createElement(\n 'span',\n { className: 'ui-preview-text',\n style: { width: random.int(50, 220) + \"px\" } },\n '\\xA0'\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'active-posters ui-preview' },\n _react2.default.createElement(\n 'ul',\n { className: 'list-group' },\n [0, 1, 2].map(function (i) {\n return _react2.default.createElement(_listItemPreview2.default, { hiddenOnMobile: i > 0, key: i });\n })\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../utils/random\":387,\"./list-item-preview\":287,\"react\":\"react\"}],290:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _listItem = require('./list-item');\n\nvar _listItem2 = _interopRequireDefault(_listItem);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'getLeadMessage',\n value: function getLeadMessage() {\n var message = ngettext(\"%(posters)s most active poster from last %(days)s days.\", \"%(posters)s most active posters from last %(days)s days.\", this.props.count);\n\n return interpolate(message, {\n posters: this.props.count,\n days: this.props.trackedPeriod\n }, true);\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'active-posters-list' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'p',\n { className: 'lead' },\n this.getLeadMessage()\n ),\n _react2.default.createElement(\n 'div',\n { className: 'active-posters ui-ready' },\n _react2.default.createElement(\n 'ul',\n { className: 'list-group' },\n this.props.users.map(function (user, i) {\n return _react2.default.createElement(_listItem2.default, { user: user,\n rank: user.rank,\n counter: i + 1,\n key: user.id });\n })\n )\n )\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"./list-item\":288,\"react\":\"react\"}],291:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _listEmpty = require('./list-empty');\n\nvar _listEmpty2 = _interopRequireDefault(_listEmpty);\n\nvar _listPreview = require('./list-preview');\n\nvar _listPreview2 = _interopRequireDefault(_listPreview);\n\nvar _listReady = require('./list-ready');\n\nvar _listReady2 = _interopRequireDefault(_listReady);\n\nvar _index = require('../../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _users = require('../../../reducers/users');\n\nvar _polls = require('../../../services/polls');\n\nvar _polls2 = _interopRequireDefault(_polls);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _pageTitle = require('../../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.update = function (data) {\n _store2.default.dispatch((0, _users.hydrate)(data.results));\n\n _this.setState({\n isLoaded: true,\n\n trackedPeriod: data.tracked_period,\n count: data.count\n });\n };\n\n if (_index2.default.has('USERS')) {\n _this.initWithPreloadedData(_index2.default.pop('USERS'));\n } else {\n _this.initWithoutPreloadedData();\n }\n\n _this.startPolling();\n return _this;\n }\n\n _createClass(_class, [{\n key: 'initWithPreloadedData',\n value: function initWithPreloadedData(data) {\n this.state = {\n isLoaded: true,\n\n trackedPeriod: data.tracked_period,\n count: data.count\n };\n\n _store2.default.dispatch((0, _users.hydrate)(data.results));\n }\n }, {\n key: 'initWithoutPreloadedData',\n value: function initWithoutPreloadedData() {\n this.state = {\n isLoaded: false\n };\n }\n }, {\n key: 'startPolling',\n value: function startPolling() {\n _polls2.default.start({\n poll: 'active-posters',\n url: _index2.default.get('USERS_API'),\n data: {\n list: 'active'\n },\n frequency: 90 * 1000,\n update: this.update\n });\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'componentDidMount',\n\n /* jshint ignore:end */\n\n value: function componentDidMount() {\n _pageTitle2.default.set({\n title: this.props.route.extra.name,\n parent: gettext(\"Users\")\n });\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n _polls2.default.stop('active-posters');\n }\n }, {\n key: 'render',\n value: function render() {\n if (this.state.isLoaded) {\n if (this.state.count > 0) {\n /* jshint ignore:start */\n return _react2.default.createElement(_listReady2.default, { users: this.props.users,\n trackedPeriod: this.state.trackedPeriod,\n count: this.state.count });\n /* jshint ignore:end */\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(_listEmpty2.default, { trackedPeriod: this.state.trackedPeriod });\n /* jshint ignore:end */\n }\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(_listPreview2.default, null);\n /* jshint ignore:end */\n }\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../index\":301,\"../../../reducers/users\":363,\"../../../services/page-title\":372,\"../../../services/polls\":373,\"../../../services/store\":376,\"./list-empty\":286,\"./list-preview\":289,\"./list-ready\":290,\"react\":\"react\"}],292:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (_ref) {\n var baseUrl = _ref.baseUrl,\n lists = _ref.lists;\n\n return _react2.default.createElement(\n 'ul',\n { className: 'nav nav-pills' },\n lists.map(function (list) {\n var url = listUrl(baseUrl, list);\n return _react2.default.createElement(\n _li2.default,\n { path: url, key: url },\n _react2.default.createElement(\n _reactRouter.Link,\n { to: url },\n list.name\n )\n );\n })\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRouter = require('react-router');\n\nvar _li = require('../li');\n\nvar _li2 = _interopRequireDefault(_li);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar listUrl = function listUrl(baseUrl, list) {\n var url = baseUrl;\n if (list.component === 'rank') {\n url += list.slug;\n } else {\n url += list.component;\n }\n return url + '/';\n}; // jshint ignore:start\n\n},{\"../../index\":301,\"../li\":56,\"react\":\"react\",\"react-router\":\"react-router\"}],293:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _usersList = require('../../users-list');\n\nvar _usersList2 = _interopRequireDefault(_usersList);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n return false;\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(_usersList2.default, {\n cols: 4,\n isReady: false\n })\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../users-list\":283,\"react\":\"react\"}],294:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(_usersList2.default, {\n cols: 4,\n isReady: true,\n showStatus: true,\n users: props.users\n }),\n _react2.default.createElement(_pager2.default, props)\n );\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _pager = require('./pager');\n\nvar _pager2 = _interopRequireDefault(_pager);\n\nvar _usersList = require('../../users-list');\n\nvar _usersList2 = _interopRequireDefault(_usersList);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../../users-list\":283,\"./pager\":295,\"react\":\"react\"}],295:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (props) {\n if (props.pages === 1) return null;\n\n return _react2.default.createElement(\n 'div',\n { className: 'row row-toolbar' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-12 text-center visible-xs-block' },\n _react2.default.createElement(More, { more: props.more }),\n _react2.default.createElement('div', { className: 'toolbar-vertical-spacer' })\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-md-7' },\n _react2.default.createElement(\n 'div',\n { className: 'row' },\n _react2.default.createElement(\n 'div',\n { className: 'col-sm-4 col-md-5' },\n _react2.default.createElement(Pager, props)\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-sm-8 col-md-7 hidden-xs' },\n _react2.default.createElement(More, { more: props.more })\n )\n )\n )\n );\n};\n\nexports.Pager = Pager;\nexports.FirstPage = FirstPage;\nexports.PreviousPage = PreviousPage;\nexports.NextPage = NextPage;\nexports.LastPage = LastPage;\nexports.More = More;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRouter = require('react-router');\n\nvar _resetScroll = require('../../../utils/reset-scroll');\n\nvar _resetScroll2 = _interopRequireDefault(_resetScroll);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nfunction Pager(props) {\n return _react2.default.createElement(\n 'div',\n { className: 'row row-paginator' },\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-3' },\n _react2.default.createElement(FirstPage, props)\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-3' },\n _react2.default.createElement(PreviousPage, props)\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-3' },\n _react2.default.createElement(NextPage, props)\n ),\n _react2.default.createElement(\n 'div',\n { className: 'col-xs-3' },\n _react2.default.createElement(LastPage, props)\n )\n );\n}\n\nfunction FirstPage(props) {\n if (props.isLoaded && props.first) {\n return _react2.default.createElement(\n _reactRouter.Link,\n {\n className: 'btn btn-default btn-block btn-icon btn-outline',\n onClick: _resetScroll2.default,\n to: props.baseUrl,\n title: gettext(\"Go to first page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'first_page'\n )\n );\n } else {\n return _react2.default.createElement(\n 'span',\n {\n className: 'btn btn-default btn-block btn-icon btn-outline disabled',\n title: gettext(\"Go to first page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'first_page'\n )\n );\n }\n}\n\nfunction PreviousPage(props) {\n if (props.isLoaded && props.page > 1) {\n var previousUrl = '';\n if (props.previous) {\n previousUrl = props.previous + '/';\n }\n\n return _react2.default.createElement(\n _reactRouter.Link,\n {\n className: 'btn btn-default btn-block btn-icon btn-outline',\n onClick: _resetScroll2.default,\n to: props.baseUrl + previousUrl,\n title: gettext(\"Go to previous page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'chevron_left'\n )\n );\n } else {\n return _react2.default.createElement(\n 'span',\n {\n className: 'btn btn-default btn-block btn-icon btn-outline disabled',\n title: gettext(\"Go to previous page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'chevron_left'\n )\n );\n }\n}\n\nfunction NextPage(props) {\n if (props.isLoaded && props.more) {\n var nextUrl = '';\n if (props.next) {\n nextUrl = props.next + '/';\n }\n\n return _react2.default.createElement(\n _reactRouter.Link,\n {\n className: 'btn btn-default btn-block btn-icon btn-outline',\n onClick: _resetScroll2.default,\n to: props.baseUrl + nextUrl,\n title: gettext(\"Go to next page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'chevron_right'\n )\n );\n } else {\n return _react2.default.createElement(\n 'span',\n {\n className: 'btn btn-default btn-block btn-icon btn-outline disabled',\n title: gettext(\"Go to next page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'chevron_right'\n )\n );\n }\n}\n\nfunction LastPage(props) {\n if (props.isLoaded && props.last) {\n return _react2.default.createElement(\n _reactRouter.Link,\n {\n className: 'btn btn-default btn-block btn-icon btn-outline',\n onClick: _resetScroll2.default,\n to: props.baseUrl + props.last + '/',\n title: gettext(\"Go to last page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'last_page'\n )\n );\n } else {\n return _react2.default.createElement(\n 'span',\n {\n className: 'btn btn-default btn-block btn-icon btn-outline disabled',\n title: gettext(\"Go to last page\")\n },\n _react2.default.createElement(\n 'span',\n { className: 'material-icon' },\n 'last_page'\n )\n );\n }\n}\n\nfunction More(props) {\n var message = null;\n if (props.more) {\n message = ngettext(\"There is %(more)s more member with this role.\", \"There are %(more)s more members with this role.\", props.more);\n message = interpolate(message, { 'more': props.more }, true);\n } else {\n message = gettext(\"There are no more members with this role.\");\n }\n\n return _react2.default.createElement(\n 'p',\n null,\n message\n );\n}\n\n},{\"../../../utils/reset-scroll\":388,\"react\":\"react\",\"react-router\":\"react-router\"}],296:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _pageLead = require('../../page-lead');\n\nvar _pageLead2 = _interopRequireDefault(_pageLead);\n\nvar _list = require('./list');\n\nvar _list2 = _interopRequireDefault(_list);\n\nvar _listLoading = require('./list-loading');\n\nvar _listLoading2 = _interopRequireDefault(_listLoading);\n\nvar _index = require('../../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _users = require('../../../reducers/users');\n\nvar _polls = require('../../../services/polls');\n\nvar _polls2 = _interopRequireDefault(_polls);\n\nvar _store = require('../../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _pageTitle = require('../../../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.update = function (data) {\n _store2.default.dispatch((0, _users.hydrate)(data.results));\n\n data.isLoaded = true;\n _this.setState(data);\n };\n\n if (_index2.default.has('USERS')) {\n _this.initWithPreloadedData(_index2.default.pop('USERS'));\n } else {\n _this.initWithoutPreloadedData();\n }\n\n _this.startPolling(props.params.page || 1);\n return _this;\n }\n\n _createClass(_class, [{\n key: 'initWithPreloadedData',\n value: function initWithPreloadedData(data) {\n this.state = Object.assign(data, {\n isLoaded: true\n });\n _store2.default.dispatch((0, _users.hydrate)(data.results));\n }\n }, {\n key: 'initWithoutPreloadedData',\n value: function initWithoutPreloadedData() {\n this.state = {\n isLoaded: false\n };\n }\n }, {\n key: 'startPolling',\n value: function startPolling(page) {\n _polls2.default.start({\n poll: 'rank-users',\n url: _index2.default.get('USERS_API'),\n data: {\n rank: this.props.route.rank.id,\n page: page\n },\n frequency: 90 * 1000,\n update: this.update\n });\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'componentDidMount',\n\n /* jshint ignore:end */\n\n value: function componentDidMount() {\n _pageTitle2.default.set({\n title: this.props.route.rank.name,\n page: this.props.params.page || null,\n parent: gettext(\"Users\")\n });\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n _polls2.default.stop('rank-users');\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n if (this.props.params.page !== nextProps.params.page) {\n _pageTitle2.default.set({\n title: this.props.route.rank.name,\n page: nextProps.params.page || null,\n parent: gettext(\"Users\")\n });\n\n this.setState({\n isLoaded: false\n });\n\n _polls2.default.stop('rank-users');\n this.startPolling(nextProps.params.page);\n }\n }\n }, {\n key: 'getClassName',\n value: function getClassName() {\n if (this.props.route.rank.css_class) {\n return 'rank-users-list rank-users-' + this.props.route.rank.css_class;\n } else {\n return 'rank-users-list';\n }\n }\n }, {\n key: 'getRankDescription',\n value: function getRankDescription() {\n if (this.props.route.rank.description) {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'rank-description' },\n _react2.default.createElement(_pageLead2.default, { copy: this.props.route.rank.description.html })\n );\n /* jshint ignore:end */\n } else {\n return null;\n }\n }\n }, {\n key: 'getComponent',\n value: function getComponent() {\n if (this.state.isLoaded) {\n if (this.state.count > 0) {\n /* jshint ignore:start */\n var baseUrl = _index2.default.get('USERS_LIST_URL') + this.props.route.rank.slug + '/';\n return _react2.default.createElement(_list2.default, _extends({ baseUrl: baseUrl,\n users: this.props.users\n }, this.state));\n /* jshint ignore:end */\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'p',\n { className: 'lead' },\n gettext(\"There are no users with this rank at the moment.\")\n );\n /* jshint ignore:end */\n }\n } else {\n /* jshint ignore:start */\n return _react2.default.createElement(_listLoading2.default, null);\n /* jshint ignore:end */\n }\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: this.getClassName() },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n this.getRankDescription(),\n this.getComponent()\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../../../index\":301,\"../../../reducers/users\":363,\"../../../services/page-title\":372,\"../../../services/polls\":373,\"../../../services/store\":376,\"../../page-lead\":91,\"./list\":294,\"./list-loading\":293,\"react\":\"react\"}],297:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.select = select;\nexports.paths = paths;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRedux = require('react-redux');\n\nvar _dropdownToggle = require('../dropdown-toggle');\n\nvar _dropdownToggle2 = _interopRequireDefault(_dropdownToggle);\n\nvar _nav = require('./nav');\n\nvar _nav2 = _interopRequireDefault(_nav);\n\nvar _root = require('./active-posters/root');\n\nvar _root2 = _interopRequireDefault(_root);\n\nvar _root3 = require('./rank/root');\n\nvar _root4 = _interopRequireDefault(_root3);\n\nvar _withDropdown = require('../with-dropdown');\n\nvar _withDropdown2 = _interopRequireDefault(_withDropdown);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _class = function (_WithDropdown) {\n _inherits(_class, _WithDropdown);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n 'div',\n { className: 'page page-users-lists' },\n _react2.default.createElement(\n 'div',\n { className: 'page-header-bg' },\n _react2.default.createElement(\n 'div',\n { className: 'page-header' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(\n 'h1',\n null,\n gettext(\"Users\")\n )\n ),\n _react2.default.createElement(\n 'div',\n { className: 'page-tabs' },\n _react2.default.createElement(\n 'div',\n { className: 'container' },\n _react2.default.createElement(_nav2.default, {\n lists: _index2.default.get('USERS_LISTS'),\n baseUrl: _index2.default.get('USERS_LIST_URL')\n })\n )\n )\n )\n ),\n this.props.children\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_withDropdown2.default);\n\nexports.default = _class;\nfunction select(store) {\n return {\n 'tick': store.tick.tick,\n 'user': store.auth.user,\n 'users': store.users\n };\n}\n\nfunction paths() {\n var paths = [];\n\n _index2.default.get('USERS_LISTS').forEach(function (item) {\n if (item.component === 'rank') {\n paths.push({\n path: _index2.default.get('USERS_LIST_URL') + item.slug + '/:page/',\n component: (0, _reactRedux.connect)(select)(_root4.default),\n rank: item\n });\n paths.push({\n path: _index2.default.get('USERS_LIST_URL') + item.slug + '/',\n component: (0, _reactRedux.connect)(select)(_root4.default),\n rank: item\n });\n } else if (item.component === 'active-posters') {\n paths.push({\n path: _index2.default.get('USERS_LIST_URL') + item.component + '/',\n component: (0, _reactRedux.connect)(select)(_root2.default),\n extra: {\n name: item.name\n }\n });\n }\n });\n\n return paths;\n}\n\n},{\"../../index\":301,\"../dropdown-toggle\":27,\"../with-dropdown\":298,\"./active-posters/root\":291,\"./nav\":292,\"./rank/root\":296,\"react\":\"react\",\"react-redux\":\"react-redux\"}],298:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props));\n\n _this.toggleNav = function () {\n _this.setState({\n dropdown: !_this.state.dropdown\n });\n };\n\n _this.hideNav = function () {\n _this.setState({\n dropdown: false\n });\n };\n\n _this.state = {\n dropdown: false\n };\n return _this;\n }\n\n /* jshint ignore:start */\n\n\n _createClass(_class, [{\n key: 'getCompactNavClassName',\n\n /* jshint ignore:end */\n\n value: function getCompactNavClassName() {\n if (this.state.dropdown) {\n return 'compact-nav open';\n } else {\n return 'compact-nav';\n }\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\"}],299:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, _class);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.toggle = function () {\n _this.props.onChange({\n target: {\n value: !_this.props.value\n }\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(_class, [{\n key: \"getClassName\",\n value: function getClassName() {\n if (this.props.value) {\n return \"btn btn-yes-no btn-yes-no-on\";\n } else {\n return \"btn btn-yes-no btn-yes-no-off\";\n }\n }\n }, {\n key: \"getIcon\",\n value: function getIcon() {\n if (!!this.props.value) {\n return this.props.iconOn || 'check_box';\n } else {\n return this.props.iconOff || 'check_box_outline_blank';\n }\n }\n }, {\n key: \"getLabel\",\n value: function getLabel() {\n if (!!this.props.value) {\n return this.props.labelOn || gettext(\"yes\");\n } else {\n return this.props.labelOff || gettext(\"no\");\n }\n }\n\n /* jshint ignore:start */\n\n }, {\n key: \"render\",\n\n /* jshint ignore:end */\n\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement(\n \"button\",\n {\n type: \"button\",\n onClick: this.toggle,\n className: this.getClassName(),\n id: this.props.id || null,\n \"aria-describedby\": this.props['aria-describedby'] || null,\n disabled: this.props.disabled || false\n },\n _react2.default.createElement(\n \"span\",\n { className: \"material-icon\" },\n this.getIcon()\n ),\n _react2.default.createElement(\n \"span\",\n { className: \"btn-text\" },\n this.getLabel()\n )\n );\n /* jshint ignore:end */\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\"}],300:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _profileDetails = require('../reducers/profile-details');\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* jshint ignore:start */\n\n\nvar _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _props = this.props,\n data = _props.data,\n dispatch = _props.dispatch,\n user = _props.user;\n\n if (data && data.id === user.id) return;\n\n _ajax2.default.get(this.props.user.api.details).then(function (data) {\n dispatch((0, _profileDetails.load)(data));\n }, function (rejection) {\n _snackbar2.default.apiError(rejection);\n });\n }\n }, {\n key: 'render',\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return _class;\n}(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../reducers/profile-details\":354,\"../services/ajax\":364,\"../services/snackbar\":375,\"react\":\"react\"}],301:[function(require,module,exports){\n(function (global){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Misago = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _orderedList = require('./utils/ordered-list');\n\nvar _orderedList2 = _interopRequireDefault(_orderedList);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Misago = exports.Misago = function () {\n function Misago() {\n _classCallCheck(this, Misago);\n\n this._initializers = [];\n this._context = {};\n }\n\n _createClass(Misago, [{\n key: 'addInitializer',\n value: function addInitializer(initializer) {\n this._initializers.push({\n key: initializer.name,\n\n item: initializer.initializer,\n\n after: initializer.after,\n before: initializer.before\n });\n }\n }, {\n key: 'init',\n value: function init(context) {\n var _this = this;\n\n this._context = context;\n\n var initOrder = new _orderedList2.default(this._initializers).orderedValues();\n initOrder.forEach(function (initializer) {\n initializer(_this);\n });\n }\n\n // context accessors\n\n }, {\n key: 'has',\n value: function has(key) {\n return !!this._context[key];\n }\n }, {\n key: 'get',\n value: function get(key, fallback) {\n if (this.has(key)) {\n return this._context[key];\n } else {\n return fallback || undefined;\n }\n }\n }, {\n key: 'pop',\n value: function pop(key) {\n if (this.has(key)) {\n var value = this._context[key];\n this._context[key] = null;\n return value;\n } else {\n return undefined;\n }\n }\n }]);\n\n return Misago;\n}();\n\n// create singleton\n\n\nvar misago = new Misago();\n\n// expose it globally\nglobal.misago = misago;\n\n// and export it for tests and stuff\nexports.default = misago;\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"./utils/ordered-list\":386}],302:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _ajax2.default.init(_index2.default.get('CSRF_COOKIE_NAME'));\n}\n\n_index2.default.addInitializer({\n name: 'ajax',\n initializer: initializer\n});\n\n},{\"../index\":301,\"../services/ajax\":364}],303:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _auth = require('../reducers/auth');\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar AUTH_SYNC_RATE = 45; // sync user with backend every 45 seconds\n\nfunction initializer(context) {\n if (context.get('isAuthenticated')) {\n window.setInterval(function () {\n _ajax2.default.get(context.get('AUTH_API')).then(function (data) {\n _store2.default.dispatch((0, _auth.patch)(data));\n }, function (rejection) {\n _snackbar2.default.apiError(rejection);\n });\n }, AUTH_SYNC_RATE * 1000);\n }\n}\n\n_index2.default.addInitializer({\n name: 'auth-sync',\n initializer: initializer,\n after: 'auth'\n});\n\n},{\"../index\":301,\"../reducers/auth\":349,\"../services/ajax\":364,\"../services/snackbar\":375,\"../services/store\":376}],304:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _auth = require('../services/auth');\n\nvar _auth2 = _interopRequireDefault(_auth);\n\nvar _modal = require('../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _localStorage = require('../services/local-storage');\n\nvar _localStorage2 = _interopRequireDefault(_localStorage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _auth2.default.init(_store2.default, _localStorage2.default, _modal2.default);\n}\n\n_index2.default.addInitializer({\n name: 'auth',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../index\":301,\"../services/auth\":365,\"../services/local-storage\":368,\"../services/modal\":370,\"../services/store\":376}],305:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _captcha = require('../services/captcha');\n\nvar _captcha2 = _interopRequireDefault(_captcha);\n\nvar _include = require('../services/include');\n\nvar _include2 = _interopRequireDefault(_include);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n _captcha2.default.init(context, _ajax2.default, _include2.default, _snackbar2.default);\n}\n\n_index2.default.addInitializer({\n name: 'captcha',\n initializer: initializer\n});\n\n},{\"../index\":301,\"../services/ajax\":364,\"../services/captcha\":366,\"../services/include\":367,\"../services/snackbar\":375}],306:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _acceptAgreement = require('../../components/accept-agreement');\n\nvar _acceptAgreement2 = _interopRequireDefault(_acceptAgreement);\n\nvar _mountComponent = require('../../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* jshint ignore:start */\nfunction initializer(context) {\n if (document.getElementById('required-agreement-mount')) {\n (0, _mountComponent2.default)(_react2.default.createElement(_acceptAgreement2.default, { api: context.get('REQUIRED_AGREEMENT_API') }), 'required-agreement-mount', false);\n }\n}\n\n_index2.default.addInitializer({\n name: 'component:accept-agreement',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../../components/accept-agreement\":3,\"../../index\":301,\"../../utils/mount-component\":385,\"react\":\"react\"}],307:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _reactRedux = require('react-redux');\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _authMessage = require('../../components/auth-message');\n\nvar _authMessage2 = _interopRequireDefault(_authMessage);\n\nvar _mountComponent = require('../../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n (0, _mountComponent2.default)((0, _reactRedux.connect)(_authMessage.select)(_authMessage2.default), 'auth-message-mount');\n}\n\n_index2.default.addInitializer({\n name: 'component:auth-message',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../../components/auth-message\":5,\"../../index\":301,\"../../utils/mount-component\":385,\"react-redux\":\"react-redux\"}],308:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _bannedPage = require('../../utils/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n if (context.has('BAN_MESSAGE')) {\n (0, _bannedPage2.default)(context.get('BAN_MESSAGE'), false);\n }\n}\n\n_index2.default.addInitializer({\n name: 'component:banmed-page',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../../index\":301,\"../../utils/banned-page\":378}],309:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _reactRedux = require('react-redux');\n\nvar _categories = require('../../components/categories');\n\nvar _categories2 = _interopRequireDefault(_categories);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _mountComponent = require('../../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n if (document.getElementById('categories-mount')) {\n (0, _mountComponent2.default)((0, _reactRedux.connect)(_categories.select)(_categories2.default), 'categories-mount');\n }\n}\n\n_index2.default.addInitializer({\n name: 'component:categories',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../../components/categories\":20,\"../../index\":301,\"../../utils/mount-component\":385,\"react-redux\":\"react-redux\"}],310:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _root = require('../../components/options/root');\n\nvar _root2 = _interopRequireDefault(_root);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _routedComponent = require('../../utils/routed-component');\n\nvar _routedComponent2 = _interopRequireDefault(_routedComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n if (context.has('USER_OPTIONS')) {\n (0, _routedComponent2.default)({\n root: _index2.default.get('USERCP_URL'),\n component: _root2.default,\n paths: (0, _root.paths)()\n });\n }\n}\n\n_index2.default.addInitializer({\n name: 'component:options',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../../components/options/root\":86,\"../../index\":301,\"../../utils/routed-component\":389}],311:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _reactRedux = require('react-redux');\n\nvar _root = require('../../components/profile/root');\n\nvar _root2 = _interopRequireDefault(_root);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _routedComponent = require('../../utils/routed-component');\n\nvar _routedComponent2 = _interopRequireDefault(_routedComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n if (context.has('PROFILE') && context.has('PROFILE_PAGES')) {\n (0, _routedComponent2.default)({\n root: _index2.default.get('PROFILE').url,\n component: (0, _reactRedux.connect)(_root.select)(_root2.default),\n paths: (0, _root.paths)()\n });\n }\n}\n\n_index2.default.addInitializer({\n name: 'component:profile',\n initializer: initializer,\n after: 'reducer:profile-hydrate'\n});\n\n},{\"../../components/profile/root\":194,\"../../index\":301,\"../../utils/routed-component\":389,\"react-redux\":\"react-redux\"}],312:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _requestActivationLink = require('../../components/request-activation-link');\n\nvar _requestActivationLink2 = _interopRequireDefault(_requestActivationLink);\n\nvar _mountComponent = require('../../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n if (document.getElementById('request-activation-link-mount')) {\n (0, _mountComponent2.default)(_requestActivationLink2.default, 'request-activation-link-mount', false);\n }\n}\n\n_index2.default.addInitializer({\n name: 'component:request-activation-link',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../../components/request-activation-link\":199,\"../../index\":301,\"../../utils/mount-component\":385}],313:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _requestPasswordReset = require('../../components/request-password-reset');\n\nvar _requestPasswordReset2 = _interopRequireDefault(_requestPasswordReset);\n\nvar _mountComponent = require('../../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n if (document.getElementById('request-password-reset-mount')) {\n (0, _mountComponent2.default)(_requestPasswordReset2.default, 'request-password-reset-mount', false);\n }\n}\n\n_index2.default.addInitializer({\n name: 'component:request-password-reset',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../../components/request-password-reset\":200,\"../../index\":301,\"../../utils/mount-component\":385}],314:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _resetPasswordForm = require('../../components/reset-password-form');\n\nvar _resetPasswordForm2 = _interopRequireDefault(_resetPasswordForm);\n\nvar _mountComponent = require('../../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n if (document.getElementById('reset-password-form-mount')) {\n (0, _mountComponent2.default)(_resetPasswordForm2.default, 'reset-password-form-mount', false);\n }\n}\n\n_2.default.addInitializer({\n name: 'component:reset-password-form',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../..\":301,\"../../components/reset-password-form\":201,\"../../utils/mount-component\":385}],315:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _search = require('../../components/search');\n\nvar _search2 = _interopRequireDefault(_search);\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _routedComponent = require('../../utils/routed-component');\n\nvar _routedComponent2 = _interopRequireDefault(_routedComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n if (context.get('CURRENT_LINK') === 'misago:search') {\n (0, _routedComponent2.default)({\n paths: (0, _search2.default)(_2.default.get('SEARCH_PROVIDERS'))\n });\n }\n}\n\n_2.default.addInitializer({\n name: 'component:search',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../..\":301,\"../../components/search\":203,\"../../utils/routed-component\":389}],316:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _reactRedux = require('react-redux');\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _snackbar = require('../../components/snackbar');\n\nvar _mountComponent = require('../../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n (0, _mountComponent2.default)((0, _reactRedux.connect)(_snackbar.select)(_snackbar.Snackbar), 'snackbar-mount');\n}\n\n_index2.default.addInitializer({\n name: 'component:snackbar',\n initializer: initializer,\n after: 'snackbar'\n});\n\n},{\"../../components/snackbar\":211,\"../../index\":301,\"../../utils/mount-component\":385,\"react-redux\":\"react-redux\"}],317:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _socialAuth = require('../../components/social-auth');\n\nvar _socialAuth2 = _interopRequireDefault(_socialAuth);\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _mountComponent = require('../../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:start\nfunction initializer(context) {\n if (context.get('CURRENT_LINK') === 'social:complete') {\n var props = context.get('SOCIAL_AUTH');\n (0, _mountComponent2.default)(_react2.default.createElement(_socialAuth2.default, props), 'page-mount');\n }\n}\n\n_2.default.addInitializer({\n name: 'component:social-auth',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../..\":301,\"../../components/social-auth\":214,\"../../utils/mount-component\":385,\"react\":\"react\"}],318:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _root = require('../../components/thread/root');\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _routedComponent = require('../../utils/routed-component');\n\nvar _routedComponent2 = _interopRequireDefault(_routedComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n if (context.has('THREAD') && context.has('POSTS')) {\n (0, _routedComponent2.default)({\n paths: (0, _root.paths)()\n });\n }\n}\n\n_index2.default.addInitializer({\n name: 'component:thread',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../../components/thread/root\":232,\"../../index\":301,\"../../utils/routed-component\":389}],319:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\nexports.getListOptions = getListOptions;\n\nvar _root = require('../../components/threads/root');\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _routedComponent = require('../../utils/routed-component');\n\nvar _routedComponent2 = _interopRequireDefault(_routedComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar PRIVATE_THREADS_LIST = 'misago:private-threads';\n\nfunction initializer(context) {\n if (context.has('THREADS') && context.has('CATEGORIES')) {\n (0, _routedComponent2.default)({\n paths: (0, _root.paths)(context.get('user'), getListOptions(context))\n });\n }\n}\n\nfunction getListOptions(context) {\n var currentLink = context.get('CURRENT_LINK');\n if (currentLink.substr(0, PRIVATE_THREADS_LIST.length) === PRIVATE_THREADS_LIST) {\n return {\n api: context.get('PRIVATE_THREADS_API'),\n startThread: {\n mode: 'START_PRIVATE',\n submit: _index2.default.get('PRIVATE_THREADS_API')\n },\n title: gettext(\"Private threads\"),\n pageLead: gettext(\"Private threads are threads which only those that started them and those they have invited may see and participate in.\"),\n emptyMessage: gettext(\"You aren't participating in any private threads.\")\n };\n }\n\n return {\n 'api': context.get('THREADS_API')\n };\n}\n\n_index2.default.addInitializer({\n name: 'component:threads',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../../components/threads/root\":266,\"../../index\":301,\"../../utils/routed-component\":389}],320:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _reactRedux = require('react-redux');\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _root = require('../../components/user-menu/root');\n\nvar _mountComponent = require('../../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n (0, _mountComponent2.default)((0, _reactRedux.connect)(_root.select)(_root.UserMenu), 'user-menu-mount');\n (0, _mountComponent2.default)((0, _reactRedux.connect)(_root.select)(_root.CompactUserMenu), 'user-menu-compact-mount');\n}\n\n_index2.default.addInitializer({\n name: 'component:user-menu',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../../components/user-menu/root\":271,\"../../index\":301,\"../../utils/mount-component\":385,\"react-redux\":\"react-redux\"}],321:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _root = require('../../components/users/root');\n\nvar _root2 = _interopRequireDefault(_root);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _routedComponent = require('../../utils/routed-component');\n\nvar _routedComponent2 = _interopRequireDefault(_routedComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n if (context.has('USERS_LISTS')) {\n (0, _routedComponent2.default)({\n root: _index2.default.get('USERS_LIST_URL'),\n component: _root2.default,\n paths: (0, _root.paths)()\n });\n }\n}\n\n_index2.default.addInitializer({\n name: 'component:users',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../../components/users/root\":297,\"../../index\":301,\"../../utils/routed-component\":389}],322:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _include = require('../services/include');\n\nvar _include2 = _interopRequireDefault(_include);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n _include2.default.init(context.get('STATIC_URL'));\n}\n\n_index2.default.addInitializer({\n name: 'include',\n initializer: initializer\n});\n\n},{\"../index\":301,\"../services/include\":367}],323:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _localStorage = require('../services/local-storage');\n\nvar _localStorage2 = _interopRequireDefault(_localStorage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _localStorage2.default.init('misago_');\n}\n\n_index2.default.addInitializer({\n name: 'local-storage',\n initializer: initializer\n});\n\n},{\"../index\":301,\"../services/local-storage\":368}],324:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _mobileNavbarDropdown = require('../services/mobile-navbar-dropdown');\n\nvar _mobileNavbarDropdown2 = _interopRequireDefault(_mobileNavbarDropdown);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n var element = document.getElementById('mobile-navbar-dropdown-mount');\n if (element) {\n _mobileNavbarDropdown2.default.init(element);\n }\n}\n\n_index2.default.addInitializer({\n name: 'dropdown',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../index\":301,\"../services/mobile-navbar-dropdown\":369}],325:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _modal = require('../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n var element = document.getElementById('modal-mount');\n if (element) {\n _modal2.default.init(element);\n }\n}\n\n_index2.default.addInitializer({\n name: 'modal',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../index\":301,\"../services/modal\":370}],326:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _moment2.default.locale($('html').attr('lang'));\n}\n\n_index2.default.addInitializer({\n name: 'moment',\n initializer: initializer\n});\n\n},{\"../index\":301,\"moment\":\"moment\"}],327:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _pageTitle = require('../services/page-title');\n\nvar _pageTitle2 = _interopRequireDefault(_pageTitle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n _pageTitle2.default.init(context.get('SETTINGS').forum_index_title, context.get('SETTINGS').forum_name);\n}\n\n_index2.default.addInitializer({\n name: 'page-title',\n initializer: initializer\n});\n\n},{\"../index\":301,\"../services/page-title\":372}],328:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _polls = require('../services/polls');\n\nvar _polls2 = _interopRequireDefault(_polls);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _polls2.default.init(_ajax2.default, _snackbar2.default);\n}\n\n_index2.default.addInitializer({\n name: 'polls',\n initializer: initializer\n});\n\n},{\"../index\":301,\"../services/ajax\":364,\"../services/polls\":373,\"../services/snackbar\":375}],329:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _posting = require('../services/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _posting2.default.init(_ajax2.default, _snackbar2.default, document.getElementById('posting-placeholder'));\n}\n\n_index2.default.addInitializer({\n name: 'posting',\n initializer: initializer\n});\n\n},{\"../index\":301,\"../services/ajax\":364,\"../services/posting\":374,\"../services/snackbar\":375}],330:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _auth = require('../../reducers/auth');\n\nvar _auth2 = _interopRequireDefault(_auth);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n _store2.default.addReducer('auth', _auth2.default, Object.assign({\n isAuthenticated: context.get('isAuthenticated'),\n isAnonymous: !context.get('isAuthenticated'),\n\n user: context.get('user')\n }, _auth.initialState));\n}\n\n_index2.default.addInitializer({\n name: 'reducer:auth',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/auth\":349,\"../../services/store\":376}],331:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _participants = require('../../reducers/participants');\n\nvar _participants2 = _interopRequireDefault(_participants);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n var initialState = null;\n if (_index2.default.has('THREAD')) {\n initialState = _index2.default.get('THREAD').participants;\n }\n\n _store2.default.addReducer('participants', _participants2.default, initialState || []);\n}\n\n_index2.default.addInitializer({\n name: 'reducer:participants',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/participants\":350,\"../../services/store\":376}],332:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _poll = require('../../reducers/poll');\n\nvar _poll2 = _interopRequireDefault(_poll);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n var initialState = null;\n if (_index2.default.has('THREAD') && _index2.default.get('THREAD').poll) {\n initialState = (0, _poll.hydrate)(_index2.default.get('THREAD').poll);\n } else {\n initialState = {\n isBusy: false\n };\n }\n\n _store2.default.addReducer('poll', _poll2.default, initialState);\n}\n\n_index2.default.addInitializer({\n name: 'reducer:poll',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/poll\":351,\"../../services/store\":376}],333:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _posts = require('../../reducers/posts');\n\nvar _posts2 = _interopRequireDefault(_posts);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n var initialState = null;\n if (_index2.default.has('POSTS')) {\n initialState = (0, _posts.hydrate)(_index2.default.get('POSTS'));\n } else {\n initialState = {\n isLoaded: false,\n isBusy: false\n };\n }\n\n _store2.default.addReducer('posts', _posts2.default, initialState);\n}\n\n_index2.default.addInitializer({\n name: 'reducer:posts',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/posts\":353,\"../../services/store\":376}],334:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _profileDetails = require('../../reducers/profile-details');\n\nvar _profileDetails2 = _interopRequireDefault(_profileDetails);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n var initialState = null;\n if (_index2.default.has('PROFILE_DETAILS')) {\n initialState = _index2.default.get('PROFILE_DETAILS');\n }\n\n _store2.default.addReducer('profile-details', _profileDetails2.default, initialState || {});\n}\n\n_index2.default.addInitializer({\n name: 'reducer:profile-details',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/profile-details\":354,\"../../services/store\":376}],335:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _profile = require('../../reducers/profile');\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n if (_index2.default.has('PROFILE')) {\n _store2.default.dispatch((0, _profile.hydrate)(_index2.default.get('PROFILE')));\n }\n}\n\n_index2.default.addInitializer({\n name: 'reducer:profile-hydrate',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/profile\":355,\"../../services/store\":376}],336:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _profile = require('../../reducers/profile');\n\nvar _profile2 = _interopRequireDefault(_profile);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _store2.default.addReducer('profile', _profile2.default, {});\n}\n\n_index2.default.addInitializer({\n name: 'reducer:profile',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/profile\":355,\"../../services/store\":376}],337:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _ = require('../..');\n\nvar _2 = _interopRequireDefault(_);\n\nvar _search = require('../../reducers/search');\n\nvar _search2 = _interopRequireDefault(_search);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _store2.default.addReducer('search', _search2.default, Object.assign({}, _search.initialState, {\n providers: _2.default.get('SEARCH_PROVIDERS') || [],\n query: _2.default.get('SEARCH_QUERY') || ''\n }));\n}\n\n_2.default.addInitializer({\n name: 'reducer:search',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../..\":301,\"../../reducers/search\":356,\"../../services/store\":376}],338:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _selection = require('../../reducers/selection');\n\nvar _selection2 = _interopRequireDefault(_selection);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _store2.default.addReducer('selection', _selection2.default, []);\n}\n\n_index2.default.addInitializer({\n name: 'reducer:selection',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/selection\":357,\"../../services/store\":376}],339:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _snackbar = require('../../reducers/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _store2.default.addReducer('snackbar', _snackbar2.default, _snackbar.initialState);\n}\n\n_index2.default.addInitializer({\n name: 'reducer:snackbar',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/snackbar\":358,\"../../services/store\":376}],340:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _thread = require('../../reducers/thread');\n\nvar _thread2 = _interopRequireDefault(_thread);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n var initialState = null;\n if (_index2.default.has('THREAD')) {\n initialState = (0, _thread.hydrate)(_index2.default.get('THREAD'));\n } else {\n initialState = {\n isBusy: false\n };\n }\n\n _store2.default.addReducer('thread', _thread2.default, initialState);\n}\n\n_index2.default.addInitializer({\n name: 'reducer:thread',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/thread\":359,\"../../services/store\":376}],341:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _threads = require('../../reducers/threads');\n\nvar _threads2 = _interopRequireDefault(_threads);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _store2.default.addReducer('threads', _threads2.default, []);\n}\n\n_index2.default.addInitializer({\n name: 'reducer:threads',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/threads\":360,\"../../services/store\":376}],342:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _tick = require('../../reducers/tick');\n\nvar _tick2 = _interopRequireDefault(_tick);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _store2.default.addReducer('tick', _tick2.default, _tick.initialState);\n}\n\n_index2.default.addInitializer({\n name: 'reducer:tick',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/tick\":361,\"../../services/store\":376}],343:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _usernameHistory = require('../../reducers/username-history');\n\nvar _usernameHistory2 = _interopRequireDefault(_usernameHistory);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _store2.default.addReducer('username-history', _usernameHistory2.default, []);\n}\n\n_index2.default.addInitializer({\n name: 'reducer:username-history',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/username-history\":362,\"../../services/store\":376}],344:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _users = require('../../reducers/users');\n\nvar _users2 = _interopRequireDefault(_users);\n\nvar _store = require('../../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _store2.default.addReducer('users', _users2.default, []);\n}\n\n_index2.default.addInitializer({\n name: 'reducer:users',\n initializer: initializer,\n before: 'store'\n});\n\n},{\"../../index\":301,\"../../reducers/users\":363,\"../../services/store\":376}],345:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _snackbar2.default.init(_store2.default);\n}\n\n_index2.default.addInitializer({\n name: 'snackbar',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../index\":301,\"../services/snackbar\":375,\"../services/store\":376}],346:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _store2.default.init();\n}\n\n_index2.default.addInitializer({\n name: 'store',\n initializer: initializer,\n before: '_end'\n});\n\n},{\"../index\":301,\"../services/store\":376}],347:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _tick = require('../reducers/tick');\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar TICK_PERIOD = 50 * 1000; //do the tick every 50s\n\nfunction initializer() {\n window.setInterval(function () {\n _store2.default.dispatch((0, _tick.doTick)());\n }, TICK_PERIOD);\n}\n\n_index2.default.addInitializer({\n name: 'tick-start',\n initializer: initializer,\n after: 'store'\n});\n\n},{\"../index\":301,\"../reducers/tick\":361,\"../services/store\":376}],348:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _include = require('../services/include');\n\nvar _include2 = _interopRequireDefault(_include);\n\nvar _zxcvbn = require('../services/zxcvbn');\n\nvar _zxcvbn2 = _interopRequireDefault(_zxcvbn);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n _zxcvbn2.default.init(_include2.default);\n}\n\n_index2.default.addInitializer({\n name: 'zxcvbn',\n initializer: initializer\n});\n\n},{\"../index\":301,\"../services/include\":367,\"../services/zxcvbn\":377}],349:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SIGN_OUT = exports.SIGN_IN = exports.PATCH_USER = exports.initialState = undefined;\nexports.patch = patch;\nexports.signIn = signIn;\nexports.signOut = signOut;\nexports.default = auth;\n\nvar _users = require('./users');\n\nvar initialState = exports.initialState = {\n signedIn: false,\n signedOut: false\n};\n\nvar PATCH_USER = exports.PATCH_USER = 'PATCH_USER';\nvar SIGN_IN = exports.SIGN_IN = 'SIGN_IN';\nvar SIGN_OUT = exports.SIGN_OUT = 'SIGN_OUT';\n\nfunction patch(patch) {\n return {\n type: PATCH_USER,\n patch: patch\n };\n}\n\nfunction signIn(user) {\n return {\n type: SIGN_IN,\n user: user\n };\n}\n\nfunction signOut() {\n var soft = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n return {\n type: SIGN_OUT,\n soft: soft\n };\n}\n\nfunction auth() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n switch (action.type) {\n case PATCH_USER:\n var newState = Object.assign({}, state);\n newState.user = Object.assign({}, state.user, action.patch);\n return newState;\n\n case SIGN_IN:\n return Object.assign({}, state, {\n signedIn: action.user\n });\n\n case SIGN_OUT:\n return Object.assign({}, state, {\n isAuthenticated: false,\n isAnonymous: true,\n signedOut: !action.soft\n });\n\n case _users.UPDATE_AVATAR:\n if (state.isAuthenticated && state.user.id === action.userId) {\n var _newState = Object.assign({}, state);\n _newState.user = Object.assign({}, state.user, {\n 'avatars': action.avatars\n });\n return _newState;\n }\n return state;\n\n case _users.UPDATE_USERNAME:\n if (state.isAuthenticated && state.user.id === action.userId) {\n var _newState2 = Object.assign({}, state);\n _newState2.user = Object.assign({}, state.user, {\n username: action.username,\n slug: action.slug\n });\n return _newState2;\n }\n return state;\n\n default:\n return state;\n }\n}\n\n},{\"./users\":363}],350:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.replace = replace;\nexports.default = participants;\nvar REPLACE_PARTICIPANTS = exports.REPLACE_PARTICIPANTS = 'REPLACE_PARTICIPANTS';\n\nfunction replace(newState) {\n return {\n type: REPLACE_PARTICIPANTS,\n state: newState\n };\n}\n\nfunction participants() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n switch (action.type) {\n case REPLACE_PARTICIPANTS:\n return action.state;\n\n default:\n return state;\n }\n}\n\n},{}],351:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.UPDATE_POLL = exports.REPLACE_POLL = exports.REMOVE_POLL = exports.RELEASE_POLL = exports.BUSY_POLL = undefined;\nexports.hydrate = hydrate;\nexports.busy = busy;\nexports.release = release;\nexports.replace = replace;\nexports.update = update;\nexports.remove = remove;\nexports.default = poll;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar BUSY_POLL = exports.BUSY_POLL = 'BUSY_POLL';\nvar RELEASE_POLL = exports.RELEASE_POLL = 'RELEASE_POLL';\nvar REMOVE_POLL = exports.REMOVE_POLL = 'REMOVE_POLL';\nvar REPLACE_POLL = exports.REPLACE_POLL = 'REPLACE_POLL';\nvar UPDATE_POLL = exports.UPDATE_POLL = 'UPDATE_POLL';\n\nfunction hydrate(json) {\n var hasSelectedChoices = false;\n for (var i in json.choices) {\n var choice = json.choices[i];\n if (choice.selected) {\n hasSelectedChoices = true;\n break;\n }\n }\n\n return Object.assign({}, json, {\n posted_on: (0, _moment2.default)(json.posted_on),\n\n hasSelectedChoices: hasSelectedChoices,\n endsOn: json.length ? (0, _moment2.default)(json.posted_on).add(json.length, 'days') : null,\n\n isBusy: false\n });\n}\n\nfunction busy() {\n return {\n type: BUSY_POLL\n };\n}\n\nfunction release() {\n return {\n type: RELEASE_POLL\n };\n}\n\nfunction replace(newState) {\n var hydrated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n return {\n type: REPLACE_POLL,\n state: hydrated ? newState : hydrate(newState)\n };\n}\n\nfunction update(data) {\n return {\n type: UPDATE_POLL,\n data: data\n };\n}\n\nfunction remove() {\n return {\n type: REMOVE_POLL\n };\n}\n\nfunction poll() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n switch (action.type) {\n case BUSY_POLL:\n return Object.assign({}, state, { isBusy: true });\n\n case RELEASE_POLL:\n return Object.assign({}, state, { isBusy: false });\n\n case REMOVE_POLL:\n return {\n isBusy: false\n };\n\n case REPLACE_POLL:\n return action.state;\n\n case UPDATE_POLL:\n return Object.assign({}, state, action.data);\n\n default:\n return state;\n }\n}\n\n},{\"moment\":\"moment\"}],352:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PATCH_POST = undefined;\nexports.hydrate = hydrate;\nexports.hydrateAttachment = hydrateAttachment;\nexports.patch = patch;\nexports.default = post;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _users = require('./users');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar PATCH_POST = exports.PATCH_POST = 'PATCH_POST';\n\nfunction hydrate(json) {\n return Object.assign({}, json, {\n posted_on: (0, _moment2.default)(json.posted_on),\n updated_on: (0, _moment2.default)(json.updated_on),\n hidden_on: (0, _moment2.default)(json.hidden_on),\n\n attachments: json.attachments ? json.attachments.map(hydrateAttachment) : null,\n poster: json.poster ? (0, _users.hydrateUser)(json.poster) : null,\n\n isSelected: false,\n isBusy: false,\n isDeleted: false\n });\n}\n\nfunction hydrateAttachment(json) {\n return Object.assign({}, json, {\n uploaded_on: (0, _moment2.default)(json.uploaded_on)\n });\n}\n\nfunction patch(post, patch) {\n return {\n type: PATCH_POST,\n post: post,\n patch: patch\n };\n}\n\nfunction post() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n switch (action.type) {\n case PATCH_POST:\n if (state.id == action.post.id) {\n return Object.assign({}, state, action.patch);\n }\n return state;\n\n default:\n return state;\n }\n}\n\n},{\"./users\":363,\"moment\":\"moment\"}],353:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.UPDATE_POSTS = exports.UNLOAD_POSTS = exports.LOAD_POSTS = exports.DESELECT_POSTS = exports.DESELECT_POST = exports.SELECT_POST = exports.APPEND_POSTS = undefined;\nexports.select = select;\nexports.deselect = deselect;\nexports.deselectAll = deselectAll;\nexports.hydrate = hydrate;\nexports.load = load;\nexports.append = append;\nexports.unload = unload;\nexports.update = update;\nexports.default = posts;\n\nvar _post = require('./post');\n\nvar _post2 = _interopRequireDefault(_post);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar APPEND_POSTS = exports.APPEND_POSTS = 'APPEND_POSTS';\nvar SELECT_POST = exports.SELECT_POST = 'SELECT_POST';\nvar DESELECT_POST = exports.DESELECT_POST = 'DESELECT_POST';\nvar DESELECT_POSTS = exports.DESELECT_POSTS = 'DESELECT_POSTS';\nvar LOAD_POSTS = exports.LOAD_POSTS = 'LOAD_POSTS';\nvar UNLOAD_POSTS = exports.UNLOAD_POSTS = 'UNLOAD_POSTS';\nvar UPDATE_POSTS = exports.UPDATE_POSTS = 'UPDATE_POSTS';\n\nfunction select(post) {\n return {\n type: SELECT_POST,\n post: post\n };\n}\n\nfunction deselect(post) {\n return {\n type: DESELECT_POST,\n post: post\n };\n}\n\nfunction deselectAll() {\n return {\n type: DESELECT_POSTS\n };\n}\n\nfunction hydrate(json) {\n return Object.assign({}, json, {\n results: json.results.map(_post.hydrate),\n isLoaded: true,\n isBusy: false,\n isSelected: false\n });\n}\n\nfunction load(newState) {\n var hydrated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n return {\n type: LOAD_POSTS,\n state: hydrated ? newState : hydrate(newState)\n };\n}\n\nfunction append(newState) {\n var hydrated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n return {\n type: APPEND_POSTS,\n state: hydrated ? newState : hydrate(newState)\n };\n}\n\nfunction unload() {\n return {\n type: UNLOAD_POSTS\n };\n}\n\nfunction update(newState) {\n return {\n type: UPDATE_POSTS,\n update: newState\n };\n}\n\nfunction posts() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n switch (action.type) {\n case SELECT_POST:\n var selectedPosts = state.results.map(function (post) {\n if (post.id == action.post.id) {\n return Object.assign({}, post, {\n isSelected: true\n });\n } else {\n return post;\n }\n });\n\n return Object.assign({}, state, {\n results: selectedPosts\n });\n\n case DESELECT_POST:\n var deseletedPosts = state.results.map(function (post) {\n if (post.id == action.post.id) {\n return Object.assign({}, post, {\n isSelected: false\n });\n } else {\n return post;\n }\n });\n\n return Object.assign({}, state, {\n results: deseletedPosts\n });\n\n case DESELECT_POSTS:\n var deseletedAllPosts = state.results.map(function (post) {\n return Object.assign({}, post, {\n isSelected: false\n });\n });\n\n return Object.assign({}, state, {\n results: deseletedAllPosts\n });\n\n case APPEND_POSTS:\n var results = state.results.slice();\n var resultsIds = state.results.map(function (post) {\n return post.id;\n });\n\n action.state.results.map(function (post) {\n if (resultsIds.indexOf(post.id) === -1) {\n results.push(post);\n }\n });\n\n return Object.assign({}, action.state, {\n results: results\n });\n\n case LOAD_POSTS:\n return action.state;\n\n case UNLOAD_POSTS:\n return Object.assign({}, state, {\n isLoaded: false\n });\n\n case UPDATE_POSTS:\n return Object.assign({}, state, action.update);\n\n case _post.PATCH_POST:\n var reducedPosts = state.results.map(function (post) {\n return (0, _post2.default)(post, action);\n });\n\n return Object.assign({}, state, {\n results: reducedPosts\n });\n\n default:\n return state;\n }\n}\n\n},{\"./post\":352}],354:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.load = load;\nexports.default = details;\nvar LOAD_DETAILS = exports.LOAD_DETAILS = 'LOAD_DETAILS';\n\nfunction load(newState) {\n return {\n type: LOAD_DETAILS,\n\n newState: newState\n };\n}\n\nfunction details() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n switch (action.type) {\n case LOAD_DETAILS:\n return action.newState;\n\n default:\n return state;\n }\n}\n\n},{}],355:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PATCH_PROFILE = exports.HYDRATE_PROFILE = undefined;\nexports.hydrate = hydrate;\nexports.patch = patch;\nexports.default = auth;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _users = require('./users');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar HYDRATE_PROFILE = exports.HYDRATE_PROFILE = 'HYDRATE_PROFILE';\nvar PATCH_PROFILE = exports.PATCH_PROFILE = 'PATCH_PROFILE';\n\nfunction hydrate(profile) {\n return {\n type: HYDRATE_PROFILE,\n profile: profile\n };\n}\n\nfunction patch(patch) {\n return {\n type: PATCH_PROFILE,\n patch: patch\n };\n}\n\nfunction auth() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n switch (action.type) {\n case HYDRATE_PROFILE:\n return Object.assign({}, action.profile, {\n joined_on: (0, _moment2.default)(action.profile.joined_on),\n status: (0, _users.hydrateStatus)(action.profile.status)\n });\n\n case PATCH_PROFILE:\n return Object.assign({}, state, action.patch);\n\n case _users.UPDATE_AVATAR:\n if (state.id === action.userId) {\n return Object.assign({}, state, {\n avatars: action.avatars\n });\n }\n return state;\n\n case _users.UPDATE_USERNAME:\n if (state.id === action.userId) {\n return Object.assign({}, state, {\n username: action.username,\n slug: action.slug\n });\n }\n return state;\n\n default:\n return state;\n }\n}\n\n},{\"./users\":363,\"moment\":\"moment\"}],356:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.replace = replace;\nexports.update = update;\nexports.updateProvider = updateProvider;\nexports.default = participants;\nvar REPLACE_SEARCH = exports.REPLACE_SEARCH = 'REPLACE_SEARCH';\nvar UPDATE_SEARCH = exports.UPDATE_SEARCH = 'UPDATE_SEARCH';\nvar UPDATE_SEARCH_PROVIDER = exports.UPDATE_SEARCH_PROVIDER = 'UPDATE_SEARCH_PROVIDER';\n\nvar initialState = exports.initialState = {\n isLoading: false,\n query: '',\n providers: []\n};\n\nfunction replace(newState) {\n return {\n type: REPLACE_SEARCH,\n state: {\n isLoading: false,\n providers: newState\n }\n };\n}\n\nfunction update(newState) {\n return {\n type: UPDATE_SEARCH,\n update: newState\n };\n}\n\nfunction updateProvider(provider) {\n return {\n type: UPDATE_SEARCH_PROVIDER,\n provider: provider\n };\n}\n\nfunction participants() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n switch (action.type) {\n case REPLACE_SEARCH:\n return action.state;\n\n case UPDATE_SEARCH:\n return Object.assign({}, state, action.update);\n\n case UPDATE_SEARCH_PROVIDER:\n return Object.assign({}, state, {\n providers: state.providers.map(function (provider) {\n if (provider.id === action.provider.id) {\n return action.provider;\n } else {\n return provider;\n }\n })\n });\n\n default:\n return state;\n }\n}\n\n},{}],357:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SELECT_ITEM = exports.SELECT_NONE = exports.SELECT_ALL = undefined;\nexports.all = all;\nexports.none = none;\nexports.item = item;\nexports.default = selection;\n\nvar _sets = require('../utils/sets');\n\nvar SELECT_ALL = exports.SELECT_ALL = 'SELECT_ALL';\nvar SELECT_NONE = exports.SELECT_NONE = 'SELECT_NONE';\nvar SELECT_ITEM = exports.SELECT_ITEM = 'SELECT_ITEM';\n\nfunction all(itemsIds) {\n return {\n type: SELECT_ALL,\n items: itemsIds\n };\n}\n\nfunction none() {\n return {\n type: SELECT_NONE\n };\n}\n\nfunction item(itemId) {\n return {\n type: SELECT_ITEM,\n item: itemId\n };\n}\n\nfunction selection() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n switch (action.type) {\n case SELECT_ALL:\n return action.items;\n\n case SELECT_NONE:\n return [];\n\n case SELECT_ITEM:\n return (0, _sets.toggle)(state, action.item);\n\n default:\n return state;\n }\n}\n\n},{\"../utils/sets\":390}],358:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.showSnackbar = showSnackbar;\nexports.hideSnackbar = hideSnackbar;\nexports.default = snackbar;\nvar initialState = exports.initialState = {\n type: 'info',\n message: '',\n isVisible: false\n};\n\nvar SHOW_SNACKBAR = exports.SHOW_SNACKBAR = 'SHOW_SNACKBAR';\nvar HIDE_SNACKBAR = exports.HIDE_SNACKBAR = 'HIDE_SNACKBAR';\n\nfunction showSnackbar(message, type) {\n return {\n type: SHOW_SNACKBAR,\n message: message,\n messageType: type\n };\n}\n\nfunction hideSnackbar() {\n return {\n type: HIDE_SNACKBAR\n };\n}\n\nfunction snackbar() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (action.type === SHOW_SNACKBAR) {\n return {\n type: action.messageType,\n message: action.message,\n isVisible: true\n };\n } else if (action.type === HIDE_SNACKBAR) {\n return Object.assign({}, state, {\n isVisible: false\n });\n } else {\n return state;\n }\n}\n\n},{}],359:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.UPDATE_THREAD_ACL = exports.UPDATE_THREAD = exports.REPLACE_THREAD = exports.RELEASE_THREAD = exports.BUSY_THREAD = undefined;\nexports.hydrate = hydrate;\nexports.busy = busy;\nexports.release = release;\nexports.replace = replace;\nexports.update = update;\nexports.updateAcl = updateAcl;\nexports.default = thread;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _poll = require('./poll');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar BUSY_THREAD = exports.BUSY_THREAD = 'BUSY_THREAD';\nvar RELEASE_THREAD = exports.RELEASE_THREAD = 'RELEASE_THREAD';\nvar REPLACE_THREAD = exports.REPLACE_THREAD = 'REPLACE_THREAD';\nvar UPDATE_THREAD = exports.UPDATE_THREAD = 'UPDATE_THREAD';\nvar UPDATE_THREAD_ACL = exports.UPDATE_THREAD_ACL = 'UPDATE_THREAD_ACL';\n\nfunction hydrate(json) {\n return Object.assign({}, json, {\n started_on: (0, _moment2.default)(json.started_on),\n last_post_on: (0, _moment2.default)(json.last_post_on),\n best_answer_marked_on: json.best_answer_marked_on ? (0, _moment2.default)(json.best_answer_marked_on) : null,\n\n isBusy: false\n });\n}\n\nfunction busy() {\n return {\n type: BUSY_THREAD\n };\n}\n\nfunction release() {\n return {\n type: RELEASE_THREAD\n };\n}\n\nfunction replace(newState) {\n var hydrated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n return {\n type: REPLACE_THREAD,\n state: hydrated ? newState : hydrate(newState)\n };\n}\n\nfunction update(data) {\n return {\n type: UPDATE_THREAD,\n data: data\n };\n}\n\nfunction updateAcl(data) {\n return {\n type: UPDATE_THREAD_ACL,\n data: data\n };\n}\n\nfunction thread() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n switch (action.type) {\n case BUSY_THREAD:\n return Object.assign({}, state, { isBusy: true });\n\n case RELEASE_THREAD:\n return Object.assign({}, state, { isBusy: false });\n\n case _poll.REMOVE_POLL:\n return Object.assign({}, state, { poll: null });\n\n case _poll.REPLACE_POLL:\n return Object.assign({}, state, { poll: action.state });\n\n case REPLACE_THREAD:\n return action.state;\n\n case UPDATE_THREAD:\n return Object.assign({}, state, action.data);\n\n case UPDATE_THREAD_ACL:\n var acl = Object.assign({}, state.acl, action.data);\n return Object.assign({}, state, { acl: acl });\n\n default:\n return state;\n }\n}\n\n},{\"./poll\":351,\"moment\":\"moment\"}],360:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MODERATION_PERMISSIONS = exports.SORT_THREADS = exports.PATCH_THREAD = exports.HYDRATE_THREADS = exports.FILTER_THREADS = exports.DELETE_THREAD = exports.APPEND_THREADS = undefined;\nexports.append = append;\nexports.deleteThread = deleteThread;\nexports.filterThreads = filterThreads;\nexports.hydrate = hydrate;\nexports.patch = patch;\nexports.sort = sort;\nexports.getThreadModerationOptions = getThreadModerationOptions;\nexports.hydrateThread = hydrateThread;\nexports.default = thread;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _concatUnique = require('../utils/concat-unique');\n\nvar _concatUnique2 = _interopRequireDefault(_concatUnique);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar APPEND_THREADS = exports.APPEND_THREADS = 'APPEND_THREADS';\nvar DELETE_THREAD = exports.DELETE_THREAD = 'DELETE_THREAD';\nvar FILTER_THREADS = exports.FILTER_THREADS = 'FILTER_THREADS';\nvar HYDRATE_THREADS = exports.HYDRATE_THREADS = 'HYDRATE_THREADS';\nvar PATCH_THREAD = exports.PATCH_THREAD = 'PATCH_THREAD';\nvar SORT_THREADS = exports.SORT_THREADS = 'SORT_THREADS';\n\nvar MODERATION_PERMISSIONS = exports.MODERATION_PERMISSIONS = ['can_announce', 'can_approve', 'can_close', 'can_hide', 'can_move', 'can_merge', 'can_pin', 'can_review'];\n\nfunction append(items, sorting) {\n return {\n type: APPEND_THREADS,\n items: items,\n sorting: sorting\n };\n}\n\nfunction deleteThread(thread) {\n return {\n type: DELETE_THREAD,\n thread: thread\n };\n}\n\nfunction filterThreads(category, categoriesMap) {\n return {\n type: FILTER_THREADS,\n category: category,\n categoriesMap: categoriesMap\n };\n}\n\nfunction hydrate(items) {\n return {\n type: HYDRATE_THREADS,\n items: items\n };\n}\n\nfunction patch(thread, patch) {\n var sorting = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n return {\n type: PATCH_THREAD,\n thread: thread,\n patch: patch,\n sorting: sorting\n };\n}\n\nfunction sort(sorting) {\n return {\n type: SORT_THREADS,\n sorting: sorting\n };\n}\n\nfunction getThreadModerationOptions(thread_acl) {\n var options = [];\n MODERATION_PERMISSIONS.forEach(function (perm) {\n if (thread_acl[perm]) {\n options.push(perm);\n }\n });\n return options;\n}\n\nfunction hydrateThread(thread) {\n return Object.assign({}, thread, {\n started_on: (0, _moment2.default)(thread.started_on),\n last_post_on: (0, _moment2.default)(thread.last_post_on),\n moderation: getThreadModerationOptions(thread.acl)\n });\n}\n\nfunction thread() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n switch (action.type) {\n case APPEND_THREADS:\n var mergedState = (0, _concatUnique2.default)(action.items.map(hydrateThread), state);\n return mergedState.sort(action.sorting);\n\n case DELETE_THREAD:\n return state.filter(function (item) {\n return item.id !== action.thread.id;\n });\n\n case FILTER_THREADS:\n return state.filter(function (item) {\n var itemCategory = action.categoriesMap[item.category];\n if (itemCategory.lft >= action.category.lft && itemCategory.rght <= action.category.rght) {\n // same or sub category\n return true;\n } else if (item.weight == 2) {\n // globally pinned\n return true;\n } else {\n // thread moved outside displayed scope, hide it\n return false;\n }\n });\n\n case HYDRATE_THREADS:\n return action.items.map(hydrateThread);\n\n case PATCH_THREAD:\n var patchedState = state.map(function (item) {\n if (item.id === action.thread.id) {\n return Object.assign({}, item, action.patch);\n } else {\n return item;\n }\n });\n\n if (action.sorting) {\n return patchedState.sort(action.sorting);\n }\n return patchedState;\n\n case SORT_THREADS:\n return state.sort(action.sorting);\n\n default:\n return state;\n }\n}\n\n},{\"../utils/concat-unique\":380,\"moment\":\"moment\"}],361:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.doTick = doTick;\nexports.default = tick;\nvar initialState = exports.initialState = {\n tick: 0\n};\n\nvar TICK = exports.TICK = 'TICK';\n\nfunction doTick() {\n return {\n type: TICK\n };\n}\n\nfunction tick() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (action.type === TICK) {\n return Object.assign({}, state, {\n tick: state.tick + 1\n });\n } else {\n return state;\n }\n}\n\n},{}],362:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.HYDRATE_HISTORY = exports.APPEND_HISTORY = exports.ADD_NAME_CHANGE = undefined;\nexports.addNameChange = addNameChange;\nexports.append = append;\nexports.hydrate = hydrate;\nexports.hydrateNamechange = hydrateNamechange;\nexports.default = username;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _users = require('./users');\n\nvar _concatUnique = require('../utils/concat-unique');\n\nvar _concatUnique2 = _interopRequireDefault(_concatUnique);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ADD_NAME_CHANGE = exports.ADD_NAME_CHANGE = 'ADD_NAME_CHANGE';\nvar APPEND_HISTORY = exports.APPEND_HISTORY = 'APPEND_HISTORY';\nvar HYDRATE_HISTORY = exports.HYDRATE_HISTORY = 'HYDRATE_HISTORY';\n\nfunction addNameChange(change, user, changedBy) {\n return {\n type: ADD_NAME_CHANGE,\n change: change,\n user: user,\n changedBy: changedBy\n };\n}\n\nfunction append(items) {\n return {\n type: APPEND_HISTORY,\n items: items\n };\n}\n\nfunction hydrate(items) {\n return {\n type: HYDRATE_HISTORY,\n items: items\n };\n}\n\nfunction hydrateNamechange(namechange) {\n return Object.assign({}, namechange, {\n changed_on: (0, _moment2.default)(namechange.changed_on)\n });\n}\n\nfunction username() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n switch (action.type) {\n case ADD_NAME_CHANGE:\n var newState = state.slice();\n newState.unshift({\n id: Math.floor(Date.now() / 1000), // just small hax for getting id\n changed_by: action.changedBy,\n changed_by_username: action.changedBy.username,\n changed_on: (0, _moment2.default)(),\n new_username: action.change.username,\n old_username: action.user.username\n });\n return newState;\n\n case APPEND_HISTORY:\n return (0, _concatUnique2.default)(state, action.items.map(hydrateNamechange));\n\n case HYDRATE_HISTORY:\n return action.items.map(hydrateNamechange);\n\n case _users.UPDATE_AVATAR:\n return state.map(function (item) {\n item = Object.assign({}, item);\n if (item.changed_by && item.changed_by.id === action.userId) {\n item.changed_by = Object.assign({}, item.changed_by, {\n avatars: action.avatars\n });\n }\n\n return item;\n });\n\n case _users.UPDATE_USERNAME:\n return state.map(function (item) {\n item = Object.assign({}, item);\n if (item.changed_by && item.changed_by.id === action.userId) {\n item.changed_by = Object.assign({}, item.changed_by, {\n username: action.username,\n slug: action.slug\n });\n }\n\n return Object.assign({}, item);\n });\n\n default:\n return state;\n }\n}\n\n},{\"../utils/concat-unique\":380,\"./users\":363,\"moment\":\"moment\"}],363:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.UPDATE_USERNAME = exports.UPDATE_AVATAR = exports.HYDRATE_USERS = exports.APPEND_USERS = undefined;\nexports.append = append;\nexports.hydrate = hydrate;\nexports.hydrateStatus = hydrateStatus;\nexports.hydrateUser = hydrateUser;\nexports.updateAvatar = updateAvatar;\nexports.updateUsername = updateUsername;\nexports.default = user;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _concatUnique = require('../utils/concat-unique');\n\nvar _concatUnique2 = _interopRequireDefault(_concatUnique);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar APPEND_USERS = exports.APPEND_USERS = 'APPEND_USERS';\nvar HYDRATE_USERS = exports.HYDRATE_USERS = 'HYDRATE_USERS';\nvar UPDATE_AVATAR = exports.UPDATE_AVATAR = 'UPDATE_AVATAR';\nvar UPDATE_USERNAME = exports.UPDATE_USERNAME = 'UPDATE_USERNAME';\n\nfunction append(items) {\n return {\n type: APPEND_USERS,\n items: items\n };\n}\n\nfunction hydrate(items) {\n return {\n type: HYDRATE_USERS,\n items: items\n };\n}\n\nfunction hydrateStatus(status) {\n if (status) {\n return Object.assign({}, status, {\n last_click: status.last_click ? (0, _moment2.default)(status.last_click) : null,\n banned_until: status.banned_until ? (0, _moment2.default)(status.banned_until) : null\n });\n } else {\n return null;\n }\n}\n\nfunction hydrateUser(user) {\n return Object.assign({}, user, {\n joined_on: (0, _moment2.default)(user.joined_on),\n status: hydrateStatus(user.status)\n });\n}\n\nfunction updateAvatar(user, avatars) {\n return {\n type: UPDATE_AVATAR,\n userId: user.id,\n avatars: avatars\n };\n}\n\nfunction updateUsername(user, username, slug) {\n return {\n type: UPDATE_USERNAME,\n userId: user.id,\n username: username,\n slug: slug\n };\n}\n\nfunction user() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n switch (action.type) {\n case APPEND_USERS:\n return (0, _concatUnique2.default)(state, action.items.map(hydrateUser));\n\n case HYDRATE_USERS:\n return action.items.map(hydrateUser);\n\n case UPDATE_AVATAR:\n return state.map(function (item) {\n item = Object.assign({}, item);\n if (item.id === action.userId) {\n item.avatars = action.avatars;\n }\n\n return item;\n });\n\n default:\n return state;\n }\n}\n\n},{\"../utils/concat-unique\":380,\"moment\":\"moment\"}],364:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Ajax = exports.Ajax = function () {\n function Ajax() {\n _classCallCheck(this, Ajax);\n\n this._cookieName = null;\n this._csrfToken = null;\n this._locks = {};\n }\n\n _createClass(Ajax, [{\n key: 'init',\n value: function init(cookieName) {\n this._cookieName = cookieName;\n }\n }, {\n key: 'getCsrfToken',\n value: function getCsrfToken() {\n if (document.cookie.indexOf(this._cookieName) !== -1) {\n var cookieRegex = new RegExp(this._cookieName + '\\=([^;]*)');\n var cookie = document.cookie.match(cookieRegex)[0];\n return cookie ? cookie.split('=')[1] : null;\n } else {\n return null;\n }\n }\n }, {\n key: 'request',\n value: function request(method, url, data) {\n var self = this;\n return new Promise(function (resolve, reject) {\n var xhr = {\n url: url,\n method: method,\n headers: {\n 'X-CSRFToken': self.getCsrfToken()\n },\n\n data: data ? JSON.stringify(data) : null,\n contentType: \"application/json; charset=utf-8\",\n dataType: 'json',\n\n success: function success(data) {\n resolve(data);\n },\n\n error: function error(jqXHR) {\n var rejection = jqXHR.responseJSON || {};\n\n rejection.status = jqXHR.status;\n\n if (rejection.status === 0) {\n rejection.detail = gettext(\"Lost connection with application.\");\n }\n\n if (rejection.status === 404) {\n if (!rejection.detail || rejection.detail === 'NOT FOUND') {\n rejection.detail = gettext(\"Action link is invalid.\");\n }\n }\n\n if (rejection.status === 500 && !rejection.detail) {\n rejection.detail = gettext(\"Unknown error has occured.\");\n }\n\n rejection.statusText = jqXHR.statusText;\n\n reject(rejection);\n }\n };\n\n $.ajax(xhr);\n });\n }\n }, {\n key: 'get',\n value: function get(url, params, lock) {\n if (params) {\n url += '?' + $.param(params);\n }\n\n if (lock) {\n var self = this;\n\n // update url in existing lock?\n if (this._locks[lock]) {\n this._locks[lock].url = url;\n }\n\n // immediately dereference promise handlers without doing anything\n // we are already waiting for existing response to resolve\n if (this._locks[lock] && this._locks[lock].waiter) {\n return {\n then: function then() {\n return;\n }\n };\n\n // return promise that will begin when original one resolves\n } else if (this._locks[lock] && this._locks[lock].wait) {\n this._locks[lock].waiter = true;\n\n return new Promise(function (resolve, reject) {\n var wait = function wait(url) {\n // keep waiting on promise\n if (self._locks[lock].wait) {\n window.setTimeout(function () {\n wait(url);\n }, 300);\n\n // poll for new url\n } else if (self._locks[lock].url !== url) {\n wait(self._locks[lock].url);\n\n // ajax backend for response\n } else {\n self._locks[lock].waiter = false;\n self.request('GET', self._locks[lock].url).then(function (data) {\n if (self._locks[lock].url === url) {\n resolve(data);\n } else {\n self._locks[lock].waiter = true;\n wait(self._locks[lock].url);\n }\n }, function (rejection) {\n if (self._locks[lock].url === url) {\n reject(rejection);\n } else {\n self._locks[lock].waiter = true;\n wait(self._locks[lock].url);\n }\n });\n }\n };\n\n window.setTimeout(function () {\n wait(url);\n }, 300);\n });\n\n // setup new lock without waiter\n } else {\n this._locks[lock] = {\n url: url,\n wait: true,\n waiter: false\n };\n\n return new Promise(function (resolve, reject) {\n self.request('GET', url).then(function (data) {\n self._locks[lock].wait = false;\n if (self._locks[lock].url === url) {\n resolve(data);\n }\n }, function (rejection) {\n self._locks[lock].wait = false;\n if (self._locks[lock].url === url) {\n reject(rejection);\n }\n });\n });\n }\n } else {\n return this.request('GET', url);\n }\n }\n }, {\n key: 'post',\n value: function post(url, data) {\n return this.request('POST', url, data);\n }\n }, {\n key: 'patch',\n value: function patch(url, data) {\n return this.request('PATCH', url, data);\n }\n }, {\n key: 'put',\n value: function put(url, data) {\n return this.request('PUT', url, data);\n }\n }, {\n key: 'delete',\n value: function _delete(url, data) {\n return this.request('DELETE', url, data);\n }\n }, {\n key: 'upload',\n value: function upload(url, data, progress) {\n var self = this;\n return new Promise(function (resolve, reject) {\n var xhr = {\n url: url,\n method: 'POST',\n headers: {\n 'X-CSRFToken': self.getCsrfToken()\n },\n\n data: data,\n contentType: false,\n processData: false,\n\n xhr: function xhr() {\n var xhr = new window.XMLHttpRequest();\n xhr.upload.addEventListener(\"progress\", function (evt) {\n if (evt.lengthComputable) {\n progress(Math.round(evt.loaded / evt.total * 100));\n }\n }, false);\n return xhr;\n },\n\n success: function success(response) {\n resolve(response);\n },\n\n error: function error(jqXHR) {\n var rejection = jqXHR.responseJSON || {};\n\n rejection.status = jqXHR.status;\n\n if (rejection.status === 0) {\n rejection.detail = gettext(\"Lost connection with application.\");\n }\n\n if (rejection.status === 413 && !rejection.detail) {\n rejection.detail = gettext(\"Upload was rejected by server as too large.\");\n }\n\n if (rejection.status === 404) {\n if (!rejection.detail || rejection.detail === 'NOT FOUND') {\n rejection.detail = gettext(\"Action link is invalid.\");\n }\n }\n\n if (rejection.status === 500 && !rejection.detail) {\n rejection.detail = gettext(\"Unknown error has occured.\");\n }\n\n rejection.statusText = jqXHR.statusText;\n\n reject(rejection);\n }\n };\n\n $.ajax(xhr);\n });\n }\n }]);\n\n return Ajax;\n}();\n\nexports.default = new Ajax();\n\n},{}],365:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Auth = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _auth = require('../reducers/auth');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// jshint ignore:line\n\nvar Auth = exports.Auth = function () {\n function Auth() {\n _classCallCheck(this, Auth);\n }\n\n _createClass(Auth, [{\n key: 'init',\n value: function init(store, local, modal) {\n this._store = store;\n this._local = local;\n this._modal = modal;\n\n // tell other tabs what auth state is because we are most current with it\n this.syncSession();\n\n // listen for other tabs to tell us that state changed\n this.watchState();\n }\n }, {\n key: 'syncSession',\n value: function syncSession() {\n var state = this._store.getState().auth;\n if (state.isAuthenticated) {\n this._local.set('auth', {\n isAuthenticated: true,\n username: state.user.username\n });\n } else {\n this._local.set('auth', {\n isAuthenticated: false\n });\n }\n }\n }, {\n key: 'watchState',\n value: function watchState() {\n var _this = this;\n\n var state = this._store.getState().auth;\n this._local.watch('auth', function (newState) {\n if (newState.isAuthenticated) {\n _this._store.dispatch((0, _auth.signIn)({\n username: newState.username\n }));\n } else if (state.isAuthenticated) {\n // check if we are authenticated in this tab\n // because some browser plugins prune local store\n // aggressively, forcing erroneous message to display here\n // tracking bug #955\n _this._store.dispatch((0, _auth.signOut)());\n }\n });\n this._modal.hide();\n }\n }, {\n key: 'signIn',\n value: function signIn(user) {\n this._store.dispatch((0, _auth.signIn)(user));\n this._local.set('auth', {\n isAuthenticated: true,\n username: user.username\n });\n this._modal.hide();\n }\n }, {\n key: 'signOut',\n value: function signOut() {\n this._store.dispatch((0, _auth.signOut)());\n this._local.set('auth', {\n isAuthenticated: false\n });\n this._modal.hide();\n }\n }, {\n key: 'softSignOut',\n value: function softSignOut() {\n this._store.dispatch((0, _auth.signOut)(true));\n this._local.set('auth', {\n isAuthenticated: false\n });\n this._modal.hide();\n }\n }]);\n\n return Auth;\n}();\n\nexports.default = new Auth();\n\n},{\"../reducers/auth\":349}],366:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Captcha = exports.ReCaptcha = exports.ReCaptchaComponent = exports.QACaptcha = exports.NoCaptcha = exports.BaseCaptcha = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /* global grecaptcha */\n// jshint ignore:line\n\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _formGroup = require('../components/form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// jshint ignore:line\n\nvar BaseCaptcha = exports.BaseCaptcha = function () {\n function BaseCaptcha() {\n _classCallCheck(this, BaseCaptcha);\n }\n\n _createClass(BaseCaptcha, [{\n key: 'init',\n value: function init(context, ajax, include, snackbar) {\n this._context = context;\n this._ajax = ajax;\n this._include = include;\n this._snackbar = snackbar;\n }\n }]);\n\n return BaseCaptcha;\n}();\n\nvar NoCaptcha = exports.NoCaptcha = function (_BaseCaptcha) {\n _inherits(NoCaptcha, _BaseCaptcha);\n\n function NoCaptcha() {\n _classCallCheck(this, NoCaptcha);\n\n return _possibleConstructorReturn(this, (NoCaptcha.__proto__ || Object.getPrototypeOf(NoCaptcha)).apply(this, arguments));\n }\n\n _createClass(NoCaptcha, [{\n key: 'load',\n value: function load() {\n return new Promise(function (resolve) {\n // immediately resolve as we don't have anything to validate\n resolve();\n });\n }\n }, {\n key: 'validator',\n value: function validator() {\n return null;\n }\n }, {\n key: 'component',\n value: function component() {\n return null;\n }\n }]);\n\n return NoCaptcha;\n}(BaseCaptcha);\n\nvar QACaptcha = exports.QACaptcha = function (_BaseCaptcha2) {\n _inherits(QACaptcha, _BaseCaptcha2);\n\n function QACaptcha() {\n _classCallCheck(this, QACaptcha);\n\n return _possibleConstructorReturn(this, (QACaptcha.__proto__ || Object.getPrototypeOf(QACaptcha)).apply(this, arguments));\n }\n\n _createClass(QACaptcha, [{\n key: 'load',\n value: function load() {\n var self = this;\n return new Promise(function (resolve, reject) {\n self._ajax.get(self._context.get('CAPTCHA_API')).then(function (data) {\n self.question = data.question;\n self.helpText = data.help_text;\n resolve();\n }, function () {\n self._snackbar.error(gettext(\"Failed to load CAPTCHA.\"));\n reject();\n });\n });\n }\n }, {\n key: 'validator',\n value: function validator() {\n return [];\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'component',\n value: function component(kwargs) {\n return _react2.default.createElement(\n _formGroup2.default,\n {\n label: this.question,\n 'for': 'id_captcha',\n labelClass: kwargs.labelClass || \"\",\n controlClass: kwargs.controlClass || \"\",\n validation: kwargs.form.state.errors.captcha,\n helpText: this.helpText || null\n },\n _react2.default.createElement('input', {\n 'aria-describedby': 'id_captcha_status',\n className: 'form-control',\n disabled: kwargs.form.state.isLoading,\n id: 'id_captcha',\n onChange: kwargs.form.bindInput('captcha'),\n type: 'text',\n value: kwargs.form.state.captcha\n })\n );\n }\n /* jshint ignore:end */\n\n }]);\n\n return QACaptcha;\n}(BaseCaptcha);\n\nvar ReCaptchaComponent = exports.ReCaptchaComponent = function (_React$Component) {\n _inherits(ReCaptchaComponent, _React$Component);\n\n function ReCaptchaComponent() {\n _classCallCheck(this, ReCaptchaComponent);\n\n return _possibleConstructorReturn(this, (ReCaptchaComponent.__proto__ || Object.getPrototypeOf(ReCaptchaComponent)).apply(this, arguments));\n }\n\n _createClass(ReCaptchaComponent, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this4 = this;\n\n grecaptcha.render('recaptcha', {\n 'sitekey': this.props.siteKey,\n 'callback': function callback(response) {\n // fire fakey event to binding\n _this4.props.binding({\n target: {\n value: response\n }\n });\n }\n });\n }\n }, {\n key: 'render',\n value: function render() {\n /* jshint ignore:start */\n return _react2.default.createElement('div', { id: 'recaptcha' });\n /* jshint ignore:end */\n }\n }]);\n\n return ReCaptchaComponent;\n}(_react2.default.Component);\n\nvar ReCaptcha = exports.ReCaptcha = function (_BaseCaptcha3) {\n _inherits(ReCaptcha, _BaseCaptcha3);\n\n function ReCaptcha() {\n _classCallCheck(this, ReCaptcha);\n\n return _possibleConstructorReturn(this, (ReCaptcha.__proto__ || Object.getPrototypeOf(ReCaptcha)).apply(this, arguments));\n }\n\n _createClass(ReCaptcha, [{\n key: 'load',\n value: function load() {\n this._include.include('https://www.google.com/recaptcha/api.js', true);\n\n return new Promise(function (resolve) {\n var wait = function wait() {\n if (typeof grecaptcha === \"undefined\") {\n window.setTimeout(function () {\n wait();\n }, 200);\n } else {\n resolve();\n }\n };\n wait();\n });\n }\n }, {\n key: 'validator',\n value: function validator() {\n return [];\n }\n\n /* jshint ignore:start */\n\n }, {\n key: 'component',\n value: function component(kwargs) {\n return _react2.default.createElement(\n _formGroup2.default,\n {\n label: gettext(\"Please solve the quick test\"),\n 'for': 'id_captcha',\n labelClass: kwargs.labelClass || \"\",\n controlClass: kwargs.controlClass || \"\",\n validation: kwargs.form.state.errors.captcha,\n helpText: gettext(\"This test helps us prevent automated spam registrations on our site.\")\n },\n _react2.default.createElement(ReCaptchaComponent, {\n binding: kwargs.form.bindInput('captcha'),\n siteKey: this._context.get('SETTINGS').recaptcha_site_key\n })\n );\n }\n /* jshint ignore:end */\n\n }]);\n\n return ReCaptcha;\n}(BaseCaptcha);\n\nvar Captcha = exports.Captcha = function () {\n function Captcha() {\n _classCallCheck(this, Captcha);\n }\n\n _createClass(Captcha, [{\n key: 'init',\n value: function init(context, ajax, include, snackbar) {\n switch (context.get('SETTINGS').captcha_type) {\n case 'no':\n this._captcha = new NoCaptcha();\n break;\n\n case 'qa':\n this._captcha = new QACaptcha();\n break;\n\n case 're':\n this._captcha = new ReCaptcha();\n break;\n }\n\n this._captcha.init(context, ajax, include, snackbar);\n }\n\n // accessors for underlying strategy\n\n }, {\n key: 'load',\n value: function load() {\n return this._captcha.load();\n }\n }, {\n key: 'validator',\n value: function validator() {\n return this._captcha.validator();\n }\n }, {\n key: 'component',\n value: function component(kwargs) {\n return this._captcha.component(kwargs);\n }\n }]);\n\n return Captcha;\n}();\n\nexports.default = new Captcha();\n\n},{\"../components/form-group\":54,\"react\":\"react\"}],367:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Include = exports.Include = function () {\n function Include() {\n _classCallCheck(this, Include);\n }\n\n _createClass(Include, [{\n key: 'init',\n value: function init(staticUrl) {\n this._staticUrl = staticUrl;\n this._included = [];\n }\n }, {\n key: 'include',\n value: function include(script) {\n var remote = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (this._included.indexOf(script) === -1) {\n this._included.push(script);\n this._include(script, remote);\n }\n }\n }, {\n key: '_include',\n value: function _include(script, remote) {\n $.ajax({\n url: (!remote ? this._staticUrl : '') + script,\n cache: true,\n dataType: 'script'\n });\n }\n }]);\n\n return Include;\n}();\n\nexports.default = new Include();\n\n},{}],368:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar storage = window.localStorage;\n\nvar LocalStorage = exports.LocalStorage = function () {\n function LocalStorage() {\n _classCallCheck(this, LocalStorage);\n }\n\n _createClass(LocalStorage, [{\n key: 'init',\n value: function init(prefix) {\n var _this = this;\n\n this._prefix = prefix;\n this._watchers = [];\n\n window.addEventListener('storage', function (e) {\n var newValueJson = JSON.parse(e.newValue);\n _this._watchers.forEach(function (watcher) {\n if (watcher.key === e.key && e.oldValue !== e.newValue) {\n watcher.callback(newValueJson);\n }\n });\n });\n }\n }, {\n key: 'set',\n value: function set(key, value) {\n storage.setItem(this._prefix + key, JSON.stringify(value));\n }\n }, {\n key: 'get',\n value: function get(key) {\n var itemString = storage.getItem(this._prefix + key);\n if (itemString) {\n return JSON.parse(itemString);\n } else {\n return null;\n }\n }\n }, {\n key: 'watch',\n value: function watch(key, callback) {\n this._watchers.push({\n key: this._prefix + key,\n callback: callback\n });\n }\n }]);\n\n return LocalStorage;\n}();\n\nexports.default = new LocalStorage();\n\n},{}],369:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MobileNavbarDropdown = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _mountComponent = require('../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar MobileNavbarDropdown = exports.MobileNavbarDropdown = function () {\n function MobileNavbarDropdown() {\n _classCallCheck(this, MobileNavbarDropdown);\n }\n\n _createClass(MobileNavbarDropdown, [{\n key: 'init',\n value: function init(element) {\n this._element = element;\n this._component = null;\n }\n }, {\n key: 'show',\n value: function show(component) {\n if (this._component === component) {\n this.hide();\n } else {\n this._component = component;\n (0, _mountComponent2.default)(component, this._element.id);\n $(this._element).addClass('open');\n }\n }\n }, {\n key: 'showConnected',\n value: function showConnected(name, component) {\n if (this._component === name) {\n this.hide();\n } else {\n this._component = name;\n (0, _mountComponent2.default)(component, this._element.id, true);\n $(this._element).addClass('open');\n }\n }\n }, {\n key: 'hide',\n value: function hide() {\n $(this._element).removeClass('open');\n this._component = null;\n }\n }]);\n\n return MobileNavbarDropdown;\n}();\n\nexports.default = new MobileNavbarDropdown();\n\n},{\"../utils/mount-component\":385}],370:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Modal = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _mountComponent = require('../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Modal = exports.Modal = function () {\n function Modal() {\n _classCallCheck(this, Modal);\n }\n\n _createClass(Modal, [{\n key: 'init',\n value: function init(element) {\n var _this = this;\n\n this._element = element;\n\n this._modal = $(element).modal({ show: false });\n\n this._modal.on('hidden.bs.modal', function () {\n _reactDom2.default.unmountComponentAtNode(_this._element);\n });\n }\n }, {\n key: 'show',\n value: function show(component) {\n (0, _mountComponent2.default)(component, this._element.id);\n this._modal.modal('show');\n }\n }, {\n key: 'hide',\n value: function hide() {\n this._modal.modal('hide');\n }\n }]);\n\n return Modal;\n}();\n\nexports.default = new Modal();\n\n},{\"../utils/mount-component\":385,\"react-dom\":\"react-dom\"}],371:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.parseYoutubeUrl = parseYoutubeUrl;\nexports.cleanUrl = cleanUrl;\nexports.getVideoIdFromUrl = getVideoIdFromUrl;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ytRegExp = new RegExp('^.*(?:(?:youtu\\.be\\/|v\\/|vi\\/|u\\/\\w\\/|embed\\/)|(?:(?:watch)?\\?v(?:i)?=|\\&v(?:i)?=))([^#\\&\\?]*).*');\n\nvar OneBox = exports.OneBox = function () {\n function OneBox() {\n var _this = this;\n\n _classCallCheck(this, OneBox);\n\n this.render = function (domnode) {\n if (!domnode) return;\n _this.highlightCode(domnode);\n _this.embedYoutubePlayers(domnode);\n };\n\n this._youtube = {};\n }\n\n // jshint ignore:start\n\n\n _createClass(OneBox, [{\n key: 'highlightCode',\n\n // jshint ignore:end\n\n value: function highlightCode(domnode) {\n var codeblocks = domnode.querySelectorAll('pre>code');\n for (var i = 0; i < codeblocks.length; i++) {\n var code = codeblocks[i];\n hljs.highlightBlock(code);\n }\n }\n }, {\n key: 'embedYoutubePlayers',\n value: function embedYoutubePlayers(domnode) {\n var anchors = domnode.querySelectorAll('p>a');\n for (var i = 0; i < anchors.length; i++) {\n var a = anchors[i];\n var p = a.parentNode;\n var onlyChild = p.childNodes.length === 1;\n\n if (!this._youtube[a.href]) {\n this._youtube[a.href] = parseYoutubeUrl(a.href);\n }\n\n var youtubeMovie = this._youtube[a.href];\n if (onlyChild && !!youtubeMovie && youtubeMovie.data !== false) {\n this.swapYoutubePlayer(a, youtubeMovie);\n }\n }\n }\n }, {\n key: 'swapYoutubePlayer',\n value: function swapYoutubePlayer(element, youtube) {\n var url = 'https://www.youtube.com/embed/';\n url += youtube.video;\n url += '?rel=0';\n if (youtube.start) {\n url += '&start=' + youtube.start;\n }\n\n var player = $('');\n $(element).replaceWith(player);\n player.wrap('
    ');\n }\n }]);\n\n return OneBox;\n}();\n\nexports.default = new OneBox();\nfunction parseYoutubeUrl(url) {\n var cleanedUrl = cleanUrl(url);\n var video = getVideoIdFromUrl(cleanedUrl);\n\n if (!video) return null;\n\n var start = 0;\n if (cleanedUrl.indexOf('?') > 0) {\n var query = cleanedUrl.substr(cleanedUrl.indexOf('?') + 1);\n var timebit = query.split('&').filter(function (i) {\n return i.substr(0, 2) === 't=';\n })[0];\n\n if (timebit) {\n var bits = timebit.substr(2).split('m');\n if (bits[0].substr(-1) === 's') {\n start += parseInt(bits[0].substr(0, bits[0].length - 1));\n } else {\n start += parseInt(bits[0]) * 60;\n if (!!bits[1] && bits[1].substr(-1) === 's') {\n start += parseInt(bits[1].substr(0, bits[1].length - 1));\n }\n }\n }\n }\n\n return {\n start: start,\n video: video\n };\n}\n\nfunction cleanUrl(url) {\n var clean = url;\n\n if (url.substr(0, 8) === 'https://') {\n clean = clean.substr(8);\n } else if (url.substr(0, 7) === 'http://') {\n clean = clean.substr(7);\n }\n\n if (clean.substr(0, 4) === 'www.') {\n clean = clean.substr(4);\n }\n\n return clean;\n}\n\nfunction getVideoIdFromUrl(url) {\n if (url.indexOf('youtu') === -1) return null;\n\n var video = url.match(ytRegExp);\n if (video) {\n return video[1];\n }\n return null;\n}\n\n},{}],372:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar PageTitle = exports.PageTitle = function () {\n function PageTitle() {\n _classCallCheck(this, PageTitle);\n }\n\n _createClass(PageTitle, [{\n key: 'init',\n value: function init(indexTitle, forumName) {\n this._indexTitle = indexTitle;\n this._forumName = forumName;\n }\n }, {\n key: 'set',\n value: function set(title) {\n if (!title) {\n document.title = this._indexTitle || this._forumName;\n return;\n }\n\n if (typeof title === 'string') {\n title = { title: title };\n }\n\n var finalTitle = title.title;\n\n if (title.page > 1) {\n var pageLabel = interpolate(gettext('page: %(page)s'), {\n page: title.page\n }, true);\n\n finalTitle += ' (' + pageLabel + ')';\n }\n\n if (title.parent) {\n finalTitle += ' | ' + title.parent;\n }\n\n document.title = finalTitle + ' | ' + this._forumName;\n }\n }]);\n\n return PageTitle;\n}();\n\nexports.default = new PageTitle();\n\n},{}],373:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Polls = exports.Polls = function () {\n function Polls() {\n _classCallCheck(this, Polls);\n }\n\n _createClass(Polls, [{\n key: \"init\",\n value: function init(ajax, snackbar) {\n this._ajax = ajax;\n this._snackbar = snackbar;\n\n this._polls = {};\n }\n }, {\n key: \"start\",\n value: function start(kwargs) {\n var _this = this;\n\n this.stop(kwargs.poll);\n\n var poolServer = function poolServer() {\n _this._polls[kwargs.poll] = kwargs;\n\n _this._ajax.get(kwargs.url, kwargs.data || null).then(function (data) {\n if (!_this._polls[kwargs.poll]._stopped) {\n kwargs.update(data);\n\n _this._polls[kwargs.poll].timeout = window.setTimeout(poolServer, kwargs.frequency);\n }\n }, function (rejection) {\n if (!_this._polls[kwargs.poll]._stopped) {\n if (kwargs.error) {\n kwargs.error(rejection);\n } else {\n _this._snackbar.apiError(rejection);\n }\n }\n });\n };\n\n if (kwargs.delayed) {\n this._polls[kwargs.poll] = {\n timeout: window.setTimeout(poolServer, kwargs.frequency)\n };\n } else {\n poolServer();\n }\n }\n }, {\n key: \"stop\",\n value: function stop(pollId) {\n if (this._polls[pollId]) {\n window.clearTimeout(this._polls[pollId].timeout);\n this._polls[pollId]._stopped = true;\n }\n }\n }]);\n\n return Polls;\n}();\n\nexports.default = new Polls();\n\n},{}],374:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Posting = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _poll = require('../components/poll');\n\nvar _posting = require('../components/posting');\n\nvar _posting2 = _interopRequireDefault(_posting);\n\nvar _mountComponent = require('../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// jshint ignore:line\n\nvar Posting = exports.Posting = function () {\n function Posting() {\n var _this = this;\n\n _classCallCheck(this, Posting);\n\n this.close = function () {\n if (_this._isOpen && !_this._isClosing) {\n _this._isClosing = true;\n _this._placeholder.removeClass('slide-in');\n\n window.setTimeout(function () {\n _reactDom2.default.unmountComponentAtNode(document.getElementById('posting-mount'));\n _this._isClosing = false;\n _this._isOpen = false;\n }, 300);\n }\n };\n }\n\n _createClass(Posting, [{\n key: 'init',\n value: function init(ajax, snackbar, placeholder) {\n this._ajax = ajax;\n this._snackbar = snackbar;\n this._placeholder = $(placeholder);\n\n this._mode = null;\n\n this._isOpen = false;\n this._isClosing = false;\n }\n }, {\n key: 'open',\n value: function open(props) {\n if (this._isOpen === false) {\n this._mode = props.mode;\n this._isOpen = props.submit;\n this._realOpen(props);\n } else if (this._isOpen !== props.submit) {\n var message = gettext(\"You are already working on other message. Do you want to discard it?\");\n if (this._mode == 'POLL') {\n message = gettext(\"You are already working on a poll. Do you want to discard it?\");\n }\n\n var changeForm = confirm(message);\n if (changeForm) {\n this._mode = props.mode;\n this._isOpen = props.submit;\n this._realOpen(props);\n }\n } else if (this._mode == 'REPLY' && props.mode == 'REPLY') {\n this._realOpen(props);\n }\n }\n\n // jshint ignore:start\n\n }, {\n key: '_realOpen',\n\n // jshint ignore:end\n value: function _realOpen(props) {\n if (props.mode == 'POLL') {\n (0, _mountComponent2.default)(_react2.default.createElement(_poll.PollForm, props), 'posting-mount');\n } else {\n (0, _mountComponent2.default)(_react2.default.createElement(_posting2.default, props), 'posting-mount');\n }\n\n this._placeholder.addClass('slide-in');\n\n $('html, body').animate({\n scrollTop: this._placeholder.offset().top\n }, 1000);\n }\n }]);\n\n return Posting;\n}();\n\nexports.default = new Posting();\n\n},{\"../components/poll\":105,\"../components/posting\":133,\"../utils/mount-component\":385,\"react\":\"react\",\"react-dom\":\"react-dom\"}],375:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Snackbar = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _snackbar = require('../reducers/snackbar');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar HIDE_ANIMATION_LENGTH = 300;\nvar MESSAGE_SHOW_LENGTH = 5000;\n\nvar Snackbar = exports.Snackbar = function () {\n function Snackbar() {\n _classCallCheck(this, Snackbar);\n }\n\n _createClass(Snackbar, [{\n key: 'init',\n value: function init(store) {\n this._store = store;\n this._timeout = null;\n }\n }, {\n key: 'alert',\n value: function alert(message, type) {\n var _this = this;\n\n if (this._timeout) {\n window.clearTimeout(this._timeout);\n this._store.dispatch((0, _snackbar.hideSnackbar)());\n\n this._timeout = window.setTimeout(function () {\n _this._timeout = null;\n _this.alert(message, type);\n }, HIDE_ANIMATION_LENGTH);\n } else {\n this._store.dispatch((0, _snackbar.showSnackbar)(message, type));\n this._timeout = window.setTimeout(function () {\n _this._store.dispatch((0, _snackbar.hideSnackbar)());\n _this._timeout = null;\n }, MESSAGE_SHOW_LENGTH);\n }\n }\n\n // shorthands for message types\n\n }, {\n key: 'info',\n value: function info(message) {\n this.alert(message, 'info');\n }\n }, {\n key: 'success',\n value: function success(message) {\n this.alert(message, 'success');\n }\n }, {\n key: 'warning',\n value: function warning(message) {\n this.alert(message, 'warning');\n }\n }, {\n key: 'error',\n value: function error(message) {\n this.alert(message, 'error');\n }\n\n // shorthand for api errors\n\n }, {\n key: 'apiError',\n value: function apiError(rejection) {\n var message = rejection.detail;\n\n if (!message) {\n if (rejection.status === 404) {\n message = gettext(\"Action link is invalid.\");\n } else {\n message = gettext(\"Unknown error has occured.\");\n }\n }\n\n if (rejection.status === 403 && message === \"Permission denied\") {\n message = gettext(\"You don't have permission to perform this action.\");\n }\n\n this.error(message);\n }\n }]);\n\n return Snackbar;\n}();\n\nexports.default = new Snackbar();\n\n},{\"../reducers/snackbar\":358}],376:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.StoreWrapper = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _redux = require('redux');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar StoreWrapper = exports.StoreWrapper = function () {\n function StoreWrapper() {\n _classCallCheck(this, StoreWrapper);\n\n this._store = null;\n this._reducers = {};\n this._initialState = {};\n }\n\n _createClass(StoreWrapper, [{\n key: 'addReducer',\n value: function addReducer(name, reducer, initialState) {\n this._reducers[name] = reducer;\n this._initialState[name] = initialState;\n }\n }, {\n key: 'init',\n value: function init() {\n this._store = (0, _redux.createStore)((0, _redux.combineReducers)(this._reducers), this._initialState);\n }\n }, {\n key: 'getStore',\n value: function getStore() {\n return this._store;\n }\n\n // Store API\n\n }, {\n key: 'getState',\n value: function getState() {\n return this._store.getState();\n }\n }, {\n key: 'dispatch',\n value: function dispatch(action) {\n return this._store.dispatch(action);\n }\n }]);\n\n return StoreWrapper;\n}();\n\nexports.default = new StoreWrapper();\n\n},{\"redux\":\"redux\"}],377:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/* global zxcvbn */\nvar Zxcvbn = exports.Zxcvbn = function () {\n function Zxcvbn() {\n _classCallCheck(this, Zxcvbn);\n }\n\n _createClass(Zxcvbn, [{\n key: \"init\",\n value: function init(include) {\n this._include = include;\n this._isLoaded = false;\n }\n }, {\n key: \"scorePassword\",\n value: function scorePassword(password, inputs) {\n // 0-4 score, the more the stronger password\n if (this._isLoaded) {\n return zxcvbn(password, inputs).score;\n }\n\n return 0;\n }\n }, {\n key: \"load\",\n value: function load() {\n if (!this._isLoaded) {\n this._include.include('misago/js/zxcvbn.js');\n return this._loadingPromise();\n } else {\n return this._loadedPromise();\n }\n }\n }, {\n key: \"_loadingPromise\",\n value: function _loadingPromise() {\n var self = this;\n\n return new Promise(function (resolve, reject) {\n var wait = function wait() {\n var tries = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n tries += 1;\n if (tries > 200) {\n reject();\n } else if (typeof zxcvbn === \"undefined\") {\n window.setTimeout(function () {\n wait(tries);\n }, 200);\n } else {\n self._isLoaded = true;\n resolve();\n }\n };\n wait();\n });\n }\n }, {\n key: \"_loadedPromise\",\n value: function _loadedPromise() {\n // we have already loaded zxcvbn.js, resolve away!\n return new Promise(function (resolve) {\n resolve();\n });\n }\n }]);\n\n return Zxcvbn;\n}();\n\nexports.default = new Zxcvbn();\n\n},{}],378:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (ban, changeState) {\n _reactDom2.default.render(\n /* jshint ignore:start */\n _react2.default.createElement(\n _reactRedux.Provider,\n { store: _store2.default.getStore() },\n _react2.default.createElement(RedrawedBannedPage, { message: ban.message,\n expires: ban.expires_on ? (0, _moment2.default)(ban.expires_on) : null })\n ),\n /* jshint ignore:end */\n document.getElementById('page-mount'));\n\n if (typeof changeState === 'undefined' || changeState) {\n var forumName = _index2.default.get('SETTINGS').forum_name;\n document.title = gettext(\"You are banned\") + ' | ' + forumName;\n window.history.pushState({}, \"\", _index2.default.get('BANNED_URL'));\n }\n};\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _reactRedux = require('react-redux');\n\nvar _bannedPage = require('../components/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:line\n\n/* jshint ignore:start */\n// jshint ignore:line\n// jshint ignore:line\nvar select = function select(state) {\n return state.tick;\n}; // jshint ignore:line\n// jshint ignore:line\n\n\nvar RedrawedBannedPage = (0, _reactRedux.connect)(select)(_bannedPage2.default);\n/* jshint ignore:end */\n\n},{\"../components/banned-page\":7,\"../index\":301,\"../services/store\":376,\"moment\":\"moment\",\"react\":\"react\",\"react-dom\":\"react-dom\",\"react-redux\":\"react-redux\"}],379:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (list, rowWidth) {\n var padding = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var rows = [];\n var row = [];\n\n list.forEach(function (element) {\n row.push(element);\n if (row.length === rowWidth) {\n rows.push(row);\n row = [];\n }\n });\n\n // pad row to required length?\n if (padding !== false && row.length > 0 && row.length < rowWidth) {\n for (var i = row.length; i < rowWidth; i++) {\n row.push(padding);\n }\n }\n\n if (row.length) {\n rows.push(row);\n }\n\n return rows;\n};\n\n},{}],380:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (a, b) {\n var ids = [];\n return a.concat(b).filter(function (item) {\n if (ids.indexOf(item.id) === -1) {\n ids.push(item.id);\n return true;\n } else {\n return false;\n }\n });\n};\n\n},{}],381:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar _class = function () {\n function _class(callback, count) {\n _classCallCheck(this, _class);\n\n this._callback = callback;\n this._count = count;\n }\n\n _createClass(_class, [{\n key: \"count\",\n value: function count() {\n this._count -= 1;\n if (this._count === 0) {\n this._callback();\n }\n }\n }]);\n\n return _class;\n}();\n\nexports.default = _class;\n\n},{}],382:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (text) {\n return text.replace(/[&<>\"']/g, function (m) {\n return map[m];\n });\n};\n\nvar map = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\n\n},{}],383:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (bytes) {\n if (bytes > 1024 * 1024 * 1024) {\n return roundSize(bytes / (1024 * 1024 * 1024)) + ' GB';\n } else if (bytes > 1024 * 1024) {\n return roundSize(bytes / (1024 * 1024)) + ' MB';\n } else if (bytes > 1024) {\n return roundSize(bytes / 1024) + ' KB';\n } else {\n return roundSize(bytes) + ' B';\n }\n};\n\nexports.roundSize = roundSize;\nfunction roundSize(value) {\n return value.toFixed(1);\n}\n\n},{}],384:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (str) {\n return URL_PATTERN.test($.trim(str));\n};\n\nvar URL_PATTERN = new RegExp('^(https?:\\\\/\\\\/)?((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*(\\\\?[;&a-z\\\\d%_.~+=-]*)?(\\\\#[-a-z\\\\d_]*)?$', 'i');\n\n},{}],385:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (Component, rootElementId) {\n var connected = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n var rootElement = document.getElementById(rootElementId);\n\n /* jshint ignore:start */\n var finalComponent = Component.props ? Component : _react2.default.createElement(Component, null);\n /* jshint ignore:end */\n\n if (rootElement) {\n if (connected) {\n _reactDom2.default.render(\n /* jshint ignore:start */\n _react2.default.createElement(\n _reactRedux.Provider,\n { store: _store2.default.getStore() },\n finalComponent\n ),\n /* jshint ignore:end */\n rootElement);\n } else {\n /* jshint ignore:start */\n _reactDom2.default.render(finalComponent, rootElement);\n /* jshint ignore:end */\n }\n }\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _reactRedux = require('react-redux');\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n},{\"../services/store\":376,\"react\":\"react\",\"react-dom\":\"react-dom\",\"react-redux\":\"react-redux\"}],386:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar OrderedList = function () {\n function OrderedList(items) {\n _classCallCheck(this, OrderedList);\n\n this.isOrdered = false;\n this._items = items || [];\n }\n\n _createClass(OrderedList, [{\n key: \"add\",\n value: function add(key, item, order) {\n this._items.push({\n key: key,\n item: item,\n\n after: order ? order.after || null : null,\n before: order ? order.before || null : null\n });\n }\n }, {\n key: \"get\",\n value: function get(key, value) {\n for (var i = 0; i < this._items.length; i++) {\n if (this._items[i].key === key) {\n return this._items[i].item;\n }\n }\n\n return value;\n }\n }, {\n key: \"has\",\n value: function has(key) {\n return this.get(key) !== undefined;\n }\n }, {\n key: \"values\",\n value: function values() {\n var values = [];\n for (var i = 0; i < this._items.length; i++) {\n values.push(this._items[i].item);\n }\n return values;\n }\n }, {\n key: \"order\",\n value: function order(values_only) {\n if (!this.isOrdered) {\n this._items = this._order(this._items);\n this.isOrdered = true;\n }\n\n if (values_only || typeof values_only === 'undefined') {\n return this.values();\n } else {\n return this._items;\n }\n }\n }, {\n key: \"orderedValues\",\n value: function orderedValues() {\n return this.order(true);\n }\n }, {\n key: \"_order\",\n value: function _order(unordered) {\n // Index of unordered items\n var index = [];\n unordered.forEach(function (item) {\n index.push(item.key);\n });\n\n // Ordered items\n var ordered = [];\n var ordering = [];\n\n // First pass: register items that\n // don't specify their order\n unordered.forEach(function (item) {\n if (!item.after && !item.before) {\n ordered.push(item);\n ordering.push(item.key);\n }\n });\n\n // Second pass: register items that\n // specify their before to \"_end\"\n unordered.forEach(function (item) {\n if (item.before === \"_end\") {\n ordered.push(item);\n ordering.push(item.key);\n }\n });\n\n // Third pass: keep iterating items\n // until we hit iterations limit or finish\n // ordering list\n function insertItem(item) {\n var insertAt = -1;\n if (ordering.indexOf(item.key) === -1) {\n if (item.after) {\n insertAt = ordering.indexOf(item.after);\n if (insertAt !== -1) {\n insertAt += 1;\n }\n } else if (item.before) {\n insertAt = ordering.indexOf(item.before);\n }\n\n if (insertAt !== -1) {\n ordered.splice(insertAt, 0, item);\n ordering.splice(insertAt, 0, item.key);\n }\n }\n }\n\n var iterations = 200;\n while (iterations > 0 && index.length !== ordering.length) {\n iterations -= 1;\n unordered.forEach(insertItem);\n }\n\n return ordered;\n }\n }]);\n\n return OrderedList;\n}();\n\nexports.default = OrderedList;\n\n},{}],387:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.int = int;\nexports.range = range;\nfunction int(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n}\n\nfunction range(min, max) {\n var array = new Array(int(min, max));\n for (var i = 0; i < array.length; i++) {\n array[i] = i;\n }\n\n return array;\n}\n\n},{}],388:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function () {\n window.scrollTo(0, 0);\n};\n\n},{}],389:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (options) {\n var routes = {\n component: options.component || null,\n childRoutes: []\n };\n\n if (options.root) {\n routes.childRoutes = [{\n path: options.root,\n onEnter: function onEnter(nextState, replaceState) {\n replaceState(null, options.paths[0].path);\n }\n }].concat(options.paths);\n } else {\n routes.childRoutes = options.paths;\n }\n\n _reactDom2.default.render(_react2.default.createElement(\n _reactRedux.Provider,\n { store: _store2.default.getStore() },\n _react2.default.createElement(_reactRouter.Router, { routes: routes, history: _reactRouter.browserHistory })\n ), rootElement);\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _reactRedux = require('react-redux');\n\nvar _reactRouter = require('react-router');\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar rootElement = document.getElementById('page-mount'); // jshint ignore:start\n\n},{\"../services/store\":376,\"react\":\"react\",\"react-dom\":\"react-dom\",\"react-redux\":\"react-redux\",\"react-router\":\"react-router\"}],390:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.push = push;\nexports.remove = remove;\nexports.toggle = toggle;\nfunction push(array, value) {\n if (array.indexOf(value) === -1) {\n var copy = array.slice();\n copy.push(value);\n return copy;\n } else {\n return array;\n }\n}\n\nfunction remove(array, value) {\n if (array.indexOf(value) >= 0) {\n return array.filter(function (i) {\n return i !== value;\n });\n } else {\n return array;\n }\n}\n\nfunction toggle(array, value) {\n if (array.indexOf(value) === -1) {\n var copy = array.slice();\n copy.push(value);\n return copy;\n } else {\n return array.filter(function (i) {\n return i !== value;\n });\n }\n}\n\n},{}],391:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (string, subString) {\n string = (string + \"\").toLowerCase();\n subString = (subString + \"\").toLowerCase();\n\n if (subString.length <= 0) return 0;\n\n var n = 0;\n var pos = 0;\n var step = subString.length;\n\n while (true) {\n pos = string.indexOf(subString, pos);\n if (pos >= 0) {\n n += 1;\n pos += step;\n } else {\n break;\n }\n }\n\n return n;\n};\n\n},{}],392:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.required = required;\nexports.requiredTermsOfService = requiredTermsOfService;\nexports.requiredPrivacyPolicy = requiredPrivacyPolicy;\nexports.email = email;\nexports.minLength = minLength;\nexports.maxLength = maxLength;\nexports.usernameMinLength = usernameMinLength;\nexports.usernameMaxLength = usernameMaxLength;\nexports.usernameContent = usernameContent;\nexports.passwordMinLength = passwordMinLength;\nvar EMAIL = /^(([^<>()[\\]\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i;\nvar USERNAME = new RegExp('^[0-9a-z]+$', 'i');\n\nfunction required(message) {\n return function (value) {\n if (value === false || value === null || $.trim(value).length === 0) {\n return message || gettext(\"This field is required.\");\n }\n };\n}\n\nfunction requiredTermsOfService(message) {\n var error = gettext(\"You have to accept the terms of service.\");\n return required(message || error);\n}\n\nfunction requiredPrivacyPolicy(message) {\n var error = gettext(\"You have to accept the privacy policy.\");\n return required(message || error);\n}\n\nfunction email(message) {\n return function (value) {\n if (!EMAIL.test(value)) {\n return message || gettext(\"Enter a valid email address.\");\n }\n };\n}\n\nfunction minLength(limitValue, message) {\n return function (value) {\n var returnMessage = '';\n var length = $.trim(value).length;\n\n if (length < limitValue) {\n if (message) {\n returnMessage = message(limitValue, length);\n } else {\n returnMessage = ngettext(\"Ensure this value has at least %(limit_value)s character (it has %(show_value)s).\", \"Ensure this value has at least %(limit_value)s characters (it has %(show_value)s).\", limitValue);\n }\n return interpolate(returnMessage, {\n limit_value: limitValue,\n show_value: length\n }, true);\n }\n };\n}\n\nfunction maxLength(limitValue, message) {\n return function (value) {\n var returnMessage = '';\n var length = $.trim(value).length;\n\n if (length > limitValue) {\n if (message) {\n returnMessage = message(limitValue, length);\n } else {\n returnMessage = ngettext(\"Ensure this value has at most %(limit_value)s character (it has %(show_value)s).\", \"Ensure this value has at most %(limit_value)s characters (it has %(show_value)s).\", limitValue);\n }\n return interpolate(returnMessage, {\n limit_value: limitValue,\n show_value: length\n }, true);\n }\n };\n}\n\nfunction usernameMinLength(lengthMin) {\n var message = function message(lengthMin) {\n return ngettext(\"Username must be at least %(limit_value)s character long.\", \"Username must be at least %(limit_value)s characters long.\", lengthMin);\n };\n return minLength(lengthMin, message);\n}\n\nfunction usernameMaxLength(lengthMax) {\n var message = function message(lengthMax) {\n return ngettext(\"Username cannot be longer than %(limit_value)s character.\", \"Username cannot be longer than %(limit_value)s characters.\", lengthMax);\n };\n return maxLength(lengthMax, message);\n}\n\nfunction usernameContent() {\n return function (value) {\n if (!USERNAME.test($.trim(value))) {\n return gettext(\"Username can only contain latin alphabet letters and digits.\");\n }\n };\n}\n\nfunction passwordMinLength(limitValue) {\n return function (value) {\n var length = value.length;\n\n if (length < limitValue) {\n var returnMessage = ngettext(\"Valid password must be at least %(limit_value)s character long.\", \"Valid password must be at least %(limit_value)s characters long.\", limitValue);\n\n return interpolate(returnMessage, {\n limit_value: limitValue,\n show_value: length\n }, true);\n }\n };\n}\n\n},{}]},{},[301,302,303,304,305,322,323,324,325,326,327,328,329,345,346,347,348,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344]);\n"]} \ No newline at end of file From 3d9681692dd8ed22b9940586328bc8849eea1f56 Mon Sep 17 00:00:00 2001 From: rafalp Date: Thu, 25 Oct 2018 20:54:20 +0200 Subject: [PATCH 3/8] Fix script name passed to startproject execution in misago.core.setup --- misago/core/setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misago/core/setup.py b/misago/core/setup.py index ac74137f08..8fc3ddbb80 100644 --- a/misago/core/setup.py +++ b/misago/core/setup.py @@ -50,7 +50,7 @@ def start_misago_project(): project_name = validate_project_name(parser, args[0]) argv = [ - 'start-misago.py', 'startproject', project_name, dir, + 'misago-start.py', 'startproject', project_name, dir, '--template=%s' % get_misago_project_template() ] From 05f19daf9b25dd3118849b9c3459eed5dca1a0c7 Mon Sep 17 00:00:00 2001 From: rafalp Date: Thu, 25 Oct 2018 21:02:13 +0200 Subject: [PATCH 4/8] Fix builtin name use --- misago/core/setup.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/misago/core/setup.py b/misago/core/setup.py index 8fc3ddbb80..576718b952 100644 --- a/misago/core/setup.py +++ b/misago/core/setup.py @@ -43,14 +43,14 @@ def start_misago_project(): if len(args) < 1: parser.error("project_name must be specified") - dir = None + directory = None if len(args) == 2: - dir = args[1] + directory = args[1] project_name = validate_project_name(parser, args[0]) argv = [ - 'misago-start.py', 'startproject', project_name, dir, + 'misago-start.py', 'startproject', project_name, directory, '--template=%s' % get_misago_project_template() ] From 460d47a4741be0a0ef3604f2414677c0028c2991 Mon Sep 17 00:00:00 2001 From: rafalp Date: Thu, 25 Oct 2018 21:58:43 +0200 Subject: [PATCH 5/8] Tweak test accuracy and revert ranking algo because new one was Dj2 only --- misago/users/activepostersranking.py | 14 ++++++++------ misago/users/tests/test_activepostersranking.py | 17 ++++++++++++++++- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/misago/users/activepostersranking.py b/misago/users/activepostersranking.py index ccaa3ed018..cf0efd3622 100644 --- a/misago/users/activepostersranking.py +++ b/misago/users/activepostersranking.py @@ -1,12 +1,11 @@ from datetime import timedelta from django.contrib.auth import get_user_model -from django.db.models import Count, Q +from django.db.models import Count from django.utils import timezone from misago.categories.models import Category from misago.conf import settings -from misago.threads.models import Post from .models import ActivityRanking @@ -38,12 +37,15 @@ def build_active_posters_ranking(): for category in Category.objects.all_categories(): ranked_categories.append(category.pk) - ranked_posts = Q(posted_on__gte=tracked_since) & Q(category__in=ranked_categories) - queryset = ( UserModel.objects - .annotate(score=Count('post', filter=ranked_posts)) - .filter(is_active=True, score__gt=0) + .filter( + is_active=True, + post__posted_on__gte=tracked_since, + post__category__in=ranked_categories, + ) + .annotate(score=Count('post')) + .filter(score__gt=0) .order_by('-score') )[:settings.MISAGO_RANKING_SIZE] diff --git a/misago/users/tests/test_activepostersranking.py b/misago/users/tests/test_activepostersranking.py index 10f295f0d5..d1bcffe46c 100644 --- a/misago/users/tests/test_activepostersranking.py +++ b/misago/users/tests/test_activepostersranking.py @@ -1,4 +1,7 @@ +from datetime import timedelta + from django.contrib.auth import get_user_model +from django.utils import timezone from misago.categories.models import Category from misago.core import threadstore @@ -35,9 +38,21 @@ def test_get_active_posters_ranking(self): self.assertEqual(empty_ranking['users'], []) self.assertEqual(empty_ranking['users_count'], 0) - # other user + # other user that will be posting other_user = UserModel.objects.create_user("OtherUser", "other@user.com", "pass123") + # lurker user that won't post anything + UserModel.objects.create_user("Lurker", "lurker@user.com", "pass123") + + # unranked user that posted something 400 days ago + unranked_user = UserModel.objects.create_user( + "UnrankedUser", "unranked@user.com", "pass123" + ) + + started_on = timezone.now() - timedelta(days=400) + post_thread(self.category, poster=unranked_user, started_on=started_on) + + # Start testing scenarios post_thread(self.category, poster=other_user) build_active_posters_ranking() From db59dddbf8ad35027bd25b78ca70eaa20a1d814e Mon Sep 17 00:00:00 2001 From: rafalp Date: Sat, 27 Oct 2018 02:08:15 +0200 Subject: [PATCH 6/8] Bump version to 0.19.3 --- misago/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misago/__init__.py b/misago/__init__.py index 5daae67f73..b6991384f4 100644 --- a/misago/__init__.py +++ b/misago/__init__.py @@ -1 +1 @@ -__version__ = '0.19.2' +__version__ = '0.19.3' From 4ee6940b17a8f8dc1ce3e1f6dbffb2a613630d03 Mon Sep 17 00:00:00 2001 From: rafalp Date: Sat, 27 Oct 2018 02:32:12 +0200 Subject: [PATCH 7/8] Remove extra compilemessages from ./dev txsync --- dev | 1 - 1 file changed, 1 deletion(-) diff --git a/dev b/dev index be460b37f0..5cc9bacf6c 100755 --- a/dev +++ b/dev @@ -356,7 +356,6 @@ if [[ $1 ]]; then makemessages en txpush txpull - compilemessages elif [[ $1 = "bash" ]]; then run_bash elif [[ $1 = "manage.py" ]]; then From a88aee3a17706512e927370a05150dd6cbade4b1 Mon Sep 17 00:00:00 2001 From: rafalp Date: Sat, 27 Oct 2018 02:32:23 +0200 Subject: [PATCH 8/8] Sync translation files with transifex --- misago/locale/tr/LC_MESSAGES/djangojs.mo | Bin 52061 -> 52237 bytes misago/locale/tr/LC_MESSAGES/djangojs.po | 10 +++++----- misago/locale/zh_Hans/LC_MESSAGES/django.mo | Bin 115790 -> 115793 bytes misago/locale/zh_Hans/LC_MESSAGES/django.po | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/misago/locale/tr/LC_MESSAGES/djangojs.mo b/misago/locale/tr/LC_MESSAGES/djangojs.mo index b512081aeda3ebdcfa88d34cc3290101f7417013..f4fbb2cf775a34d2e4e95559d63585cddadf6589 100644 GIT binary patch delta 12211 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 TE=BXc$S&X5XK3coiRS+R%DO5% diff --git a/misago/locale/tr/LC_MESSAGES/djangojs.po b/misago/locale/tr/LC_MESSAGES/djangojs.po index b6d9c2fbdd..d8e53d565c 100644 --- a/misago/locale/tr/LC_MESSAGES/djangojs.po +++ b/misago/locale/tr/LC_MESSAGES/djangojs.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-08-19 15:33+0000\n" +"POT-Creation-Date: 2018-09-15 23:22+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Bilal Akgül , 2018\n" +"Last-Translator: gülce abatay , 2018\n" "Language-Team: Turkish (Turkey) (https://www.transifex.com/misago/teams/65369/tr_TR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -44,7 +44,7 @@ msgstr "" #: static/misago/js/misago.js:1 msgid "the privacy policy" -msgstr "" +msgstr "gizlilik ilke" #: static/misago/js/misago.js:1 msgid "I have read and accept %(agreement)s." @@ -58,11 +58,11 @@ msgstr "" #: static/misago/js/misago.js:1 msgid "Decline" -msgstr "" +msgstr "düşüş" #: static/misago/js/misago.js:1 msgid "Accept and continue" -msgstr "" +msgstr "kabul et ve devam et" #: static/misago/js/misago.js:1 static/misago/js/misago.js:2 #: static/misago/js/misago.js:3 static/misago/js/misago.js:4 diff --git a/misago/locale/zh_Hans/LC_MESSAGES/django.mo b/misago/locale/zh_Hans/LC_MESSAGES/django.mo index a6e6e93cadfefc01eebb550185f25ce8e2a45174..2c4f997d1895ff497ced1d540d994596eadee3b1 100644 GIT binary patch delta 9982 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≥m`vv-xC#Z8fvCiSU%74-&sCz&^-@E zwbK#R--`!1|9WwORoHD6&Rafk$VD28suzWtfh5#auST7cGge+T&wa*wq3UO&I^2tz z`b$<`<^xwA?ptC2W>8@Us)OQ(^{-R>bV99V7OJ5SP(LVcpgv0VkGPIHnJ=OO%SN?x z0`f^HsHKqG;6rMu`*5N~U6(2{9ht@Km2W_PM}&JjNa%&Ht-@8*)ct6d``9(m%#7Z3t82CVN;h^c zy#C(8n{Va?N2ZOMJUlVA{rK^Fp9~5d2(EfPbIY}TSp_rmuH~(|w(r38*Y_06-du2C M%ih~jfe{)12f, 2018\n" +"Last-Translator: cxgreat2014 , 2018\n" "Language-Team: Chinese (China) (https://www.transifex.com/misago/teams/65369/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -266,7 +266,7 @@ msgstr "版块权限不能被拷贝到其自身上。" #: categories/forms.py:133 msgid "Category cannot act as archive for itself." -msgstr "版块别不能作为其自身的存档。" +msgstr "版块不能作为它自己的存档。" #: categories/forms.py:153 msgid "Parent category"