/*! EnlighterJS TinyMCE Plugin 5.0.1 | Mozilla Public License 2.0 | https://tinymce.enlighterjs.org */ !function(){"use strict";var e=window.console||{},t=(e.error?e.error.bind(e):null)||function(){};if("undefined"!=typeof EnlighterJS_EditorConfig)if("undefined"!=typeof tinymce){var c=tinymce,u=EnlighterJS_EditorConfig;c.PluginManager.add("enlighterjs",function(h,e){function a(e){return"CODE"==e.nodeName&&h.dom.hasClass(e,"EnlighterJSRAW")}function o(e){return("CODE"==e.nodeName||"PRE"==e.nodeName)&&h.dom.hasClass(e,"EnlighterJSRAW")}function t(e,t){var n=[];return null!==t&&n.push({text:"Standard ("+t+")",value:null}),c.each(e,function(e,t){n.push({text:e,value:t})}),n}function i(){var e,t,n=h.selection.getNode(),i=a(n),l=function(e,t){if(!o(e))return{};var n=e.getAttribute("data-enlighter-linenumbers");return{language:e.getAttribute("data-enlighter-language"),linenumbers:null==n?u.config.linenumbers:"true"==n,highlight:e.getAttribute("data-enlighter-highlight"),lineoffset:e.getAttribute("data-enlighter-lineoffset"),theme:e.getAttribute("data-enlighter-theme"),group:e.getAttribute("data-enlighter-group"),title:e.getAttribute("data-enlighter-title"),mode:t?"inline":"block"}}(n,i);s((t=i,{title:"Code Settings - EnlighterJS Syntax Highlighter",minWidth:700,body:[{type:"listbox",name:"mode",label:"Mode",values:[{text:"Block-Code",value:"block"},{text:"Inline-Code",value:"inline"}],value:(e=l).mode,style:"direction: ltr; text-align: left"},{type:"listbox",name:"language",label:"Language",values:r,value:e.language,style:"direction: ltr; text-align: left"},{type:"listbox",name:"theme",label:"Theme",values:d,value:e.theme,style:"direction: ltr; text-align: left"},{type:"checkbox",name:"linenums",label:"Show line numbers",checked:e.linenumbers,disabled:t},{type:"textbox",name:"offset",label:"Line number offset",multiline:!1,value:e.lineoffset,disabled:t,style:"direction: ltr; text-align: left"},{type:"textbox",name:"highlight",label:"Highlight lines (e.g. 1,2-6,9)",multiline:!1,value:e.highlight,disabled:t,style:"direction: ltr; text-align: left"},{type:"textbox",name:"group",label:"Codegroup identifier",multiline:!1,value:e.group,disabled:t,style:"direction: ltr; text-align: left"},{type:"textbox",name:"title",label:"Codegroup title",multiline:!1,value:e.title,disabled:t,style:"direction: ltr; text-align: left"}]}),function(e){!function(t,n){if(o(t)){var e=a(h.selection.getNode())?"inline":"block";if(n.mode!=e){var i=h.dom.create("block"==n.mode?"pre":"code",{class:"EnlighterJSRAW"});h.dom.replace(i,t,!0),t=i}var l=function(e){n[e]?t.setAttribute("data-enlighter-"+e,n[e]):t.removeAttribute("data-enlighter-"+e)};l("language"),l("theme"),l("highlight"),l("lineoffset"),l("group"),l("title"),n.linenumbers==u.config.linenumbers?t.removeAttribute("data-enlighter-linenumbers"):t.setAttribute("data-enlighter-linenumbers",n.linenumbers?"true":"false")}}(n,{language:e.data.language,linenumbers:e.data.linenums,highlight:e.data.highlight,lineoffset:e.data.offset,theme:e.data.theme,title:e.data.title,group:e.data.group,mode:e.data.mode})})}var r=t(u.languages,null),d=t(u.themes,u.config.theme),s=function(e,t){e.onsubmit=t,h.windowManager.open(e)},g={show:function(t,n){g.hide();var e=h.dom.create("div",{id:"EnlighterToolbar","data-mce-bogus":"1",contenteditable:!1}),i=h.dom.create("div",{class:"editicon","data-mce-bogus":"1",contenteditable:!1});e.appendChild(i),h.dom.bind(i,"mousedown",function(e){e.stopPropagation(),n()});var l=h.dom.create("div",{class:"deleteicon","data-mce-bogus":"1",contenteditable:!1});e.appendChild(l),h.dom.bind(l,"mousedown",function(e){e.stopPropagation(),console.log("DELETE NODE"),h.windowManager.confirm("Do you want to delete the current codeblock?",function(e){e&&t.remove()})}),h.getBody().appendChild(e);var a=h.dom.getRect(t);h.dom.setStyles(e,{top:a.y,left:a.x,width:a.w})},hide:function(){var e=h.dom.get("EnlighterToolbar");e&&h.dom.remove(e)}},f=!1;h.on("PastePreProcess",function(e){f&&(e.stopPropagation(),e.content=e.content.replace(/^\s*
([\s\S]+)<\/pre>\s*$/gi,"$2").replace(/\n/g,"
").replace(/ /g," ").replace(//g,"").replace(/<\/span>/g,""))});var l=null;h.on("NodeChange",function(e){e.stopPropagation();var t,n=h.selection.getNode();f="PRE"==(t=n).nodeName&&h.dom.hasClass(t,"EnlighterJSRAW")?(g.show(n,i),!0):(g.hide(),!1),l&&(o(n)?l.disabled(!1):l.disabled(!0))}),h.addButton("EnlighterInsert",{title:"Code Insert",image:e+"/code-insert-icon.png",onclick:function(){var e=h.dom.getViewPort(),t=Math.min(e.w,window.innerWidth)||700,n=Math.min(e.h,window.innerHeight)||500;s({title:"Code Insert - EnlighterJS Syntax Highlighter",layout:"flex",direction:"column",align:"stretch",width:t-50,height:n-150,body:[{type:"listbox",name:"lang",label:"Language",values:r,style:"direction: ltr; text-align: left"},{type:"listbox",name:"mode",label:"Mode",values:[{text:"Block-Code",value:"block"},{text:"Inline-Code",value:"inline"}],value:"block",style:"direction: ltr; text-align: left"},{type:"checkbox",name:"indentation",label:"Left-align indentation",checked:0'+t+""+n+">"+s+"")})}}),h.addButton("EnlighterEdit",{title:"Code Settings",disabled:!0,image:e+"/code-edit-icon.png",onPostRender:function(){l=this},onclick:i}),!0===u.tinymce.keyboardShortcuts&&h.on("init",function(){h.shortcuts.remove("access+x"),h.shortcuts.add("access+x","Enlighter inline code",function(){h.formatter.toggle("enlighterjs_inlinecode")}),h.formatter.register("enlighterjs_inlinecode",{inline:"code",classes:"EnlighterJSRAW",attributes:{"data-enlighter-language":"generic"}})});var m=u.config.indent,b=0