View file upload/js/MMO/Hide/editor.min.js

File size: 3Kb
var MMO=window.MMO||{};MMO.Hide=MMO.Hide||{};
!function(b,k,h,l){MMO.Hide.editorConfig={dialog:[]};MMO.Hide.EditorButtons={init:function(){b.parseJSON(b(".js-mhHideEditorConfig").first().html())&&(MMO.Hide.editorConfig.dialog=b.parseJSON(b(".js-mhHideEditorConfig").first().html())||[]);Array.isArray(MMO.Hide.editorConfig.dialog)&&MMO.Hide.editorConfig.dialog.forEach(function(a){MMO.Hide[a]=MMO.Hide[a]||{};MMO.Hide[a].editorButton||(MMO.Hide[a].editorButton={init:function(){MMO.Hide[a].EditorDialog=XF.extend(XF.EditorDialog,{cache:!1,$container:null,
_beforeShow:function(a){this.ed.$el.blur()},_init:function(a){a.$overlay.find("form").submit(XF.proxy(this,"submit"))},submit:function(c){c.preventDefault();c=b("#editor_hide_count");var e=b("#editor_hide_id_count input:checked"),d=b("#editor_hide_text"),g=!1;if(e){var f=[];e.length&&(g=!0,e.each(function(a){f.push(b(this).val())}));e=f.length?""+f.join(","):""}this.ed.selection.restore();MMO.Hide.EditorButtons.insertHide(this.ed,a.toString().toUpperCase(),g?e:c.val(),XF.unparseBbCode(d.val()));this.overlay.hide();
d.val("");c.val("")}})},callback:function(){XF.EditorHelpers.loadDialog(this,a)}});MMO.Hide[a].editorButton.init();XF.EditorHelpers.dialogs[a]=new MMO.Hide[a].EditorDialog(a);b.FE.COMMANDS["xfCustom_"+a]&&(b.FE.COMMANDS["xfCustom_"+a].callback=MMO.Hide[a].editorButton.callback)})},insertHide:function(a,c,b,d){d=d.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/\t/g,"    ").replace(/\n /g,"\n&nbsp;").replace(/  /g,"&nbsp; ").replace(/  /g," &nbsp;").replace(/\n/g,
"</p><p>");c="["+c+(b?"="+b:"")+"]"+d+"[/"+c+"]";c.match(/\n/)&&(c=("<p>"+c+"</p>").replace(/<p><\/p>/g,"<p><br></p>"));a.html.insert(c)}};MMO.Hide.Reaction=XF.extend(XF.Reaction,{__backup:{actionComplete:"__mhHide_actionComplete"},actionComplete:function(a){this.__mhHide_actionComplete(a);"< .js-post | .js-reactionsList"===this.options.reactionList&&this.$target.closest(".message").find(".message-body").length&&setTimeout(function(){this.reloadPost()}.bind(this),100)},reloadPost:function(){XF.ajax("GET",
this.$target.attr("href").replace("react","show"),{},XF.proxy(this,"postUpdate"),{skipDefaultSuccessError:!0})},postUpdate:function(a){a.errors||a.exception||XF.setupHtmlInsert(a.html,function(a,b){var c=a.find(".message-body");this.$target.closest(".message-cell--main").find(".message-body").replaceWith(c)}.bind(this))}});MMO.Hide.QuickReply=XF.extend(XF.SelectToQuote,{__backup:{getValidSelectionContainer:"__mhHide_getValidSelectionContainer"},getValidSelectionContainer:function(a){if(a.isCollapsed||
!a.rangeCount)return null;var c=a.getRangeAt(0);return b(c.startContainer).closest(".bbCodeBlock--hide, .js-noSelectToQuote").length||b(c.endContainer).closest(".bbCodeBlock--hide, .js-noSelectToQuote").length?null:this.__mhHide_getValidSelectionContainer(a)}});b(h).on("editor:first-start",MMO.Hide.EditorButtons.init);XF.Element.register("reaction","MMO.Hide.Reaction");XF.Element.register("select-to-quote","MMO.Hide.QuickReply")}(jQuery,window,document);