Rafał Pitoń 8 лет назад
Родитель
Сommit
5794e060ec

+ 3 - 6
frontend/src/components/editor/actions/quote.js

@@ -18,13 +18,10 @@ export default function(props) {
 }
 
 export function insertQuote(selection, replace) {
-  let author = $.trim(prompt(gettext("Enter image label (optional)") + ':', author));
-  if (author.length && author[0] !== '@') {
-    author = '@' + author;
-  }
+  let title = $.trim(prompt(gettext("Enter quote title, prefix usernames with @") + ':', title));
 
-  if (author) {
-    replace('\n\n[quote="' + author + '"]\n' + selection + '\n[/quote]\n\n');
+  if (title) {
+    replace('\n\n[quote="' + title + '"]\n' + selection + '\n[/quote]\n\n');
   } else {
     replace('\n\n[quote=]\n' + selection + '\n[/quote]\n\n');
   }

+ 13 - 13
misago/markup/bbcode/blocks.py

@@ -33,8 +33,8 @@ class QuotePreprocessor(Preprocessor):
     QUOTE_BLOCK_RE = re.compile(r'''
 \[quote\](?P<text>.*?)\[/quote\]
 '''.strip(), re.IGNORECASE | re.MULTILINE | re.DOTALL);
-    QUOTE_BLOCK_AUTHORED_RE = re.compile(r'''
-\[quote=("?)(@?)(?P<author>[0-9a-zA-Z]+)("?)](?P<text>.*?)\[/quote\]
+    QUOTE_BLOCK_TITLE_RE = re.compile(r'''
+\[quote=("?)(?P<title>.*?)("?)](?P<text>.*?)\[/quote\]
 '''.strip(), re.IGNORECASE | re.MULTILINE | re.DOTALL);
 
 
@@ -42,20 +42,20 @@ class QuotePreprocessor(Preprocessor):
         text = '\n'.join(lines)
         while self.QUOTE_BLOCK_RE.search(text):
             text = self.QUOTE_BLOCK_RE.sub(self.replace, text)
-        while self.QUOTE_BLOCK_AUTHORED_RE.search(text):
-            text = self.QUOTE_BLOCK_AUTHORED_RE.sub(self.replace_authored, text)
+        while self.QUOTE_BLOCK_TITLE_RE.search(text):
+            text = self.QUOTE_BLOCK_TITLE_RE.sub(self.replace_titled, text)
         return text.split('\n')
 
     def replace(self, matchobj):
         text = matchobj.group('text')
         return '\n\n{}\n\n{}\n\n{}\n\n'.format(QUOTE_START, text, QUOTE_END)
 
-    def replace_authored(self, matchobj):
-        author = matchobj.group('author').lstrip('@').strip()
+    def replace_titled(self, matchobj):
+        title = matchobj.group('title').strip()
         text = matchobj.group('text')
 
-        if author:
-            return '\n\n{}{}\n\n{}\n\n{}\n\n'.format(QUOTE_START, author, text, QUOTE_END)
+        if title:
+            return '\n\n{}{}\n\n{}\n\n{}\n\n'.format(QUOTE_START, title, text, QUOTE_END)
         else:
             return '\n\n{}\n\n{}\n\n{}\n\n'.format(QUOTE_START, text, QUOTE_END)
 
@@ -63,7 +63,7 @@ class QuotePreprocessor(Preprocessor):
 class QuoteBlockProcessor(BlockProcessor):
     def __init__(self, *args, **kwargs):
         super(QuoteBlockProcessor, self).__init__(*args, **kwargs)
-        self._author = None
+        self._title = None
         self._quote = 0
         self._children = []
 
@@ -75,7 +75,7 @@ class QuoteBlockProcessor(BlockProcessor):
         if block.strip().startswith(QUOTE_START):
             self._quote += 1
             if self._quote == 1:
-                self._author = block[len(QUOTE_START):].strip() or None
+                self._title = block[len(QUOTE_START):].strip() or None
 
         self._children.append(block)
 
@@ -84,11 +84,11 @@ class QuoteBlockProcessor(BlockProcessor):
 
         if not self._quote:
             children, self._children = self._children[1:-1], []
-            author, self._author = self._author, None
+            title, self._title = self._title, None
 
             blockquote = etree.SubElement(parent, 'blockquote')
             header = etree.SubElement(blockquote, 'header')
-            if author:
-                header.text = '@{}'.format(author)
+            if title:
+                header.text = title
 
             self.parser.parseBlocks(blockquote, children)

+ 1 - 1
misago/markup/mentions.py

@@ -6,7 +6,7 @@ from django.contrib.auth import get_user_model
 from django.utils import six
 
 
-SUPPORTED_TAGS = ('h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p')
+SUPPORTED_TAGS = ('h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'p')
 USERNAME_RE = re.compile(r'@[0-9a-z]+', re.IGNORECASE)
 MENTIONS_LIMIT = 24
 

+ 14 - 24
misago/markup/tests/test_parser.py

@@ -18,7 +18,8 @@ class MockRequest(object):
 
 
 class MockPoster(object):
-    pass
+    username = 'LoremIpsum'
+    slug = 'loremipsum'
 
 
 class BBCodeTests(TestCase):
@@ -60,7 +61,7 @@ Lorem [b]ipsum[/B].
         """block elements are correctly parsed"""
         test_text = """
 Lorem ipsum.
-[hR]
+[hr]
 Dolor met.
 """.strip()
 
@@ -307,7 +308,7 @@ Lorem ipsum.
         test_text = """
 Lorem ipsum.
 [quote]Dolor met[/quote]
-[quote=\"Bob\"]Dolor <b>met</b>[/quote]
+[quote=\"@Bob\"]Dolor <b>met</b>[/quote]
 [quote]Dolor **met**[quote=@Bob]Dolor met[/quote][/quote]
 """.strip()
 
@@ -331,34 +332,23 @@ Lorem ipsum.
 </blockquote>
 """.strip()
 
-        result = parse(test_text, MockRequest(), MockPoster(), minify=False)
+        request = MockRequest(user=MockPoster())
+        result = parse(test_text, request, MockPoster(), minify=False)
         self.assertEqual(expected_result, result['parsed_text'])
 
-    def test_invalid_author_quote(self):
-        """parser handles invalid author quote"""
+    def test_custom_quote_title(self):
+        """parser handles custom quotetitle"""
         test_text = """
 Lorem ipsum.
-[quote=\"Bob Sasasasa]Dolor <b>met</b>[/quote]
+[quote=\"Lorem ipsum very test\"]Dolor <b>met</b>[/quote]
 """.strip()
 
         expected_result = """
-<p>Lorem ipsum.<br/>
-[quote="Bob Sasasasa]Dolor &lt;b&gt;met&lt;/b&gt;[/quote]</p>
-""".strip()
-
-        result = parse(test_text, MockRequest(), MockPoster(), minify=False)
-        self.assertEqual(expected_result, result['parsed_text'])
-
-    def test_invalid_author_quote(self):
-        """parser handles invalid author quote"""
-        test_text = """
-Lorem ipsum.
-[quote=\"Bob Sasasasa]Dolor <b>met</b>[/quote]
-""".strip()
-
-        expected_result = """
-<p>Lorem ipsum.<br/>
-[quote="Bob Sasasasa]Dolor &lt;b&gt;met&lt;/b&gt;[/quote]</p>
+<p>Lorem ipsum.</p>
+<blockquote>
+<header>Lorem ipsum very test</header>
+<p>Dolor &lt;b&gt;met&lt;/b&gt;</p>
+</blockquote>
 """.strip()
 
         result = parse(test_text, MockRequest(), MockPoster(), minify=False)

+ 2 - 2
misago/static/misago/js/misago.js

@@ -1,6 +1,6 @@
 !function e(t,a,r){function n(s,l){if(!a[s]){if(!t[s]){var i="function"==typeof require&&require;if(!l&&i)return i(s,!0);if(o)return o(s,!0);var u=new Error("Cannot find module '"+s+"'");throw u.code="MODULE_NOT_FOUND",u}var c=a[s]={exports:{}};t[s][0].call(c.exports,function(e){var a=t[s][1][e];return n(a?a:e)},c,c.exports,e,t,a,r)}return a[s].exports}for(var o="function"==typeof require&&require,s=0;s<r.length;s++)n(r[s]);return n}({1:[function(e,t,a){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function n(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 s(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 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("Add participant")))}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}();a.ModalHeader=i;var c=e("react"),d=n(c),f=e("./form"),p=n(f),h=e("./form-group"),m=n(h),b=e("../reducers/participants"),v=r(b),y=e("../reducers/thread"),g=e("../services/ajax"),_=n(g),E=e("../services/modal"),w=n(E),O=e("../services/snackbar"),k=n(O),N=e("../services/store"),j=n(N),x=function(e){function t(e){o(this,t);var a=s(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onUsernameChange=function(e){a.changeValue("username",e.target.value)},a.state={isLoading:!1,username:""},a}return l(t,e),u(t,[{key:"clean",value:function(){return!!this.state.username.trim().length||(k["default"].error(gettext("You have to enter user name.")),!1)}},{key:"send",value:function(){return _["default"].patch(this.props.thread.api.index,[{op:"add",path:"participants",value:this.state.username},{op:"add",path:"acl",value:1}])}},{key:"handleSuccess",value:function(e){j["default"].dispatch((0,y.updateAcl)(e)),j["default"].dispatch(v.replace(e.participants)),k["default"].success(gettext("New participant has been added to thread.")),w["default"].hide()}},{key:"render",value:function(){return d["default"].createElement("div",{className:"modal-dialog modal-sm",role:"document"},d["default"].createElement("form",{onSubmit:this.handleSubmit},d["default"].createElement("div",{className:"modal-content"},d["default"].createElement(i,null),d["default"].createElement("div",{className:"modal-body"},d["default"].createElement(m["default"],{"for":"id_username",label:gettext("User to add")},d["default"].createElement("input",{id:"id_username",className:"form-control",disabled:this.state.isLoading,onChange:this.onUsernameChange,type:"text",value:this.state.username}))),d["default"].createElement("div",{className:"modal-footer"},d["default"].createElement("button",{className:"btn btn-block btn-primary",disabled:this.state.isLoading},gettext("Add participant"))))))}}]),t}(p["default"]);a["default"]=x},{"../reducers/participants":280,"../reducers/thread":288,"../services/ajax":293,"../services/modal":299,"../services/snackbar":303,"../services/store":304,"./form":41,"./form-group":40,react:"react"}],2:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l(e){return{user:e.auth.user,signedIn:e.auth.signedIn,signedOut:e.auth.signedOut}}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}();a.select=l;var u=e("react"),c=r(u),d=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"refresh",value:function(){window.location.reload()}},{key:"getMessage",value:function(){return this.props.signedIn?interpolate(gettext("You have signed in as %(username)s. Please refresh the page before continuing."),{username:this.props.signedIn.username},!0):this.props.signedOut?interpolate(gettext("%(username)s, you have been signed out. Please refresh the page before continuing."),{username:this.props.user.username},!0):void 0}},{key:"getClassName",value:function(){return this.props.signedIn||this.props.signedOut?"auth-message show":"auth-message"}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName()},c["default"].createElement("div",{className:"container"},c["default"].createElement("p",{className:"lead"},this.getMessage()),c["default"].createElement("p",null,c["default"].createElement("button",{type:"button",className:"btn btn-default",onClick:this.refresh},gettext("Reload page"))," ",c["default"].createElement("span",{className:"hidden-xs hidden-sm text-muted"},gettext("or press F5 key.")))))}}]),t}(c["default"].Component);a["default"]=d},{react:"react"}],3:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){return e&&e.id?o(e.avatars,t).url:u["default"].get("BLANK_AVATAR_URL")}function o(e,t){var a=e[0];return e.forEach(function(e){e.size>=t&&(a=e)}),a}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.size||100;return l["default"].createElement("img",{className:e.className||"user-avatar",src:n(e.user,t),title:gettext("User avatar"),width:t,height:t})},a.getSrc=n,a.resolveAvatarForSize=o;var s=e("react"),l=r(s),i=e(".."),u=r(i)},{"..":234,react:"react"}],4:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("moment"),u=r(i),c=e("react"),d=r(c),f=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"getReasonMessage",value:function(){return this.props.message.html?d["default"].createElement("div",{className:"lead",dangerouslySetInnerHTML:{__html:this.props.message.html}}):d["default"].createElement("p",{className:"lead"},this.props.message.plain)}},{key:"getExpirationMessage",value:function(){if(this.props.expires){if(this.props.expires.isAfter((0,u["default"])())){var e=interpolate(gettext("This ban expires on %(expires_on)s."),{expires_on:this.props.expires.format("LL, LT")},!0),t=interpolate(gettext("This ban expires %(expires_on)s."),{expires_on:this.props.expires.fromNow()},!0);return d["default"].createElement("abbr",{title:e},t)}return gettext("This ban has expired.")}return gettext("This ban is permanent.")}},{key:"render",value:function(){return d["default"].createElement("div",{className:"page page-error page-error-banned"},d["default"].createElement("div",{className:"container"},d["default"].createElement("div",{className:"message-panel"},d["default"].createElement("div",{className:"message-icon"},d["default"].createElement("span",{className:"material-icon"},"highlight_off")),d["default"].createElement("div",{className:"message-body"},this.getReasonMessage(),d["default"].createElement("p",{className:"message-footnote"},this.getExpirationMessage())))))}}]),t}(d["default"].Component);a["default"]=f},{moment:"moment",react:"react"}],5:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("./loader"),d=r(c),f=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"render",value:function(){var e="btn "+this.props.className,t=this.props.disabled;return this.props.loading&&(e+=" btn-loading",t=!0),u["default"].createElement("button",{type:this.props.onClick?"button":"submit",className:e,disabled:t,onClick:this.props.onClick},this.props.children,this.props.loading?u["default"].createElement(d["default"],null):null)}}]),t}(u["default"].Component);a["default"]=f,f.defaultProps={className:"btn-default",type:"submit",loading:!1,disabled:!1,onClick:null}},{"./loader":43,react:"react"}],6:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.Subcategory=void 0;var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("./last-activity"),d=r(c),f=e("./read-icon"),p=r(f),h=e("./stats"),m=r(h),b=e("./subcategory-subcategories"),v=r(b),y=a.Subcategory=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"getClassName",value:function(){return this.props.category.css_class?"list-group-item category-subcategory subcategory-"+this.props.category.css_class:"list-group-item category-subcategory"}},{key:"getDescription",value:function(){return this.props.category.description?u["default"].createElement("div",{className:"subcategory-description",dangerouslySetInnerHTML:{__html:this.props.category.description.html}}):null}},{key:"getSubcategories",value:function(){return this.props.category.subcategories.length?u["default"].createElement(v["default"],{categories:this.props.category.subcategories}):null}},{key:"render",value:function(){return u["default"].createElement("li",{className:this.getClassName()},u["default"].createElement("div",{className:"title-row"},u["default"].createElement("h4",null,u["default"].createElement(p["default"],{category:this.props.category}),u["default"].createElement("a",{href:this.props.category.absolute_url,className:"item-title"},this.props.category.name)),u["default"].createElement(m["default"],{category:this.props.category})),u["default"].createElement(d["default"],{category:this.props.category}),this.getDescription(),this.getSubcategories())}}]),t}(u["default"].Component),g=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"render",value:function(){return u["default"].createElement("ul",{className:"list-group category-subcategories"},this.props.categories.map(function(e){return u["default"].createElement(y,{category:e,key:e.id})}))}}]),t}(u["default"].Component);a["default"]=g},{"./last-activity":8,"./read-icon":9,"./stats":11,"./subcategory-subcategories":12,react:"react"}],7:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("./category-subcategories"),d=r(c),f=e("./last-activity"),p=r(f),h=e("./read-icon"),m=r(h),b=e("./stats"),v=r(b),y=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"getClassName",value:function(){return this.props.category.css_class?"panel panel-default panel-category panel-category-"+this.props.category.css_class:"panel panel-default panel-category"}},{key:"getHeadingClassName",value:function(){return this.props.category.subcategories.length?"panel-heading":"panel-heading heading-alone"}},{key:"getCategoryDescription",value:function(){return this.props.category.description?u["default"].createElement("div",{className:"panel-body category-description",dangerouslySetInnerHTML:{__html:this.props.category.description.html}}):null}},{key:"getSubcategories",value:function(){return this.props.category.subcategories.length?u["default"].createElement(d["default"],{categories:this.props.category.subcategories}):null}},{key:"render",value:function(){return u["default"].createElement("div",{id:"panel-category-"+this.props.category.id,className:this.getClassName()},u["default"].createElement("div",{className:this.getHeadingClassName()},u["default"].createElement("div",{className:"panel-heading-inblock"},u["default"].createElement("div",{className:"panel-heading-top-row"},u["default"].createElement("h3",{className:"panel-title"},u["default"].createElement(m["default"],{category:this.props.category}),u["default"].createElement("a",{href:this.props.category.absolute_url,className:"item-title"},this.props.category.name)),u["default"].createElement(v["default"],{category:this.props.category})),u["default"].createElement(p["default"],{category:this.props.category}))),this.getCategoryDescription(),this.getSubcategories())}}]),t}(u["default"].Component);a["default"]=y},{"./category-subcategories":6,"./last-activity":8,"./read-icon":9,"./stats":11,react:"react"}],8:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.ProtectedMessage=a.PrivateMessage=a.EmptyMessage=a.LastPostMessage=void 0;var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("../../utils/escape-html"),d=r(c),f='<a href="%(url)s" class="poster-title">%(user)s</a>',p='<span class="poster-title">%(user)s</span>',h='<a href="%(url)s" class="item-title thread-title">%(thread)s</a>',m='<a href="%(url)s" class="last-title" title="%(absolute)s">%(relative)s</a>',b=a.LastPostMessage=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"getLastPoster",value:function(){return this.props.category.last_poster_url?interpolate(f,{url:(0,d["default"])(this.props.category.last_poster_url),user:(0,d["default"])(this.props.category.last_poster_name)},!0):interpolate(p,{user:(0,d["default"])(this.props.category.last_poster_name)},!0)}},{key:"getLastThread",value:function(){return interpolate(h,{url:(0,d["default"])(this.props.category.last_thread_url),thread:(0,d["default"])(this.props.category.last_thread_title)},!0)}},{key:"getLastReplyDate",value:function(){return interpolate(m,{url:(0,d["default"])(this.props.category.last_post_url),absolute:(0,d["default"])(this.props.category.last_post_on.format("LLL")),relative:(0,d["default"])(this.props.category.last_post_on.fromNow())},!0)}},{key:"render",value:function(){return u["default"].createElement("p",{className:"category-last-post",dangerouslySetInnerHTML:{__html:interpolate((0,d["default"])(gettext("Last post in %(thread)s by %(user)s %(date)s")),{thread:this.getLastThread(),date:this.getLastReplyDate(),user:this.getLastPoster()},!0)}})}}]),t}(u["default"].Component),v=a.EmptyMessage=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"render",value:function(){return u["default"].createElement("p",{className:"category-thread-message"},u["default"].createElement("span",{className:"material-icon"},"error_outline"),gettext("This category is empty."))}}]),t}(u["default"].Component),y=a.PrivateMessage=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"render",value:function(){return u["default"].createElement("p",{className:"category-thread-message"},u["default"].createElement("span",{className:"material-icon"},"info_outline"),gettext("This category is private. You can see only your own threads within it."))}}]),t}(u["default"].Component),g=a.ProtectedMessage=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"render",value:function(){return u["default"].createElement("p",{className:"category-thread-message"},u["default"].createElement("span",{className:"material-icon"},"highlight_off"),gettext("This category is protected. You can't browse it's contents."))}}]),t}(u["default"].Component),_=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"render",value:function(){return this.props.category.acl.can_browse?this.props.category.acl.can_see_all_threads?this.props.category.last_thread_title?u["default"].createElement(b,{category:this.props.category}):u["default"].createElement(v,null):u["default"].createElement(y,null):u["default"].createElement(g,null)}}]),t}(u["default"].Component);a["default"]=_},{"../../utils/escape-html":310,react:"react"}],9:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"getClassName",value:function(){return this.props.category.is_read?"read-status item-read":"read-status item-new"}},{key:"getTitle",value:function(){return this.props.category.is_closed?this.props.category.is_read?gettext("This category has no new posts. (closed)"):gettext("This category has new posts. (closed)"):this.props.category.is_read?gettext("This category has no new posts."):gettext("This category has new posts.")}},{key:"getIcon",value:function(){return this.props.category.is_closed?this.props.category.is_read?"lock_outline":"lock":this.props.category.is_read?"chat_bubble_outline":"chat_bubble"}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName(),title:this.getTitle()},u["default"].createElement("span",{className:"material-icon"},this.getIcon()))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],10:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l(e){return{tick:e.tick.tick}}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}();a.select=l;var u=e("moment"),c=r(u),d=e("react"),f=r(d),p=e("./category"),h=r(p),m=e("../../index"),b=r(m),v=e("../../services/polls"),y=r(v),g=function E(e){return Object.assign({},e,{last_post_on:e.last_post_on?(0,c["default"])(e.last_post_on):null,subcategories:e.subcategories.map(E)})},_=function(e){function t(e){n(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.update=function(e){a.setState({categories:e.map(g)})},a.state={categories:b["default"].get("CATEGORIES").map(g)},a.startPolling(b["default"].get("CATEGORIES_API")),a}return s(t,e),i(t,[{key:"startPolling",value:function(e){y["default"].start({poll:"categories",url:e,frequency:18e4,update:this.update})}},{key:"render",value:function(){return f["default"].createElement("div",{className:"categories-list"},this.state.categories.map(function(e){return f["default"].createElement(h["default"],{category:e,key:e.id})}))}}]),t}(f["default"].Component);a["default"]=_},{"../../index":234,"../../services/polls":301,"./category":7,moment:"moment",react:"react"}],11:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"getThreadsCount",value:function(){var e=ngettext("%(threads)s thread","%(threads)s threads",this.props.category.threads);return interpolate(e,{threads:this.props.category.threads},!0)}},{key:"getPostsCount",value:function(){var e=ngettext("%(posts)s post","%(posts)s posts",this.props.category.posts);return interpolate(e,{posts:this.props.category.posts},!0)}},{key:"render",value:function(){return u["default"].createElement("ul",{className:"list-inline category-stats"},u["default"].createElement("li",{className:"category-threads"},this.getThreadsCount()),u["default"].createElement("li",{className:"category-posts"},this.getPostsCount()))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],12:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.Subcategory=void 0;var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("./subcategory-subcategories"),d=(r(c),a.Subcategory=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"getClassName",value:function(){return this.props.category.css_class?"subcategory subcategory-"+this.props.category.css_class:"subcategory"}},{key:"render",value:function(){return u["default"].createElement("li",null,u["default"].createElement("a",{href:this.props.category.absolute_url,className:this.getClassName()},this.props.category.name))}}]),t}(u["default"].Component)),f=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"render",value:function(){return u["default"].createElement("ul",{className:"list-inline subcategories-list"},this.props.categories.map(function(e){return u["default"].createElement(d,{category:e,key:e.id})}))}}]),t}(u["default"].Component);a["default"]=f},{"./subcategory-subcategories":12,react:"react"}],13:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("select",{className:e.className||"form-control",disabled:e.disabled||!1,id:e.id||null,onChange:e.onChange,value:e.value},e.choices.map(function(e){return o["default"].createElement("option",{disabled:e.disabled||!1,key:e.value,value:e.value},"- - ".repeat(e.level)+e.label)}))};var n=e("react"),o=r(n)},{react:"react"}],14:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("../avatar"),d=(r(c),e("../button")),f=r(d),p=e("../../services/ajax"),h=r(p),m=e("../../services/snackbar"),b=r(m),v=function(e){function t(e){n(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.cropAvatar=function(){if(a.state.isLoading)return!1;a.setState({isLoading:!0});var e=a.props.upload?"crop_tmp":"crop_src",t=$(".crop-form");h["default"].post(a.props.user.api_url.avatar,{avatar:e,crop:{offset:t.cropit("offset"),zoom:t.cropit("zoom")}}).then(function(e){a.props.onComplete(e),b["default"].success(e.detail)},function(e){400===e.status?(b["default"].error(e.detail),a.setState({isLoading:!1})):a.props.showError(e)})},a.state={isLoading:!1},a}return s(t,e),l(t,[{key:"getAvatarSize",value:function(){return this.props.upload?this.props.options.crop_tmp.size:this.props.options.crop_src.size}},{key:"getImagePath",value:function(){return this.props.upload?this.props.options.crop_tmp.url:this.props.options.crop_src.url}},{key:"componentDidMount",value:function(){var e=this,t=$(".crop-form");t.width(this.getAvatarSize()),t.cropit({width:this.getAvatarSize(),height:this.getAvatarSize(),imageState:{src:this.getImagePath()
-},onImageLoaded:function(){if(e.props.upload){var a=t.cropit("zoom"),r=t.cropit("imageSize");if(r.width>r.height){var n=r.width*a,o=(n-e.getAvatarSize())/-2;t.cropit("offset",{x:o,y:0})}else if(r.width<r.height){var s=r.height*a,l=(s-e.getAvatarSize())/-2;t.cropit("offset",{x:0,y:l})}else t.cropit("offset",{x:0,y:0})}else{var i=e.props.options.crop_src.crop;i&&(t.cropit("zoom",i.zoom),t.cropit("offset",{x:i.x,y:i.y}))}}})}},{key:"componentWillUnmount",value:function(){$(".crop-form").cropit("disable")}},{key:"render",value:function(){return u["default"].createElement("div",null,u["default"].createElement("div",{className:"modal-body modal-avatar-crop"},u["default"].createElement("div",{className:"crop-form"},u["default"].createElement("div",{className:"cropit-preview"}),u["default"].createElement("input",{type:"range",className:"cropit-image-zoom-input"}))),u["default"].createElement("div",{className:"modal-footer"},u["default"].createElement("div",{className:"col-md-6 col-md-offset-3"},u["default"].createElement(f["default"],{onClick:this.cropAvatar,loading:this.state.isLoading,className:"btn-primary btn-block"},this.props.upload?gettext("Set avatar"):gettext("Crop image")),u["default"].createElement(f["default"],{onClick:this.props.showIndex,disabled:this.state.isLoading,className:"btn-default btn-block"},gettext("Cancel")))))}}]),t}(u["default"].Component);a["default"]=v},{"../../services/ajax":293,"../../services/snackbar":303,"../avatar":3,"../button":5,react:"react"}],15:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.Gallery=a.GalleryItem=void 0;var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},i=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),u=e("react"),c=r(u),d=e("../button"),f=r(d),p=e("../../index"),h=(r(p),e("../../services/ajax")),m=r(h),b=e("../../services/snackbar"),v=r(b),y=e("../../utils/batch"),g=r(y),_=a.GalleryItem=function(e){function t(){var e,a,r,s;n(this,t);for(var l=arguments.length,i=Array(l),u=0;u<l;u++)i[u]=arguments[u];return a=r=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),r.select=function(){r.props.select(r.props.id)},s=a,o(r,s)}return s(t,e),i(t,[{key:"getClassName",value:function(){return this.props.selection===this.props.id?this.props.disabled?"btn btn-avatar btn-disabled avatar-selected":"btn btn-avatar avatar-selected":this.props.disabled?"btn btn-avatar btn-disabled":"btn btn-avatar"}},{key:"render",value:function(){return c["default"].createElement("button",{type:"button",className:this.getClassName(),disabled:this.props.disabled,onClick:this.select},c["default"].createElement("img",{src:this.props.url}))}}]),t}(c["default"].Component),E=a.Gallery=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"render",value:function(){var e=this;return c["default"].createElement("div",{className:"avatars-gallery"},c["default"].createElement("h3",null,this.props.name),c["default"].createElement("div",{className:"avatars-gallery-images"},(0,g["default"])(this.props.images,4,null).map(function(t,a){return c["default"].createElement("div",{className:"row",key:a},t.map(function(t,a){return c["default"].createElement("div",{className:"col-xs-3",key:a},t?c["default"].createElement(_,l({disabled:e.props.disabled,select:e.props.select,selection:e.props.selection},t)):c["default"].createElement("div",{className:"blank-avatar"}))}))})))}}]),t}(c["default"].Component),w=function(e){function t(e){n(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.select=function(e){a.setState({selection:e})},a.save=function(){return!a.state.isLoading&&(a.setState({isLoading:!0}),void m["default"].post(a.props.user.api_url.avatar,{avatar:"galleries",image:a.state.selection}).then(function(e){a.setState({isLoading:!1}),v["default"].success(e.detail),a.props.onComplete(e),a.props.showIndex()},function(e){400===e.status?(v["default"].error(e.detail),a.setState({isLoading:!1})):a.props.showError(e)}))},a.state={selection:null,isLoading:!1},a}return s(t,e),i(t,[{key:"render",value:function(){var e=this;return c["default"].createElement("div",null,c["default"].createElement("div",{className:"modal-body modal-avatar-gallery"},this.props.options.galleries.map(function(t,a){return c["default"].createElement(E,{name:t.name,images:t.images,selection:e.state.selection,disabled:e.state.isLoading,select:e.select,key:a})})),c["default"].createElement("div",{className:"modal-footer"},c["default"].createElement("div",{className:"row"},c["default"].createElement("div",{className:"col-md-6 col-md-offset-3"},c["default"].createElement(f["default"],{onClick:this.save,loading:this.state.isLoading,disabled:!this.state.selection,className:"btn-primary btn-block"},this.state.selection?gettext("Save choice"):gettext("Select avatar")),c["default"].createElement(f["default"],{onClick:this.props.showIndex,disabled:this.state.isLoading,className:"btn-default btn-block"},gettext("Cancel"))))))}}]),t}(c["default"].Component);a["default"]=w},{"../../index":234,"../../services/ajax":293,"../../services/snackbar":303,"../../utils/batch":307,"../button":5,react:"react"}],16:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("../avatar"),d=r(c),f=e("../button"),p=r(f),h=e("../loader"),m=r(h),b=e("../../services/ajax"),v=r(b),y=e("../../services/snackbar"),g=r(y),_=function(e){function t(e){n(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.setGravatar=function(){a.callApi("gravatar")},a.setGenerated=function(){a.callApi("generated")},a.state={isLoading:!1},a}return s(t,e),l(t,[{key:"callApi",value:function(e){var t=this;return!this.state.isLoading&&(this.setState({isLoading:!0}),void v["default"].post(this.props.user.api_url.avatar,{avatar:e}).then(function(e){t.setState({isLoading:!1}),console.log(e),g["default"].success(e.detail),t.props.onComplete(e)},function(e){400===e.status?(g["default"].error(e.detail),t.setState({isLoading:!1})):t.props.showError(e)}))}},{key:"getGravatarButton",value:function(){return this.props.options.gravatar?u["default"].createElement(p["default"],{onClick:this.setGravatar,disabled:this.state.isLoading,className:"btn-default btn-block btn-avatar-gravatar"},gettext("Download my Gravatar")):null}},{key:"getCropButton",value:function(){return this.props.options.crop_src?u["default"].createElement(p["default"],{onClick:this.props.showCrop,disabled:this.state.isLoading,className:"btn-default btn-block btn-avatar-crop"},gettext("Re-crop uploaded image")):null}},{key:"getUploadButton",value:function(){return this.props.options.upload?u["default"].createElement(p["default"],{onClick:this.props.showUpload,disabled:this.state.isLoading,className:"btn-default btn-block btn-avatar-upload"},gettext("Upload new image")):null}},{key:"getGalleryButton",value:function(){return this.props.options.galleries?u["default"].createElement(p["default"],{onClick:this.props.showGallery,disabled:this.state.isLoading,className:"btn-default btn-block btn-avatar-gallery"},gettext("Pick avatar from gallery")):null}},{key:"getAvatarPreview",value:function(){var e={id:this.props.user.id,avatars:this.props.options.avatars};return this.state.isLoading?u["default"].createElement("div",{className:"avatar-preview preview-loading"},u["default"].createElement(d["default"],{user:e,size:"200"}),u["default"].createElement(m["default"],null)):u["default"].createElement("div",{className:"avatar-preview"},u["default"].createElement(d["default"],{user:e,size:"200"}))}},{key:"render",value:function(){return u["default"].createElement("div",{className:"modal-body modal-avatar-index"},u["default"].createElement("div",{className:"row"},u["default"].createElement("div",{className:"col-md-5"},this.getAvatarPreview()),u["default"].createElement("div",{className:"col-md-7"},this.getGravatarButton(),u["default"].createElement(p["default"],{onClick:this.setGenerated,disabled:this.state.isLoading,className:"btn-default btn-block btn-avatar-generate"},gettext("Generate my individual avatar")),this.getCropButton(),this.getUploadButton(),this.getGalleryButton())))}}]),t}(u["default"].Component);a["default"]=_},{"../../services/ajax":293,"../../services/snackbar":303,"../avatar":3,"../button":5,"../loader":43,react:"react"}],17:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l(e){return{user:e.auth.user}}Object.defineProperty(a,"__esModule",{value:!0}),a.ChangeAvatarError=void 0;var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}();a.select=l;var u=e("react"),c=r(u),d=e("./index"),f=r(d),p=e("./crop"),h=r(p),m=e("./upload"),b=r(m),v=e("./gallery"),y=r(v),g=e("../modal-loader"),_=r(g),E=e("../../reducers/users"),w=e("../../services/ajax"),O=r(w),k=e("../../services/store"),N=r(k),j=a.ChangeAvatarError=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"getErrorReason",value:function(){return this.props.reason?c["default"].createElement("p",{dangerouslySetInnerHTML:{__html:this.props.reason}}):null}},{key:"render",value:function(){return c["default"].createElement("div",{className:"modal-body"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"remove_circle_outline")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",{className:"lead"},this.props.message),this.getErrorReason()))}}]),t}(c["default"].Component),x=function(e){function t(){var e,a,r,s;n(this,t);for(var l=arguments.length,i=Array(l),u=0;u<l;u++)i[u]=arguments[u];return a=r=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),r.showError=function(e){r.setState({error:e})},r.showIndex=function(){r.setState({component:f["default"]})},r.showUpload=function(){r.setState({component:b["default"]})},r.showCrop=function(){r.setState({component:h["default"]})},r.showGallery=function(){r.setState({component:y["default"]})},r.completeFlow=function(e){N["default"].dispatch((0,E.updateAvatar)(r.props.user,e.avatars)),r.setState({component:f["default"],options:e})},s=a,o(r,s)}return s(t,e),i(t,[{key:"componentDidMount",value:function(){var e=this;O["default"].get(this.props.user.api_url.avatar).then(function(t){e.setState({component:f["default"],options:t,error:null})},function(t){e.showError(t)})}},{key:"getBody",value:function(){return this.state?this.state.error?c["default"].createElement(j,{message:this.state.error.detail,reason:this.state.error.reason}):c["default"].createElement(this.state.component,{options:this.state.options,user:this.props.user,onComplete:this.completeFlow,showError:this.showError,showIndex:this.showIndex,showCrop:this.showCrop,showUpload:this.showUpload,showGallery:this.showGallery}):c["default"].createElement(_["default"],null)}},{key:"getClassName",value:function(){return this.state&&this.state.error?"modal-dialog modal-message modal-change-avatar":"modal-dialog modal-change-avatar"}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName(),role:"document"},c["default"].createElement("div",{className:"modal-content"},c["default"].createElement("div",{className:"modal-header"},c["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},c["default"].createElement("span",{"aria-hidden":"true"},"×")),c["default"].createElement("h4",{className:"modal-title"},gettext("Change your avatar"))),this.getBody()))}}]),t}(c["default"].Component);a["default"]=x},{"../../reducers/users":292,"../../services/ajax":293,"../../services/store":304,"../modal-loader":46,"./crop":14,"./gallery":15,"./index":16,"./upload":18,react:"react"}],18:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("./crop"),d=r(c),f=e("../button"),p=r(f),h=e("../../services/ajax"),m=r(h),b=e("../../services/snackbar"),v=r(b),y=e("../../utils/file-size"),g=r(y),_=function(e){function t(e){n(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.pickFile=function(){document.getElementById("avatar-hidden-upload").click()},a.uploadFile=function(){var e=document.getElementById("avatar-hidden-upload").files[0],t=a.validateFile(e);if(t)return void v["default"].error(t);a.setState({image:e,preview:URL.createObjectURL(e),progress:0});var r=new FormData;r.append("avatar","upload"),r.append("image",e),m["default"].upload(a.props.user.api_url.avatar,r,function(e){a.setState({progress:e})}).then(function(e){a.setState({options:e,uploaded:e.detail}),v["default"].info(gettext("Your image has been uploaded and you may now crop it."))},function(e){400===e.status||413===e.status?(v["default"].error(e.detail),a.setState({isLoading:!1,image:null,progress:0})):a.props.showError(e)})},a.state={image:null,preview:null,progress:0,uploaded:null},a}return s(t,e),l(t,[{key:"validateFile",value:function(e){if(e.size>this.props.options.upload.limit)return interpolate(gettext("Selected file is too big. (%(filesize)s)"),{filesize:(0,g["default"])(e.size)},!0);var t=gettext("Selected file type is not supported.");if(this.props.options.upload.allowed_mime_types.indexOf(e.type)===-1)return t;var a=!1,r=e.name.toLowerCase();return this.props.options.upload.allowed_extensions.map(function(e){r.substr(e.length*-1)===e&&(a=!0)}),!a&&t}},{key:"getUploadRequirements",value:function(e){var t=e.allowed_extensions.map(function(e){return e.substr(1)});return interpolate(gettext("%(files)s files smaller than %(limit)s"),{files:t.join(", "),limit:(0,g["default"])(e.limit)},!0)}},{key:"getUploadButton",value:function(){return u["default"].createElement("div",{className:"modal-body modal-avatar-upload"},u["default"].createElement(p["default"],{className:"btn-pick-file",onClick:this.pickFile},u["default"].createElement("div",{className:"material-icon"},"input"),gettext("Select file")),u["default"].createElement("p",{className:"text-muted"},this.getUploadRequirements(this.props.options.upload)))}},{key:"getUploadProgressLabel",value:function(){return interpolate(gettext("%(progress)s % complete"),{progress:this.state.progress},!0)}},{key:"getUploadProgress",value:function(){return u["default"].createElement("div",{className:"modal-body modal-avatar-upload"},u["default"].createElement("div",{className:"upload-progress"},u["default"].createElement("img",{src:this.state.preview}),u["default"].createElement("div",{className:"progress"},u["default"].createElement("div",{className:"progress-bar",role:"progressbar","aria-valuenow":"{this.state.progress}","aria-valuemin":"0","aria-valuemax":"100",style:{width:this.state.progress+"%"}},u["default"].createElement("span",{className:"sr-only"},this.getUploadProgressLabel())))))}},{key:"renderUpload",value:function(){return u["default"].createElement("div",null,u["default"].createElement("input",{type:"file",id:"avatar-hidden-upload",className:"hidden-file-upload",onChange:this.uploadFile}),this.state.image?this.getUploadProgress():this.getUploadButton(),u["default"].createElement("div",{className:"modal-footer"},u["default"].createElement("div",{className:"col-md-6 col-md-offset-3"},u["default"].createElement(p["default"],{onClick:this.props.showIndex,disabled:!!this.state.image,className:"btn-default btn-block"},gettext("Cancel")))))}},{key:"renderCrop",value:function(){return u["default"].createElement(d["default"],{options:this.state.options,user:this.props.user,upload:this.state.uploaded,onComplete:this.props.onComplete,showError:this.props.showError,showIndex:this.props.showIndex})}},{key:"render",value:function(){return this.state.uploaded?this.renderCrop():this.renderUpload()}}]),t}(u["default"].Component);a["default"]=_},{"../../services/ajax":293,"../../services/snackbar":303,"../../utils/file-size":311,"../button":5,"./crop":14,react:"react"}],19:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"getClassName",value:function(){return this.props.dropdown?"btn btn-default btn-aligned btn-icon btn-dropdown-toggle open hidden-md hidden-lg":"btn btn-default btn-aligned btn-icon btn-dropdown-toggle hidden-md hidden-lg"}},{key:"render",value:function(){return u["default"].createElement("button",{className:this.getClassName(),type:"button",onClick:this.props.toggleNav,"aria-haspopup":"true","aria-expanded":this.props.dropdown?"true":"false"},u["default"].createElement("i",{className:"material-icon"},"menu"))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],20:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=function(e){function t(){var e,a,r,s;n(this,t);for(var l=arguments.length,i=Array(l),u=0;u<l;u++)i[u]=arguments[u];return a=r=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),r.onClick=function(){r.props.replaceSelection(r.props.execAction)},s=a,o(r,s)}return s(t,e),l(t,[{key:"render",value:function(){return u["default"].createElement("button",{className:"btn btn-icon "+this.props.className,disabled:this.props.disabled,onClick:this.onClick,title:this.props.title,type:"button"},this.props.children)}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],21:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){var a=$.trim(prompt(gettext("Enter name of syntax of your code (optional)")+":"));t("\n\n```"+a+"\n"+e+"\n```\n\n")}Object.defineProperty(a,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e};a["default"]=function(e){return l["default"].createElement(u["default"],o({execAction:n,title:gettext("Insert code")},e),l["default"].createElement("span",{className:"material-icon"},"functions"))},a.insertCode=n;var s=e("react"),l=r(s),i=e("./action"),u=r(i),c=e("../../../utils/is-url");r(c)},{"../../../utils/is-url":312,"./action":20,react:"react"}],22:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){e.length&&t("*"+e+"*")}Object.defineProperty(a,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e};a["default"]=function(e){return l["default"].createElement(u["default"],o({execAction:n,title:gettext("Emphase selection")},e),l["default"].createElement("span",{className:"material-icon"},"format_italic"))},a.makeEmphasis=n;var s=e("react"),l=r(s),i=e("./action"),u=r(i)},{"./action":20,react:"react"}],23:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){t("\n\n- - - - -\n\n")}Object.defineProperty(a,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e};a["default"]=function(e){return l["default"].createElement(u["default"],o({execAction:n,title:gettext("Insert horizontal ruler")},e),l["default"].createElement("span",{className:"material-icon"},"remove"))},a.insertHr=n;var s=e("react"),l=r(s),i=e("./action"),u=r(i)},{"./action":20,react:"react"}],24:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){var a="",r="";e.length&&((0,d["default"])(e)?a=e:r=e),a=$.trim(prompt(gettext("Enter link to image")+":",a)),r=$.trim(prompt(gettext("Enter image label (optional)")+":",r)),a.length&&t(r.length>0?"!["+r+"]("+a+")":"!("+a+")")}Object.defineProperty(a,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e};a["default"]=function(e){return l["default"].createElement(u["default"],o({execAction:n,title:gettext("Insert image")},e),l["default"].createElement("span",{className:"material-icon"},"insert_photo"))},a.insertImage=n;var s=e("react"),l=r(s),i=e("./action"),u=r(i),c=e("../../../utils/is-url"),d=r(c)},{"../../../utils/is-url":312,"./action":20,react:"react"}],25:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){var a="",r="";e.length&&((0,d["default"])(e)?a=e:r=e),a=$.trim(prompt(gettext("Enter link address")+":",a)),r=$.trim(prompt(gettext("Enter link label (optional)")+":",r)),a.length&&t(r.length>0?"["+r+"]("+a+")":a)}Object.defineProperty(a,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e};a["default"]=function(e){return l["default"].createElement(u["default"],o({execAction:n,title:gettext("Insert link")},e),l["default"].createElement("span",{className:"material-icon"},"insert_link"))},a.insertLink=n;var s=e("react"),l=r(s),i=e("./action"),u=r(i),c=e("../../../utils/is-url"),d=r(c)},{"../../../utils/is-url":312,"./action":20,react:"react"}],26:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){var a=$.trim(prompt(gettext("Enter image label (optional)")+":",a));a.length&&"@"!==a[0]&&(a="@"+a),t(a?'\n\n[quote="'+a+'"]\n'+e+"\n[/quote]\n\n":"\n\n[quote=]\n"+e+"\n[/quote]\n\n")}Object.defineProperty(a,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e};a["default"]=function(e){return l["default"].createElement(u["default"],o({execAction:n,title:gettext("Insert quote")},e),l["default"].createElement("span",{className:"material-icon"},"format_quote"))},a.insertQuote=n;var s=e("react"),l=r(s),i=e("./action"),u=r(i),c=e("../../../utils/is-url");r(c)},{"../../../utils/is-url":312,"./action":20,react:"react"}],27:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){e.length&&t("~~"+e+"~~")}Object.defineProperty(a,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e};a["default"]=function(e){return l["default"].createElement(u["default"],o({execAction:n,title:gettext("Striketrough selection")},e),l["default"].createElement("span",{className:"material-icon"},"format_strikethrough"))},a.makeStriketrough=n;var s=e("react"),l=r(s),i=e("./action"),u=r(i)},{"./action":20,react:"react"}],28:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){e.length&&t("**"+e+"**")}Object.defineProperty(a,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e};a["default"]=function(e){return l["default"].createElement(u["default"],o({execAction:n,title:gettext("Bolder selection")},e),l["default"].createElement("span",{className:"material-icon"},"format_bold"))},a.makeStrong=n;var s=e("react"),l=r(s),i=e("./action"),u=r(i)},{"./action":20,react:"react"}],29:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l(e){return e.item.is_image?g["default"].createElement(i,e):g["default"].createElement(u,e)}function i(e){var t=e.item.url.thumb||e.item.url.index;return g["default"].createElement("div",{className:"editor-attachment-image"},g["default"].createElement("a",{href:e.item.url.index+"?shva=1",style:{backgroundImage:"url('"+t+"?shva=1')"},target:"_blank"}))}function u(e){return g["default"].createElement("div",{className:"editor-attachment-icon"},g["default"].createElement("span",{className:"material-icon"},"insert_drive_file"))}function c(e){return g["default"].createElement("h4",null,g["default"].createElement("a",{className:"item-title",href:e.item.url.index+"?shva=1",target:"_blank"},e.item.filename))}function d(e){var t=null;t=e.item.url.uploader?interpolate(x,{url:(0,w["default"])(e.item.url.uploader),user:(0,w["default"])(e.item.uploader_name)},!0):interpolate(j,{user:(0,w["default"])(e.item.uploader_name)},!0);var a=interpolate(N,{absolute:(0,w["default"])(e.item.uploaded_on.format("LLL")),relative:(0,w["default"])(e.item.uploaded_on.fromNow())},!0),r=interpolate((0,w["default"])(gettext("%(filetype)s, %(size)s, uploaded by %(uploader)s %(uploaded_on)s.")),{filetype:e.item.filetype,size:(0,k["default"])(e.item.size),uploader:t,uploaded_on:a},!0);return g["default"].createElement("p",{dangerouslySetInnerHTML:{__html:r}})}function f(e){return g["default"].createElement("ul",{className:"list-unstyled list-inline editor-attachment-actions"},g["default"].createElement(p,e),g["default"].createElement(h,e),g["default"].createElement(m,e))}function p(e){return e.item.isRemoved?null:g["default"].createElement("li",null,g["default"].createElement("button",{className:"btn btn-default btn-sm",onClick:e.onInsert,type:"button"},gettext("Insert")))}function h(e){return e.item.isRemoved&&e.item.acl.can_delete?null:g["default"].createElement("li",null,g["default"].createElement("button",{className:"btn btn-default btn-sm",onClick:e.onRemove,type:"button"},gettext("Remove")))}function m(e){return e.item.isRemoved?g["default"].createElement("li",null,g["default"].createElement("button",{className:"btn btn-default btn-sm",onClick:e.onUndo,type:"button"},gettext("Undo removal"))):null}Object.defineProperty(a,"__esModule",{value:!0});var b=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},v=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,
-"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}();a.Preview=l,a.Image=i,a.Icon=u,a.Filename=c,a.Details=d,a.Actions=f,a.Insert=p,a.Remove=h,a.Undo=m;var y=e("react"),g=r(y),_=e("../../../.."),E=(r(_),e("../../../../utils/escape-html")),w=r(E),O=e("../../../../utils/file-size"),k=r(O),N='<abbr title="%(absolute)s">%(relative)s</abbr>',j='<span class="item-title">%(user)s</span>',x='<a href="%(url)s" class="item-title">%(user)s</a>',P=function(e){function t(){var e,a,r,s;n(this,t);for(var l=arguments.length,i=Array(l),u=0;u<l;u++)i[u]=arguments[u];return a=r=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),r.onInsert=function(){r.props.replaceSelection(r.insertAttachment)},r.insertAttachment=function(e,t){var a=r.props.item;t(a.is_image?a.url.thumb?"[!["+a.filename+"]("+a.url.thumb+")]("+a.url.index+")":"[!["+a.filename+"]("+a.url.index+")]("+a.url.index+")":"["+a.filename+"]("+a.url.index+")")},r.onRemove=function(){r.updateItem({isRemoved:!0})},r.onUndo=function(){r.updateItem({isRemoved:!1})},r.updateItem=function(e){var t=r.props.attachments.map(function(t){return t.id===r.props.item.id?Object.assign({},t,e):t});r.props.onAttachmentsChange(t)},s=a,o(r,s)}return s(t,e),v(t,[{key:"render",value:function(){return g["default"].createElement("li",{className:"editor-attachment-complete"},g["default"].createElement(l,this.props),g["default"].createElement(f,b({onInsert:this.onInsert,onRemove:this.onRemove,onUndo:this.onUndo},this.props)),g["default"].createElement("div",{className:"editor-attachment-details"},g["default"].createElement(c,this.props),g["default"].createElement(d,this.props)))}}]),t}(g["default"].Component);a["default"]=P},{"../../../..":234,"../../../../utils/escape-html":310,"../../../../utils/file-size":311,react:"react"}],30:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("../../../../utils/escape-html"),d=r(c),f="<strong>%(name)s</strong>",p=function(e){function t(){var e,a,r,s;n(this,t);for(var l=arguments.length,i=Array(l),u=0;u<l;u++)i[u]=arguments[u];return a=r=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),r.onClick=function(){var e=r.props.attachments.filter(function(e){return e.key!==r.props.item.key});r.props.onAttachmentsChange(e)},s=a,o(r,s)}return s(t,e),l(t,[{key:"render",value:function(){var e=interpolate(f,{name:(0,d["default"])(this.props.item.filename)},!0),t=interpolate(gettext("Error uploading %(filename)s"),{filename:e,progress:this.props.item.progress+"%"},!0);return u["default"].createElement("li",{className:"editor-attachment-error"},u["default"].createElement("div",{className:"editor-attachment-error-icon"},u["default"].createElement("span",{className:"material-icon"},"warning")),u["default"].createElement("div",{className:"editor-attachment-error-message"},u["default"].createElement("h4",{dangerouslySetInnerHTML:{__html:t+":"}}),u["default"].createElement("p",null,this.props.item.error),u["default"].createElement("button",{className:"btn btn-default btn-sm",onClick:this.onClick,type:"button"},gettext("Dismiss"))))}}]),t}(u["default"].Component);a["default"]=p},{"../../../../utils/escape-html":310,react:"react"}],31:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return e.item.id?o["default"].createElement(l["default"],e):e.item.error?o["default"].createElement(u["default"],e):o["default"].createElement(d["default"],e)};var n=e("react"),o=r(n),s=e("./complete"),l=r(s),i=e("./error"),u=r(i),c=e("./upload"),d=r(c),f=e("../../../.."),p=(r(f),e("../../../../utils/escape-html"));r(p)},{"../../../..":234,"../../../../utils/escape-html":310,"./complete":29,"./error":30,"./upload":32,react:"react"}],32:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=interpolate(i,{name:(0,l["default"])(e.item.filename)},!0),a=interpolate(gettext("Uploading %(filename)s... %(progress)s"),{filename:t,progress:e.item.progress+"%"},!0);return o["default"].createElement("li",{className:"editor-attachment-upload"},o["default"].createElement("div",{className:"editor-attachment-progress-bar"},o["default"].createElement("div",{className:"editor-attachment-progress",style:{width:e.item.progress+"%"}})),o["default"].createElement("p",{className:"editor-attachment-upload-message",dangerouslySetInnerHTML:{__html:a}}))};var n=e("react"),o=r(n),s=e("../../../../utils/escape-html"),l=r(s),i="<strong>%(name)s</strong>"},{"../../../../utils/escape-html":310,react:"react"}],33:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return d["default"].get("user").acl.max_attachment_size?o["default"].createElement("div",{className:"editor-attachments"},o["default"].createElement(l["default"],e),o["default"].createElement(u["default"],e)):null};var n=e("react"),o=r(n),s=e("./list"),l=r(s),i=e("./uploader"),u=r(i),c=e("../../.."),d=r(c)},{"../../..":234,"./list":34,"./uploader":36,react:"react"}],34:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e};a["default"]=function(e){return s["default"].createElement("ul",{className:"list-unstyled editor-attachments-list"},e.attachments.map(function(t){return s["default"].createElement(i["default"],n({item:t,key:t.id||t.key},e))}))};var o=e("react"),s=r(o),l=e("./attachment"),i=r(l)},{"./attachment":31,react:"react"}],35:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("../../.."),d=r(c),f=function(e){function t(){var e,a,r,s;n(this,t);for(var l=arguments.length,i=Array(l),u=0;u<l;u++)i[u]=arguments[u];return a=r=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),r.onClick=function(){document.getElementById("editor-upload-field").click()},s=a,o(r,s)}return s(t,e),l(t,[{key:"render",value:function(){return d["default"].get("user").acl.max_attachment_size?u["default"].createElement("button",{className:"btn btn-icon "+this.props.className,disabled:this.props.disabled,onClick:this.onClick,title:gettext("Upload file"),type:"button"},u["default"].createElement("span",{className:"material-icon"},"file_upload")):null}}]),t}(u["default"].Component);a["default"]=f},{"../../..":234,react:"react"}],36:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l(){return"upld-"+Math.round((new Date).getTime())}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}();a.getRandomKey=l;var u=e("react"),c=r(u),d=e("moment"),f=r(d),p=e("../../.."),h=r(p),m=e("../../../services/ajax"),b=r(m),v=e("../../../services/snackbar"),y=r(v),g=function(e){function t(){var e,a,r,s;n(this,t);for(var i=arguments.length,u=Array(i),c=0;c<i;c++)u[c]=arguments[c];return a=r=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.onChange=function(e){var t=e.target.files[0];if(t){var a={id:null,key:l(),progress:0,error:null,filename:t.name};r.props.onAttachmentsChange([a].concat(r.props.attachments));var n=new FormData;n.append("upload",t),b["default"].upload(h["default"].get("ATTACHMENTS_API"),n,function(e){a.progress=e,r.props.onAttachmentsChange(r.props.attachments.concat())}).then(function(e){e.uploaded_on=(0,f["default"])(e.uploaded_on),Object.assign(a,e),r.props.onAttachmentsChange(r.props.attachments.concat())},function(e){400===e.status||413===e.status?(a.error=e.detail,r.props.onAttachmentsChange(r.props.attachments.concat())):y["default"].apiError(e)})}},s=a,o(r,s)}return s(t,e),i(t,[{key:"render",value:function(){return c["default"].createElement("input",{id:"editor-upload-field",onChange:this.onChange,type:"file"})}}]),t}(c["default"].Component);a["default"]=g},{"../../..":234,"../../../services/ajax":293,"../../../services/snackbar":303,moment:"moment",react:"react"}],37:[function(e,t,a){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function n(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 s(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 i(e){return e.canProtect?d["default"].createElement("button",{className:"btn btn-icon btn-default btn-sm pull-right",disabled:e.disabled,onClick:e.protect?e.onUnprotect:e.onProtect,title:e.protect?gettext("Protected"):gettext("Protect"),type:"button"},d["default"].createElement("span",{className:"material-icon"},e.protect?"lock":"lock_outline")):null}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}();a.Protect=i;var c=e("react"),d=n(c),f=e("./actions/code"),p=n(f),h=e("./actions/emphasis"),m=n(h),b=e("./actions/hr"),v=n(b),y=e("./actions/image"),g=n(y),_=e("./actions/link"),E=n(_),w=e("./actions/striketrough"),O=n(w),k=e("./actions/strong"),N=n(k),j=e("./actions/quote"),x=n(j),P=e("./attachments"),C=n(P),S=e("./attachments/upload-button/"),T=n(S),M=e("./markup-preview"),L=n(M),R=e("./textUtils"),A=r(R),I=e("../button"),D=n(I),U=e("../.."),B=n(U),H=e("../../services/ajax"),z=n(H),F=e("../../services/modal"),V=n(F),q=e("../../services/snackbar"),G=n(q),Y=function(e){function t(e){o(this,t);var a=s(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onPreviewClick=function(){a.state.isPreviewLoading||(a.setState({isPreviewLoading:!0}),z["default"].post(B["default"].get("PARSE_MARKUP_API"),{post:a.props.value}).then(function(e){V["default"].show(d["default"].createElement(L["default"],{markup:e.parsed})),a.setState({isPreviewLoading:!1})},function(e){400===e.status?G["default"].error(e.detail):G["default"].apiError(e),a.setState({isPreviewLoading:!1})}))},a.replaceSelection=function(e){e(A.getSelectionText(),a._replaceSelection)},a._replaceSelection=function(e){a.props.onChange({target:{value:A.replace(e)}})},a.state={isPreviewLoading:!1},a}return l(t,e),u(t,[{key:"render",value:function(){return d["default"].createElement("div",{className:"editor-border"},d["default"].createElement("textarea",{className:"form-control",defaultValue:this.props.value,disabled:this.props.loading,id:"editor-textarea",onChange:this.props.onChange,rows:"9"}),d["default"].createElement("div",{className:"editor-footer"},d["default"].createElement(N["default"],{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),d["default"].createElement(m["default"],{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),d["default"].createElement(O["default"],{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),d["default"].createElement(v["default"],{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),d["default"].createElement(E["default"],{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),d["default"].createElement(g["default"],{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),d["default"].createElement(x["default"],{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),d["default"].createElement(p["default"],{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),d["default"].createElement(T["default"],{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading}),d["default"].createElement(D["default"],{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,onClick:this.onPreviewClick,type:"button"},gettext("Preview")),d["default"].createElement(D["default"],{className:"btn-primary btn-sm pull-right",loading:this.props.loading},this.props.submitLabel||gettext("Post")),d["default"].createElement("button",{className:"btn btn-default btn-sm pull-right",disabled:this.props.loading,onClick:this.props.onCancel,type:"button"},gettext("Cancel")),d["default"].createElement(i,{canProtect:this.props.canProtect,disabled:this.props.loading,onProtect:this.props.onProtect,onUnprotect:this.props.onUnprotect,protect:this.props.protect})),d["default"].createElement(C["default"],{attachments:this.props.attachments,onAttachmentsChange:this.props.onAttachmentsChange,placeholder:this.props.placeholder,replaceSelection:this.replaceSelection}))}}]),t}(d["default"].Component);a["default"]=Y},{"../..":234,"../../services/ajax":293,"../../services/modal":299,"../../services/snackbar":303,"../button":5,"./actions/code":21,"./actions/emphasis":22,"./actions/hr":23,"./actions/image":24,"./actions/link":25,"./actions/quote":26,"./actions/striketrough":27,"./actions/strong":28,"./attachments":33,"./attachments/upload-button/":35,"./markup-preview":38,"./textUtils":39,react:"react"}],38:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("div",{className:"modal-dialog",role:"document"},o["default"].createElement("div",{className:"modal-content"},o["default"].createElement("div",{className:"modal-header"},o["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},o["default"].createElement("span",{"aria-hidden":"true"},"×")),o["default"].createElement("h4",{className:"modal-title"},gettext("Preview message"))),o["default"].createElement("div",{className:"modal-body markup-preview"},o["default"].createElement(l["default"],{markup:e.markup}))))};var n=e("react"),o=r(n),s=e("../misago-markup"),l=r(s)},{"../misago-markup":45,react:"react"}],39:[function(e,t,a){"use strict";function r(){return document.getElementById(d)}function n(){return document.getElementById(d).value}function o(e,t){return{start:e,end:t}}function s(){var e=r();if(document.selection){e.focus();var t=document.selection.createRange(),a=t.text.length;return t.moveStart("character",-e.value.length),o(t.text.length-a,t.text.length)}if(e.selectionStart||"0"==e.selectionStart)return o(e.selectionStart,e.selectionEnd)}function l(){var e=s();return $.trim(n().substring(e.start,e.end))}function i(e){var t=r();if(t.setSelectionRange)t.focus(),t.setSelectionRange(e.start,e.end);else if(t.createTextRange){var a=t.createTextRange();a.collapse(!0),a.moveStart("character",e.start),a.moveEnd("character",e.end),a.select()}}function u(e,t){var a=r(),n=a.value,s=n.substring(0,e.start);return a.value=n.substring(0,e.start)+t+n.substring(e.end),i(o(s.length+t.length,s.length+t.length)),a.value}function c(e){return u(s(),e)}Object.defineProperty(a,"__esModule",{value:!0}),a.getTextarea=r,a.getValue=n,a.getSelectionRange=o,a.getSelection=s,a.getSelectionText=l,a.setSelection=i,a._replace=u,a.replace=c;var d=a.textareaId="editor-textarea"},{}],40:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"isValidated",value:function(){return"undefined"!=typeof this.props.validation}},{key:"getClassName",value:function(){var e="form-group";return this.isValidated()&&(e+=" has-feedback",e+=null===this.props.validation?" has-success":" has-error"),e}},{key:"getFeedback",value:function(){var e=this;return this.props.validation?u["default"].createElement("div",{className:"help-block errors"},this.props.validation.map(function(t,a){return u["default"].createElement("p",{key:e.props["for"]+"FeedbackItem"+a},t)})):null}},{key:"getFeedbackIcon",value:function(){return this.isValidated()?u["default"].createElement("span",{className:"material-icon form-control-feedback","aria-hidden":"true",key:this.props["for"]+"FeedbackIcon"},this.props.validation?"clear":"check"):null}},{key:"getFeedbackDescription",value:function(){return this.isValidated()?u["default"].createElement("span",{id:this.props["for"]+"_status",className:"sr-only"},this.props.validation?gettext("(error)"):gettext("(success)")):null}},{key:"getHelpText",value:function(){return this.props.helpText?u["default"].createElement("p",{className:"help-block"},this.props.helpText):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName()},u["default"].createElement("label",{className:"control-label "+(this.props.labelClass||""),htmlFor:this.props["for"]||""},this.props.label+":"),u["default"].createElement("div",{className:this.props.controlClass||""},this.props.children,this.getFeedbackIcon(),this.getFeedbackDescription(),this.getFeedback(),this.getHelpText(),this.props.extra||null))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],41:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(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 i=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),u=e("react"),c=r(u),d=e("../utils/validators"),f=e("../services/snackbar"),p=r(f),h=(0,d.required)(),m=function(e){function t(){var e,a,r,l;o(this,t);for(var i=arguments.length,u=Array(i),c=0;c<i;c++)u[c]=arguments[c];return a=r=s(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.bindInput=function(e){return function(t){r.changeValue(e,t.target.value)}},r.changeValue=function(e,t){var a=n({},e,t),o=r.state.errors||{};o[e]=r.validateField(e,a[e]),a.errors=o,r.setState(a)},r.handleSubmit=function(e){if(e.preventDefault(),!r.state.isLoading&&r.clean()){r.setState({isLoading:!0});var t=r.send();t?t.then(function(e){r.setState({isLoading:!1}),r.handleSuccess(e)},function(e){r.setState({isLoading:!1}),r.handleError(e)}):r.setState({isLoading:!1})}},l=a,s(r,l)}return l(t,e),i(t,[{key:"validate",value:function(){var e={};if(!this.state.validators)return e;var t={required:this.state.validators.required||this.state.validators,optional:this.state.validators.optional||{}},a=[];for(var r in t.required)t.required.hasOwnProperty(r)&&t.required[r]&&a.push(r);for(var n in t.optional)t.optional.hasOwnProperty(n)&&t.optional[n]&&a.push(n);for(var o in a){var s=a[o],l=this.validateField(s,this.state[s]);null===l?e[s]=null:l&&(e[s]=l)}return e}},{key:"isValid",value:function(){var e=this.validate();for(var t in e)if(e.hasOwnProperty(t)&&null!==e[t])return!1;return!0}},{key:"validateField",value:function(e,t){var a=[];if(!this.state.validators)return a;var r={required:(this.state.validators.required||this.state.validators)[e],optional:(this.state.validators.optional||{})[e]},n=h(t)||!1;if(r.required){if(n)a=[n];else for(var o in r.required){var s=r.required[o](t);s&&a.push(s)}return a.length?a:null}if(n===!1&&r.optional){for(var l in r.optional){var i=r.optional[l](t);i&&a.push(i)}return a.length?a:null}return!1}},{key:"clean",value:function(){return!0}},{key:"send",value:function(){return null}},{key:"handleSuccess",value:function(e){}},{key:"handleError",value:function(e){p["default"].apiError(e)}}]),t}(c["default"].Component);a["default"]=m},{"../services/snackbar":303,"../utils/validators":320,react:"react"}],42:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"isActive",value:function(){return this.props.isControlled?this.props.isActive:!!this.props.path&&0===document.location.pathname.indexOf(this.props.path)}},{key:"getClassName",value:function(){return this.isActive()?(this.props.className||"")+" "+(this.props.activeClassName||"active"):this.props.className||""}},{key:"render",value:function(){return u["default"].createElement("li",{className:this.getClassName()},this.props.children)}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],43:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"render",value:function(){return u["default"].createElement("div",{className:this.props.className||"loader"},u["default"].createElement("div",{className:"loader-spinning-wheel"}))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],44:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("./button"),d=r(c),f=e("./form"),p=r(f),h=e("./form-group"),m=r(h),b=e("../services/ajax"),v=r(b),y=e("../services/modal"),g=r(y),_=function(e){function t(e){n(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.handleSuccess=function(e){a.props.onSuccess(e),g["default"].hide()},a.handleError=function(e){a.props.onError(e)},a.onPollChange=function(e){a.changeValue("poll",e.target.value)},a.state={isLoading:!1,poll:0},a}return s(t,e),l(t,[{key:"clean",value:function(){var e=confirm(gettext("Are you sure? This will delete other polls."));return e}},{key:"send",value:function(){var e=Object.assign({},this.props.data,{poll:this.state.poll});return v["default"].post(this.props.api,e)}},{key:"render",value:function(){return u["default"].createElement("div",{className:"modal-dialog",role:"document"},u["default"].createElement("div",{className:"modal-content"},u["default"].createElement("div",{className:"modal-header"},u["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},u["default"].createElement("span",{"aria-hidden":"true"},"×")),u["default"].createElement("h4",{className:"modal-title"},gettext("Merge polls"))),u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("div",{className:"modal-body"},u["default"].createElement("p",null,gettext("Select poll to use in merged thread. Other polls will be deleted.")),u["default"].createElement(m["default"],{label:gettext("Poll"),"for":"id_poll"},u["default"].createElement("select",{className:"form-control",id:"id_poll",onChange:this.onPollChange,value:this.state.poll},this.props.polls.map(function(e){return u["default"].createElement("option",{value:e[0],key:e[0]},e[1])})))),u["default"].createElement("div",{className:"modal-footer"},u["default"].createElement(d["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Merge polls"))))))}}]),t}(p["default"]);a["default"]=_},{"../services/ajax":293,"../services/modal":299,"./button":5,"./form":41,"./form-group":40,react:"react"}],45:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("article",{className:"misago-markup",dangerouslySetInnerHTML:{__html:e.markup}})};var n=e("react"),o=r(n)},{react:"react"}],46:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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);
+},onImageLoaded:function(){if(e.props.upload){var a=t.cropit("zoom"),r=t.cropit("imageSize");if(r.width>r.height){var n=r.width*a,o=(n-e.getAvatarSize())/-2;t.cropit("offset",{x:o,y:0})}else if(r.width<r.height){var s=r.height*a,l=(s-e.getAvatarSize())/-2;t.cropit("offset",{x:0,y:l})}else t.cropit("offset",{x:0,y:0})}else{var i=e.props.options.crop_src.crop;i&&(t.cropit("zoom",i.zoom),t.cropit("offset",{x:i.x,y:i.y}))}}})}},{key:"componentWillUnmount",value:function(){$(".crop-form").cropit("disable")}},{key:"render",value:function(){return u["default"].createElement("div",null,u["default"].createElement("div",{className:"modal-body modal-avatar-crop"},u["default"].createElement("div",{className:"crop-form"},u["default"].createElement("div",{className:"cropit-preview"}),u["default"].createElement("input",{type:"range",className:"cropit-image-zoom-input"}))),u["default"].createElement("div",{className:"modal-footer"},u["default"].createElement("div",{className:"col-md-6 col-md-offset-3"},u["default"].createElement(f["default"],{onClick:this.cropAvatar,loading:this.state.isLoading,className:"btn-primary btn-block"},this.props.upload?gettext("Set avatar"):gettext("Crop image")),u["default"].createElement(f["default"],{onClick:this.props.showIndex,disabled:this.state.isLoading,className:"btn-default btn-block"},gettext("Cancel")))))}}]),t}(u["default"].Component);a["default"]=v},{"../../services/ajax":293,"../../services/snackbar":303,"../avatar":3,"../button":5,react:"react"}],15:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.Gallery=a.GalleryItem=void 0;var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},i=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),u=e("react"),c=r(u),d=e("../button"),f=r(d),p=e("../../index"),h=(r(p),e("../../services/ajax")),m=r(h),b=e("../../services/snackbar"),v=r(b),y=e("../../utils/batch"),g=r(y),_=a.GalleryItem=function(e){function t(){var e,a,r,s;n(this,t);for(var l=arguments.length,i=Array(l),u=0;u<l;u++)i[u]=arguments[u];return a=r=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),r.select=function(){r.props.select(r.props.id)},s=a,o(r,s)}return s(t,e),i(t,[{key:"getClassName",value:function(){return this.props.selection===this.props.id?this.props.disabled?"btn btn-avatar btn-disabled avatar-selected":"btn btn-avatar avatar-selected":this.props.disabled?"btn btn-avatar btn-disabled":"btn btn-avatar"}},{key:"render",value:function(){return c["default"].createElement("button",{type:"button",className:this.getClassName(),disabled:this.props.disabled,onClick:this.select},c["default"].createElement("img",{src:this.props.url}))}}]),t}(c["default"].Component),E=a.Gallery=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"render",value:function(){var e=this;return c["default"].createElement("div",{className:"avatars-gallery"},c["default"].createElement("h3",null,this.props.name),c["default"].createElement("div",{className:"avatars-gallery-images"},(0,g["default"])(this.props.images,4,null).map(function(t,a){return c["default"].createElement("div",{className:"row",key:a},t.map(function(t,a){return c["default"].createElement("div",{className:"col-xs-3",key:a},t?c["default"].createElement(_,l({disabled:e.props.disabled,select:e.props.select,selection:e.props.selection},t)):c["default"].createElement("div",{className:"blank-avatar"}))}))})))}}]),t}(c["default"].Component),w=function(e){function t(e){n(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.select=function(e){a.setState({selection:e})},a.save=function(){return!a.state.isLoading&&(a.setState({isLoading:!0}),void m["default"].post(a.props.user.api_url.avatar,{avatar:"galleries",image:a.state.selection}).then(function(e){a.setState({isLoading:!1}),v["default"].success(e.detail),a.props.onComplete(e),a.props.showIndex()},function(e){400===e.status?(v["default"].error(e.detail),a.setState({isLoading:!1})):a.props.showError(e)}))},a.state={selection:null,isLoading:!1},a}return s(t,e),i(t,[{key:"render",value:function(){var e=this;return c["default"].createElement("div",null,c["default"].createElement("div",{className:"modal-body modal-avatar-gallery"},this.props.options.galleries.map(function(t,a){return c["default"].createElement(E,{name:t.name,images:t.images,selection:e.state.selection,disabled:e.state.isLoading,select:e.select,key:a})})),c["default"].createElement("div",{className:"modal-footer"},c["default"].createElement("div",{className:"row"},c["default"].createElement("div",{className:"col-md-6 col-md-offset-3"},c["default"].createElement(f["default"],{onClick:this.save,loading:this.state.isLoading,disabled:!this.state.selection,className:"btn-primary btn-block"},this.state.selection?gettext("Save choice"):gettext("Select avatar")),c["default"].createElement(f["default"],{onClick:this.props.showIndex,disabled:this.state.isLoading,className:"btn-default btn-block"},gettext("Cancel"))))))}}]),t}(c["default"].Component);a["default"]=w},{"../../index":234,"../../services/ajax":293,"../../services/snackbar":303,"../../utils/batch":307,"../button":5,react:"react"}],16:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("../avatar"),d=r(c),f=e("../button"),p=r(f),h=e("../loader"),m=r(h),b=e("../../services/ajax"),v=r(b),y=e("../../services/snackbar"),g=r(y),_=function(e){function t(e){n(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.setGravatar=function(){a.callApi("gravatar")},a.setGenerated=function(){a.callApi("generated")},a.state={isLoading:!1},a}return s(t,e),l(t,[{key:"callApi",value:function(e){var t=this;return!this.state.isLoading&&(this.setState({isLoading:!0}),void v["default"].post(this.props.user.api_url.avatar,{avatar:e}).then(function(e){t.setState({isLoading:!1}),console.log(e),g["default"].success(e.detail),t.props.onComplete(e)},function(e){400===e.status?(g["default"].error(e.detail),t.setState({isLoading:!1})):t.props.showError(e)}))}},{key:"getGravatarButton",value:function(){return this.props.options.gravatar?u["default"].createElement(p["default"],{onClick:this.setGravatar,disabled:this.state.isLoading,className:"btn-default btn-block btn-avatar-gravatar"},gettext("Download my Gravatar")):null}},{key:"getCropButton",value:function(){return this.props.options.crop_src?u["default"].createElement(p["default"],{onClick:this.props.showCrop,disabled:this.state.isLoading,className:"btn-default btn-block btn-avatar-crop"},gettext("Re-crop uploaded image")):null}},{key:"getUploadButton",value:function(){return this.props.options.upload?u["default"].createElement(p["default"],{onClick:this.props.showUpload,disabled:this.state.isLoading,className:"btn-default btn-block btn-avatar-upload"},gettext("Upload new image")):null}},{key:"getGalleryButton",value:function(){return this.props.options.galleries?u["default"].createElement(p["default"],{onClick:this.props.showGallery,disabled:this.state.isLoading,className:"btn-default btn-block btn-avatar-gallery"},gettext("Pick avatar from gallery")):null}},{key:"getAvatarPreview",value:function(){var e={id:this.props.user.id,avatars:this.props.options.avatars};return this.state.isLoading?u["default"].createElement("div",{className:"avatar-preview preview-loading"},u["default"].createElement(d["default"],{user:e,size:"200"}),u["default"].createElement(m["default"],null)):u["default"].createElement("div",{className:"avatar-preview"},u["default"].createElement(d["default"],{user:e,size:"200"}))}},{key:"render",value:function(){return u["default"].createElement("div",{className:"modal-body modal-avatar-index"},u["default"].createElement("div",{className:"row"},u["default"].createElement("div",{className:"col-md-5"},this.getAvatarPreview()),u["default"].createElement("div",{className:"col-md-7"},this.getGravatarButton(),u["default"].createElement(p["default"],{onClick:this.setGenerated,disabled:this.state.isLoading,className:"btn-default btn-block btn-avatar-generate"},gettext("Generate my individual avatar")),this.getCropButton(),this.getUploadButton(),this.getGalleryButton())))}}]),t}(u["default"].Component);a["default"]=_},{"../../services/ajax":293,"../../services/snackbar":303,"../avatar":3,"../button":5,"../loader":43,react:"react"}],17:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l(e){return{user:e.auth.user}}Object.defineProperty(a,"__esModule",{value:!0}),a.ChangeAvatarError=void 0;var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}();a.select=l;var u=e("react"),c=r(u),d=e("./index"),f=r(d),p=e("./crop"),h=r(p),m=e("./upload"),b=r(m),v=e("./gallery"),y=r(v),g=e("../modal-loader"),_=r(g),E=e("../../reducers/users"),w=e("../../services/ajax"),O=r(w),k=e("../../services/store"),N=r(k),j=a.ChangeAvatarError=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"getErrorReason",value:function(){return this.props.reason?c["default"].createElement("p",{dangerouslySetInnerHTML:{__html:this.props.reason}}):null}},{key:"render",value:function(){return c["default"].createElement("div",{className:"modal-body"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"remove_circle_outline")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",{className:"lead"},this.props.message),this.getErrorReason()))}}]),t}(c["default"].Component),x=function(e){function t(){var e,a,r,s;n(this,t);for(var l=arguments.length,i=Array(l),u=0;u<l;u++)i[u]=arguments[u];return a=r=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),r.showError=function(e){r.setState({error:e})},r.showIndex=function(){r.setState({component:f["default"]})},r.showUpload=function(){r.setState({component:b["default"]})},r.showCrop=function(){r.setState({component:h["default"]})},r.showGallery=function(){r.setState({component:y["default"]})},r.completeFlow=function(e){N["default"].dispatch((0,E.updateAvatar)(r.props.user,e.avatars)),r.setState({component:f["default"],options:e})},s=a,o(r,s)}return s(t,e),i(t,[{key:"componentDidMount",value:function(){var e=this;O["default"].get(this.props.user.api_url.avatar).then(function(t){e.setState({component:f["default"],options:t,error:null})},function(t){e.showError(t)})}},{key:"getBody",value:function(){return this.state?this.state.error?c["default"].createElement(j,{message:this.state.error.detail,reason:this.state.error.reason}):c["default"].createElement(this.state.component,{options:this.state.options,user:this.props.user,onComplete:this.completeFlow,showError:this.showError,showIndex:this.showIndex,showCrop:this.showCrop,showUpload:this.showUpload,showGallery:this.showGallery}):c["default"].createElement(_["default"],null)}},{key:"getClassName",value:function(){return this.state&&this.state.error?"modal-dialog modal-message modal-change-avatar":"modal-dialog modal-change-avatar"}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName(),role:"document"},c["default"].createElement("div",{className:"modal-content"},c["default"].createElement("div",{className:"modal-header"},c["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},c["default"].createElement("span",{"aria-hidden":"true"},"×")),c["default"].createElement("h4",{className:"modal-title"},gettext("Change your avatar"))),this.getBody()))}}]),t}(c["default"].Component);a["default"]=x},{"../../reducers/users":292,"../../services/ajax":293,"../../services/store":304,"../modal-loader":46,"./crop":14,"./gallery":15,"./index":16,"./upload":18,react:"react"}],18:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("./crop"),d=r(c),f=e("../button"),p=r(f),h=e("../../services/ajax"),m=r(h),b=e("../../services/snackbar"),v=r(b),y=e("../../utils/file-size"),g=r(y),_=function(e){function t(e){n(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.pickFile=function(){document.getElementById("avatar-hidden-upload").click()},a.uploadFile=function(){var e=document.getElementById("avatar-hidden-upload").files[0],t=a.validateFile(e);if(t)return void v["default"].error(t);a.setState({image:e,preview:URL.createObjectURL(e),progress:0});var r=new FormData;r.append("avatar","upload"),r.append("image",e),m["default"].upload(a.props.user.api_url.avatar,r,function(e){a.setState({progress:e})}).then(function(e){a.setState({options:e,uploaded:e.detail}),v["default"].info(gettext("Your image has been uploaded and you may now crop it."))},function(e){400===e.status||413===e.status?(v["default"].error(e.detail),a.setState({isLoading:!1,image:null,progress:0})):a.props.showError(e)})},a.state={image:null,preview:null,progress:0,uploaded:null},a}return s(t,e),l(t,[{key:"validateFile",value:function(e){if(e.size>this.props.options.upload.limit)return interpolate(gettext("Selected file is too big. (%(filesize)s)"),{filesize:(0,g["default"])(e.size)},!0);var t=gettext("Selected file type is not supported.");if(this.props.options.upload.allowed_mime_types.indexOf(e.type)===-1)return t;var a=!1,r=e.name.toLowerCase();return this.props.options.upload.allowed_extensions.map(function(e){r.substr(e.length*-1)===e&&(a=!0)}),!a&&t}},{key:"getUploadRequirements",value:function(e){var t=e.allowed_extensions.map(function(e){return e.substr(1)});return interpolate(gettext("%(files)s files smaller than %(limit)s"),{files:t.join(", "),limit:(0,g["default"])(e.limit)},!0)}},{key:"getUploadButton",value:function(){return u["default"].createElement("div",{className:"modal-body modal-avatar-upload"},u["default"].createElement(p["default"],{className:"btn-pick-file",onClick:this.pickFile},u["default"].createElement("div",{className:"material-icon"},"input"),gettext("Select file")),u["default"].createElement("p",{className:"text-muted"},this.getUploadRequirements(this.props.options.upload)))}},{key:"getUploadProgressLabel",value:function(){return interpolate(gettext("%(progress)s % complete"),{progress:this.state.progress},!0)}},{key:"getUploadProgress",value:function(){return u["default"].createElement("div",{className:"modal-body modal-avatar-upload"},u["default"].createElement("div",{className:"upload-progress"},u["default"].createElement("img",{src:this.state.preview}),u["default"].createElement("div",{className:"progress"},u["default"].createElement("div",{className:"progress-bar",role:"progressbar","aria-valuenow":"{this.state.progress}","aria-valuemin":"0","aria-valuemax":"100",style:{width:this.state.progress+"%"}},u["default"].createElement("span",{className:"sr-only"},this.getUploadProgressLabel())))))}},{key:"renderUpload",value:function(){return u["default"].createElement("div",null,u["default"].createElement("input",{type:"file",id:"avatar-hidden-upload",className:"hidden-file-upload",onChange:this.uploadFile}),this.state.image?this.getUploadProgress():this.getUploadButton(),u["default"].createElement("div",{className:"modal-footer"},u["default"].createElement("div",{className:"col-md-6 col-md-offset-3"},u["default"].createElement(p["default"],{onClick:this.props.showIndex,disabled:!!this.state.image,className:"btn-default btn-block"},gettext("Cancel")))))}},{key:"renderCrop",value:function(){return u["default"].createElement(d["default"],{options:this.state.options,user:this.props.user,upload:this.state.uploaded,onComplete:this.props.onComplete,showError:this.props.showError,showIndex:this.props.showIndex})}},{key:"render",value:function(){return this.state.uploaded?this.renderCrop():this.renderUpload()}}]),t}(u["default"].Component);a["default"]=_},{"../../services/ajax":293,"../../services/snackbar":303,"../../utils/file-size":311,"../button":5,"./crop":14,react:"react"}],19:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"getClassName",value:function(){return this.props.dropdown?"btn btn-default btn-aligned btn-icon btn-dropdown-toggle open hidden-md hidden-lg":"btn btn-default btn-aligned btn-icon btn-dropdown-toggle hidden-md hidden-lg"}},{key:"render",value:function(){return u["default"].createElement("button",{className:this.getClassName(),type:"button",onClick:this.props.toggleNav,"aria-haspopup":"true","aria-expanded":this.props.dropdown?"true":"false"},u["default"].createElement("i",{className:"material-icon"},"menu"))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],20:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=function(e){function t(){var e,a,r,s;n(this,t);for(var l=arguments.length,i=Array(l),u=0;u<l;u++)i[u]=arguments[u];return a=r=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),r.onClick=function(){r.props.replaceSelection(r.props.execAction)},s=a,o(r,s)}return s(t,e),l(t,[{key:"render",value:function(){return u["default"].createElement("button",{className:"btn btn-icon "+this.props.className,disabled:this.props.disabled,onClick:this.onClick,title:this.props.title,type:"button"},this.props.children)}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],21:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){var a=$.trim(prompt(gettext("Enter name of syntax of your code (optional)")+":"));t("\n\n```"+a+"\n"+e+"\n```\n\n")}Object.defineProperty(a,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e};a["default"]=function(e){return l["default"].createElement(u["default"],o({execAction:n,title:gettext("Insert code")},e),l["default"].createElement("span",{className:"material-icon"},"functions"))},a.insertCode=n;var s=e("react"),l=r(s),i=e("./action"),u=r(i),c=e("../../../utils/is-url");r(c)},{"../../../utils/is-url":312,"./action":20,react:"react"}],22:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){e.length&&t("*"+e+"*")}Object.defineProperty(a,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e};a["default"]=function(e){return l["default"].createElement(u["default"],o({execAction:n,title:gettext("Emphase selection")},e),l["default"].createElement("span",{className:"material-icon"},"format_italic"))},a.makeEmphasis=n;var s=e("react"),l=r(s),i=e("./action"),u=r(i)},{"./action":20,react:"react"}],23:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){t("\n\n- - - - -\n\n")}Object.defineProperty(a,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e};a["default"]=function(e){return l["default"].createElement(u["default"],o({execAction:n,title:gettext("Insert horizontal ruler")},e),l["default"].createElement("span",{className:"material-icon"},"remove"))},a.insertHr=n;var s=e("react"),l=r(s),i=e("./action"),u=r(i)},{"./action":20,react:"react"}],24:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){var a="",r="";e.length&&((0,d["default"])(e)?a=e:r=e),a=$.trim(prompt(gettext("Enter link to image")+":",a)),r=$.trim(prompt(gettext("Enter image label (optional)")+":",r)),a.length&&t(r.length>0?"!["+r+"]("+a+")":"!("+a+")")}Object.defineProperty(a,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e};a["default"]=function(e){return l["default"].createElement(u["default"],o({execAction:n,title:gettext("Insert image")},e),l["default"].createElement("span",{className:"material-icon"},"insert_photo"))},a.insertImage=n;var s=e("react"),l=r(s),i=e("./action"),u=r(i),c=e("../../../utils/is-url"),d=r(c)},{"../../../utils/is-url":312,"./action":20,react:"react"}],25:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){var a="",r="";e.length&&((0,d["default"])(e)?a=e:r=e),a=$.trim(prompt(gettext("Enter link address")+":",a)),r=$.trim(prompt(gettext("Enter link label (optional)")+":",r)),a.length&&t(r.length>0?"["+r+"]("+a+")":a)}Object.defineProperty(a,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e};a["default"]=function(e){return l["default"].createElement(u["default"],o({execAction:n,title:gettext("Insert link")},e),l["default"].createElement("span",{className:"material-icon"},"insert_link"))},a.insertLink=n;var s=e("react"),l=r(s),i=e("./action"),u=r(i),c=e("../../../utils/is-url"),d=r(c)},{"../../../utils/is-url":312,"./action":20,react:"react"}],26:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){var a=$.trim(prompt(gettext("Enter quote title, prefix usernames with @")+":",a));t(a?'\n\n[quote="'+a+'"]\n'+e+"\n[/quote]\n\n":"\n\n[quote=]\n"+e+"\n[/quote]\n\n")}Object.defineProperty(a,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e};a["default"]=function(e){return l["default"].createElement(u["default"],o({execAction:n,title:gettext("Insert quote")},e),l["default"].createElement("span",{className:"material-icon"},"format_quote"))},a.insertQuote=n;var s=e("react"),l=r(s),i=e("./action"),u=r(i),c=e("../../../utils/is-url");r(c)},{"../../../utils/is-url":312,"./action":20,react:"react"}],27:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){e.length&&t("~~"+e+"~~")}Object.defineProperty(a,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e};a["default"]=function(e){return l["default"].createElement(u["default"],o({execAction:n,title:gettext("Striketrough selection")},e),l["default"].createElement("span",{className:"material-icon"},"format_strikethrough"))},a.makeStriketrough=n;var s=e("react"),l=r(s),i=e("./action"),u=r(i)},{"./action":20,react:"react"}],28:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){e.length&&t("**"+e+"**")}Object.defineProperty(a,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e};a["default"]=function(e){return l["default"].createElement(u["default"],o({execAction:n,title:gettext("Bolder selection")},e),l["default"].createElement("span",{className:"material-icon"},"format_bold"))},a.makeStrong=n;var s=e("react"),l=r(s),i=e("./action"),u=r(i)},{"./action":20,react:"react"}],29:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l(e){return e.item.is_image?g["default"].createElement(i,e):g["default"].createElement(u,e)}function i(e){var t=e.item.url.thumb||e.item.url.index;return g["default"].createElement("div",{className:"editor-attachment-image"},g["default"].createElement("a",{href:e.item.url.index+"?shva=1",style:{backgroundImage:"url('"+t+"?shva=1')"},target:"_blank"}))}function u(e){return g["default"].createElement("div",{className:"editor-attachment-icon"},g["default"].createElement("span",{className:"material-icon"},"insert_drive_file"))}function c(e){return g["default"].createElement("h4",null,g["default"].createElement("a",{className:"item-title",href:e.item.url.index+"?shva=1",target:"_blank"},e.item.filename))}function d(e){var t=null;t=e.item.url.uploader?interpolate(x,{url:(0,w["default"])(e.item.url.uploader),user:(0,w["default"])(e.item.uploader_name)},!0):interpolate(j,{user:(0,w["default"])(e.item.uploader_name)},!0);var a=interpolate(N,{absolute:(0,w["default"])(e.item.uploaded_on.format("LLL")),relative:(0,w["default"])(e.item.uploaded_on.fromNow())},!0),r=interpolate((0,w["default"])(gettext("%(filetype)s, %(size)s, uploaded by %(uploader)s %(uploaded_on)s.")),{filetype:e.item.filetype,size:(0,k["default"])(e.item.size),uploader:t,uploaded_on:a},!0);return g["default"].createElement("p",{dangerouslySetInnerHTML:{__html:r}})}function f(e){return g["default"].createElement("ul",{className:"list-unstyled list-inline editor-attachment-actions"},g["default"].createElement(p,e),g["default"].createElement(h,e),g["default"].createElement(m,e))}function p(e){return e.item.isRemoved?null:g["default"].createElement("li",null,g["default"].createElement("button",{className:"btn btn-default btn-sm",onClick:e.onInsert,type:"button"},gettext("Insert")))}function h(e){return e.item.isRemoved&&e.item.acl.can_delete?null:g["default"].createElement("li",null,g["default"].createElement("button",{className:"btn btn-default btn-sm",onClick:e.onRemove,type:"button"},gettext("Remove")))}function m(e){return e.item.isRemoved?g["default"].createElement("li",null,g["default"].createElement("button",{className:"btn btn-default btn-sm",onClick:e.onUndo,type:"button"},gettext("Undo removal"))):null}Object.defineProperty(a,"__esModule",{value:!0});var b=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},v=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),
+Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}();a.Preview=l,a.Image=i,a.Icon=u,a.Filename=c,a.Details=d,a.Actions=f,a.Insert=p,a.Remove=h,a.Undo=m;var y=e("react"),g=r(y),_=e("../../../.."),E=(r(_),e("../../../../utils/escape-html")),w=r(E),O=e("../../../../utils/file-size"),k=r(O),N='<abbr title="%(absolute)s">%(relative)s</abbr>',j='<span class="item-title">%(user)s</span>',x='<a href="%(url)s" class="item-title">%(user)s</a>',P=function(e){function t(){var e,a,r,s;n(this,t);for(var l=arguments.length,i=Array(l),u=0;u<l;u++)i[u]=arguments[u];return a=r=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),r.onInsert=function(){r.props.replaceSelection(r.insertAttachment)},r.insertAttachment=function(e,t){var a=r.props.item;t(a.is_image?a.url.thumb?"[!["+a.filename+"]("+a.url.thumb+")]("+a.url.index+")":"[!["+a.filename+"]("+a.url.index+")]("+a.url.index+")":"["+a.filename+"]("+a.url.index+")")},r.onRemove=function(){r.updateItem({isRemoved:!0})},r.onUndo=function(){r.updateItem({isRemoved:!1})},r.updateItem=function(e){var t=r.props.attachments.map(function(t){return t.id===r.props.item.id?Object.assign({},t,e):t});r.props.onAttachmentsChange(t)},s=a,o(r,s)}return s(t,e),v(t,[{key:"render",value:function(){return g["default"].createElement("li",{className:"editor-attachment-complete"},g["default"].createElement(l,this.props),g["default"].createElement(f,b({onInsert:this.onInsert,onRemove:this.onRemove,onUndo:this.onUndo},this.props)),g["default"].createElement("div",{className:"editor-attachment-details"},g["default"].createElement(c,this.props),g["default"].createElement(d,this.props)))}}]),t}(g["default"].Component);a["default"]=P},{"../../../..":234,"../../../../utils/escape-html":310,"../../../../utils/file-size":311,react:"react"}],30:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("../../../../utils/escape-html"),d=r(c),f="<strong>%(name)s</strong>",p=function(e){function t(){var e,a,r,s;n(this,t);for(var l=arguments.length,i=Array(l),u=0;u<l;u++)i[u]=arguments[u];return a=r=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),r.onClick=function(){var e=r.props.attachments.filter(function(e){return e.key!==r.props.item.key});r.props.onAttachmentsChange(e)},s=a,o(r,s)}return s(t,e),l(t,[{key:"render",value:function(){var e=interpolate(f,{name:(0,d["default"])(this.props.item.filename)},!0),t=interpolate(gettext("Error uploading %(filename)s"),{filename:e,progress:this.props.item.progress+"%"},!0);return u["default"].createElement("li",{className:"editor-attachment-error"},u["default"].createElement("div",{className:"editor-attachment-error-icon"},u["default"].createElement("span",{className:"material-icon"},"warning")),u["default"].createElement("div",{className:"editor-attachment-error-message"},u["default"].createElement("h4",{dangerouslySetInnerHTML:{__html:t+":"}}),u["default"].createElement("p",null,this.props.item.error),u["default"].createElement("button",{className:"btn btn-default btn-sm",onClick:this.onClick,type:"button"},gettext("Dismiss"))))}}]),t}(u["default"].Component);a["default"]=p},{"../../../../utils/escape-html":310,react:"react"}],31:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return e.item.id?o["default"].createElement(l["default"],e):e.item.error?o["default"].createElement(u["default"],e):o["default"].createElement(d["default"],e)};var n=e("react"),o=r(n),s=e("./complete"),l=r(s),i=e("./error"),u=r(i),c=e("./upload"),d=r(c),f=e("../../../.."),p=(r(f),e("../../../../utils/escape-html"));r(p)},{"../../../..":234,"../../../../utils/escape-html":310,"./complete":29,"./error":30,"./upload":32,react:"react"}],32:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=interpolate(i,{name:(0,l["default"])(e.item.filename)},!0),a=interpolate(gettext("Uploading %(filename)s... %(progress)s"),{filename:t,progress:e.item.progress+"%"},!0);return o["default"].createElement("li",{className:"editor-attachment-upload"},o["default"].createElement("div",{className:"editor-attachment-progress-bar"},o["default"].createElement("div",{className:"editor-attachment-progress",style:{width:e.item.progress+"%"}})),o["default"].createElement("p",{className:"editor-attachment-upload-message",dangerouslySetInnerHTML:{__html:a}}))};var n=e("react"),o=r(n),s=e("../../../../utils/escape-html"),l=r(s),i="<strong>%(name)s</strong>"},{"../../../../utils/escape-html":310,react:"react"}],33:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return d["default"].get("user").acl.max_attachment_size?o["default"].createElement("div",{className:"editor-attachments"},o["default"].createElement(l["default"],e),o["default"].createElement(u["default"],e)):null};var n=e("react"),o=r(n),s=e("./list"),l=r(s),i=e("./uploader"),u=r(i),c=e("../../.."),d=r(c)},{"../../..":234,"./list":34,"./uploader":36,react:"react"}],34:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e};a["default"]=function(e){return s["default"].createElement("ul",{className:"list-unstyled editor-attachments-list"},e.attachments.map(function(t){return s["default"].createElement(i["default"],n({item:t,key:t.id||t.key},e))}))};var o=e("react"),s=r(o),l=e("./attachment"),i=r(l)},{"./attachment":31,react:"react"}],35:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("../../.."),d=r(c),f=function(e){function t(){var e,a,r,s;n(this,t);for(var l=arguments.length,i=Array(l),u=0;u<l;u++)i[u]=arguments[u];return a=r=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),r.onClick=function(){document.getElementById("editor-upload-field").click()},s=a,o(r,s)}return s(t,e),l(t,[{key:"render",value:function(){return d["default"].get("user").acl.max_attachment_size?u["default"].createElement("button",{className:"btn btn-icon "+this.props.className,disabled:this.props.disabled,onClick:this.onClick,title:gettext("Upload file"),type:"button"},u["default"].createElement("span",{className:"material-icon"},"file_upload")):null}}]),t}(u["default"].Component);a["default"]=f},{"../../..":234,react:"react"}],36:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l(){return"upld-"+Math.round((new Date).getTime())}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}();a.getRandomKey=l;var u=e("react"),c=r(u),d=e("moment"),f=r(d),p=e("../../.."),h=r(p),m=e("../../../services/ajax"),b=r(m),v=e("../../../services/snackbar"),y=r(v),g=function(e){function t(){var e,a,r,s;n(this,t);for(var i=arguments.length,u=Array(i),c=0;c<i;c++)u[c]=arguments[c];return a=r=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.onChange=function(e){var t=e.target.files[0];if(t){var a={id:null,key:l(),progress:0,error:null,filename:t.name};r.props.onAttachmentsChange([a].concat(r.props.attachments));var n=new FormData;n.append("upload",t),b["default"].upload(h["default"].get("ATTACHMENTS_API"),n,function(e){a.progress=e,r.props.onAttachmentsChange(r.props.attachments.concat())}).then(function(e){e.uploaded_on=(0,f["default"])(e.uploaded_on),Object.assign(a,e),r.props.onAttachmentsChange(r.props.attachments.concat())},function(e){400===e.status||413===e.status?(a.error=e.detail,r.props.onAttachmentsChange(r.props.attachments.concat())):y["default"].apiError(e)})}},s=a,o(r,s)}return s(t,e),i(t,[{key:"render",value:function(){return c["default"].createElement("input",{id:"editor-upload-field",onChange:this.onChange,type:"file"})}}]),t}(c["default"].Component);a["default"]=g},{"../../..":234,"../../../services/ajax":293,"../../../services/snackbar":303,moment:"moment",react:"react"}],37:[function(e,t,a){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function n(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 s(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 i(e){return e.canProtect?d["default"].createElement("button",{className:"btn btn-icon btn-default btn-sm pull-right",disabled:e.disabled,onClick:e.protect?e.onUnprotect:e.onProtect,title:e.protect?gettext("Protected"):gettext("Protect"),type:"button"},d["default"].createElement("span",{className:"material-icon"},e.protect?"lock":"lock_outline")):null}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}();a.Protect=i;var c=e("react"),d=n(c),f=e("./actions/code"),p=n(f),h=e("./actions/emphasis"),m=n(h),b=e("./actions/hr"),v=n(b),y=e("./actions/image"),g=n(y),_=e("./actions/link"),E=n(_),w=e("./actions/striketrough"),O=n(w),k=e("./actions/strong"),N=n(k),j=e("./actions/quote"),x=n(j),P=e("./attachments"),C=n(P),S=e("./attachments/upload-button/"),T=n(S),M=e("./markup-preview"),L=n(M),R=e("./textUtils"),A=r(R),I=e("../button"),D=n(I),U=e("../.."),B=n(U),H=e("../../services/ajax"),z=n(H),F=e("../../services/modal"),V=n(F),q=e("../../services/snackbar"),G=n(q),Y=function(e){function t(e){o(this,t);var a=s(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onPreviewClick=function(){a.state.isPreviewLoading||(a.setState({isPreviewLoading:!0}),z["default"].post(B["default"].get("PARSE_MARKUP_API"),{post:a.props.value}).then(function(e){V["default"].show(d["default"].createElement(L["default"],{markup:e.parsed})),a.setState({isPreviewLoading:!1})},function(e){400===e.status?G["default"].error(e.detail):G["default"].apiError(e),a.setState({isPreviewLoading:!1})}))},a.replaceSelection=function(e){e(A.getSelectionText(),a._replaceSelection)},a._replaceSelection=function(e){a.props.onChange({target:{value:A.replace(e)}})},a.state={isPreviewLoading:!1},a}return l(t,e),u(t,[{key:"render",value:function(){return d["default"].createElement("div",{className:"editor-border"},d["default"].createElement("textarea",{className:"form-control",defaultValue:this.props.value,disabled:this.props.loading,id:"editor-textarea",onChange:this.props.onChange,rows:"9"}),d["default"].createElement("div",{className:"editor-footer"},d["default"].createElement(N["default"],{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),d["default"].createElement(m["default"],{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),d["default"].createElement(O["default"],{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),d["default"].createElement(v["default"],{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),d["default"].createElement(E["default"],{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),d["default"].createElement(g["default"],{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),d["default"].createElement(x["default"],{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),d["default"].createElement(p["default"],{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),d["default"].createElement(T["default"],{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading}),d["default"].createElement(D["default"],{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,onClick:this.onPreviewClick,type:"button"},gettext("Preview")),d["default"].createElement(D["default"],{className:"btn-primary btn-sm pull-right",loading:this.props.loading},this.props.submitLabel||gettext("Post")),d["default"].createElement("button",{className:"btn btn-default btn-sm pull-right",disabled:this.props.loading,onClick:this.props.onCancel,type:"button"},gettext("Cancel")),d["default"].createElement(i,{canProtect:this.props.canProtect,disabled:this.props.loading,onProtect:this.props.onProtect,onUnprotect:this.props.onUnprotect,protect:this.props.protect})),d["default"].createElement(C["default"],{attachments:this.props.attachments,onAttachmentsChange:this.props.onAttachmentsChange,placeholder:this.props.placeholder,replaceSelection:this.replaceSelection}))}}]),t}(d["default"].Component);a["default"]=Y},{"../..":234,"../../services/ajax":293,"../../services/modal":299,"../../services/snackbar":303,"../button":5,"./actions/code":21,"./actions/emphasis":22,"./actions/hr":23,"./actions/image":24,"./actions/link":25,"./actions/quote":26,"./actions/striketrough":27,"./actions/strong":28,"./attachments":33,"./attachments/upload-button/":35,"./markup-preview":38,"./textUtils":39,react:"react"}],38:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("div",{className:"modal-dialog",role:"document"},o["default"].createElement("div",{className:"modal-content"},o["default"].createElement("div",{className:"modal-header"},o["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},o["default"].createElement("span",{"aria-hidden":"true"},"×")),o["default"].createElement("h4",{className:"modal-title"},gettext("Preview message"))),o["default"].createElement("div",{className:"modal-body markup-preview"},o["default"].createElement(l["default"],{markup:e.markup}))))};var n=e("react"),o=r(n),s=e("../misago-markup"),l=r(s)},{"../misago-markup":45,react:"react"}],39:[function(e,t,a){"use strict";function r(){return document.getElementById(d)}function n(){return document.getElementById(d).value}function o(e,t){return{start:e,end:t}}function s(){var e=r();if(document.selection){e.focus();var t=document.selection.createRange(),a=t.text.length;return t.moveStart("character",-e.value.length),o(t.text.length-a,t.text.length)}if(e.selectionStart||"0"==e.selectionStart)return o(e.selectionStart,e.selectionEnd)}function l(){var e=s();return $.trim(n().substring(e.start,e.end))}function i(e){var t=r();if(t.setSelectionRange)t.focus(),t.setSelectionRange(e.start,e.end);else if(t.createTextRange){var a=t.createTextRange();a.collapse(!0),a.moveStart("character",e.start),a.moveEnd("character",e.end),a.select()}}function u(e,t){var a=r(),n=a.value,s=n.substring(0,e.start);return a.value=n.substring(0,e.start)+t+n.substring(e.end),i(o(s.length+t.length,s.length+t.length)),a.value}function c(e){return u(s(),e)}Object.defineProperty(a,"__esModule",{value:!0}),a.getTextarea=r,a.getValue=n,a.getSelectionRange=o,a.getSelection=s,a.getSelectionText=l,a.setSelection=i,a._replace=u,a.replace=c;var d=a.textareaId="editor-textarea"},{}],40:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"isValidated",value:function(){return"undefined"!=typeof this.props.validation}},{key:"getClassName",value:function(){var e="form-group";return this.isValidated()&&(e+=" has-feedback",e+=null===this.props.validation?" has-success":" has-error"),e}},{key:"getFeedback",value:function(){var e=this;return this.props.validation?u["default"].createElement("div",{className:"help-block errors"},this.props.validation.map(function(t,a){return u["default"].createElement("p",{key:e.props["for"]+"FeedbackItem"+a},t)})):null}},{key:"getFeedbackIcon",value:function(){return this.isValidated()?u["default"].createElement("span",{className:"material-icon form-control-feedback","aria-hidden":"true",key:this.props["for"]+"FeedbackIcon"},this.props.validation?"clear":"check"):null}},{key:"getFeedbackDescription",value:function(){return this.isValidated()?u["default"].createElement("span",{id:this.props["for"]+"_status",className:"sr-only"},this.props.validation?gettext("(error)"):gettext("(success)")):null}},{key:"getHelpText",value:function(){return this.props.helpText?u["default"].createElement("p",{className:"help-block"},this.props.helpText):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName()},u["default"].createElement("label",{className:"control-label "+(this.props.labelClass||""),htmlFor:this.props["for"]||""},this.props.label+":"),u["default"].createElement("div",{className:this.props.controlClass||""},this.props.children,this.getFeedbackIcon(),this.getFeedbackDescription(),this.getFeedback(),this.getHelpText(),this.props.extra||null))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],41:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(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 i=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),u=e("react"),c=r(u),d=e("../utils/validators"),f=e("../services/snackbar"),p=r(f),h=(0,d.required)(),m=function(e){function t(){var e,a,r,l;o(this,t);for(var i=arguments.length,u=Array(i),c=0;c<i;c++)u[c]=arguments[c];return a=r=s(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.bindInput=function(e){return function(t){r.changeValue(e,t.target.value)}},r.changeValue=function(e,t){var a=n({},e,t),o=r.state.errors||{};o[e]=r.validateField(e,a[e]),a.errors=o,r.setState(a)},r.handleSubmit=function(e){if(e.preventDefault(),!r.state.isLoading&&r.clean()){r.setState({isLoading:!0});var t=r.send();t?t.then(function(e){r.setState({isLoading:!1}),r.handleSuccess(e)},function(e){r.setState({isLoading:!1}),r.handleError(e)}):r.setState({isLoading:!1})}},l=a,s(r,l)}return l(t,e),i(t,[{key:"validate",value:function(){var e={};if(!this.state.validators)return e;var t={required:this.state.validators.required||this.state.validators,optional:this.state.validators.optional||{}},a=[];for(var r in t.required)t.required.hasOwnProperty(r)&&t.required[r]&&a.push(r);for(var n in t.optional)t.optional.hasOwnProperty(n)&&t.optional[n]&&a.push(n);for(var o in a){var s=a[o],l=this.validateField(s,this.state[s]);null===l?e[s]=null:l&&(e[s]=l)}return e}},{key:"isValid",value:function(){var e=this.validate();for(var t in e)if(e.hasOwnProperty(t)&&null!==e[t])return!1;return!0}},{key:"validateField",value:function(e,t){var a=[];if(!this.state.validators)return a;var r={required:(this.state.validators.required||this.state.validators)[e],optional:(this.state.validators.optional||{})[e]},n=h(t)||!1;if(r.required){if(n)a=[n];else for(var o in r.required){var s=r.required[o](t);s&&a.push(s)}return a.length?a:null}if(n===!1&&r.optional){for(var l in r.optional){var i=r.optional[l](t);i&&a.push(i)}return a.length?a:null}return!1}},{key:"clean",value:function(){return!0}},{key:"send",value:function(){return null}},{key:"handleSuccess",value:function(e){}},{key:"handleError",value:function(e){p["default"].apiError(e)}}]),t}(c["default"].Component);a["default"]=m},{"../services/snackbar":303,"../utils/validators":320,react:"react"}],42:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"isActive",value:function(){return this.props.isControlled?this.props.isActive:!!this.props.path&&0===document.location.pathname.indexOf(this.props.path)}},{key:"getClassName",value:function(){return this.isActive()?(this.props.className||"")+" "+(this.props.activeClassName||"active"):this.props.className||""}},{key:"render",value:function(){return u["default"].createElement("li",{className:this.getClassName()},this.props.children)}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],43:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"render",value:function(){return u["default"].createElement("div",{className:this.props.className||"loader"},u["default"].createElement("div",{className:"loader-spinning-wheel"}))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],44:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("./button"),d=r(c),f=e("./form"),p=r(f),h=e("./form-group"),m=r(h),b=e("../services/ajax"),v=r(b),y=e("../services/modal"),g=r(y),_=function(e){function t(e){n(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.handleSuccess=function(e){a.props.onSuccess(e),g["default"].hide()},a.handleError=function(e){a.props.onError(e)},a.onPollChange=function(e){a.changeValue("poll",e.target.value)},a.state={isLoading:!1,poll:0},a}return s(t,e),l(t,[{key:"clean",value:function(){var e=confirm(gettext("Are you sure? This will delete other polls."));return e}},{key:"send",value:function(){var e=Object.assign({},this.props.data,{poll:this.state.poll});return v["default"].post(this.props.api,e)}},{key:"render",value:function(){return u["default"].createElement("div",{className:"modal-dialog",role:"document"},u["default"].createElement("div",{className:"modal-content"},u["default"].createElement("div",{className:"modal-header"},u["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},u["default"].createElement("span",{"aria-hidden":"true"},"×")),u["default"].createElement("h4",{className:"modal-title"},gettext("Merge polls"))),u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("div",{className:"modal-body"},u["default"].createElement("p",null,gettext("Select poll to use in merged thread. Other polls will be deleted.")),u["default"].createElement(m["default"],{label:gettext("Poll"),"for":"id_poll"},u["default"].createElement("select",{className:"form-control",id:"id_poll",onChange:this.onPollChange,value:this.state.poll},this.props.polls.map(function(e){return u["default"].createElement("option",{value:e[0],key:e[0]},e[1])})))),u["default"].createElement("div",{className:"modal-footer"},u["default"].createElement(d["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Merge polls"))))))}}]),t}(p["default"]);a["default"]=_},{"../services/ajax":293,"../services/modal":299,"./button":5,"./form":41,"./form-group":40,react:"react"}],45:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("article",{className:"misago-markup",dangerouslySetInnerHTML:{__html:e.markup}})};var n=e("react"),o=r(n)},{react:"react"}],46:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("./loader"),d=r(c),f=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"render",value:function(){return u["default"].createElement("div",{className:"modal-body modal-loader"},u["default"].createElement(d["default"],null))}}]),t}(u["default"].Component);a["default"]=f},{"./loader":43,react:"react"}],47:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("./panel-message"),d=r(c),f=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"getHelpText",value:function(){return this.props.helpText?u["default"].createElement("p",{className:"help-block"},this.props.helpText):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"modal-body"},u["default"].createElement("div",{className:"message-icon"},u["default"].createElement("span",{className:"material-icon"},this.props.icon||"info_outline")),u["default"].createElement("div",{className:"message-body"},u["default"].createElement("p",{className:"lead"},this.props.message),this.getHelpText()))}}]),t}(d["default"]);a["default"]=f},{"./panel-message":60,react:"react"}],48:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("../../panel-loader"),d=r(c),f=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"render",value:function(){return u["default"].createElement("div",{className:"panel panel-default panel-form"},u["default"].createElement("div",{className:"panel-heading"},u["default"].createElement("h3",{className:"panel-title"},gettext("Change username"))),u["default"].createElement(d["default"],null))}}]),t}(u["default"].Component);a["default"]=f},{"../../panel-loader":59,react:"react"}],49:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("../../panel-message"),d=r(c),f=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"getHelpText",value:function(){return this.props.options.next_on?interpolate(gettext("You will be able to change your username %(next_change)s."),{next_change:this.props.options.next_on.fromNow()},!0):gettext("You have used up available name changes.")}},{key:"render",value:function(){return u["default"].createElement("div",{className:"panel panel-default panel-form"},u["default"].createElement("div",{className:"panel-heading"},u["default"].createElement("h3",{className:"panel-title"},gettext("Change username"))),u["default"].createElement(d["default"],{message:gettext("You can't change your username at the moment."),helpText:this.getHelpText()}))}}]),t}(u["default"].Component);a["default"]=f},{"../../panel-message":60,react:"react"}],50:[function(e,t,a){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function n(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 s(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 i=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),u=e("react"),c=n(u),d=e("../../button"),f=n(d),p=e("../../form"),h=n(p),m=e("../../form-group"),b=n(m),v=e("../../../services/ajax"),y=n(v),g=e("../../../services/snackbar"),_=n(g),E=e("../../../utils/validators"),w=r(E),O=function(e){function t(e){o(this,t);var a=s(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={username:"",validators:{username:[w.usernameContent(),w.usernameMinLength({username_length_min:e.options.length_min}),w.usernameMaxLength({username_length_max:e.options.length_max})]},isLoading:!1},a}return l(t,e),i(t,[{key:"getHelpText",value:function(){var e=[];if(this.props.options.changes_left>0){var t=ngettext("You can change your username %(changes_left)s more time.","You can change your username %(changes_left)s more times.",this.props.options.changes_left);e.push(interpolate(t,{changes_left:this.props.options.changes_left},!0))}if(this.props.user.acl.name_changes_expire>0){var a=ngettext("Used changes redeem after %(name_changes_expire)s day.","Used changes redeem after %(name_changes_expire)s days.",this.props.user.acl.name_changes_expire);e.push(interpolate(a,{name_changes_expire:this.props.user.acl.name_changes_expire},!0))}return e.length?e.join(" "):null}},{key:"clean",value:function(){var e=this.validate();return e.username?(_["default"].error(e.username[0]),!1):this.state.username.trim()!==this.props.user.username||(_["default"].info(gettext("Your new username is same as current one.")),!1)}},{key:"send",value:function(){return y["default"].post(this.props.user.api_url.username,{username:this.state.username})}},{key:"handleSuccess",value:function(e){this.setState({username:""}),this.props.complete(e.username,e.slug,e.options)}},{key:"handleError",value:function(e){_["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement("form",{onSubmit:this.handleSubmit,className:"form-horizontal"},c["default"].createElement("div",{className:"panel panel-default panel-form"},c["default"].createElement("div",{className:"panel-heading"},c["default"].createElement("h3",{className:"panel-title"},gettext("Change username"))),c["default"].createElement("div",{className:"panel-body"},c["default"].createElement(b["default"],{label:gettext("New username"),"for":"id_username",labelClass:"col-sm-4",controlClass:"col-sm-8",helpText:this.getHelpText()},c["default"].createElement("input",{type:"text",id:"id_username",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("username"),value:this.state.username}))),c["default"].createElement("div",{className:"panel-footer"},c["default"].createElement("div",{className:"row"},c["default"].createElement("div",{className:"col-sm-8 col-sm-offset-4"},c["default"].createElement(f["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Change username")))))))}}]),t}(h["default"]);a["default"]=O},{"../../../services/ajax":293,"../../../services/snackbar":303,"../../../utils/validators":320,"../../button":5,"../../form":41,"../../form-group":40,react:"react"}],51:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("moment"),u=r(i),c=e("react"),d=r(c),f=e("./form-loading"),p=r(f),h=e("./form-locked"),m=r(h),b=e("./form"),v=r(b),y=e("../../username-history/root"),g=r(y),_=e("../../../index"),E=r(_),w=e("../../../reducers/username-history"),O=e("../../../reducers/users"),k=e("../../../services/ajax"),N=r(k),j=e("../../../services/page-title"),x=r(j),P=e("../../../services/snackbar"),C=r(P),S=e("../../../services/store"),T=r(S),M=function(e){function t(e){n(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onComplete=function(e,t,r){a.setState({options:r}),T["default"].dispatch((0,w.addNameChange)({username:e,slug:t},a.props.user,a.props.user)),T["default"].dispatch((0,O.updateUsername)(a.props.user,e,t)),C["default"].success(gettext("Your username has been changed successfully."))},a.state={isLoaded:!1,options:null},a}return s(t,e),l(t,[{key:"componentDidMount",value:function(){var e=this;x["default"].set({title:gettext("Change username"),parent:gettext("Change your options")}),Promise.all([N["default"].get(this.props.user.api_url.username),N["default"].get(E["default"].get("USERNAME_CHANGES_API"),{user:this.props.user.id})]).then(function(t){T["default"].dispatch((0,w.hydrate)(t[1].results)),e.setState({isLoaded:!0,options:{changes_left:t[0].changes_left,length_min:t[0].length_min,length_max:t[0].length_max,next_on:t[0].next_on?(0,u["default"])(t[0].next_on):null}})})}},{key:"getChangeForm",value:function(){return this.state.isLoaded?this.state.options.changes_left>0?d["default"].createElement(v["default"],{user:this.props.user,options:this.state.options,complete:this.onComplete}):d["default"].createElement(m["default"],{options:this.state.options}):d["default"].createElement(p["default"],null)}},{key:"render",value:function(){return d["default"].createElement("div",null,this.getChangeForm(),d["default"].createElement(g["default"],{isLoaded:this.state.isLoaded,changes:this.props["username-history"]}))}}]),t}(d["default"].Component);a["default"]=M},{"../../../index":234,"../../../reducers/username-history":291,"../../../reducers/users":292,"../../../services/ajax":293,"../../../services/page-title":300,"../../../services/snackbar":303,"../../../services/store":304,"../../username-history/root":216,"./form":50,"./form-loading":48,"./form-locked":49,moment:"moment",react:"react"}],52:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("../button"),d=r(c),f=e("../form"),p=r(f),h=e("../form-group"),m=r(h),b=e("../select"),v=r(b),y=e("../yes-no-switch"),g=r(y),_=e("../../reducers/auth"),E=e("../../services/ajax"),w=r(E),O=e("../../services/page-title"),k=r(O),N=e("../../services/snackbar"),j=r(N),x=e("../../services/store"),P=r(x),C=function(e){function t(e){n(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={isLoading:!1,is_hiding_presence:e.user.is_hiding_presence,limits_private_thread_invites_to:e.user.limits_private_thread_invites_to,subscribe_to_started_threads:e.user.subscribe_to_started_threads,subscribe_to_replied_threads:e.user.subscribe_to_replied_threads,errors:{}},a.privateThreadInvitesChoices=[{value:0,icon:"help_outline",label:gettext("Everybody")},{value:1,icon:"done_all",label:gettext("Users I follow")},{value:2,icon:"highlight_off",label:gettext("Nobody")}],a.subscribeToChoices=[{value:0,icon:"star_border",label:gettext("No")},{value:1,icon:"star_half",label:gettext("Notify")},{value:2,icon:"star",label:gettext("Notify with e-mail")}],a}return s(t,e),l(t,[{key:"send",value:function(){return w["default"].post(this.props.user.api_url.options,{is_hiding_presence:this.state.is_hiding_presence,limits_private_thread_invites_to:this.state.limits_private_thread_invites_to,subscribe_to_started_threads:this.state.subscribe_to_started_threads,subscribe_to_replied_threads:this.state.subscribe_to_replied_threads})}},{key:"handleSuccess",value:function(){P["default"].dispatch((0,_.patch)({is_hiding_presence:this.state.is_hiding_presence,limits_private_thread_invites_to:this.state.limits_private_thread_invites_to,subscribe_to_started_threads:this.state.subscribe_to_started_threads,subscribe_to_replied_threads:this.state.subscribe_to_replied_threads})),j["default"].success(gettext("Your forum options have been changed."))}},{key:"handleError",value:function(e){400===e.status?j["default"].error(gettext("Please reload page and try again.")):j["default"].apiError(e)}},{key:"componentDidMount",value:function(){k["default"].set({title:gettext("Forum options"),parent:gettext("Change your options")})}},{key:"render",value:function(){return u["default"].createElement("form",{onSubmit:this.handleSubmit,className:"form-horizontal"},u["default"].createElement("div",{className:"panel panel-default panel-form"},u["default"].createElement("div",{className:"panel-heading"},u["default"].createElement("h3",{className:"panel-title"},gettext("Change forum options"))),u["default"].createElement("div",{className:"panel-body"},u["default"].createElement("fieldset",null,u["default"].createElement("legend",null,gettext("Privacy settings")),u["default"].createElement(m["default"],{label:gettext("Hide my presence"),helpText:gettext("If you hide your presence, only members with permission to see hidden users will see when you are online."),"for":"id_is_hiding_presence",labelClass:"col-sm-4",controlClass:"col-sm-8"},u["default"].createElement(g["default"],{id:"id_is_hiding_presence",disabled:this.state.isLoading,iconOn:"visibility_off",iconOff:"visibility",labelOn:gettext("Hide my presence from other users"),labelOff:gettext("Show my presence to other users"),onChange:this.bindInput("is_hiding_presence"),value:this.state.is_hiding_presence})),u["default"].createElement(m["default"],{label:gettext("Private thread invitations"),"for":"id_limits_private_thread_invites_to",labelClass:"col-sm-4",controlClass:"col-sm-8"},u["default"].createElement(v["default"],{id:"id_limits_private_thread_invites_to",disabled:this.state.isLoading,onChange:this.bindInput("limits_private_thread_invites_to"),value:this.state.limits_private_thread_invites_to,choices:this.privateThreadInvitesChoices}))),u["default"].createElement("fieldset",null,u["default"].createElement("legend",null,gettext("Automatic subscriptions")),u["default"].createElement(m["default"],{label:gettext("Threads I start"),"for":"id_subscribe_to_started_threads",labelClass:"col-sm-4",controlClass:"col-sm-8"},u["default"].createElement(v["default"],{id:"id_subscribe_to_started_threads",disabled:this.state.isLoading,onChange:this.bindInput("subscribe_to_started_threads"),value:this.state.subscribe_to_started_threads,choices:this.subscribeToChoices})),u["default"].createElement(m["default"],{label:gettext("Threads I reply to"),"for":"id_subscribe_to_replied_threads",labelClass:"col-sm-4",controlClass:"col-sm-8"},u["default"].createElement(v["default"],{id:"id_subscribe_to_replied_threads",disabled:this.state.isLoading,onChange:this.bindInput("subscribe_to_replied_threads"),value:this.state.subscribe_to_replied_threads,choices:this.subscribeToChoices})))),u["default"].createElement("div",{className:"panel-footer"},u["default"].createElement("div",{className:"row"},u["default"].createElement("div",{className:"col-sm-8 col-sm-offset-4"},u["default"].createElement(d["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Save changes")))))))}}]),t}(p["default"]);a["default"]=C},{"../../reducers/auth":279,"../../services/ajax":293,"../../services/page-title":300,"../../services/snackbar":303,"../../services/store":304,"../button":5,"../form":41,"../form-group":40,"../select":152,"../yes-no-switch":233,react:"react"}],53:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.CompactNav=a.SideNav=void 0;var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("react-router"),d=e("../li"),f=r(d),p=e("../../index");r(p),a.SideNav=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"render",value:function(){var e=this;return u["default"].createElement("div",{className:"list-group nav-side"},this.props.options.map(function(t){return u["default"].createElement(c.Link,{to:e.props.baseUrl+t.component+"/",className:"list-group-item",activeClassName:"active",key:t.component},u["default"].createElement("span",{className:"material-icon"},t.icon),t.name)}))}}]),t}(u["default"].Component),a.CompactNav=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"render",value:function(){var e=this;return u["default"].createElement("ul",{className:"dropdown-menu",role:"menu"},this.props.options.map(function(t){return u["default"].createElement(f["default"],{path:e.props.baseUrl+t.component+"/",key:t.component},u["default"].createElement(c.Link,{to:e.props.baseUrl+t.component+"/",onClick:e.props.hideNav},u["default"].createElement("span",{className:"material-icon"},t.icon),t.name))}))}}]),t}(u["default"].Component)},{"../../index":234,"../li":42,react:"react","react-router":"react-router"}],54:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l(e){return{tick:e.tick.tick,user:e.auth.user,"username-history":e["username-history"]}}function i(){return[{path:N["default"].get("USERCP_URL")+"forum-options/",component:(0,f.connect)(l)(v["default"])},{path:N["default"].get("USERCP_URL")+"change-username/",component:(0,f.connect)(l)(g["default"])},{path:N["default"].get("USERCP_URL")+"sign-in-credentials/",component:(0,f.connect)(l)(E["default"])}]}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}();a.select=l,a.paths=i;var c=e("react"),d=r(c),f=e("react-redux"),p=e("../dropdown-toggle"),h=r(p),m=e("./navs"),b=e("./forum-options"),v=r(b),y=e("./change-username/root"),g=r(y),_=e("./sign-in-credentials/root"),E=r(_),w=e("../with-dropdown"),O=r(w),k=e("../../index"),N=r(k),j=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),u(t,[{key:"render",value:function(){return d["default"].createElement("div",{className:"page page-options"},d["default"].createElement("div",{className:"page-header"},d["default"].createElement("div",{className:"container"},d["default"].createElement("h1",{className:"pull-left"},gettext("Change your options")),d["default"].createElement(h["default"],{toggleNav:this.toggleNav,dropdown:this.state.dropdown}))),d["default"].createElement("div",{className:this.getCompactNavClassName()},d["default"].createElement(m.CompactNav,{options:N["default"].get("USER_OPTIONS"),baseUrl:N["default"].get("USERCP_URL"),hideNav:this.hideNav})),d["default"].createElement("div",{className:"container"},d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-md-3 hidden-xs hidden-sm"},d["default"].createElement(m.SideNav,{options:N["default"].get("USER_OPTIONS"),baseUrl:N["default"].get("USERCP_URL")})),d["default"].createElement("div",{className:"col-md-9"},this.props.children))))}}]),t}(O["default"]);a["default"]=j},{"../../index":234,"../dropdown-toggle":19,"../with-dropdown":232,"./change-username/root":51,"./forum-options":52,"./navs":53,"./sign-in-credentials/root":57,react:"react","react-redux":"react-redux"}],55:[function(e,t,a){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function n(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 s(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 i=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),u=e("react"),c=n(u),d=e("../../button"),f=n(d),p=e("../../form"),h=n(p),m=e("../../form-group"),b=n(m),v=e("../../../services/ajax"),y=n(v),g=e("../../../services/snackbar"),_=n(g),E=e("../../../utils/validators"),w=r(E),O=function(e){function t(e){o(this,t);var a=s(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={new_email:"",password:"",validators:{new_email:[w.email()],password:[]},isLoading:!1},a}return l(t,e),i(t,[{key:"clean",value:function(){var e=this.validate(),t=[this.state.new_email.trim().length,this.state.password.trim().length];return t.indexOf(0)!==-1?(_["default"].error(gettext("Fill out all fields.")),!1):!e.new_email||(_["default"].error(e.new_email[0]),!1)}},{key:"send",value:function(){return y["default"].post(this.props.user.api_url.change_email,{new_email:this.state.new_email,password:this.state.password})}},{key:"handleSuccess",value:function(e){this.setState({new_email:"",password:""}),_["default"].success(e.detail)}},{key:"handleError",value:function(e){400===e.status?e.new_email?_["default"].error(e.new_email):_["default"].error(e.password):_["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement("form",{onSubmit:this.handleSubmit,className:"form-horizontal"},c["default"].createElement("input",{type:"type",style:{display:"none"}}),c["default"].createElement("input",{type:"password",style:{display:"none"}}),c["default"].createElement("div",{className:"panel panel-default panel-form"},c["default"].createElement("div",{className:"panel-heading"},c["default"].createElement("h3",{className:"panel-title"},gettext("Change e-mail address"))),c["default"].createElement("div",{className:"panel-body"},c["default"].createElement(b["default"],{label:gettext("New e-mail"),"for":"id_new_email",labelClass:"col-sm-4",controlClass:"col-sm-8"},c["default"].createElement("input",{type:"text",id:"id_new_email",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("new_email"),value:this.state.new_email})),c["default"].createElement("hr",null),c["default"].createElement(b["default"],{label:gettext("Your current password"),"for":"id_password",labelClass:"col-sm-4",controlClass:"col-sm-8"},c["default"].createElement("input",{type:"password",id:"id_password",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password}))),c["default"].createElement("div",{className:"panel-footer"},c["default"].createElement("div",{className:"row"},c["default"].createElement("div",{className:"col-sm-8 col-sm-offset-4"},c["default"].createElement(f["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Change e-mail")))))))}}]),t}(h["default"]);a["default"]=O},{"../../../services/ajax":293,"../../../services/snackbar":303,"../../../utils/validators":320,"../../button":5,"../../form":41,"../../form-group":40,react:"react"}],56:[function(e,t,a){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function n(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 s(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 i=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),u=e("react"),c=n(u),d=e("../../button"),f=n(d),p=e("../../form"),h=n(p),m=e("../../form-group"),b=n(m),v=e("../../../index"),y=n(v),g=e("../../../services/ajax"),_=n(g),E=e("../../../services/snackbar"),w=n(E),O=e("../../../utils/validators"),k=r(O),N=function(e){function t(e){o(this,t);var a=s(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={new_password:"",repeat_password:"",password:"",validators:{new_password:[k.passwordMinLength(y["default"].get("SETTINGS"))],repeat_password:[],password:[]},isLoading:!1},a}return l(t,e),i(t,[{key:"clean",value:function(){var e=this.validate(),t=[this.state.new_password.trim().length,this.state.repeat_password.trim().length,this.state.password.trim().length];return t.indexOf(0)!==-1?(w["default"].error(gettext("Fill out all fields.")),!1):e.new_password?(w["default"].error(e.new_password[0]),!1):this.state.new_password.trim()===this.state.repeat_password.trim()||(w["default"].error(gettext("New passwords are different.")),!1)}},{key:"send",value:function(){return _["default"].post(this.props.user.api_url.change_password,{new_password:this.state.new_password,password:this.state.password})}},{key:"handleSuccess",value:function(e){this.setState({new_password:"",repeat_password:"",password:""}),w["default"].success(e.detail)}},{key:"handleError",value:function(e){400===e.status?e.new_password?w["default"].error(e.new_password):w["default"].error(e.password):w["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement("form",{onSubmit:this.handleSubmit,className:"form-horizontal"},c["default"].createElement("input",{type:"type",style:{display:"none"}}),c["default"].createElement("input",{type:"password",style:{display:"none"}}),c["default"].createElement("div",{className:"panel panel-default panel-form"},c["default"].createElement("div",{className:"panel-heading"},c["default"].createElement("h3",{className:"panel-title"
 },gettext("Change password"))),c["default"].createElement("div",{className:"panel-body"},c["default"].createElement(b["default"],{label:gettext("New password"),"for":"id_new_password",labelClass:"col-sm-4",controlClass:"col-sm-8"},c["default"].createElement("input",{type:"password",id:"id_new_password",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("new_password"),value:this.state.new_password})),c["default"].createElement(b["default"],{label:gettext("Repeat password"),"for":"id_repeat_password",labelClass:"col-sm-4",controlClass:"col-sm-8"},c["default"].createElement("input",{type:"password",id:"id_repeat_password",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("repeat_password"),value:this.state.repeat_password})),c["default"].createElement("hr",null),c["default"].createElement(b["default"],{label:gettext("Your current password"),"for":"id_password",labelClass:"col-sm-4",controlClass:"col-sm-8"},c["default"].createElement("input",{type:"password",id:"id_password",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password}))),c["default"].createElement("div",{className:"panel-footer"},c["default"].createElement("div",{className:"row"},c["default"].createElement("div",{className:"col-sm-8 col-sm-offset-4"},c["default"].createElement(f["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Change password")))))))}}]),t}(h["default"]);a["default"]=N},{"../../../index":234,"../../../services/ajax":293,"../../../services/snackbar":303,"../../../utils/validators":320,"../../button":5,"../../form":41,"../../form-group":40,react:"react"}],57:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("./change-email"),d=r(c),f=e("./change-password"),p=r(f),h=e("../../../index"),m=r(h),b=e("../../../services/page-title"),v=r(b),y=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"componentDidMount",value:function(){v["default"].set({title:gettext("Change email or password"),parent:gettext("Change your options")})}},{key:"render",value:function(){return u["default"].createElement("div",null,u["default"].createElement(d["default"],{user:this.props.user}),u["default"].createElement(p["default"],{user:this.props.user}),u["default"].createElement("p",{className:"message-line"},u["default"].createElement("span",{className:"material-icon"},"warning"),u["default"].createElement("a",{href:m["default"].get("FORGOTTEN_PASSWORD_URL")},gettext("Change forgotten password"))))}}]),t}(u["default"].Component);a["default"]=y},{"../../../index":234,"../../../services/page-title":300,"./change-email":55,"./change-password":56,react:"react"}],58:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("../utils/string-count"),d=r(c),f=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"getClassName",value:function(){return this.props.copy&&this.props.copy.length&&1===(0,d["default"])(this.props.copy,"<p")&&this.props.copy.indexOf("<br")===-1?"page-lead lead":"page-lead"}},{key:"render",value:function(){return this.props.copy&&this.props.copy.length?u["default"].createElement("div",{className:this.getClassName(),dangerouslySetInnerHTML:{__html:this.props.copy}}):null}}]),t}(u["default"].Component);a["default"]=f},{"../utils/string-count":319,react:"react"}],59:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("./loader"),d=r(c),f=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"render",value:function(){return u["default"].createElement("div",{className:"panel-body panel-body-loading"},u["default"].createElement(d["default"],{className:"loader loader-spaced"}))}}]),t}(u["default"].Component);a["default"]=f},{"./loader":43,react:"react"}],60:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:"getHelpText",value:function(){return this.props.helpText?u["default"].createElement("p",{className:"help-block"},this.props.helpText):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"panel-body panel-message-body"},u["default"].createElement("div",{className:"message-icon"},u["default"].createElement("span",{className:"material-icon"},this.props.icon||"info_outline")),u["default"].createElement("div",{className:"message-body"},u["default"].createElement("p",{className:"lead"},this.props.message),this.getHelpText()))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],61:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}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 o(e,t){h["default"].patch(e.api.index,[{op:"remove",path:"participants",value:t.id}]).then(function(){b["default"].success(gettext("You have left this thread.")),window.setTimeout(function(){window.location=f["default"].get("PRIVATE_THREADS_URL")},3e3)},function(e){b["default"].apiError(e)})}function s(e,t){h["default"].patch(e.api.index,[{op:"remove",path:"participants",value:t.id},{op:"add",path:"acl",value:1}]).then(function(e){y["default"].dispatch((0,c.updateAcl)(e)),y["default"].dispatch(u.replace(e.participants));var a=gettext("%(user)s has been removed from this thread.");b["default"].success(interpolate(a,{user:t.username},!0))},function(e){b["default"].apiError(e)})}function l(e,t){h["default"].patch(e.api.index,[{op:"replace",path:"owner",value:t.id},{op:"add",path:"acl",value:1}]).then(function(e){y["default"].dispatch((0,c.updateAcl)(e)),y["default"].dispatch(u.replace(e.participants));var a=gettext("%(user)s has been made new thread owner.");b["default"].success(interpolate(a,{user:t.username},!0))},function(e){b["default"].apiError(e)})}Object.defineProperty(a,"__esModule",{value:!0}),a.leave=o,a.remove=s,a.changeOwner=l;var i=e("../../../reducers/participants"),u=n(i),c=e("../../../reducers/thread"),d=e("../../.."),f=r(d),p=e("../../../services/ajax"),h=r(p),m=e("../../../services/snackbar"),b=r(m),v=e("../../../services/store"),y=r(v)},{"../../..":234,"../../../reducers/participants":280,"../../../reducers/thread":288,"../../../services/ajax":293,"../../../services/snackbar":303,"../../../services/store":304}],62:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(e){return e.is_owner?s["default"].createElement("li",{className:"participant-owner"},s["default"].createElement("span",{className:"material-icon"},"grade"),gettext("Owner")):null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.participant;return s["default"].createElement("div",{className:"col-md-3 participant-card"},s["default"].createElement("a",{className:"avatar-link",href:t.url},s["default"].createElement(f["default"],{user:t,size:"50"})),s["default"].createElement("div",{className:"participant-profile"},s["default"].createElement("a",{className:"item-title",href:t.url},t.username),s["default"].createElement("ul",{className:"list-unstyled list-inline"},s["default"].createElement(n,t),s["default"].createElement(i["default"],e),s["default"].createElement(c["default"],e))))},a.OwnerBadge=n;var o=e("react"),s=r(o),l=e("./make-owner"),i=r(l),u=e("./remove"),c=r(u),d=e("../../avatar"),f=r(d)},{"../../avatar":3,"./make-owner":64,"./remove":65,react:"react"}],63:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("div",{className:"participants-cards"},(0,u["default"])(e.participants,4).map(function(t){var a=t.map(function(e){return e.id}).join("_");return o["default"].createElement(l["default"],{key:a,participants:t,thread:e.thread,user:e.user,userIsOwner:e.userIsOwner})}))};var n=e("react"),o=r(n),s=e("./row"),l=r(s),i=e("../../../utils/batch"),u=r(i)},{"../../../utils/batch":307,"./row":66,react:"react"}],64:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("./actions"),d=function(e){function t(e){n(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onClick=function(){var e=!1;if(a.isUser)e=confirm(gettext("Are you sure you want to take over this thread?"));else{var t=gettext("Are you sure you want to change thread owner to %(user)s?");e=confirm(interpolate(t,{user:a.props.participant.username},!0))}e&&(0,c.changeOwner)(a.props.thread,a.props.participant)},a.isUser=e.participant.id===e.user.id,a}return s(t,e),l(t,[{key:"render",value:function(){return this.props.participant.is_owner?null:this.props.thread.acl.can_change_owner?u["default"].createElement("li",null,u["default"].createElement("button",{type:"button",onClick:this.onClick,className:"btn-link btn-sm"},gettext("Make owner"))):null}}]),t}(u["default"].Component);a["default"]=d},{"./actions":61,react:"react"}],65:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("./actions"),d=function(e){function t(e){n(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onClick=function(){var e=!1;if(a.isUser)e=confirm(gettext("Are you sure you want to leave this thread?"));else{var t=gettext("Are you sure you want to remove %(user)s from this thread?");e=confirm(interpolate(t,{user:a.props.participant.username},!0))}e&&(a.isUser?(0,c.leave)(a.props.thread,a.props.participant):(0,c.remove)(a.props.thread,a.props.participant))},a.isUser=e.participant.id===e.user.id,a}return s(t,e),l(t,[{key:"render",value:function(){var e=this.props.user.acl.can_moderate_private_threads;return this.props.userIsOwner||this.isUser||e?u["default"].createElement("li",null,u["default"].createElement("button",{className:"btn-link btn-sm",onClick:this.onClick,type:"button"},this.isUser?gettext("Leave thread"):gettext("Remove"))):null}}]),t}(u["default"].Component);a["default"]=d},{"./actions":61,react:"react"}],66:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("div",{className:"row"},e.participants.map(function(t){return o["default"].createElement(l["default"],{key:t.id,participant:t,thread:e.thread,user:e.user,userIsOwner:e.userIsOwner})}))};var n=e("react"),o=r(n),s=e("./card"),l=r(s)},{"./card":62,react:"react"}],67:[function(e,t,a){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function n(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){return t[0].id===e.id}Object.defineProperty(a,"__esModule",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e};a["default"]=function(e){return e.participants.length?i["default"].createElement("div",{className:"panel panel-default panel-participants"},i["default"].createElement("div",{className:"panel-body"},i["default"].createElement(c["default"],s({userIsOwner:o(e.user,e.participants)},e)),i["default"].createElement("p",null,f.getParticipantsCopy(e.participants)))):null},a.getUserIsOwner=o;var l=e("react"),i=n(l),u=e("./cards-list"),c=n(u),d=e("./utils"),f=r(d)},{"./cards-list":63,"./utils":68,react:"react"}],68:[function(e,t,a){"use strict";function r(e){var t=e.length,a=ngettext("This thread has %(users)s participant.","This thread has %(users)s participants.",t);return interpolate(a,{users:t},!0)}Object.defineProperty(a,"__esModule",{value:!0}),a.getParticipantsCopy=r},{}],69:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.LABELS=a.STYLES=void 0;var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),i=e("react"),u=r(i),c=e("../services/zxcvbn"),d=r(c),f=a.STYLES=["progress-bar-danger","progress-bar-warning","progress-bar-warning","progress-bar-primary","progress-bar-success"],p=a.LABELS=[gettext("Entered password is very weak."),gettext("Entered password is weak."),gettext("Entered password is average."),gettext("Entered password is strong."),gettext("Entered password is very strong.")],h=function(e){function t(e){n(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a._score=0,a._password=null,a._inputs=[],a}return s(t,e),l(t,[{key:"getScore",value:function(e,t){var a=this,r=!1;return e.trim()!==this._password&&(r=!0),t.length!==this._inputs.length?r=!0:t.map(function(e,t){e.trim()!==a._inputs[t]&&(r=!0)}),r&&(this._score=d["default"].scorePassword(e,t),this._password=e.trim(),this._inputs=t.map(function(e){return e.trim()})),this._score}},{key:"render",value:function(){var e=this.getScore(this.props.password,this.props.inputs);return u["default"].createElement("div",{className:"help-block password-strength"},u["default"].createElement("div",{className:"progress"},u["default"].createElement("div",{className:"progress-bar "+f[e],style:{width:20+20*e+"%"},role:"progress-bar","aria-valuenow":e,"aria-valuemin":"0","aria-valuemax":"4"},u["default"].createElement("span",{className:"sr-only"},p[e]))),u["default"].createElement("p",{className:"text-small"},p[e]))}}]),t}(u["default"].Component);a["default"]=h},{"../services/zxcvbn":305,react:"react"}],70:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l(){for(var e="";12!=e.length;)e=Math.random().toString(36).replace(/[^a-zA-Z0-9]+/g,"").substr(1,12);return e}Object.defineProperty(a,"__esModule",{value:!0}),a.PollChoice=void 0;var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}();a.generateRandomHash=l;var u=e("react"),c=r(u),d=function(e){function t(){var e,a,r,s;n(this,t);for(var i=arguments.length,u=Array(i),c=0;c<i;c++)u[c]=arguments[c];return a=r=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.onAdd=function(){var e=r.props.choices.slice();e.push({hash:l(),label:""}),r.props.setChoices(e)},r.onChange=function(e,t){var a=r.props.choices.map(function(a){return a.hash===e&&(a.label=t),a});r.props.setChoices(a)},r.onDelete=function(e){var t=r.props.choices.filter(function(t){return t.hash!==e});r.props.setChoices(t)},s=a,o(r,s)}return s(t,e),i(t,[{key:"render",value:function(){var e=this;return c["default"].createElement("div",{className:"poll-choices-control"},c["default"].createElement("ul",{className:"list-group"},this.props.choices.map(function(t){return c["default"].createElement(f,{canDelete:e.props.choices.length>2,choice:t,disabled:e.props.disabled,key:t.hash,onChange:e.onChange,onDelete:e.onDelete})})),c["default"].createElement("button",{className:"btn btn-default btn-sm",disabled:this.props.disabled,onClick:this.onAdd,type:"button"},gettext("Add choice")))}}]),t}(c["default"].Component);a["default"]=d;var f=a.PollChoice=function(e){function t(){var e,a,r,s;n(this,t);for(var l=arguments.length,i=Array(l),u=0;u<l;u++)i[u]=arguments[u];return a=r=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),r.onChange=function(e){r.props.onChange(r.props.choice.hash,e.target.value)},r.onDelete=function(){var e=confirm(gettext("Are you sure you want to delete this choice?"));e&&r.props.onDelete(r.props.choice.hash)},s=a,o(r,s)}return s(t,e),i(t,[{key:"render",value:function(){return c["default"].createElement("li",{className:"list-group-item"},c["default"].createElement("button",{className:"btn",disabled:!this.props.canDelete||this.props.disabled,onClick:this.onDelete,title:gettext("Delete this choice"),type:"button"},c["default"].createElement("span",{className:"material-icon"},"close")),c["default"].createElement("input",{disabled:this.props.disabled,maxlength:"255",placeholder:gettext("choice label"),type:"text",onChange:this.onChange,value:this.props.choice.label}))}}]),t}(c["default"].Component)},{react:"react"}],71:[function(e,t,a){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function n(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 s(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 i(e){return e.isEdit?null:d["default"].createElement(g["default"],{label:gettext("Make voting public"),helpText:gettext("Making voting public will allow everyone to access detailed list of votes, showing which users voted for which choices and at which times. This option can't be changed after poll's creation. Moderators may see voting details for all polls."),"for":"id_is_public",labelClass:"col-sm-4",controlClass:"col-sm-8"},d["default"].createElement(E["default"],{id:"id_is_public",disabled:e.disabled,iconOn:"visibility",iconOff:"visibility_off",labelOn:gettext("Votes are public"),labelOff:gettext("Votes are hidden"),onChange:e.bindInput("is_public"),value:e.value}))}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}();a.PollPublicSwitch=i;var c=e("react"),d=n(c),f=e("./choices-control"),p=n(f),h=e("../../button"),m=n(h),b=e("../../form"),v=n(b),y=e("../../form-group"),g=n(y),_=e("../../yes-no-switch"),E=n(_),w=e("../../../reducers/poll"),O=r(w),k=e("../../../services/ajax"),N=n(k),j=e("../../../services/posting"),x=n(j),P=e("../../../services/snackbar"),C=n(P),S=e("../../../services/store"),T=n(S),M=function(e){function t(e){o(this,t);var a=s(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));a.setChoices=function(e){var t=Object.assign({},t,{choices:null});a.setState({choices:e,errors:t})},a.onCancel=function(){var e=confirm(gettext("Are you sure you want to discard poll?"));e&&x["default"].close()};var r=e.poll||{question:"",choices:[{hash:"choice-10000",label:""},{hash:"choice-20000",label:""}],length:0,allowed_choices:1,allow_revotes:0,is_public:0};return a.state={isLoading:!1,isEdit:!!r.question,question:r.question,choices:r.choices,length:r.length,allowed_choices:r.allowed_choices,allow_revotes:r.allow_revotes,is_public:r.is_public,validators:{question:[],choices:[],length:[],allowed_choices:[]},errors:{}},a}return l(t,e),u(t,[{key:"send",value:function(){var e={question:this.state.question,choices:this.state.choices,length:this.state.length,allowed_choices:this.state.allowed_choices,allow_revotes:this.state.allow_revotes,is_public:this.state.is_public};return this.state.isEdit?N["default"].put(this.props.poll.api.index,e):N["default"].post(this.props.thread.api.poll,e)}},{key:"handleSuccess",value:function(e){T["default"].dispatch(O.replace(e)),this.state.isEdit?C["default"].success(gettext("Poll has been edited.")):C["default"].success(gettext("Poll has been posted.")),x["default"].close()}},{key:"handleError",value:function(e){400===e.status?(e.non_field_errors&&(e.allowed_choices=e.non_field_errors),this.setState({errors:Object.assign({},e)}),C["default"].error(gettext("Form contains errors."))):C["default"].apiError(e)}},{key:"render",value:function(){return d["default"].createElement("div",{className:"poll-form"},d["default"].createElement("div",{className:"container"},d["default"].createElement("form",{onSubmit:this.handleSubmit,className:"form-horizontal"},d["default"].createElement("div",{className:"panel panel-default panel-form"},d["default"].createElement("div",{className:"panel-body"},d["default"].createElement("fieldset",null,d["default"].createElement("legend",null,gettext("Question and choices")),d["default"].createElement(g["default"],{label:gettext("Poll question"),"for":"id_questions",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.question},d["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,id:"id_questions",onChange:this.bindInput("question"),type:"text",maxlength:"255",value:this.state.question})),d["default"].createElement(g["default"],{label:gettext("Available choices"),labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.choices},d["default"].createElement(p["default"],{choices:this.state.choices,disabled:this.state.isLoading,setChoices:this.setChoices}))),d["default"].createElement("fieldset",null,d["default"].createElement("legend",null,gettext("Voting")),d["default"].createElement(g["default"],{label:gettext("Poll length"),helpText:gettext("Enter number of days for which voting in this poll should be possible or zero to run this poll indefinitely."),"for":"id_length",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.length},d["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,id:"id_length",onChange:this.bindInput("length"),type:"text",value:this.state.length})),d["default"].createElement(g["default"],{label:gettext("Allowed choices"),"for":"id_allowed_choices",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.allowed_choices},d["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,id:"id_allowed_choices",onChange:this.bindInput("allowed_choices"),type:"text",maxlength:"255",value:this.state.allowed_choices})),d["default"].createElement(g["default"],{label:gettext("Allow vote changes"),"for":"id_allow_revotes",labelClass:"col-sm-4",controlClass:"col-sm-8"},d["default"].createElement(E["default"],{id:"id_allow_revotes",disabled:this.state.isLoading,iconOn:"check",iconOff:"close",labelOn:gettext("Allow participants to change their vote"),labelOff:gettext("Don't allow participants to change their vote"),onChange:this.bindInput("allow_revotes"),value:this.state.allow_revotes})),d["default"].createElement(i,{bindInput:this.bindInput,disabled:this.state.isLoading,isEdit:this.state.isEdit,value:this.state.is_public}))),d["default"].createElement("div",{className:"panel-footer"},d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-sm-8 col-sm-offset-4"},d["default"].createElement(m["default"],{className:"btn-primary",loading:this.state.isLoading},this.state.isEdit?gettext("Save changes"):gettext("Post poll"))," ",d["default"].createElement("button",{className:"btn btn-default",disabled:this.state.isLoading,onClick:this.onCancel,type:"button"},gettext("Cancel")))))))))}}]),t}(v["default"]);a["default"]=M},{"../../../reducers/poll":281,"../../../services/ajax":293,"../../../services/posting":302,"../../../services/snackbar":303,"../../../services/store":304,"../../button":5,"../../form":41,"../../form-group":40,"../../yes-no-switch":233,"./choices-control":70,react:"react"}],72:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a.PollForm=a.Poll=void 0;var n=e("./poll"),o=r(n),s=e("./form"),l=r(s);a.Poll=o["default"],a.PollForm=l["default"]},{"./form":71,"./poll":74}],73:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(e){var t=interpolate((0,h["default"])(gettext("Posted by %(poster)s %(posted_on)s.")),{poster:o(e.poll),posted_on:s(e.poll)},!0);return f["default"].createElement("li",{className:"poll-info-creation",dangerouslySetInnerHTML:{__html:t}})}function o(e){return e.url.poster?interpolate(v,{url:(0,h["default"])(e.url.poster),user:(0,h["default"])(e.poster_name)},!0):interpolate(b,{user:(0,h["default"])(e.poster_name)},!0)}function s(e){return interpolate(m,{absolute:(0,h["default"])(e.posted_on.format("LLL")),relative:(0,h["default"])(e.posted_on.fromNow())},!0)}function l(e){if(!e.poll.length)return null;var t=interpolate((0,h["default"])(gettext("Voting ends %(ends_on)s.")),{ends_on:i(e.poll)},!0);return f["default"].createElement("li",{className:"poll-info-ends-on",dangerouslySetInnerHTML:{__html:t}})}function i(e){return interpolate(m,{absolute:(0,h["default"])(e.endsOn.format("LLL")),relative:(0,h["default"])(e.endsOn.fromNow())},!0)}function u(e){
 var t=ngettext("%(votes)s vote","%(votes)s votes",e.votes),a=interpolate(t,{votes:e.votes},!0);return f["default"].createElement("li",{className:"poll-info-votes"},a)}function c(e){return e.poll.is_public?f["default"].createElement("li",{className:"poll-info-public"},gettext("Votes are public.")):null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return f["default"].createElement("ul",{className:"list-unstyled list-inline poll-details"},f["default"].createElement(n,{poll:e.poll}),f["default"].createElement(l,{poll:e.poll}),f["default"].createElement(u,{votes:e.poll.votes}),f["default"].createElement(c,{poll:e.poll}))},a.PollCreation=n,a.getPoster=o,a.getPostedOn=s,a.PollLength=l,a.getEndsOn=i,a.PollVotes=u,a.PollIsPublic=c;var d=e("react"),f=r(d),p=e("../../utils/escape-html"),h=r(p),m='<abbr title="%(absolute)s">%(relative)s</abbr>',b='<span class="item-title">%(user)s</span>',v='<a href="%(url)s" class="item-title">%(user)s</a>'},{"../../utils/escape-html":310,react:"react"}],74:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l(e){return!!e.length&&(0,p["default"])().isAfter(e.endsOn)}Object.defineProperty(a,"__esModule",{value:!0});var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},u=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}();a.getIsPollOver=l;var c=e("react"),d=r(c),f=e("moment"),p=r(f),h=e("./results"),m=r(h),b=e("./voting"),v=r(b),y=function(e){function t(e){n(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));a.showResults=function(){a.setState({showResults:!0})},a.showVoting=function(){a.setState({showResults:!1})};var r=!0;return e.user.id&&!e.poll.hasSelectedChoices&&(r=!1),a.state={showResults:r},a}return s(t,e),u(t,[{key:"render",value:function(){if(!this.props.thread.poll)return null;var e=l(this.props.poll);return e||!this.props.poll.acl.can_vote||this.state.showResults?d["default"].createElement(m["default"],i({isPollOver:e,showVoting:this.showVoting},this.props)):d["default"].createElement(v["default"],i({showResults:this.showResults},this.props))}}]),t}(d["default"].Component);a["default"]=y},{"./results":76,"./voting":80,moment:"moment",react:"react"}],75:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(e){var t=0;return e.choice.votes&&e.poll.votes&&(t=Math.ceil(100*e.choice.votes/e.poll.votes)),u["default"].createElement("li",null,u["default"].createElement("ul",{className:"list-unstyled list-inline poll-chart"},u["default"].createElement("li",{className:"poll-char-label"},u["default"].createElement("strong",null,e.choice.label)),u["default"].createElement(o,{proc:t,votes:e.choice.votes}),u["default"].createElement(l,{selected:e.choice.selected})),u["default"].createElement("div",{className:"progress"},u["default"].createElement("div",{className:"progress-bar",role:"progressbar","aria-valuenow":t,"aria-valuemin":"0","aria-valuemax":"100",style:{width:t+"%"}},u["default"].createElement("span",{className:"sr-only"},s(e.votes,e.proc)))))}function o(e){return u["default"].createElement("li",{className:"poll-chart-votes"},s(e.votes,e.proc))}function s(e,t){var a=ngettext("%(votes)s vote, %(proc)s% of total.","%(votes)s votes, %(proc)s% of total.",e);return interpolate(a,{votes:e,proc:t},!0)}function l(e){return e.selected?u["default"].createElement("li",{className:"poll-chart-selected"},u["default"].createElement("span",{className:"material-icon"},"check_circle"),gettext("Your choice.")):null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return u["default"].createElement("ul",{className:"list-unstyled poll-choices-bars"},e.poll.choices.map(function(t){return u["default"].createElement(n,{choice:t,key:t.hash,poll:e.poll})}))},a.PollChoice=n,a.ChoiceVotes=o,a.getVotesLabel=s,a.UserChoice=l;var i=e("react"),u=r(i)},{react:"react"}],76:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("div",{className:"panel panel-default panel-poll"},o["default"].createElement("div",{className:"panel-body"},o["default"].createElement("h2",null,e.poll.question),o["default"].createElement(d["default"],{poll:e.poll}),o["default"].createElement(l["default"],{poll:e.poll}),o["default"].createElement(u["default"],{isPollOver:e.isPollOver,poll:e.poll,showVoting:e.showVoting,thread:e.thread})))};var n=e("react"),o=r(n),s=e("./chart"),l=r(s),i=e("./options"),u=r(i),c=e("../info"),d=r(c)},{"../info":73,"./chart":75,"./options":78,react:"react"}],77:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l(e){return e.isLoading?v["default"].createElement(O["default"],null):e.error?v["default"].createElement(E["default"],{icon:"error_outline",message:e.error}):v["default"].createElement(i,{data:e.data})}function i(e){return v["default"].createElement("div",{className:"modal-body"},v["default"].createElement("ul",{className:"list-unstyled votes-details"},e.data.map(function(e){return v["default"].createElement(u,h({key:e.hash},e))})))}function u(e){return v["default"].createElement("li",null,v["default"].createElement("h4",null,e.label),v["default"].createElement(c,{votes:e.votes}),v["default"].createElement(d,{voters:e.voters}),v["default"].createElement("hr",null))}function c(e){var t=ngettext("%(votes)s user has voted for this choice.","%(votes)s users have voted for this choice.",e.votes),a=interpolate(t,{votes:e.votes},!0);return v["default"].createElement("p",null,a)}function d(e){return e.voters.length?v["default"].createElement("ul",{className:"list-unstyled"},e.voters.map(function(e){return v["default"].createElement(f,h({key:e.slug},e))})):null}function f(e){return e.url?v["default"].createElement("li",null,v["default"].createElement("a",{className:"item-title",href:e.url},e.username)," ",v["default"].createElement(p,{voted_on:e.voted_on})):v["default"].createElement("li",null,v["default"].createElement("strong",null,e.username)," ",v["default"].createElement(p,{voted_on:e.voted_on}))}function p(e){return v["default"].createElement("abbr",{className:"text-muted",title:e.voted_on.format("LLL")},e.voted_on.fromNow())}Object.defineProperty(a,"__esModule",{value:!0});var h=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},m=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}();a.ModalBody=l,a.ChoicesList=i,a.ChoiceDetails=u,a.VotesCount=c,a.VotesList=d,a.Voter=f,a.VoteDate=p;var b=e("react"),v=r(b),y=e("moment"),g=r(y),_=e("../../modal-message"),E=r(_),w=e("../../modal-loader"),O=r(w),k=e("../../../services/ajax"),N=r(k),j=function(e){function t(e){n(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={isLoading:!0,error:null,data:[]},a}return s(t,e),m(t,[{key:"componentDidMount",value:function(){var e=this;N["default"].get(this.props.poll.api.votes).then(function(t){var a=t.map(function(e){return Object.assign({},e,{voters:e.voters.map(function(e){return Object.assign({},e,{voted_on:(0,g["default"])(e.voted_on)})})})});e.setState({isLoading:!1,data:a})},function(t){e.setState({isLoading:!1,error:t.detail})})}},{key:"render",value:function(){return v["default"].createElement("div",{className:"modal-dialog"+(this.state.error?" modal-message":" modal-sm"),role:"document"},v["default"].createElement("div",{className:"modal-content"},v["default"].createElement("div",{className:"modal-header"},v["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},v["default"].createElement("span",{"aria-hidden":"true"},"×")),v["default"].createElement("h4",{className:"modal-title"},gettext("Poll votes"))),v["default"].createElement(l,{data:this.state.data,error:this.state.error,isLoading:this.state.isLoading})))}}]),t}(v["default"].Component);a["default"]=j},{"../../../services/ajax":293,"../../modal-loader":46,"../../modal-message":47,moment:"moment",react:"react"}],78:[function(e,t,a){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function n(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 s(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 i(e,t,a){return a.is_public||t.can_delete||t.can_edit||t.can_see_votes||t.can_vote&&!e&&(!a.hasSelectedChoices||a.allow_revotes)}function u(e){var t=e.poll.acl.can_vote,a=!e.poll.hasSelectedChoices||e.poll.allow_revotes;return t&&a?f["default"].createElement("li",null,f["default"].createElement("button",{className:"btn btn-default",disabled:e.poll.isBusy,onClick:e.showVoting},gettext("Vote"))):null}Object.defineProperty(a,"__esModule",{value:!0}),a.Delete=a.Edit=a.SeeVotes=void 0;var c=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}();a["default"]=function(e){return i(e.isPollOver,e.poll.acl,e.poll)?f["default"].createElement("ul",{className:"list-unstyled list-inline poll-options"},f["default"].createElement(u,{isPollOver:e.isPollOver,poll:e.poll,showVoting:e.showVoting}),f["default"].createElement(C,{poll:e.poll}),f["default"].createElement(S,{poll:e.poll,thread:e.thread}),f["default"].createElement(T,{poll:e.poll})):null},a.isVisible=i,a.ChangeVote=u;var d=e("react"),f=n(d),p=e("./modal"),h=n(p),m=e("../../../reducers/poll"),b=r(m),v=e("../../../reducers/thread"),y=r(v),g=e("../../../services/ajax"),_=n(g),E=e("../../../services/modal"),w=n(E),O=e("../../../services/posting"),k=n(O),N=e("../../../services/snackbar"),j=n(N),x=e("../../../services/store"),P=n(x),C=a.SeeVotes=function(e){function t(){var e,a,r,n;o(this,t);for(var l=arguments.length,i=Array(l),u=0;u<l;u++)i[u]=arguments[u];return a=r=s(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),r.onClick=function(){w["default"].show(f["default"].createElement(h["default"],{poll:r.props.poll}))},n=a,s(r,n)}return l(t,e),c(t,[{key:"render",value:function(){var e=this.props.poll.is_public||this.props.poll.acl.can_see_votes;return e?f["default"].createElement("li",null,f["default"].createElement("button",{className:"btn btn-default",disabled:this.props.poll.isBusy,onClick:this.onClick},gettext("See votes"))):null}}]),t}(f["default"].Component),S=a.Edit=function(e){function t(){var e,a,r,n;o(this,t);for(var l=arguments.length,i=Array(l),u=0;u<l;u++)i[u]=arguments[u];return a=r=s(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),r.onClick=function(){k["default"].open({thread:r.props.thread,poll:r.props.poll,config:{mode:"POLL"}})},n=a,s(r,n)}return l(t,e),c(t,[{key:"render",value:function(){return this.props.poll.acl.can_edit?f["default"].createElement("li",null,f["default"].createElement("button",{className:"btn btn-default",disabled:this.props.poll.isBusy,onClick:this.onClick},gettext("Edit"))):null}}]),t}(f["default"].Component),T=a.Delete=function(e){function t(){var e,a,r,n;o(this,t);for(var l=arguments.length,i=Array(l),u=0;u<l;u++)i[u]=arguments[u];return a=r=s(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),r.onClick=function(){var e=confirm(gettext("Are you sure you want to delete this poll? This action is not reversible."));e&&(P["default"].dispatch(b.busy()),_["default"]["delete"](r.props.poll.api.index).then(r.handleSuccess,r.handleError))},r.handleSuccess=function(e){j["default"].success("Poll has been deleted"),P["default"].dispatch(b.remove()),P["default"].dispatch(y.updateAcl(e))},r.handleError=function(e){j["default"].apiError(e),P["default"].dispatch(b.release())},n=a,s(r,n)}return l(t,e),c(t,[{key:"render",value:function(){return this.props.poll.acl.can_delete?f["default"].createElement("li",null,f["default"].createElement("button",{className:"btn btn-default",disabled:this.props.poll.isBusy,onClick:this.onClick},gettext("Delete"))):null}}]),t}(f["default"].Component)},{"../../../reducers/poll":281,"../../../reducers/thread":288,"../../../services/ajax":293,"../../../services/modal":299,"../../../services/posting":302,"../../../services/snackbar":303,"../../../services/store":304,"./modal":77,react:"react"}],79:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(e){var t=ngettext("You can select %(choices)s choice.","You can select %(choices)s choices.",e.choicesLeft),a=interpolate(t,{choices:e.choicesLeft},!0);return l["default"].createElement("li",{className:"poll-help-choices-left"},a)}function o(e){return e.poll.allow_revotes?l["default"].createElement("li",{className:"poll-help-allow-revotes"},gettext("You can change your vote later.")):l["default"].createElement("li",{className:"poll-help-no-revotes"},gettext("Votes are final."))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return l["default"].createElement("ul",{className:"list-unstyled list-inline poll-help"},l["default"].createElement(n,{choicesLeft:e.choicesLeft}),l["default"].createElement(o,{poll:e.poll}))},a.PollChoicesLeft=n,a.PollAllowRevote=o;var s=e("react"),l=r(s),i=e("../../../utils/escape-html");r(i)},{"../../../utils/escape-html":310,react:"react"}],80:[function(e,t,a){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function n(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 s(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 i=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),u=e("react"),c=n(u),d=e("./help"),f=n(d),p=e("./select"),h=n(p),m=e("./utils"),b=e("../info"),v=n(b),y=e("../../button"),g=n(y),_=e("../../form"),E=n(_),w=e("../../../reducers/poll"),O=r(w),k=e("../../../services/ajax"),N=n(k),j=e("../../../services/snackbar"),x=n(j),P=e("../../../services/store"),C=n(P),S=function(e){function t(e){o(this,t);var a=s(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.toggleChoice=function(e){var t=(0,m.getChoiceFromHash)(a.state.choices,e),r=null;r=t.selected?a.deselectChoice(t,e):a.selectChoice(t,e),a.setState({choices:r,choicesLeft:(0,m.getChoicesLeft)(a.props.poll,r)})},a.selectChoice=function(e,t){var r=(0,m.getChoicesLeft)(a.props.poll,a.state.choices);if(!r)for(var n in a.state.choices.slice()){var o=a.state.choices[n];if(o.selected&&o.hash!=t){o.selected=!1;break}}return a.state.choices.map(function(e){return Object.assign({},e,{selected:e.hash==t||e.selected})})},a.deselectChoice=function(e,t){return a.state.choices.map(function(e){return Object.assign({},e,{selected:e.hash!=t&&e.selected})})},a.state={isLoading:!1,choices:e.poll.choices,choicesLeft:(0,m.getChoicesLeft)(e.poll,e.poll.choices)},a}return l(t,e),i(t,[{key:"clean",value:function(){return this.state.choicesLeft!==this.props.poll.allowed_choices||(x["default"].error(gettext("You need to select at least one choice")),!1)}},{key:"send",value:function(){var e=[];for(var t in this.state.choices.slice()){var a=this.state.choices[t];a.selected&&e.push(a.hash)}return N["default"].post(this.props.poll.api.votes,e)}},{key:"handleSuccess",value:function(e){C["default"].dispatch(O.replace(e)),x["default"].success(gettext("Your vote has been saved.")),this.props.showResults()}},{key:"handleError",value:function(e){400===e.status?x["default"].error(e.detail):x["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement("div",{className:"panel panel-default panel-poll"},c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"panel-body"},c["default"].createElement("h2",null,this.props.poll.question),c["default"].createElement(v["default"],{poll:this.props.poll}),c["default"].createElement(h["default"],{choices:this.state.choices,toggleChoice:this.toggleChoice}),c["default"].createElement(f["default"],{choicesLeft:this.state.choicesLeft,poll:this.props.poll})),c["default"].createElement("div",{className:"panel-footer"},c["default"].createElement(g["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Save your vote"))," ",c["default"].createElement("button",{className:"btn btn-default",disabled:this.state.isLoading,onClick:this.props.showResults,type:"button"},gettext("See results")))))}}]),t}(E["default"]);a["default"]=S},{"../../../reducers/poll":281,"../../../services/ajax":293,"../../../services/snackbar":303,"../../../services/store":304,"../../button":5,"../../form":41,"../info":73,"./help":79,"./select":81,"./utils":82,react:"react"}],81:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.ChoiceSelect=void 0;var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}();a["default"]=function(e){return u["default"].createElement("ul",{className:"list-unstyled poll-select-choices"},e.choices.map(function(t){return u["default"].createElement(c,{choice:t,key:t.hash,toggleChoice:e.toggleChoice})}))};var i=e("react"),u=r(i),c=a.ChoiceSelect=function(e){function t(){var e,a,r,s;n(this,t);for(var l=arguments.length,i=Array(l),u=0;u<l;u++)i[u]=arguments[u];return a=r=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),r.onClick=function(){r.props.toggleChoice(r.props.choice.hash)},s=a,o(r,s)}return s(t,e),l(t,[{key:"render",value:function(){return u["default"].createElement("li",{className:"poll-select-choice"},u["default"].createElement("button",{className:this.props.choice.selected?"btn btn-selected":"btn",onClick:this.onClick,type:"button"},u["default"].createElement("span",{className:"material-icon"},this.props.choice.selected?"check_circle":"check"),u["default"].createElement("strong",null,this.props.choice.label)))}}]),t}(u["default"].Component)},{react:"react"}],82:[function(e,t,a){"use strict";function r(e,t){for(var a in e){var r=e[a];if(r.hash===t)return r}return null}function n(e,t){var a=[];for(var r in t){var n=t[r];n.selected&&a.push(n)}return e.allowed_choices-a.length}Object.defineProperty(a,"__esModule",{value:!0}),a.getChoiceFromHash=r,a.getChoicesLeft=n},{}],83:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(e){return"?"===e.item[0]?null:i["default"].createElement("li",{className:o(e.item)},s(e.item))}function o(e){var t="diff-item";return"-"===e[0]?t+=" diff-item-sub":"+"===e[0]&&(t+=" diff-item-add"),t}function s(e){return e.substr(2)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return i["default"].createElement("div",{className:"modal-body post-changelog-diff"},i["default"].createElement("ul",{className:"list-unstyled"},e.diff.map(function(e,t){return i["default"].createElement(n,{item:e,key:t})})))},a.DiffItem=n,a.getItemClassName=o,a.cleanItem=s;var l=e("react"),i=r(l)},{react:"react"}],84:[function(e,t,a){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function n(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 s(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 i(e){return d["default"].createElement("div",{className:e.className||"modal-dialog",role:"document"},d["default"].createElement("div",{className:"modal-content"},d["default"].createElement("div",{className:"modal-header"},d["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},d["default"].createElement("span",{"aria-hidden":"true"},"×")),d["default"].createElement("h4",{className:"modal-title"},gettext("Post edits history"))),e.children))}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}();a.ModalDialog=i;var c=e("react"),d=n(c),f=e("./diff"),p=n(f),h=e("./toolbar"),m=n(h),b=e("./utils"),v=e("../modal-message"),y=n(v),g=e("../modal-loader"),_=n(g),E=e("../../reducers/post"),w=r(E),O=e("../../services/ajax"),k=n(O),N=e("../../services/modal"),j=n(N),x=e("../../services/snackbar"),P=n(x),C=e("../../services/store"),S=n(C),T=function(e){function t(e){o(this,t);var a=s(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.goToEdit=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;a.setState({isBusy:!0});var t=a.props.post.api.edits;null!==e&&(t+="?edit="+e),k["default"].get(t).then(function(e){a.setState({isReady:!0,isBusy:!1,edit:(0,b.hydrateEdit)(e)})},function(e){a.setState({isReady:!0,isBusy:!1,error:e.detail})})},a.revertEdit=function(e){if(!a.state.isBusy){var t=confirm(gettext("Are you sure you with to revert this post to the state from before this edit?"));if(t){a.setState({isBusy:!0});var r=a.props.post.api.edits+"?edit="+e;k["default"].post(r).then(function(e){var t=w.hydrate(e);S["default"].dispatch(w.patch(e,t)),P["default"].success(gettext("Post has been reverted to previous state.")),j["default"].hide()},function(e){P["default"].apiError(e),a.setState({isBusy:!1})})}}},a.state={isReady:!1,isBusy:!0,canRevert:e.post.acl.can_edit,error:null,edit:null},a}return l(t,e),u(t,[{key:"componentDidMount",value:function(){this.goToEdit()}},{key:"render",value:function(){return this.state.error?d["default"].createElement(i,{className:"modal-dialog modal-message"},d["default"].createElement(y["default"],{message:this.state.error})):this.state.isReady?d["default"].createElement(i,null,d["default"].createElement(m["default"],{canRevert:this.state.canRevert,disabled:this.state.isBusy,edit:this.state.edit,goToEdit:this.goToEdit,revertEdit:this.revertEdit}),d["default"].createElement(p["default"],{diff:this.state.edit.diff})):d["default"].createElement(i,null,d["default"].createElement(_["default"],null))}}]),t}(d["default"].Component);a["default"]=T},{"../../reducers/post":282,"../../services/ajax":293,"../../services/modal":299,"../../services/snackbar":303,"../../services/store":304,"../modal-loader":46,"../modal-message":47,"./diff":83,"./toolbar":85,"./utils":86,react:"react"}],85:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l(e){return h["default"].createElement(b["default"],{className:"btn-default btn-icon btn-sm pull-left",disabled:e.disabled||!e.edit.previous,onClick:e.onClick,title:gettext("See previous change")},h["default"].createElement("span",{className:"material-icon"},"chevron_left"))}function i(e){return h["default"].createElement(b["default"],{className:"btn-default btn-icon btn-sm pull-left",disabled:e.disabled||!e.edit.next,onClick:e.onClick,title:gettext("See previous change")},h["default"].createElement("span",{className:"material-icon"},"chevron_right"))}function u(e){return h["default"].createElement(b["default"],{className:"btn-default btn-icon btn-sm pull-left",disabled:e.disabled||!e.edit.next,onClick:e.onClick,title:gettext("See previous change")},h["default"].createElement("span",{className:"material-icon"},"last_page"))}function c(e){return e.canRevert?h["default"].createElement(b["default"],{className:"btn-default btn-sm pull-right",disabled:e.disabled,onClick:e.onClick,title:gettext("Revert post to state from before this edit.")},gettext("Revert")):null}function d(e){var t=null;t=e.edit.url.editor?interpolate(E,{url:(0,y["default"])(e.edit.url.editor),user:(0,y["default"])(e.edit.editor_name)},!0):interpolate(_,{user:(0,y["default"])(e.edit.editor_name)},!0);var a=interpolate(g,{absolute:(0,y["default"])(e.edit.edited_on.format("LLL")),relative:(0,y["default"])(e.edit.edited_on.fromNow())},!0),r=interpolate((0,y["default"])(gettext("By %(edited_by)s %(edited_on)s.")),{edited_by:t,edited_on:a},!0);return h["default"].createElement("p",{className:"pull-left",dangerouslySetInnerHTML:{__html:r}})}Object.defineProperty(a,"__esModule",{value:!0});var f=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}();a.GoBackBtn=l,a.GoForwardBtn=i,a.GoLastBtn=u,a.RevertBtn=c,a.Label=d;var p=e("react"),h=r(p),m=e("../button"),b=r(m),v=e("../../utils/escape-html"),y=r(v),g='<abbr title="%(absolute)s">%(relative)s</abbr>',_='<span class="item-title">%(user)s</span>',E='<a href="%(url)s" class="item-title">%(user)s</a>',w=function(e){function t(){var e,a,r,s;n(this,t);for(var l=arguments.length,i=Array(l),u=0;u<l;u++)i[u]=arguments[u];return a=r=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),r.goLast=function(){r.props.goToEdit()},r.goForward=function(){r.props.goToEdit(r.props.edit.next)},r.goBack=function(){r.props.goToEdit(r.props.edit.previous)},r.revertEdit=function(){r.props.revertEdit(r.props.edit.id)},s=a,o(r,s)}return s(t,e),f(t,[{key:"render",value:function(){return h["default"].createElement("div",{className:"modal-toolbar"},h["default"].createElement(l,{disabled:this.props.disabled,edit:this.props.edit,onClick:this.goBack}),h["default"].createElement(i,{disabled:this.props.disabled,edit:this.props.edit,onClick:this.goForward}),h["default"].createElement(u,{disabled:this.props.disabled,edit:this.props.edit,onClick:this.goLast}),h["default"].createElement(d,{edit:this.props.edit}),h["default"].createElement(c,{canRevert:this.props.canRevert,disabled:this.props.disabled,onClick:this.revertEdit}))}}]),t}(h["default"].Component);a["default"]=w},{"../../utils/escape-html":310,"../button":5,react:"react"}],86:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(e){return Object.assign({},e,{edited_on:(0,s["default"])(e.edited_on)})}Object.defineProperty(a,"__esModule",{value:!0}),a.hydrateEdit=n;var o=e("moment"),s=r(o)},{moment:"moment"}],87:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(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 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 l(e){return Object.assign({},e,{liked_on:(0,v["default"])(e.liked_on)})}function i(e){return m["default"].createElement("div",{className:"modal-dialog modal-sm "+(e.className||""),role:"document"},m["default"].createElement("div",{className:"modal-content"},m["default"].createElement("div",{className:"modal-header"

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
misago/static/misago/js/misago.js.map


Некоторые файлы не были показаны из-за большого количества измененных файлов