@syncfusion/ej2-richtexteditor 20.2.46 → 20.2.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * filename: ej2-richtexteditor.umd.min.js
3
- * version : 20.2.46
3
+ * version : 20.2.50
4
4
  * Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
7
7
  * licensing@syncfusion.com. Any infringement will be prosecuted under
8
8
  * applicable laws.
9
9
  */
10
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@syncfusion/ej2-base"),require("@syncfusion/ej2-navigations"),require("@syncfusion/ej2-splitbuttons"),require("@syncfusion/ej2-popups"),require("@syncfusion/ej2-inputs"),require("@syncfusion/ej2-buttons"),require("@syncfusion/ej2-filemanager")):"function"==typeof define&&define.amd?define(["exports","@syncfusion/ej2-base","@syncfusion/ej2-navigations","@syncfusion/ej2-splitbuttons","@syncfusion/ej2-popups","@syncfusion/ej2-inputs","@syncfusion/ej2-buttons","@syncfusion/ej2-filemanager"],t):t(e.ej={},e.ej2Base,e.ej2Navigations,e.ej2Splitbuttons,e.ej2Popups,e.ej2Inputs,e.ej2Buttons,e.ej2Filemanager)}(this,function(e,t,n,i,r,o,s,a){"use strict";function l(e,t,n){for(var i=0;t.length>i;i++)if(t[i].value===n.subCommand)return e.localeObj.getConstant(t[i].locale);return n.text}function d(e,t){var n=-1;return t.some(function(t,i){return"string"==typeof t&&e===t.toLocaleLowerCase()&&(n=i,!0)}),n}function c(e,t){var n=!1;return e.classList.contains(t)&&(n=!0),n}function p(e,n,i,r){for(var o,s,a=0;a<e.length;a++){if("value"===i&&e[a].value.toLocaleLowerCase()===n.toLocaleLowerCase()){o=e[a];break}if("text"===i&&e[a].text.toLocaleLowerCase()===n.toLocaleLowerCase()){o=e[a];break}if("subCommand"===i&&e[a].subCommand.toLocaleLowerCase()===n.toLocaleLowerCase()){o=e[a];break}}if(!t.isNullOrUndefined(o))switch(r){case"text":s=o.text;break;case"value":s=o.value;break;case"iconCss":s=o.iconCss}return s}function h(){var e=!1;return t.Browser.isDevice&&t.Browser.isIos&&(e=!0),e}function u(e){return t.isNullOrUndefined(e)?"":e}function m(e,t,n){return n?window.pageYOffset+t.getBoundingClientRect().top+e.clientY:e.pageY}function g(e,t){var n=t.getService("rteLocale"),i=qi[e];return n.getConstant(i)}function f(e,n,i){R(i);for(var r=e.dropDownModule,o=e.args,s=0,a=Object.keys(e.args);s<a.length;s++)for(var l=a[s],c=0;c<e.tbItems.length;c++){var h=e.tbItems[c].subCommand,m=h&&h.toLocaleLowerCase();if(h&&m===l||"UL"===h&&"unorderedlist"===l||"OL"===h&&"orderedlist"===l||"pre"===m&&"insertcode"===l)if("boolean"==typeof o[l])!0===o[l]?t.addClass([e.tbElements[c]],[Nn]):t.removeClass([e.tbElements[c]],[Nn]);else if(("string"==typeof o[l]||null===o[l])&&d(l,e.parent.toolbarSettings.items)>-1){var g=o[l]?o[l]:"",f="";switch(l){case"formats":if(t.isNullOrUndefined(r.formatDropDown)||n||!t.isNullOrUndefined(r.formatDropDown)&&r.formatDropDown.isDestroyed)break;var b=e.parent.format.types,v=t.isNullOrUndefined(e.parent.format.default)?b[0].text:e.parent.format.default;f=p(b,g,"subCommand","text"),r.formatDropDown.content='<span style="display: inline-flex;width:'+e.parent.format.width+'" ><span class="e-rte-dropdown-btn-text '+e.parent.cssClass+'">'+(t.isNullOrUndefined(f)?v:f)+"</span></span>",r.formatDropDown.dataBind();break;case"alignments":if(t.isNullOrUndefined(r.alignDropDown)||!t.isNullOrUndefined(r.alignDropDown)&&r.alignDropDown.isDestroyed)break;f=p(yi,g,"subCommand","iconCss"),r.alignDropDown.iconCss=t.isNullOrUndefined(f)?"e-icons e-justify-left":f,r.alignDropDown.dataBind();break;case"fontname":if(t.isNullOrUndefined(r.fontNameDropDown)||n||!t.isNullOrUndefined(r.fontNameDropDown)&&r.fontNameDropDown.isDestroyed)break;var y=e.parent.fontFamily.items;f=p(y,g,"value","text");var C=t.isNullOrUndefined(e.parent.fontFamily.default)?y[0].text:e.parent.fontFamily.default,N=t.isNullOrUndefined(f)?C:f;e.tbElements[c].title=N,r.fontNameDropDown.content='<span style="display: inline-flex;width:'+e.parent.fontFamily.width+'" ><span class="e-rte-dropdown-btn-text '+e.parent.cssClass+'">'+N+"</span></span>",r.fontNameDropDown.dataBind();break;case"fontsize":if(t.isNullOrUndefined(r.fontSizeDropDown)||!t.isNullOrUndefined(r.fontSizeDropDown)&&r.fontSizeDropDown.isDestroyed)break;var S=e.parent.fontSize.items,E=t.isNullOrUndefined(e.parent.fontSize.default)?S[1].text:e.parent.fontSize.default;f=p(S,""===g?E.replace(/\s/g,""):g,"value","text"),r.fontSizeDropDown.content='<span style="display: inline-flex;width:'+e.parent.fontSize.width+'" ><span class="e-rte-dropdown-btn-text '+e.parent.cssClass+'">'+u(f)+"</span></span>",r.fontSizeDropDown.dataBind()}}}}function b(e){return"object"==typeof e?e:[e]}function v(e,t){for(var n=[],i=0;i<e.length;i++)for(var r=0;r<t.length;r++)if("Separator"!==t[r].type){if("OrderedList"===e[i]&&"OL"===t[r].subCommand){n.push(r);break}if("UnorderedList"===e[i]&&"UL"===t[r].subCommand){n.push(r);break}if("InsertCode"===e[i]&&"Pre"===t[r].subCommand){n.push(r);break}if("FileManager"===e[i]&&"File"===t[r].subCommand){n.push(r);break}if("object"==typeof e[i]&&"Custom"===e[i].command){n.push(i);break}if(e[i]===t[r].subCommand){n.push(r);break}}return n}function y(e,n){for(var i=0,r=v(b(Vi),e.toolbarObj.items),o=t.selectAll("."+nn,e.toolbarObj.element),s=0,a=Object.keys(n);s<a.length;s++){var l=a[s],d=o[r[i]];d&&e.toolbarObj.enableItems(d,n[l]),i++}}function C(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!1,!0),e.dispatchEvent(n)}function N(e){var n=t.createElement("template");return n.innerHTML=e,n.content instanceof DocumentFragment?n.content:document.createRange().createContextualFragment(e)}function S(e,t){var n=[];for(t=t.firstChild;t;t=t.nextSibling)3===t.nodeType?n.push(t):n=n.concat(S(e,t));return n}function E(e){for(var t={},n=Object.keys(e),i=0;i<Object.keys(e).length;i++)t[n[i].toLocaleLowerCase()]=e[n[i]];return t}function T(e,t){var n;return null!==e&&""!==e?(n=t.enableHtmlEncode?w(x(e),t):w(e,t),t.setProperties({value:n},!0)):n="DIV"===t.enterKey?t.enableHtmlEncode?"&lt;div&gt;&lt;br/&gt;&lt;/div&gt;":"<div><br/></div>":"BR"===t.enterKey?t.enableHtmlEncode?"&lt;br/&gt;":"<br/>":t.enableHtmlEncode?"&lt;p&gt;&lt;br/&gt;&lt;/p&gt;":"<p><br/></p>",n}function w(e,n){var i=document.createElement("div"),r=document.createElement("div"),o=i.childNodes;if(i.innerHTML=e,i.setAttribute("class","tempDiv"),o.length>0){for(var s=void 0,a=void 0,l=void 0;i.firstChild;){for(var d=i.querySelectorAll(Mt),c=0;c<d.length;c++)d[c].innerHTML="<br>";var p=i.querySelectorAll(Rt);for(c=0;c<p.length;c++)p[c].innerHTML="&ZeroWidthSpace;";"BR"!==n.enterKey&&("#text"===i.firstChild.nodeName&&(i.firstChild.textContent.indexOf("\n")<0||""!==i.firstChild.textContent.trim())||Gi.indexOf(i.firstChild.nodeName.toLocaleLowerCase())>=0)?(s?a.appendChild(i.firstChild):(l="DIV"===n.enterKey?t.createElement("div"):t.createElement("p"),r.appendChild(l),l.appendChild(i.firstChild)),a=l,s=!0):"#text"===i.firstChild.nodeName&&("\n"===i.firstChild.textContent||i.firstChild.textContent.indexOf("\n")>=0&&""===i.firstChild.textContent.trim())?t.detach(i.firstChild):(r.appendChild(i.firstChild),s=!1)}var h=r.querySelectorAll("img");for(c=0;c<h.length;c++)h[c].classList.contains(ii)||h[c].classList.add(ii),h[c].classList.contains(fn)||h[c].classList.contains(hn)||h[c].classList.add(fn)}return r.innerHTML}function O(e){return"DIV"===e.enterKey?e.enableHtmlEncode?"&lt;div&gt;&lt;br/&gt;&lt;/div&gt;":"<div><br/></div>":"BR"===e.enterKey?e.enableHtmlEncode?"&lt;br/&gt;":"<br/>":e.enableHtmlEncode?"&lt;p&gt;&lt;br/&gt;&lt;/p&gt;":"<p><br/></p>"}function L(e){return"<p><br></p>"===e||"&lt;p&gt;&lt;br&gt;&lt;/p&gt;"===e||"<div><br></div>"===e||"&lt;div&gt;&lt;br&gt;&lt;/div&gt;"===e||"<br>"===e||"&lt;br&gt;"===e||""===e}function x(e){return e.replace(/&amp;/g,"&").replace(/&amp;lt;/g,"<").replace(/&lt;/g,"<").replace(/&amp;gt;/g,">").replace(/&gt;/g,">").replace(/&nbsp;/g," ").replace(/&amp;nbsp;/g," ").replace(/&quot;/g,"")}function k(e,n){if(n.enableHtmlSanitizer){var i=t.SanitizeHtmlHelper.beforeSanitize();t.extend(i,i,{cancel:!1,helper:null}),n.trigger("beforeSanitizeHtml",i),i.cancel&&!t.isNullOrUndefined(i.helper)?e=i.helper(e):i.cancel||(e=t.SanitizeHtmlHelper.serializeValue(i,e))}return e}function D(e){for(var t=e.split(","),n=t[0].match(/:(.*?);/)[1],i=atob(t[1]),r=i.length,o=new Uint8Array(r);r--;)o[r]=i.charCodeAt(r);return new Blob([o],{type:n})}function M(e,t,n){for(var i=0;t.length>i;i++)if(t[i].value===n.value||t[i].value===n.subCommand)return e.localeObj.getConstant(t[i].locale);return n.text}function R(e){Ii.forEach(function(t,n){Ii[n].text=M(e,zi,Ii[n])}),Pi.forEach(function(t,n){Pi[n].text=M(e,_i,Pi[n])}),Hi.forEach(function(t,n){Hi[n].text=M(e,Wi,Hi[n])}),ji.forEach(function(t,n){ji[n].text=M(e,Qi,ji[n])})}function I(){var e=!1;return t.Browser.isDevice&&t.Browser.isIos&&(e=!0),e}function B(e,n){if("BODY"===e.nodeName&&!t.isNullOrUndefined(n)){var i=top.window.document.querySelector(n);t.isNullOrUndefined(i)||i.contentWindow.focus()}}function P(e,t,n,i){var r;if(n){r=t.contentModule.getDocument().querySelector("body")}else r=t.element;if(Object.keys(e).length)for(var o=0,s=Object.keys(e);o<s.length;o++){var a=s[o];if("class"===a)r.classList.add(e[a]);else if("disabled"===a&&"disabled"===e[a])t.enabled=!1,t.setEnable();else if("readonly"===a&&"readonly"===e[a])t.readonly=!0,t.setReadOnly(i);else if("style"===a)r.setAttribute("style",e[a]);else if("tabindex"===a)t.inputElement.setAttribute("tabindex",e[a]);else if("placeholder"===a)t.placeholder=e[a],t.setPlaceHolder();else{["name","required"].indexOf(a)>-1?t.valueContainer.setAttribute(a,e[a]):r.setAttribute(a,e[a])}}}var A="initial-load",U="content-changed",H="initial-end",j="iframe-click",F="destroy",q="toolbarClick",z="toolbar-refresh",_="refresh-begin",W="toolbar-updated",Q="bind-on-end",V="render-color-picker",G="html-toolbar-click",K="markdown-toolbar-click",X="destroy-color-picker",Y="model-changed",J="keyUp",$="keyDown",Z="mouseUp",ee="toolbarCreated",te="toolbarRenderComplete",ne="enableFullScreen",ie="disableFullScreen",re="dropDownSelect",oe="beforeDropDownItemRender",se="execCommandCallBack",ae="image-toolbar-action",le="link-toolbar-action",de="resize",ce="resizeStart",pe="resizing",he="resizeStop",ue="insertLink",me="unLink",ge="editLink",fe="openLink",be="actionBegin",ve="actionComplete",ye="updatedToolbarStatus",Ce="updateToolbarItem",Ne="insertImage",Se="insertCompleted",Ee="insertImgLink",Te="imgAltText",we="delete",Oe="caption",Le="imageSize",xe="sourceCode",ke="updateSource",De="beforeDropDownOpen",Me="selection-save",Re="selection-restore",Ie="expandPopupClick",Be="count",Pe="mouseDown",Ae="sourceCodeMouseDown",Ue="editAreaClick",He="scroll",je="contentscroll",Fe="colorPickerChanged",qe="tableColorPickerChanged",ze="focusChange",_e="selectAll",We="selectRange",Qe="getSelectedHtml",Ve="renderInlineToolbar",Ge="paste-content",Ke="rtl-mode",Xe="createTable",Ye="docClick",Je="table-toolbar-action",$e="checkUndoStack",Ze="readOnlyMode",et="moduleDestroy",tt="pasteClean",nt="enterHandler",it="beforeDialogOpen",rt="clearDialogObj",ot="beforeDialogClose",st="beforeQuickToolbarOpen",at="quickToolbarOpen",lt="quickToolbarClose",dt="imageSelected",ct="imageUploading",pt="imageUploadSuccess",ht="imageUploadFailed",ut="imageRemoving",mt="afterImageDelete",gt="xhtmlValidation",ft="beforeImageUpload",bt="resizeInitialized",vt="renderFileManager",yt="beforeImageDrop",Ct="dynamicModule",Nt="beforePasteCleanup",St="afterPasteCleanup",Et="updateTbItemsStatus",Tt="showLinkDialog",wt="closeLinkDialog",Ot="showImageDialog",Lt="closeImageDialog",xt="showTableDialog",kt="closeTableDialog",Dt="closeTableDialog",Mt="address:empty, article:empty, aside:empty, blockquote:empty,\n details:empty, dd:empty, div:empty, dl:empty, dt:empty, fieldset:empty, footer:empty,form:empty, h1:empty,\n h2:empty, h3:empty, h4:empty, h5:empty, h6:empty, header:empty, hgroup:empty, li:empty, main:empty, nav:empty,\n noscript:empty, output:empty, p:empty, pre:empty, section:empty, td:empty, th:empty",Rt="a:empty, abbr:empty, acronym:empty, b:empty, bdi:empty, bdo:empty, big:empty, button:empty,\n canvas:empty, cite:empty, code:empty, data:empty, datalist:empty, del:empty, dfn:empty, em:empty, font:empty, i:empty, iframe:empty,\n ins:empty, kbd:empty, label:empty, map:empty, mark:empty, meter:empty, noscript:empty, object:empty, output:empty, picture:empty, progress:empty,\n q:empty, ruby:empty, s:empty, samp:empty, script:empty, select:empty, slot:empty, small:empty, span:empty, strong:empty, strike:empty, sub:empty, sup:empty, svg:empty,\n template:empty, textarea:empty, time:empty, u:empty, tt:empty, var:empty, wbr:empty",It="e-richtexteditor",Bt="e-disabled",Pt="rte-iframe-script-sheet",At="rte-iframe-style-sheet",Ut="e-rte-toolbar",Ht="e-rte-tb-fixed",jt="e-rte-tb-float",Ft="e-rte-tb-abs-float",qt="e-rte-inline",zt="e-rte-tb-expand",_t="e-rte-full-screen",Wt="e-rte-quick-toolbar",Qt="e-rte-pop",Vt="e-rte-quick-popup",Gt="e-quick-dropdown",Kt="e-rte-image-popup",Xt="e-rte-inline-popup",Yt="e-rte-inline-dropdown",Jt="e-rte-dropdown-popup",$t="e-rte-dropdown-icons",Zt="e-rte-dropdown-items",en="e-rte-dropdown-btn",tn="e-rte-content",nn="e-toolbar-item",rn="e-toolbar-wrapper",on="e-hide",sn="e-visible",an="e-focused",ln="e-remove-white-space",dn="e-imgright",cn="e-imgleft",pn="e-imgcenter",hn="e-imgbreak",un="e-img-caption",mn="e-rte-img-caption",gn="e-caption-inline",fn="e-imginline",bn="e-rte-character-count",vn="e-warning",yn="e-error",Cn="e-icons",Nn="e-active",Sn="e-expand-open",En="e-rte-elements",Tn="e-tbar-btn",wn="e-rte-horizontal-separator",On="e-tbar-ios-fixed",Ln="e-rte-list-primary-content",xn="e-rte-numberformatlist-dropdown",kn="e-rte-bulletformatlist-dropdown",Dn="e-formats-tbar-btn",Mn="e-font-name-tbar-btn",Rn="e-font-size-tbar-btn",In="e-alignment-tbar-btn",Bn="e-rte-fontcolor-element",Pn="e-rte-backgroundcolor-element",An="e-rte-color-content",Un="e-rte-fontcolor-dropdown",Hn="e-rte-backgroundcolor-dropdown",jn="e-rte-square-palette",Fn="e-rte-fontcolor-colorpicker",qn="e-rte-backgroundcolor-colorpicker",zn="e-rte-readonly",_n="e-cell-select",Wn="e-dashed-border",Qn="e-alternate-border",Vn="e-column-resize",Gn="e-row-resize",Kn="e-table-box",Xn="e-rte-hidden",Yn="e-rte-keepformat",Jn="e-rte-removeformat",$n="e-rte-plainformat",Zn="e-rte-pasteok",ei="e-rte-pastecancel",ti="e-rte-dialog-minheight",ni="e-resize-handle",ii="e-rte-image",ri="e-rte-drag-image",oi="e-rte-upload-popup",si="e-popup-open",ai="e-upload-files",li="e-rte-dialog-upload",di="e-rte-resize",ci="e-custom-tile",pi="e-nocolor-item",hi="e-rte-table-border",ui="e-rte-table-resize",mi="e-rte-fixed-tb-expand",gi="e-rte-toolbar-enabled";!function(e){e[e.Toolbar=0]="Toolbar",e[e.Content=1]="Content",e[e.Popup=2]="Popup",e[e.LinkToolbar=3]="LinkToolbar",e[e.TextToolbar=4]="TextToolbar",e[e.ImageToolbar=5]="ImageToolbar",e[e.InlineToolbar=6]="InlineToolbar",e[e.TableToolbar=7]="TableToolbar"}(e.RenderType||(e.RenderType={})),function(e){e.Expand="Expand",e.MultiRow="MultiRow",e.Scrollable="Scrollable"}(e.ToolbarType||(e.ToolbarType={})),function(e){e.InsertLink="InsertLink",e.InsertImage="InsertImage",e.InsertTable="InsertTable"}(e.DialogType||(e.DialogType={}));var fi=["alignments","formats","fontname","fontsize","fontcolor","backgroundcolor","align","display","tablerows","tablecolumns","tablecell","tablecellhorizontalalign","tablecellverticalalign","styles","numberformatlist","bulletformatlist"],bi={alignments:{id:"Alignments",icon:"e-alignments",tooltip:"Alignments",command:"Alignments",subCommand:"Alignments"},justifyleft:{id:"JustifyLeft",icon:"e-justify-left",tooltip:"JustifyLeft",command:"Alignments",subCommand:"JustifyLeft"},justifycenter:{id:"JustifyCenter",icon:"e-justify-center",tooltip:"JustifyCenter",command:"Alignments",subCommand:"JustifyCenter"},justifyright:{id:"JustifyRight",icon:"e-justify-right",tooltip:"JustifyRight",command:"Alignments",subCommand:"JustifyRight"},justifyfull:{id:"JustifyFull",icon:"e-justify-full",tooltip:"JustifyFull",command:"Alignments",subCommand:"JustifyFull"},fontname:{id:"FontName",icon:"e-font-name",tooltip:"Font Name",command:"Font",subCommand:"FontName"},fontsize:{id:"FontSize",icon:"e-font-size",tooltip:"Font Size",command:"Font",subCommand:"FontSize"},fontcolor:{id:"FontColor",icon:"e-font-color",tooltip:"Font Color",command:"Font",subCommand:"FontColor",value:"#ff0000ff"},backgroundcolor:{id:"BackgroundColor",icon:"e-background-color",tooltip:"Background Color",command:"Font",subCommand:"BackgroundColor",value:"#ffff00ff"},bold:{id:"Bold",icon:"e-bold",tooltip:"Bold",command:"Style",subCommand:"Bold"},italic:{id:"Italic",icon:"e-italic",tooltip:"Italic",command:"Style",subCommand:"Italic"},underline:{id:"Underline",icon:"e-underline",tooltip:"Underline",command:"Style",subCommand:"Underline"},strikethrough:{id:"StrikeThrough",icon:"e-strike-through",tooltip:"StrikeThrough",command:"Style",subCommand:"StrikeThrough"},clearformat:{id:"ClearFormat",icon:"e-clear-format",tooltip:"Clear Format",command:"Clear",subCommand:"ClearFormat"},clearall:{id:"ClearAll",icon:"e-clear-all",tooltip:"Clear All",command:"Clear",subCommand:"ClearAll"},cut:{id:"Cut",icon:"e-cut",tooltip:"Cut",command:"ClipBoard",subCommand:"Cut"},copy:{id:"Copy",icon:"e-copy",tooltip:"Copy",command:"ClipBoard",subCommand:"Copy"},paste:{id:"Paste",icon:"e-paste",tooltip:"Paste",command:"ClipBoard",subCommand:"Paste"},unorderedlist:{id:"UnorderedList",icon:"e-unorder-list",tooltip:"Bulleted List",command:"Lists",subCommand:"UL"},orderedlist:{id:"OrderedList",icon:"e-order-list",tooltip:"Numbered List",command:"Lists",subCommand:"OL"},numberformatlist:{id:"NumberFormatList",icon:"e-order-list",tooltip:"Number Format List",command:"NumberFormatList",subCommand:"NumberFormatList"},bulletformatlist:{id:"BulletFormatList",icon:"e-unorder-list",tooltip:"Bullet Format List",command:"BulletFormatList",subCommand:"BulletFormatList"},indent:{id:"Indent",icon:"e-indent",tooltip:"Increase Indent",command:"Indents",subCommand:"Indent"},outdent:{id:"Outdent",icon:"e-outdent",tooltip:"Decrease Indent",command:"Indents",subCommand:"Outdent"},undo:{id:"Undo",icon:"e-undo",tooltip:"Undo",command:"Actions",subCommand:"Undo"},redo:{id:"Redo",icon:"e-redo",tooltip:"Redo",command:"Actions",subCommand:"Redo"},superscript:{id:"SuperScript",icon:"e-super-script",tooltip:"Superscript",command:"Effects",subCommand:"SuperScript"},subscript:{id:"SubScript",icon:"e-sub-script",tooltip:"Subscript",command:"Effects",subCommand:"SubScript"},createlink:{id:"CreateLink",icon:"e-create-link",tooltip:"Insert Hyperlink",command:"Links",subCommand:"CreateLink"},openlink:{id:"OpenLink",icon:"e-open-link",tooltip:"Open Link",command:"Links",subCommand:"OpenLink"},editlink:{id:"EditLink",icon:"e-edit-link",tooltip:"Edit Link",command:"Links",subCommand:"EditLink"},removelink:{id:"RemoveLink",icon:"e-remove-link",tooltip:"Remove Link",command:"Links",subCommand:"RemoveLink"},image:{id:"Image",icon:"e-image",tooltip:"Insert Image",command:"Images",subCommand:"Image"},filemanager:{id:"FileManager",icon:"e-rte-file-manager",tooltip:"File Manager",command:"Files",subCommand:"File"},createtable:{id:"CreateTable",icon:"e-create-table",tooltip:"Create Table",command:"Table",subCommand:"CreateTable"},removetable:{id:"removeTable",icon:"e-remove-table",tooltip:"Remove Table",command:"removeTable",subCommand:"removeTable"},replace:{id:"Replace",icon:"e-replace",tooltip:"Replace",command:"Images",subCommand:"Replace"},align:{id:"Align",icon:"e-align",tooltip:"Align",command:"Images",subCommand:"Align"},caption:{id:"Caption",icon:"e-caption",tooltip:"Image Caption",command:"Images",subCommand:"Caption"},remove:{id:"Remove",icon:"e-remove",tooltip:"Remove",command:"Images",subCommand:"Remove"},openimagelink:{id:"OpenImageLink",icon:"e-open-link",tooltip:"Open Link",command:"Images",subCommand:"OpenImageLink"},editimagelink:{id:"EditImageLink",icon:"e-edit-link",tooltip:"Edit Link",command:"Images",subCommand:"EditImageLink"},removeimagelink:{id:"RemoveImageLink",icon:"e-remove-link",tooltip:"Remove Link",command:"Images",subCommand:"RemoveImageLink"},insertlink:{id:"InsertLink",icon:"e-insert-link",tooltip:"Insert Link",command:"Images",subCommand:"InsertLink"},display:{id:"Display",icon:"e-display",tooltip:"Display",command:"Images",subCommand:"Display"},alttext:{id:"AltText",icon:"e-alt-text",tooltip:"Alternative Text",command:"Images",subCommand:"AltText"},dimension:{id:"Dimension",icon:"e-img-dimension",tooltip:"Change Size",command:"Images",subCommand:"Dimension"},fullscreen:{id:"Maximize",icon:"e-maximize",tooltip:"Maximize",command:"View",subCommand:"Maximize"},maximize:{id:"Maximize",icon:"e-maximize",tooltip:"Maximize",command:"FullScreen",subCommand:"Maximize"},minimize:{id:"Minimize",icon:"e-minimize",tooltip:"Minimize",command:"FullScreen",subCommand:"Minimize"},lowercase:{id:"LowerCase",icon:"e-lower-case",tooltip:"Lower Case",command:"Casing",subCommand:"LowerCase"},uppercase:{id:"UpperCase",icon:"e-upper-case",tooltip:"Upper Case",command:"Casing",subCommand:"UpperCase"},print:{id:"Print",icon:"e-print",tooltip:"Print",command:"Print",subCommand:"Print"},formats:{id:"Formats",icon:"e-formats",tooltip:"Formats",command:"Formats",subCommand:"Formats"},sourcecode:{id:"SourceCode",icon:"e-source-code",tooltip:"Source Code",command:"SourceCode",subCommand:"SourceCode"},preview:{id:"Preview",icon:"e-preview",tooltip:"Preview",command:"Preview",subCommand:"Preview"},viewside:{id:"ViewSide",icon:"e-view-side",tooltip:"ViewSide",command:"ViewSide",subCommand:"ViewSide"},insertcode:{id:"InsertCode",icon:"e-insert-code",tooltip:"Insert Code",command:"Formats",subCommand:"Pre"},tableheader:{id:"TableHeader",icon:"e-table-header",tooltip:"Table Header",command:"Table",subCommand:"TableHeader"},tableremove:{id:"TableRemove",icon:"e-table-remove",tooltip:"Table Remove",command:"Table",subCommand:"TableRemove"},tablerows:{id:"TableRows",icon:"e-table-rows",tooltip:"Table Rows",command:"Table",subCommand:"TableRows"},tablecolumns:{id:"TableColumns",icon:"e-table-columns",tooltip:"Table Columns",command:"Table",subCommand:"TableColumns"},tablecell:{id:"TableCell",icon:"e-table-cell",tooltip:"Table Cell",command:"Table",subCommand:"TableCell"},tablecellbackground:{id:"TableCellBackground",icon:"e-table-cell-background",tooltip:"Table Cell Background",command:"Table",subCommand:"TableCellBackground"},tablecellhorizontalalign:{id:"TableCellHorizontalAlign",icon:"e-table-cell-horizontalAlign",tooltip:"Table Cell HorizontalAlign",command:"Table",subCommand:"TableCellHorizontalAlign"},tablecellverticalalign:{id:"TableCellVerticalAlign",icon:"e-table-cell-verticalAlign",tooltip:"Table Cell VerticalAlign",command:"Table",subCommand:"TableCellVerticalAlign"},tableeditproperties:{id:"TableEditProperties",icon:"e-table-edit-properties",tooltip:"Table Edit Properties",command:"Table",subCommand:"TableEditProperties"},styles:{id:"Styles",icon:"e-table-styles",tooltip:"Styles",command:"Table",subCommand:"Styles"}},vi=[{locale:"alignmentsDropDownLeft",value:"JustifyLeft"},{locale:"alignmentsDropDownCenter",value:"JustifyCenter"},{locale:"alignmentsDropDownRight",value:"JustifyRight"},{locale:"alignmentsDropDownJustify",value:"JustifyFull"}],yi=[{iconCss:"e-icons e-justify-left",text:"Align Left",command:"Alignments",subCommand:"JustifyLeft"},{iconCss:"e-icons e-justify-center",text:"Align Center",command:"Alignments",subCommand:"JustifyCenter"},{iconCss:"e-icons e-justify-right",text:"Align Right",command:"Alignments",subCommand:"JustifyRight"},{iconCss:"e-icons e-justify-full",text:"Align Justify",command:"Alignments",subCommand:"JustifyFull"}],Ci=[{iconCss:"e-icons e-justify-left",command:"Images",subCommand:"JustifyLeft"},{iconCss:"e-icons e-justify-center",command:"Images",subCommand:"JustifyCenter"},{iconCss:"e-icons e-justify-right",command:"Images",subCommand:"JustifyRight"}],Ni=[{locale:"imageDisplayDropDownInline",value:"Inline"},{locale:"imageDisplayDropDownBreak",value:"Break"}],Si=[{text:"Inline",cssClass:"e-inline",command:"Images",subCommand:"Inline"},{text:"Break",cssClass:"e-break",command:"Images",subCommand:"Break"}],Ei=[{iconCss:"e-icons e-cell-merge",text:"Merge cells",command:"Table",subCommand:"Merge"},{iconCss:"e-icons e-cell-horizontal-split",text:"Horizontal split",command:"Table",subCommand:"HorizontalSplit"},{iconCss:"e-icons e-cell-vertical-split",text:"Vertical split",command:"Table",subCommand:"VerticalSplit"}],Ti=[{locale:"tableInsertRowDropDownBefore",value:"InsertRowBefore"},{locale:"tableInsertRowDropDownAfter",value:"InsertRowAfter"},{locale:"tableInsertRowDropDownDelete",value:"DeleteRow"}],wi=[{iconCss:"e-icons e-insert-row-before",text:"Insert row before",command:"Table",subCommand:"InsertRowBefore"},{iconCss:"e-icons e-insert-row-after",text:"Insert row after",command:"Table",subCommand:"InsertRowAfter"},{iconCss:"e-icons e-delete-row",text:"Delete row",command:"Table",subCommand:"DeleteRow"}],Oi=[{locale:"tableInsertColumnDropDownLeft",value:"InsertColumnLeft"},{locale:"tableInsertColumnDropDownRight",value:"InsertColumnRight"},{locale:"tableInsertColumnDropDownDelete",value:"DeleteColumn"}],Li=[{iconCss:"e-icons e-insert-column-left",text:"Insert column left",command:"Table",subCommand:"InsertColumnLeft"},{iconCss:"e-icons e-insert-column-right",text:"Insert column right",command:"Table",subCommand:"InsertColumnRight"},{iconCss:"e-icons e-delete-column",text:"Delete column",command:"Table",subCommand:"DeleteColumn"}],xi=[{locale:"tableVerticalAlignDropDownTop",value:"AlignTop"},{locale:"tableVerticalAlignDropDownMiddle",value:"AlignMiddle"},{locale:"tableVerticalAlignDropDownBottom",value:"AlignBottom"}],ki=[{iconCss:"e-icons e-align-top",text:"Align Top",command:"Table",subCommand:"AlignTop"},{iconCss:"e-icons e-align-middle",text:"Align Middle",command:"Table",subCommand:"AlignMiddle"},{iconCss:"e-icons e-align-bottom",text:"Align Bottom",command:"Table",subCommand:"AlignBottom"}],Di=[{locale:"tableStylesDropDownDashedBorder",value:"Dashed"},{locale:"tableStylesDropDownAlternateRows",value:"Alternate"}],Mi=[{text:"Dashed Borders",cssClass:"e-dashed-borders",command:"Table",subCommand:"Dashed"},{text:"Alternate Rows",cssClass:"e-alternate-rows",command:"Table",subCommand:"Alternate"}],Ri=["Bold","Italic","Underline","|","Formats","Alignments","OrderedList","UnorderedList","|","CreateLink","Image","|","SourceCode","Undo","Redo"],Ii=[{cssClass:"e-segoe-ui",text:"Segoe UI",command:"Font",subCommand:"FontName",value:"Segoe UI"},{cssClass:"e-arial",text:"Arial",command:"Font",subCommand:"FontName",value:"Arial,Helvetica,sans-serif"},{cssClass:"e-georgia",text:"Georgia",command:"Font",subCommand:"FontName",value:"Georgia,serif"},{cssClass:"e-impact",text:"Impact",command:"Font",subCommand:"FontName",value:"Impact,Charcoal,sans-serif"},{cssClass:"e-tahoma",text:"Tahoma",command:"Font",subCommand:"FontName",value:"Tahoma,Geneva,sans-serif"},{cssClass:"e-times-new-roman",text:"Times New Roman",command:"Font",subCommand:"FontName",value:"Times New Roman,Times,serif"},{cssClass:"e-verdana",text:"Verdana",command:"Font",subCommand:"FontName",value:"Verdana,Geneva,sans-serif"}],Bi=[{text:"8 pt",value:"8pt"},{text:"10 pt",value:"10pt"},{text:"12 pt",value:"12pt"},{text:"14 pt",value:"14pt"},{text:"18 pt",value:"18pt"},{text:"24 pt",value:"24pt"},{text:"36 pt",value:"36pt"}],Pi=[{cssClass:"e-paragraph",text:"Paragraph",command:"Formats",subCommand:"P",value:"P"},{cssClass:"e-code",text:"Code",command:"Formats",subCommand:"Pre",value:"Pre"},{cssClass:"e-quote",text:"Quotation",command:"Formats",subCommand:"BlockQuote",value:"BlockQuote"},{cssClass:"e-h1",text:"Heading 1",command:"Formats",subCommand:"H1",value:"H1"},{cssClass:"e-h2",text:"Heading 2",command:"Formats",subCommand:"H2",value:"H2"},{cssClass:"e-h3",text:"Heading 3",command:"Formats",subCommand:"H3",value:"H3"},{cssClass:"e-h4",text:"Heading 4",command:"Formats",subCommand:"H4",value:"H4"}],Ai={Custom:["","#000000","#e7e6e6","#44546a","#4472c4","#ed7d31","#a5a5a5","#ffc000","#70ad47","#ff0000","#f2f2f2","#808080","#cfcdcd","#d5dce4","#d9e2f3","#fbe4d5","#ededed","#fff2cc","#e2efd9","#ffcccc","#d9d9d9","#595959","#aeaaaa","#acb9ca","#b4c6e7","#f7caac","#dbdbdb","#ffe599","#c5e0b3","#ff8080","#bfbfbf","#404040","#747070","#8496b0","#8eaadb","#f4b083","#c9c9c9","#ffd966","#a8d08d","#ff3333","#a6a6a6","#262626","#3b3838","#323e4f","#2f5496","#c45911","#7b7b7b","#bf8f00","#538135","#b30000","#7f7f7f","#0d0d0d","#161616","#212934","#1f3763","#823b0b","#525252","#7f5f00","#375623","#660000"]},Ui={Custom:["","#000000","#ffff00","#00ff00","#00ffff","#0000ff","#ff0000","#000080","#800080","#996633","#f2f2f2","#808080","#ffffcc","#b3ffb3","#ccffff","#ccccff","#ffcccc","#ccccff","#ff80ff","#f2e6d9","#d9d9d9","#595959","#ffff80","#80ff80","#b3ffff","#8080ff","#ff8080","#8080ff","#ff00ff","#dfbf9f","#bfbfbf","#404040","#ffff33","#33ff33","#33ffff","#3333ff","#ff3333","#0000b3","#b300b3","#c68c53","#a6a6a6","#262626","#e6e600","#00b300","#009999","#000099","#b30000","#000066","#660066","#86592d","#7f7f7f","#0d0d0d","#999900","#006600","#006666","#000066","#660000","#00004d","#4d004d","#734d26"]},Hi=[{text:"None",command:"Lists",subCommand:"NumberFormatList",value:"none"},{text:"Number",command:"Lists",subCommand:"NumberFormatList",value:"decimal"},{text:"Lower Greek",command:"Lists",subCommand:"NumberFormatList",value:"lowerGreek"},{text:"Lower Roman",command:"Lists",subCommand:"NumberFormatList",value:"lowerRoman"},{text:"Upper Alpha",command:"Lists",subCommand:"NumberFormatList",value:"upperAlpha"},{text:"Lower Alpha",command:"Lists",subCommand:"NumberFormatList",value:"lowerAlpha"},{text:"Upper Roman",command:"Lists",subCommand:"NumberFormatList",value:"upperRoman"}],ji=[{text:"None",command:"Lists",subCommand:"BulletFormatList",value:"none"},{text:"Disc",command:"Lists",subCommand:"BulletFormatList",value:"disc"},{text:"Circle",command:"Lists",subCommand:"BulletFormatList",value:"circle"},{text:"Square",command:"Lists",subCommand:"BulletFormatList",value:"square"}],Fi={alignments:"Alignments",justifyLeft:"Align Left",justifyCenter:"Align Center",justifyRight:"Align Right",justifyFull:"Align Justify",fontName:"Font Name",fontSize:"Font Size",fontColor:"Font Color",backgroundColor:"Background Color",bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",clearFormat:"Clear Format",clearAll:"Clear All",cut:"Cut",copy:"Copy",paste:"Paste",unorderedList:"Bulleted List",orderedList:"Numbered List",indent:"Increase Indent",outdent:"Decrease Indent",undo:"Undo",redo:"Redo",superscript:"Superscript",subscript:"Subscript",createLink:"Insert Link",openLink:"Open Link",editLink:"Edit Link",removeLink:"Remove Link",image:"Insert Image",replace:"Replace",align:"Align",caption:"Image Caption",remove:"Remove",insertLink:"Insert Link",display:"Display",altText:"Alternative Text",dimension:"Change Size",fullscreen:"Maximize",maximize:"Maximize",minimize:"Minimize",lowerCase:"Lower Case",upperCase:"Upper Case",print:"Print",formats:"Formats",sourcecode:"Code View",preview:"Preview",viewside:"ViewSide",insertCode:"Insert Code",linkText:"Display Text",linkTooltipLabel:"Title",linkWebUrl:"Web Address",linkTitle:"Enter a title",linkurl:"http://example.com",linkOpenInNewWindow:"Open Link in New Window",linkHeader:"Insert Link",dialogInsert:"Insert",dialogCancel:"Cancel",dialogUpdate:"Update",imageHeader:"Insert Image",imageLinkHeader:"You can also provide a link from the web",mdimageLink:"Please provide a URL for your image",imageUploadMessage:"Drop image here or browse to upload",imageDeviceUploadMessage:"Click here to upload",imageAlternateText:"Alternate Text",alternateHeader:"Alternative Text",browse:"Browse",imageUrl:"http://example.com/image.png",imageCaption:"Caption",imageSizeHeader:"Image Size",imageHeight:"Height",imageWidth:"Width",textPlaceholder:"Enter Text",inserttablebtn:"Insert Table",tabledialogHeader:"Insert Table",tableWidth:"Width",cellpadding:"Cell Padding",cellspacing:"Cell Spacing",columns:"Number of columns",rows:"Number of rows",tableRows:"Table Rows",tableColumns:"Table Columns",tableCellHorizontalAlign:"Table Cell Horizontal Align",tableCellVerticalAlign:"Table Cell Vertical Align",createTable:"Create Table",removeTable:"Remove Table",tableHeader:"Table Header",tableRemove:"Table Remove",tableCellBackground:"Table Cell Background",tableEditProperties:"Table Edit Properties",styles:"Styles",insertColumnLeft:"Insert Column Left",insertColumnRight:"Insert Column Right",deleteColumn:"Delete Column",insertRowBefore:"Insert Row Before",insertRowAfter:"Insert Row After",deleteRow:"Delete Row",tableEditHeader:"Edit Table",TableHeadingText:"Heading",TableColText:"Col",imageInsertLinkHeader:"Insert Link",editImageHeader:"Edit Image",alignmentsDropDownLeft:"Align Left",alignmentsDropDownCenter:"Align Center",alignmentsDropDownRight:"Align Right",alignmentsDropDownJustify:"Align Justify",imageDisplayDropDownInline:"Inline",imageDisplayDropDownBreak:"Break",tableInsertRowDropDownBefore:"Insert row before",tableInsertRowDropDownAfter:"Insert row after",tableInsertRowDropDownDelete:"Delete row",tableInsertColumnDropDownLeft:"Insert column left",tableInsertColumnDropDownRight:"Insert column right",tableInsertColumnDropDownDelete:"Delete column",tableVerticalAlignDropDownTop:"Align Top",tableVerticalAlignDropDownMiddle:"Align Middle",tableVerticalAlignDropDownBottom:"Align Bottom",tableStylesDropDownDashedBorder:"Dashed Borders",tableStylesDropDownAlternateRows:"Alternate Rows",pasteFormat:"Paste Format",pasteFormatContent:"Choose the formatting action",plainText:"Plain Text",cleanFormat:"Clean",keepFormat:"Keep",pasteDialogOk:"OK",pasteDialogCancel:"Cancel",fileManager:"File Manager",fileDialogHeader:"File Browser",formatsDropDownParagraph:"Paragraph",formatsDropDownCode:"Code",formatsDropDownQuotation:"Quotation",formatsDropDownHeading1:"Heading 1",formatsDropDownHeading2:"Heading 2",formatsDropDownHeading3:"Heading 3",formatsDropDownHeading4:"Heading 4",fontNameSegoeUI:"Segoe UI",fontNameArial:"Arial",fontNameGeorgia:"Georgia",fontNameImpact:"Impact",fontNameTahoma:"Tahoma",fontNameTimesNewRoman:"Times New Roman",fontNameVerdana:"Verdana",numberFormatListNumber:"Number",numberFormatListLowerAlpha:"LowerAlpha",numberFormatListUpperAlpha:"UpperAlpha",numberFormatListLowerRoman:"LowerRoman",numberFormatListUpperRoman:"UpperRoman",numberFormatListLowerGreek:"LowerGreek",bulletFormatListDisc:"Disc",bulletFormatListCircle:"Circle",bulletFormatListSquare:"Square",numberFormatListNone:"None",bulletFormatListNone:"None"},qi={alignments:"alignments",justifyleft:"justifyLeft",justifycenter:"justifyCenter",justifyright:"justifyRight",justifyfull:"justifyFull",fontname:"fontName",fontsize:"fontSize",fontcolor:"fontColor",backgroundcolor:"backgroundColor",bold:"bold",italic:"italic",underline:"underline",strikethrough:"strikethrough",clearformat:"clearFormat",clearall:"clearAll",cut:"cut",copy:"copy",paste:"paste",unorderedlist:"unorderedList",orderedlist:"orderedList",indent:"indent",outdent:"outdent",undo:"undo",redo:"redo",superscript:"superscript",subscript:"subscript",createlink:"createLink",openlink:"openLink",editlink:"editLink",removelink:"removeLink",openimagelink:"openLink",editimagelink:"editLink",removeimagelink:"removeLink",image:"image",replace:"replace",align:"align",caption:"caption",remove:"remove",insertlink:"insertLink",display:"display",alttext:"altText",dimension:"dimension",fullscreen:"fullscreen",maximize:"maximize",minimize:"minimize",lowercase:"lowerCase",uppercase:"upperCase",print:"print",formats:"formats",sourcecode:"sourcecode",preview:"preview",viewside:"viewside",insertcode:"insertCode",tablerows:"tableRows",tablecolumns:"tableColumns",tablecellhorizontalalign:"tableCellHorizontalAlign",tablecellverticalalign:"tableCellVerticalAlign",createtable:"createTable",removetable:"removeTable",tableheader:"tableHeader",tableremove:"tableRemove",tablecellbackground:"tableCellBackground",tableeditproperties:"tableEditProperties",styles:"styles",insertcolumnleft:"insertColumnLeft",insertcolumnright:"insertColumnRight",deletecolumn:"deleteColumn",aligntop:"AlignTop",alignmiddle:"AlignMiddle",alignbottom:"AlignBottom",insertrowbefore:"insertRowBefore",insertrowafter:"insertRowAfter",deleterow:"deleteRow"},zi=[{locale:"fontNameSegoeUI",value:"Segoe UI"},{locale:"fontNameArial",value:"Arial,Helvetica,sans-serif"},{locale:"fontNameGeorgia",value:"Georgia,serif"},{locale:"fontNameImpact",value:"Impact,Charcoal,sans-serif"},{locale:"fontNameTahoma",value:"Tahoma,Geneva,sans-serif"},{locale:"fontNameTimesNewRoman",value:"Times New Roman,Times,serif"},{locale:"fontNameVerdana",value:"Verdana,Geneva,sans-serif"}],_i=[{locale:"formatsDropDownParagraph",value:"P"},{locale:"formatsDropDownCode",value:"Pre"},{locale:"formatsDropDownQuotation",value:"BlockQuote"},{locale:"formatsDropDownHeading1",value:"H1"},{locale:"formatsDropDownHeading2",value:"H2"},{locale:"formatsDropDownHeading3",value:"H3"},{locale:"formatsDropDownHeading4",value:"H4"}],Wi=[{locale:"numberFormatListNone",value:"none"},{locale:"numberFormatListNumber",value:"decimal"},{locale:"numberFormatListLowerAlpha",value:"lower-alpha"},{locale:"numberFormatListUpperAlpha",value:"upper-alpha"},{locale:"numberFormatListLowerRoman",value:"lower-roman"},{locale:"numberFormatListUpperRoman",value:"upper-roman"},{locale:"numberFormatListLowerGreek",value:"lower-greek"}],Qi=[{locale:"bulletFormatListNone",value:"none"},{locale:"bulletFormatListDisc",value:"disc"},{locale:"bulletFormatListCircle",value:"circle"},{locale:"bulletFormatListSquare",value:"square"}],Vi=["Undo","Redo"],Gi=["a","abbr","acronym","audio","b","bdi","bdo","big","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","font","i","iframe","img","input","ins","kbd","label","map","mark","meter","noscript","object","output","picture","progress","q","ruby","s","samp","script","select","slot","small","span","strong","strike","sub","sup","svg","template","textarea","time","u","tt","var","video","wbr"],Ki=function(){function e(e){this.parent=e,this.wireEvent()}return e.prototype.wireEvent=function(){this.parent.on(F,this.unWireEvent,this)},e.prototype.unWireEvent=function(){this.parent.off(F,this.unWireEvent),this.popupOverlay&&t.EventHandler.remove(this.popupOverlay,"click touchmove",this.onPopupOverlay),this.removePopupContainer()},e.prototype.toolbarBeforeCreate=function(e){"Extended"===this.mode&&(e.enableCollision=!1)},e.prototype.toolbarCreated=function(){this.parent.notify(ee,this)},e.prototype.toolbarClicked=function(e){this.parent.enabled&&(this.parent.readonly&&!t.isNullOrUndefined(e.item)||this.parent.notify(q,e),this.parent.trigger("toolbarClick",e))},e.prototype.dropDownSelected=function(e){this.parent.notify(re,e),this.onPopupOverlay()},e.prototype.beforeDropDownItemRender=function(e){!this.parent.readonly&&this.parent.enabled&&this.parent.notify(oe,e)},e.prototype.dropDownOpen=function(e){if(e.element.parentElement.getAttribute("id").indexOf("TableCell")>-1&&!t.isNullOrUndefined(e.element.parentElement.querySelector(".e-cell-merge"))&&(!t.isNullOrUndefined(e.element.parentElement.querySelector(".e-cell-horizontal-split"))||!t.isNullOrUndefined(e.element.parentElement.querySelector(".e-cell-vertical-split")))){var n=e.element.querySelectorAll("li");1===this.parent.inputElement.querySelectorAll(".e-cell-select").length?(t.addClass([n[0]],"e-disabled"),t.removeClass([n[1],n[2]],"e-disabled")):this.parent.inputElement.querySelectorAll(".e-cell-select").length>1&&(t.removeClass([n[0]],"e-disabled"),t.addClass([n[1],n[2]],"e-disabled"))}t.Browser.isDevice&&!e.element.parentElement.classList.contains(Gt)&&this.popupModal(e.element.parentElement),this.parent.notify(Me,e)},e.prototype.dropDownClose=function(e){this.removePopupContainer(),this.parent.notify(Re,e)},e.prototype.removePopupContainer=function(){if(t.Browser.isDevice&&!t.isNullOrUndefined(this.popupContainer)){var e=this.popupContainer.querySelector(".e-dropdown-popup.e-tbar-btn.e-control");e&&(this.popupContainer.parentNode.insertBefore(e,this.popupContainer.nextSibling),e.style.removeProperty("position"),t.removeClass([e],"e-popup-modal")),t.detach(this.popupContainer),this.popupContainer=void 0}},e.prototype.renderToolbar=function(e){this.setPanel(e.target),this.renderPanel(),this.mode=e.overflowMode,e.rteToolbarObj.toolbarObj=new n.Toolbar({items:e.items,width:"100%",overflowMode:e.overflowMode,beforeCreate:this.toolbarBeforeCreate.bind(this),created:this.toolbarCreated.bind(this),clicked:this.toolbarClicked.bind(this),enablePersistence:e.enablePersistence,enableRtl:e.enableRtl,cssClass:e.cssClass}),e.rteToolbarObj.toolbarObj.isStringTemplate=!0,e.rteToolbarObj.toolbarObj.createElement=this.parent.createElement,e.rteToolbarObj.toolbarObj.appendTo(e.target)},e.prototype.renderDropDownButton=function(e){var n,r=this;e.element.classList.add(en),n=e.cssClass+" "+En+" "+Tn,this.parent.inlineMode.enable&&t.Browser.isDevice&&(n=n+" "+Yt);var o=this,s=new i.DropDownButton({items:e.items,iconCss:e.iconCss,cssClass:n,content:e.content,enablePersistence:this.parent.enablePersistence,enableRtl:this.parent.enableRtl,select:this.dropDownSelected.bind(this),beforeOpen:function(e){if(!o.parent.readonly&&o.parent.enabled){for(var n=0;n<e.element.childNodes.length;n++){var i=r.parent.createElement("div");i.innerHTML=s.content.trim(),""!==i.textContent.trim()&&e.element.childNodes[n].textContent.trim()===i.textContent.trim()?e.element.childNodes[n].classList.contains("e-active")||t.addClass([e.element.childNodes[n]],"e-active"):t.removeClass([e.element.childNodes[n]],"e-active")}o.parent.notify(De,e)}else e.cancel=!0},close:this.dropDownClose.bind(this),open:this.dropDownOpen.bind(this),beforeItemRender:this.beforeDropDownItemRender.bind(this)});s.isStringTemplate=!0,s.createElement=o.parent.createElement,s.appendTo(e.element),e.element.tabIndex=-1;return document.getElementById(s.element.id+"-popup").setAttribute("aria-owns",this.parent.getID()),s},e.prototype.renderListDropDown=function(e){var t=this,n=En+" "+Tn+(this.parent.inlineMode?" "+Yt:"");n+=" "+("NumberFormatList"===e.itemName?xn:kn);var r=t.parent.createElement("span",{className:Ln}),o=t.parent.createElement("span",{className:e.cssClass});r.appendChild(o);var s=new i.DropDownButton({items:e.items,cssClass:n,content:e.content,enablePersistence:this.parent.enablePersistence,enableRtl:this.parent.enableRtl,select:this.dropDownSelected.bind(this),beforeOpen:function(e){if(!t.parent.readonly&&t.parent.enabled){var n=e.event?e.event.target:null;t.currentElement=s.element,t.currentDropdown=s,e.event&&"click"===e.event.type&&(n.classList.contains(Ln)||n.parentElement.classList.contains(Ln))?e.cancel=!0:t.parent.notify(De,e)}else e.cancel=!0},close:this.dropDownClose.bind(this),open:this.dropDownOpen.bind(this),beforeItemRender:this.beforeDropDownItemRender.bind(this)});s.isStringTemplate=!0,s.createElement=t.parent.createElement,s.appendTo(e.element),e.element.tabIndex=-1;return document.getElementById(s.element.id+"-popup").setAttribute("aria-owns",this.parent.getID()),1===e.element.childElementCount&&s.element.insertBefore(r,s.element.querySelector(".e-caret")),e.element.tabIndex=-1,s.element.removeAttribute("type"),s},e.prototype.onPopupOverlay=function(e){t.isNullOrUndefined(this.popupOverlay)||(t.closest(this.popupOverlay,".e-popup-container").style.display="none",this.popupOverlay.style.display="none",t.removeClass([this.popupOverlay],"e-popup-overlay"))},e.prototype.setIsModel=function(e){t.closest(e,".e-popup-container")?(e.parentElement.style.display="flex",this.popupOverlay=e.nextElementSibling,this.popupOverlay.style.display="block",t.addClass([this.popupOverlay],"e-popup-overlay")):(this.popupContainer=this.parent.createElement("div",{className:"e-rte-modal-popup e-popup-container e-center"}),e.parentNode.insertBefore(this.popupContainer,e),this.popupContainer.appendChild(e),this.popupContainer.style.zIndex=e.style.zIndex,this.popupContainer.style.display="flex",e.style.position="relative",t.addClass([e],"e-popup-modal"),this.popupOverlay=this.parent.createElement("div",{className:"e-popup-overlay"}),this.popupOverlay.style.zIndex=(parseInt(e.style.zIndex,null)-1).toString(),this.popupOverlay.style.display="block",this.popupContainer.appendChild(this.popupOverlay),t.EventHandler.add(this.popupOverlay,"click touchmove",this.onPopupOverlay,this))},e.prototype.paletteSelection=function(e,n){var i=e.element.querySelector(".e-control.e-colorpicker"),r=[].slice.call(t.selectAll(".e-tile",i.parentElement));t.removeClass(r,"e-selected");var o=n.querySelector("."+En).style.borderBottomColor;r.filter(function(e){e.style.backgroundColor===o&&t.addClass([e],"e-selected")})},e.prototype.renderColorPickerDropDown=function(e,n,r,s){var a=this,l=this,d=En+" "+Tn+(this.parent.inlineMode?" "+Yt:"");d+=" "+("backgroundcolor"===n?Hn:Un),d+=" "+this.parent.cssClass;var p,h=l.parent.createElement("span",{className:An}),u=l.parent.createElement("span",{className:e.cssClass}),m=t.isNullOrUndefined(s)?l.parent.backgroundColor.default:s;u.style.borderBottomColor="backgroundcolor"===n?m:l.parent.fontColor.default,h.appendChild(u);var g=new i.DropDownButton({target:r.element.parentElement,cssClass:d,enablePersistence:this.parent.enablePersistence,enableRtl:this.parent.enableRtl,beforeOpen:function(n){if(!l.parent.readonly&&l.parent.enabled){var i=n.event?n.event.target:null;if(l.currentElement=g.element,l.currentDropdown=g,l.paletteSelection(n,l.currentElement),n.event&&"click"===n.event.type&&(i.classList.contains(An)||i.parentElement.classList.contains(An))){n.cancel=!0;var r=i.classList.contains(En)?i.style.borderBottomColor:i.querySelector("."+En).style.borderBottomColor;l.parent.notify(Re,{});var s=(p=l.parent.formatter.editorManager.nodeSelection.getRange(l.parent.contentModule.getDocument())).startContainer.parentNode,a=t.closest(p.startContainer.parentNode,"table");("TD"===p.startContainer.nodeName||"TH"===p.startContainer.nodeName||t.closest(p.startContainer.parentNode,"td,th")||l.parent.iframeSettings.enable&&!c(s.ownerDocument.querySelector("body"),"e-lib"))&&p.collapsed&&"BackgroundColor"===e.subCommand&&t.closest(a,"."+It)?l.parent.notify(qe,{item:{command:e.command,subCommand:e.subCommand,value:r}}):l.parent.notify(Fe,{item:{command:e.command,subCommand:e.subCommand,value:r}})}else{var d=n.element.querySelector(".e-control.e-colorpicker"),h=t.getInstance(d,o.ColorPicker);h.showButtons=!n.element.querySelector(".e-color-palette"),h.dataBind(),n.element.onclick=function(e){e.target.classList.contains("e-cancel")&&g.toggle()}}}else n.cancel=!0},open:function(e){a.setColorPickerContentWidth(r);var n,i=e.element.querySelector(".e-control.e-colorpicker");(n=e.element.querySelector(".e-color-palette")?i.parentElement.querySelector(".e-palette"):i.parentElement.querySelector("e-handler"))&&n.focus(),t.Browser.isDevice&&a.popupModal(e.element.parentElement),a.pickerRefresh(e)},beforeClose:function(n){var i=n.event?n.event.target:null;if(n.event&&"click"===n.event.type&&(i.classList.contains(An)||i.parentElement.classList.contains(An))){var r=i.classList.contains(En)?i.style.borderBottomColor:i.querySelector("."+En).style.borderBottomColor;("TD"===(p=l.parent.formatter.editorManager.nodeSelection.getRange(l.parent.contentModule.getDocument())).startContainer.nodeName||"TH"===p.startContainer.nodeName||t.closest(p.startContainer.parentNode,"td,th"))&&p.collapsed?l.parent.notify(qe,{item:{command:e.command,subCommand:e.subCommand,value:r}}):l.parent.notify(Fe,{item:{command:e.command,subCommand:e.subCommand,value:r}})}else;},close:function(e){l.parent.notify(Re,{});var n=t.closest(e.element.parentElement,".e-popup-container");if(n&&(n.style.display="none",n.lastElementChild.style.display="none",t.removeClass([n.lastElementChild],"e-popup-overlay")),t.Browser.isDevice&&!t.isNullOrUndefined(n)){var i=n.querySelector(".e-dropdown-popup.e-tbar-btn.e-control");i&&(n.parentNode.insertBefore(i,n.nextSibling),i.style.removeProperty("position"),t.removeClass([i],"e-popup-modal")),t.detach(n),l.popupContainer=void 0}}});g.isStringTemplate=!0,g.createElement=l.parent.createElement,e.element.setAttribute("role","button"),g.appendTo(e.element);return document.getElementById(g.element.id+"-popup").setAttribute("aria-owns",this.parent.getID()),g.element.insertBefore(h,g.element.querySelector(".e-caret")),e.element.tabIndex=-1,g.element.removeAttribute("type"),g.element.onmousedown=function(){l.parent.notify(Me,{})},g.element.onkeydown=function(){l.parent.notify(Me,{})},g},e.prototype.pickerRefresh=function(e){if("Picker"===this.parent.backgroundColor.mode){var n=e.element.parentElement;n.style.width=(n.offsetWidth+5).toString()+"px",t.getInstance(n,r.Popup).refreshPosition(n),n.style.width=(n.offsetWidth-5).toString()+"px"}},e.prototype.popupModal=function(e){var n=t.getInstance(e,r.Popup);n.relateTo=document.body,n.position={X:0,Y:0},n.targetType="container",n.collision={X:"fit",Y:"fit"},n.offsetY=4,n.dataBind(),this.setIsModel(e)},e.prototype.setColorPickerContentWidth=function(e){var n=e.element.nextSibling;if("0px"===n.style.width){n.style.width="";var i=parseInt(getComputedStyle(n).borderBottomWidth,10);n.style.width=t.formatUnit(n.children[0].offsetWidth+i+i)}},e.prototype.renderColorPicker=function(e,n){var i=this,r=this,s=new o.ColorPicker({enablePersistence:this.parent.enablePersistence,enableRtl:this.parent.enableRtl,inline:!0,value:"#fff",created:function(){var e="backgroundcolor"===n?r.parent.backgroundColor.default:r.parent.fontColor.default;s.setProperties({value:e})},mode:"backgroundcolor"===n?r.parent.backgroundColor.mode:r.parent.fontColor.mode,modeSwitcher:"backgroundcolor"===n?r.parent.backgroundColor.modeSwitcher:r.parent.fontColor.modeSwitcher,beforeTileRender:function(e){if(e.element.classList.add(jn),e.element.classList.add(ci),!t.isNullOrUndefined(i.parent.cssClass))for(var n=i.parent.cssClass.split(" "),r=0;r<n.length;r++)""!==n[r].trim()&&e.element.classList.add(n[r]);""===e.value&&e.element.classList.add(pi)},change:function(n){var i=n.currentValue.rgba;n.item={command:e.command,subCommand:e.subCommand,value:i},r.parent.notify(Re,{}),r.currentElement.querySelector("."+En).style.borderBottomColor=i;var o=r.parent.formatter.editorManager.nodeSelection.getRange(r.parent.contentModule.getDocument()),s=t.closest(o.startContainer.parentNode,"table");("TD"===o.startContainer.nodeName||"TH"===o.startContainer.nodeName||"BODY"===o.startContainer.nodeName||t.closest(o.startContainer.parentNode,"td,th"))&&o.collapsed&&"BackgroundColor"===e.subCommand&&t.closest(s,"."+It)?r.parent.notify(qe,n):r.parent.notify(Fe,n),r.currentDropdown.toggle()},beforeModeSwitch:function(e){""===s.value&&s.setProperties({value:"Picker"===e.mode?"#008000ff":""},!0),s.showButtons="Palette"!==e.mode}});return s.isStringTemplate=!0,s.columns="backgroundcolor"===n?this.parent.backgroundColor.columns:this.parent.fontColor.columns,s.presetColors="backgroundcolor"===n?this.parent.backgroundColor.colorCode:this.parent.fontColor.colorCode,s.cssClass=("backgroundcolor"===n?qn:Fn)+" "+e.cssClass,s.createElement=this.parent.createElement,s.appendTo(document.getElementById(e.target)),s},e.prototype.renderPanel=function(){this.getPanel().classList.add(Ut)},e.prototype.getPanel=function(){return this.toolbarPanel},e.prototype.setPanel=function(e){this.toolbarPanel=e},e}(),Xi=function(){function n(e,n){this.tools={},this.parent=e,this.locator=n,this.renderFactory=this.locator.getService("rendererFactory"),this.addEventListener(),this.parent.toolbarSettings&&Object.keys(this.parent.toolbarSettings.itemConfigs).length>0?t.extend(this.tools,bi,E(this.parent.toolbarSettings.itemConfigs),!0):this.tools=bi}return n.prototype.addEventListener=function(){this.parent.on(Ke,this.setRtl,this),this.parent.on(Dt,this.setCssClass,this),this.parent.on(F,this.removeEventListener,this)},n.prototype.removeEventListener=function(){this.parent.off(Ke,this.setRtl),this.parent.off(Dt,this.setCssClass),this.parent.off(F,this.removeEventListener)},n.prototype.setCssClass=function(e){t.isNullOrUndefined(this.toolbarObj)||(t.isNullOrUndefined(e.oldCssClass)?this.toolbarObj.setProperties({cssClass:(this.toolbarObj.cssClass+" "+e.cssClass).trim()}):this.toolbarObj.setProperties({cssClass:(this.toolbarObj.cssClass.replace(e.oldCssClass,"").trim()+" "+e.cssClass).trim()}))},n.prototype.setRtl=function(e){t.isNullOrUndefined(this.toolbarObj)||this.toolbarObj.setProperties({enableRtl:e.enableRtl})},n.prototype.getClass=function(e){var t;switch(e){case"fontsize":t="e-rte-inline-size-template";break;case"fontcolor":case"backgroundcolor":t="e-rte-inline-color-template";break;default:t="e-rte-inline-template"}return t},n.prototype.getTemplateObject=function(e,t){var n;switch(e){case"fontcolor":case"backgroundcolor":case"numberformatlist":case"bulletformatlist":n="span";break;default:n="button"}return{command:this.tools[e.toLocaleLowerCase()].command,subCommand:this.tools[e.toLocaleLowerCase()].subCommand,template:this.parent.createElement(n,{id:this.parent.getID()+"_"+t+"_"+this.tools[e.toLocaleLowerCase()].id}).outerHTML,cssClass:this.parent.inlineMode.enable?this.getClass(e):"",tooltipText:g(e,this.locator)}},n.prototype.getObject=function(e,t){var n=e.toLowerCase();if(-1!==fi.indexOf(n))return this.getTemplateObject(n,t);switch(n){case"|":return{type:"Separator"};case"-":return{type:"Separator",cssClass:wn};default:return{id:this.parent.getID()+"_"+t+"_"+this.tools[n.toLocaleLowerCase()].id,prefixIcon:this.tools[n.toLocaleLowerCase()].icon,tooltipText:g(n,this.locator),command:this.tools[n.toLocaleLowerCase()].command,subCommand:this.tools[n.toLocaleLowerCase()].subCommand}}},n.prototype.getItems=function(e,n){var i=this;if(this.parent.toolbarSettings.items.length<1)return[];for(var r=[],o=function(e){switch(typeof e){case"string":r.push(s.getObject(e,n));break;default:if(!t.isNullOrUndefined(e.click)){var o=e,a=o.click;o.click=function(){o.undo&&0===i.parent.formatter.getUndoRedoStack().length&&i.parent.formatter.saveData(),a.call(i),i.parent.formatter.getUndoRedoStack()[i.parent.formatter.getUndoRedoStack().length-1].text.trim()!==i.parent.inputElement.innerHTML.trim()&&o.undo&&i.parent.formatter.saveData()}}r.push(e)}},s=this,a=0,l=e;a<l.length;a++){o(l[a])}return r},n.prototype.getToolbarOptions=function(e){return{target:e.target,rteToolbarObj:this,items:this.getItems(e.items,e.container),overflowMode:e.mode,enablePersistence:this.parent.enablePersistence,enableRtl:this.parent.enableRtl,cssClass:e.cssClass}},n.prototype.render=function(t){this.toolbarRenderer=this.renderFactory.getRenderer(e.RenderType.Toolbar),this.toolbarRenderer.renderToolbar(this.getToolbarOptions(t))},n}(),Yi=function(){function n(e,t){this.parent=e,this.locator=t,this.renderFactory=this.locator.getService("rendererFactory"),this.addEventListener()}return n.prototype.initializeInstance=function(){this.toolbarRenderer=this.renderFactory.getRenderer(e.RenderType.Toolbar)},n.prototype.beforeRender=function(e){var n=e.item;n.cssClass&&t.addClass([e.element],n.cssClass),"Alignments"!==n.command&&"JustifyLeft"!==n.subCommand&&"JustifyRight"!==n.subCommand&&"JustifyCenter"!==n.subCommand||e.element.setAttribute("title",g(n.subCommand.toLocaleLowerCase(),this.locator))},n.prototype.dropdownContent=function(e,t,n){return'<span style="display: inline-flex;width:'+("quick"===t?"auto":e)+'" ><span class="e-rte-dropdown-btn-text">'+n+"</span></span>"},n.prototype.renderDropDowns=function(e){var n=this;this.initializeInstance();var i=e.containerType,r=e.container;fi.forEach(function(o){var s=void 0;if(-1!==d(o,e.items))switch(o){case"numberformatlist":if(s=t.select("#"+n.parent.getID()+"_"+i+"_NumberFormatList",r),t.isNullOrUndefined(s)||s.classList.contains(en))return;var a=n.parent.numberFormatList.types.slice();a.forEach(function(e){Object.defineProperties(e,{command:{value:"Lists",enumerable:!0},subCommand:{value:"NumberFormatList",enumerable:!0}})}),n.numberFormatListDropDown=n.toolbarRenderer.renderListDropDown({cssClass:"e-order-list "+En+" "+Cn,itemName:"NumberFormatList",items:a,element:s});break;case"bulletformatlist":if(s=t.select("#"+n.parent.getID()+"_"+i+"_BulletFormatList",r),t.isNullOrUndefined(s)||s.classList.contains(en))return;var l=n.parent.bulletFormatList.types.slice();l.forEach(function(e){Object.defineProperties(e,{command:{value:"Lists",enumerable:!0},subCommand:{value:"BulletFormatList",enumerable:!0}})}),n.bulletFormatListDropDown=n.toolbarRenderer.renderListDropDown({cssClass:"e-unorder-list "+En+" "+Cn,itemName:"BulletFormatList",items:l,element:s});break;case"formats":if(s=t.select("#"+n.parent.getID()+"_"+i+"_Formats",r),t.isNullOrUndefined(s)||s.classList.contains(en))return;var c=n.parent.format.types.slice();c.forEach(function(e){Object.defineProperties(e,{command:{value:"Formats",enumerable:!0},subCommand:{value:e.value,enumerable:!0}})});var h=t.isNullOrUndefined(n.parent.format.default)?c[0].text:n.parent.format.default;n.formatDropDown=n.toolbarRenderer.renderDropDownButton({iconCss:"quick"===i?"e-formats e-icons":"",content:n.dropdownContent(n.parent.format.width,i,"quick"===i?"":p(c,h,"text","text")),cssClass:Jt+" "+Zt+" "+Dn,itemName:"Formats",items:c,element:s});break;case"fontname":if(s=t.select("#"+n.parent.getID()+"_"+i+"_FontName",r),t.isNullOrUndefined(s)||s.classList.contains(en))return;var m=n.parent.fontFamily.items.slice();m.forEach(function(e){Object.defineProperties(e,{command:{value:"Font",enumerable:!0},subCommand:{value:"FontName",enumerable:!0}})});var g=t.isNullOrUndefined(n.parent.fontFamily.default)?m[0].text:n.parent.fontFamily.default;n.fontNameDropDown=n.toolbarRenderer.renderDropDownButton({iconCss:"quick"===i?"e-font-name e-icons":"",content:n.dropdownContent(n.parent.fontFamily.width,i,"quick"===i?"":p(m,g,"text","text")),cssClass:Jt+" "+Zt+" "+Mn,itemName:"FontName",items:m,element:s}),t.isNullOrUndefined(n.parent.fontFamily.default)||(n.getEditNode().style.fontFamily=n.parent.fontFamily.default);break;case"fontsize":if(s=t.select("#"+n.parent.getID()+"_"+i+"_FontSize",r),t.isNullOrUndefined(s)||s.classList.contains(en))return;var f=n.parent.fontSize.items.slice();f.forEach(function(e){Object.defineProperties(e,{command:{value:"Font",enumerable:!0},subCommand:{value:"FontSize",enumerable:!0}})});var b=t.isNullOrUndefined(n.parent.fontSize.default)?f[1].text:n.parent.fontSize.default;n.fontSizeDropDown=n.toolbarRenderer.renderDropDownButton({content:n.dropdownContent(n.parent.fontSize.width,i,u(p(f,b.replace(/\s/g,""),"value","text"))),cssClass:Jt+" "+Zt+" "+Rn,itemName:"FontSize",items:f,element:s}),t.isNullOrUndefined(n.parent.fontSize.default)||(n.getEditNode().style.fontSize=n.parent.fontSize.default);break;case"alignments":if(s=t.select("#"+n.parent.getID()+"_"+i+"_Alignments",r),t.isNullOrUndefined(s)||s.classList.contains(en))return;n.alignDropDown=n.toolbarRenderer.renderDropDownButton({iconCss:"e-justify-left e-icons",cssClass:Jt+" "+Zt+" "+In,itemName:"Alignments",items:yi,element:s});break;case"align":n.imageAlignmentDropDown(i,r,s);break;case"display":n.imageDisplayDropDown(i,r,s);break;case"tablerows":n.rowDropDown(i,r,s);break;case"tablecolumns":n.columnDropDown(i,r,s);break;case"tablecell":n.cellDropDown(i,r,s);break;case"tablecellverticalalign":n.verticalAlignDropDown(i,r,s);break;case"styles":n.tableStylesDropDown(i,r,s)}}),this.parent.inlineMode.enable&&this.setCssClass({cssClass:this.parent.cssClass})},n.prototype.getUpdateItems=function(e,t){var n=e.slice();return n.forEach(function(e){Object.defineProperties(e,{command:{value:"Format"===t?"Formats":"Font",enumerable:!0},subCommand:{value:"Format"===t?e.value:t,enumerable:!0}})}),n},n.prototype.onPropertyChanged=function(e){for(var n,i,r=e.newProp,o=0,s=Object.keys(r);o<s.length;o++){switch(s[o]){case"fontFamily":if(this.fontNameDropDown)for(var a=0,l=Object.keys(r.fontFamily);a<l.length;a++){switch(l[a]){case"default":case"width":var d=this.fontNameDropDown.items;n=t.isNullOrUndefined(t.closest(this.fontNameDropDown.element,"."+Wt))?"toolbar":"quick";var c=t.isNullOrUndefined(this.parent.fontFamily.default)?d[0].text:this.parent.fontFamily.default;i=this.dropdownContent(this.parent.fontFamily.width,n,"quick"===n?"":p(d,c,"text","text")),this.fontNameDropDown.setProperties({content:i}),t.isNullOrUndefined(this.parent.fontFamily.default)?this.getEditNode().style.removeProperty("font-family"):this.getEditNode().style.fontFamily=this.parent.fontFamily.default;break;case"items":this.fontNameDropDown.setProperties({items:this.getUpdateItems(r.fontFamily.items,"FontName")})}}break;case"fontSize":if(this.fontSizeDropDown)for(var h=0,m=Object.keys(r.fontSize);h<m.length;h++){switch(m[h]){case"default":case"width":var g=this.fontSizeDropDown.items;n=t.isNullOrUndefined(t.closest(this.fontSizeDropDown.element,"."+Wt))?"toolbar":"quick";var f=t.isNullOrUndefined(this.parent.fontSize.default)?g[1].text:this.parent.fontSize.default;i=this.dropdownContent(this.parent.fontSize.width,n,u(p(g,f.replace(/\s/g,""),"value","text"))),this.fontSizeDropDown.setProperties({content:i}),t.isNullOrUndefined(this.parent.fontSize.default)?this.getEditNode().style.removeProperty("font-size"):this.getEditNode().style.fontSize=this.parent.fontSize.default;break;case"items":this.fontSizeDropDown.setProperties({items:this.getUpdateItems(r.fontSize.items,"FontSize")})}}break;case"format":if(this.formatDropDown)for(var b=0,v=Object.keys(r.format);b<v.length;b++){switch(v[b]){case"default":case"width":var y=this.formatDropDown.items;n=t.isNullOrUndefined(t.closest(this.formatDropDown.element,"."+Wt))?"toolbar":"quick";var C=t.isNullOrUndefined(this.parent.format.default)?y[0].text:this.parent.format.default;i=this.dropdownContent(this.parent.format.width,n,"quick"===n?"":p(y,C,"text","text")),this.formatDropDown.setProperties({content:i});break;case"types":this.formatDropDown.setProperties({items:this.getUpdateItems(r.format.types,"Format")})}}}}},n.prototype.getEditNode=function(){return this.parent.contentModule.getEditPanel()},n.prototype.rowDropDown=function(e,n,i){(i=t.select("#"+this.parent.getID()+"_"+e+"_TableRows",n)).classList.contains(en)||(this.tableRowsDropDown=this.toolbarRenderer.renderDropDownButton({iconCss:"e-table-rows e-icons",cssClass:Jt+" "+Zt+" "+Gt,itemName:"TableRows",items:wi,element:i}))},n.prototype.columnDropDown=function(e,n,i){(i=t.select("#"+this.parent.getID()+"_"+e+"_TableColumns",n)).classList.contains(en)||(this.tableColumnsDropDown=this.toolbarRenderer.renderDropDownButton({iconCss:"e-table-columns e-icons",cssClass:Jt+" "+Zt+" "+Gt,itemName:"TableColumns",items:Li,element:i}))},n.prototype.cellDropDown=function(e,n,i){(i=t.select("#"+this.parent.getID()+"_"+e+"_TableCell",n)).classList.contains(en)||(this.tableRowsDropDown=this.toolbarRenderer.renderDropDownButton({iconCss:"e-table-cell e-icons",cssClass:Jt+" "+Zt+" "+Gt,itemName:"TableCell",items:Ei,element:i}))},n.prototype.verticalAlignDropDown=function(e,n,i){(i=t.select("#"+this.parent.getID()+"_"+e+"_TableCellVerticalAlign",n)).classList.contains(en)||(this.tableCellVerticalAlignDropDown=this.toolbarRenderer.renderDropDownButton({iconCss:"e-table-cell-ver-align e-icons",cssClass:Jt+" "+Zt+" "+Gt,itemName:"TableCellVerticalAlign",items:ki,element:i}))},n.prototype.imageDisplayDropDown=function(e,n,i){(i=t.select("#"+this.parent.getID()+"_"+e+"_Display",n)).classList.contains(en)||(this.displayDropDown=this.toolbarRenderer.renderDropDownButton({iconCss:"e-display e-icons",cssClass:Jt+" "+Zt+" "+Gt,itemName:"Display",items:Si,element:i}))},n.prototype.imageAlignmentDropDown=function(e,n,i){(i=t.select("#"+this.parent.getID()+"_"+e+"_Align",n)).classList.contains(en)||(this.imageAlignDropDown=this.toolbarRenderer.renderDropDownButton({iconCss:"e-justify-left e-icons",cssClass:Jt+" "+$t+" "+Gt,itemName:"Align",items:Ci,element:i}))},n.prototype.tableStylesDropDown=function(e,n,i){(i=t.select("#"+this.parent.getID()+"_"+e+"_Styles",n)).classList.contains(en)||(this.imageAlignDropDown=this.toolbarRenderer.renderDropDownButton({iconCss:"e-style e-icons",cssClass:Jt+" "+$t+" "+Gt,itemName:"Styles",items:this.parent.tableSettings.styles,element:i}))},n.prototype.removeDropDownClasses=function(e){t.removeClass([e],[en,Jt,$t,Zt])},n.prototype.destroyDropDowns=function(){this.formatDropDown&&(this.removeDropDownClasses(this.formatDropDown.element),this.formatDropDown.destroy()),this.fontNameDropDown&&(this.removeDropDownClasses(this.fontNameDropDown.element),this.fontNameDropDown.destroy()),this.fontSizeDropDown&&(this.removeDropDownClasses(this.fontSizeDropDown.element),this.fontSizeDropDown.destroy()),this.alignDropDown&&(this.removeDropDownClasses(this.alignDropDown.element),this.alignDropDown.destroy()),this.imageAlignDropDown&&(this.removeDropDownClasses(this.imageAlignDropDown.element),this.imageAlignDropDown.destroy()),this.displayDropDown&&(this.removeDropDownClasses(this.displayDropDown.element),this.displayDropDown.destroy()),this.tableRowsDropDown&&(this.removeDropDownClasses(this.tableRowsDropDown.element),this.tableRowsDropDown.destroy()),this.tableColumnsDropDown&&(this.removeDropDownClasses(this.tableColumnsDropDown.element),this.tableColumnsDropDown.destroy()),this.tableCellVerticalAlignDropDown&&(this.removeDropDownClasses(this.tableCellVerticalAlignDropDown.element),this.tableCellVerticalAlignDropDown.destroy()),this.numberFormatListDropDown&&(this.removeDropDownClasses(this.numberFormatListDropDown.element),this.numberFormatListDropDown.destroy()),this.bulletFormatListDropDown&&(this.removeDropDownClasses(this.bulletFormatListDropDown.element),this.bulletFormatListDropDown.destroy())},n.prototype.setRtl=function(e){this.formatDropDown&&this.formatDropDown.setProperties({enableRtl:e.enableRtl}),this.fontNameDropDown&&this.fontNameDropDown.setProperties({enableRtl:e.enableRtl}),this.fontSizeDropDown&&this.fontSizeDropDown.setProperties({enableRtl:e.enableRtl}),this.alignDropDown&&this.alignDropDown.setProperties({enableRtl:e.enableRtl}),this.imageAlignDropDown&&this.imageAlignDropDown.setProperties({enableRtl:e.enableRtl}),this.displayDropDown&&this.displayDropDown.setProperties({enableRtl:e.enableRtl}),this.numberFormatListDropDown&&this.numberFormatListDropDown.setProperties({enableRtl:e.enableRtl}),this.bulletFormatListDropDown&&this.bulletFormatListDropDown.setProperties({enableRtl:e.enableRtl})},n.prototype.updateCss=function(e,n){e&&n.cssClass&&(t.isNullOrUndefined(n.oldCssClass)?e.setProperties({cssClass:(e.cssClass+" "+n.cssClass).trim()}):e.setProperties({cssClass:(e.cssClass.replace(n.oldCssClass,"").trim()+" "+n.cssClass).trim()}))},n.prototype.setCssClass=function(e){for(var t=[this.formatDropDown,this.fontNameDropDown,this.fontSizeDropDown,this.alignDropDown,this.imageAlignDropDown,this.displayDropDown,this.numberFormatListDropDown,this.bulletFormatListDropDown,this.tableRowsDropDown,this.tableColumnsDropDown,this.tableCellVerticalAlignDropDown],n=0;n<t.length;n++)this.updateCss(t[n],e)},n.prototype.addEventListener=function(){this.parent.isDestroyed||(this.parent.on(oe,this.beforeRender,this),this.parent.on(j,this.onIframeMouseDown,this),this.parent.on(Ke,this.setRtl,this),this.parent.on(F,this.removeEventListener,this),this.parent.on(Y,this.onPropertyChanged,this),this.parent.on(Dt,this.setCssClass,this))},n.prototype.onIframeMouseDown=function(){C(document,"mousedown")},n.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off(j,this.onIframeMouseDown),this.parent.off(Ke,this.setRtl),this.parent.off(oe,this.beforeRender),this.parent.off(F,this.removeEventListener),this.parent.off(Y,this.onPropertyChanged),this.parent.off(Dt,this.setCssClass))},n}(),Ji=function(){function e(){this.services={}}return e.prototype.register=function(e,n){t.isNullOrUndefined(this.services[e])&&(this.services[e]=n)},e.prototype.getService=function(e){if(t.isNullOrUndefined(this.services[e]))throw"The service "+e+" is not registered";return this.services[e]},e}(),$i=function(){function n(){this.rendererMap={}}return n.prototype.addRenderer=function(n,i){var r=t.getEnumValue(e.RenderType,n);t.isNullOrUndefined(this.rendererMap[r])&&(this.rendererMap[r]=i)},n.prototype.getRenderer=function(n){var i=t.getEnumValue(e.RenderType,n);if(t.isNullOrUndefined(this.rendererMap[i]))throw"The renderer "+i+" is not found";return this.rendererMap[i]},n}(),Zi=function(){function e(e){this.parent=e,this.addEventListener(),this.serviceLocator=new Ji,this.serviceLocator.register("rendererFactory",new $i)}return e.prototype.addEventListener=function(){this.parent.on(q,this.toolbarClick,this),this.parent.on(re,this.dropDownSelect,this),this.parent.on(Fe,this.renderSelection,this),this.parent.on(F,this.removeEventListener,this)},e.prototype.toolbarClick=function(e){if(!t.isNullOrUndefined(e.item)){if(!t.isNullOrUndefined(e.item.controlParent)){var n=e.item.controlParent.activeEle;n&&(n.tabIndex=-1)}"NumberFormatList"!==e.item.command&&"BulletFormatList"!==e.item.command||(e.originalEvent.target.classList.contains("e-order-list")||e.originalEvent.target.classList.contains("e-unorder-list"))&&(e.item.command="Lists",e.item.subCommand="NumberFormatList"===e.item.subCommand?"OL":"UL"),"Lists"===e.item.command&&e.originalEvent.target.classList.contains("e-caret")&&(e.originalEvent.target.parentElement.classList.contains("e-rte-bulletformatlist-dropdown")||e.originalEvent.target.parentElement.classList.contains("e-rte-numberformatlist-dropdown"))&&(e.item.command=e.item.subCommand=null),this.parent.notify(G,e),this.parent.notify(K,e)}},e.prototype.dropDownSelect=function(e){if(this.parent.notify(Re,{}),!document.body.contains(document.body.querySelector(".e-rte-quick-toolbar"))||!e.item||"Images"!==e.item.command&&"Display"!==e.item.command&&"Table"!==e.item.command){var t=e.item.controlParent&&this.parent.quickToolbarModule&&this.parent.quickToolbarModule.tableQTBar&&this.parent.quickToolbarModule.tableQTBar.element.contains(e.item.controlParent.element)?"Table":null;if("Lists"===e.item.command){var n={listStyle:e.item.value,listImage:e.item.listImage,type:e.item.subCommand};this.parent.formatter.process(this.parent,e,e.originalEvent,n)}else this.parent.formatter.process(this.parent,e,e.originalEvent,t)}this.parent.notify(Me,{})},e.prototype.renderSelection=function(e){this.parent.notify(Re,{}),this.parent.formatter.process(this.parent,e,e.originalEvent,null),this.parent.notify(Me,{})},e.prototype.removeEventListener=function(){this.parent.off(q,this.toolbarClick),this.parent.off(re,this.dropDownSelect),this.parent.off(Fe,this.renderSelection),this.parent.off(F,this.removeEventListener)},e}(),er=function(){function n(n,i){this.parent=n,this.isToolbar=!1,this.locator=i,this.isTransformChild=!1,this.renderFactory=this.locator.getService("rendererFactory"),function(e){yi.forEach(function(t,n){yi[n].text=l(e,vi,yi[n])}),Si.forEach(function(t,n){Si[n].text=l(e,Ni,Si[n])}),wi.forEach(function(t,n){wi[n].text=l(e,Ti,wi[n])}),Li.forEach(function(t,n){Li[n].text=l(e,Oi,Li[n])}),ki.forEach(function(t,n){ki[n].text=l(e,xi,ki[n])}),Mi.forEach(function(t,n){Mi[n].text=l(e,Di,Mi[n])})}(this.parent),R(this.parent),this.renderFactory.addRenderer(e.RenderType.Toolbar,new Ki(this.parent)),this.toolbarRenderer=this.renderFactory.getRenderer(e.RenderType.Toolbar),this.baseToolbar=new Xi(this.parent,this.locator),this.addEventListener(),this.parent.toolbarSettings&&Object.keys(this.parent.toolbarSettings.itemConfigs).length>0?t.extend(this.tools,bi,E(this.parent.toolbarSettings.itemConfigs),!0):this.tools=bi}return n.prototype.initializeInstance=function(){this.contentRenderer=this.renderFactory.getRenderer(e.RenderType.Content),this.editableElement=this.contentRenderer.getEditPanel(),this.editPanel=this.contentRenderer.getPanel()},n.prototype.toolbarBindEvent=function(){this.parent.inlineMode.enable||(this.keyBoardModule=new t.KeyboardEvents(this.getToolbarElement(),{keyAction:this.toolBarKeyDown.bind(this),keyConfigs:this.parent.formatter.keyConfig,eventName:"keydown"}))},n.prototype.toolBarKeyDown=function(e){switch(e.action){case"escape":this.parent.contentModule.getEditPanel().focus()}},n.prototype.createToolbarElement=function(){this.tbElement=this.parent.createElement("div",{id:this.parent.getID()+"_toolbar"}),!t.Browser.isDevice&&this.parent.inlineMode.enable&&h()||(this.parent.toolbarSettings.enableFloating&&!this.parent.inlineMode.enable?(this.tbWrapper=this.parent.createElement("div",{id:this.parent.getID()+"_toolbar_wrapper",innerHTML:this.tbElement.outerHTML,className:rn}),this.tbElement=this.tbWrapper.firstElementChild,this.parent.element.insertBefore(this.tbWrapper,this.editPanel)):this.parent.element.insertBefore(this.tbElement,this.editPanel))},n.prototype.getToolbarMode=function(){var t;switch(this.parent.toolbarSettings.type){case e.ToolbarType.Expand:t="Extended";break;case e.ToolbarType.Scrollable:t="Scrollable";break;default:t="MultiRow"}return h()&&this.parent.toolbarSettings.type===e.ToolbarType.Expand&&(t=e.ToolbarType.Scrollable),t},n.prototype.checkToolbarResponsive=function(n){if(!t.Browser.isDevice||h())return!1;var i;return i=this.parent.toolbarSettings.type===e.ToolbarType.Expand?e.ToolbarType.MultiRow:this.parent.toolbarSettings.type,this.baseToolbar.render({container:this.parent.inlineMode.enable?"quick":"toolbar",items:this.parent.toolbarSettings.items,mode:i,target:n,cssClass:this.parent.cssClass}),this.parent.toolbarSettings.type===e.ToolbarType.Expand&&(t.addClass([n],["e-rte-tb-mobile"]),this.parent.inlineMode.enable?this.addFixedTBarClass():t.addClass([n],["e-tb-static"])),this.wireEvents(),this.dropDownModule.renderDropDowns({container:n,containerType:this.parent.inlineMode.enable?"quick":"toolbar",items:this.parent.toolbarSettings.items}),this.parent.notify(V,{container:this.tbElement,containerType:this.parent.inlineMode.enable?"quick":"toolbar",items:this.parent.toolbarSettings.items}),!0},n.prototype.checkIsTransformChild=function(){this.isTransformChild=!1;for(var e=t.selectAll('[style*="transform"]',document),n=0;n<e.length;n++)if(!t.isNullOrUndefined(e[n].contains)&&e[n].contains(this.parent.element)){this.isTransformChild=!0;break}},n.prototype.toggleFloatClass=function(e){var n,i,r=!1,o=!1,s=this.parent.floatingToolbarOffset;e&&this.parent.iframeSettings.enable&&this.parent.inputElement.ownerDocument===e.target?i=e.target.body:e&&e.target!==document?i=e.target:(r=!0,i=document.body);var a=this.getToolbarHeight()+this.getExpandTBarPopHeight();if(this.isTransformChild){n=0;var l=0,d=this.parent.element.offsetHeight;if(r){var c=window.getComputedStyle(i);l=parseFloat(c.marginTop.split("px")[0])+parseFloat(c.paddingTop.split("px")[0])}var p=this.parent.element.getBoundingClientRect().top,h=t.Browser.isMSPointer&&r?window.pageYOffset:i.parentElement.scrollTop,u=i.getBoundingClientRect(),m=r?u.top+h:u.top;p>m+s||p<-d||p<0&&!(p-(r?0:m)+d>a+s)?(o=!1,t.removeClass([this.tbElement],[Ft])):p<m+s&&(n=p<0?-p+m:m-p,n=r?n-l:n,t.addClass([this.tbElement],[Ft]),o=!0)}else{var g=this.parent.element.getBoundingClientRect();if(window.innerHeight<g.top)return;n=e&&e.target!==document?i.getBoundingClientRect().top:0,g.bottom<s+a+n||g.bottom<0||g.top>s+n?o=!1:(g.top<s||g.top<s+n)&&(o=!0)}o?(t.addClass([this.tbElement],[jt]),t.setStyleAttribute(this.tbElement,{width:this.parent.element.offsetWidth+"px",top:s+n+"px"})):(t.removeClass([this.tbElement],[jt]),t.setStyleAttribute(this.tbElement,{top:"0px",width:"100%"}))},n.prototype.renderToolbar=function(){if(this.initializeInstance(),this.createToolbarElement(),!this.checkToolbarResponsive(this.tbElement)){this.parent.inlineMode.enable?this.parent.notify(Ve,{}):(this.baseToolbar.render({container:"toolbar",items:this.parent.toolbarSettings.items,mode:this.getToolbarMode(),target:this.tbElement,cssClass:this.parent.cssClass}),this.parent.inlineMode.enable||(this.parent.toolbarSettings.enableFloating&&(this.checkIsTransformChild(),this.toggleFloatClass()),t.addClass([this.parent.element],[gi]),this.parent.toolbarSettings.type===e.ToolbarType.Expand&&t.addClass([this.parent.element],[zt]))),this.wireEvents(),this.parent.inlineMode.enable&&!h()&&this.addFixedTBarClass(),this.parent.inlineMode.enable||(this.dropDownModule.renderDropDowns({container:this.tbElement,containerType:"toolbar",items:this.parent.toolbarSettings.items}),this.parent.notify(V,{container:this.tbElement,containerType:"toolbar",items:this.parent.toolbarSettings.items}),this.refreshToolbarOverflow());var n=this.parent.element.querySelector(".e-rte-srctextarea"),i=this.parent.element.querySelector(".e-source-content");(!this.parent.iframeSettings.enable&&!t.isNullOrUndefined(n)&&"block"===n.style.display||this.parent.iframeSettings.enable&&!t.isNullOrUndefined(i)&&"block"===i.style.display)&&(this.parent.notify(Ce,{targetItem:"SourceCode",updateItem:"Preview",baseToolbar:this.parent.getBaseToolbarObject()}),this.parent.disableToolbarItem(this.parent.toolbarSettings.items))}},n.prototype.addFixedTBarClass=function(){t.addClass([this.tbElement],[Ht])},n.prototype.removeFixedTBarClass=function(){t.removeClass([this.tbElement],[Ht])},n.prototype.showFixedTBar=function(){t.addClass([this.tbElement],["e-show"]),t.Browser.isIos&&t.addClass([this.tbElement],[On])},n.prototype.hideFixedTBar=function(){this.isToolbar?this.isToolbar=!1:t.removeClass([this.tbElement],["e-show",On])},n.prototype.updateItem=function(e){var n=this.tools[e.updateItem.toLocaleLowerCase()],i=v(b(this.tools[e.targetItem.toLocaleLowerCase()].subCommand),e.baseToolbar.toolbarObj.items)[0];if(t.isNullOrUndefined(i))this.addTBarItem(e,0);else{var r=this.parent.inlineMode.enable?"_quick_":"_toolbar_";e.baseToolbar.toolbarObj.items[i].id=this.parent.getID()+r+n.id,e.baseToolbar.toolbarObj.items[i].prefixIcon=n.icon,e.baseToolbar.toolbarObj.items[i].tooltipText=n.tooltip,e.baseToolbar.toolbarObj.items[i].subCommand=n.subCommand,e.baseToolbar.toolbarObj.dataBind()}},n.prototype.updateToolbarStatus=function(e){if(this.tbElement&&(!this.parent.inlineMode.enable||!h()&&t.Browser.isDevice)){f({args:e,dropDownModule:this.dropDownModule,parent:this.parent,tbElements:t.selectAll("."+nn,this.tbElement),tbItems:this.baseToolbar.toolbarObj.items},!!this.parent.inlineMode.enable,this.parent)}},n.prototype.fullScreen=function(e){this.parent.fullScreenModule.showFullScreen(e)},n.prototype.hideScreen=function(e){this.parent.fullScreenModule.hideFullScreen(e)},n.prototype.getBaseToolbar=function(){return this.baseToolbar},n.prototype.addTBarItem=function(e,t){e.baseToolbar.toolbarObj.addItems([e.baseToolbar.getObject(e.updateItem,"toolbar")],t)},n.prototype.enableTBarItems=function(e,n,i,r){var o=v(b(n),e.toolbarObj.items);this.tbItems=t.selectAll("."+nn,e.toolbarObj.element);for(var s=0;s<o.length;s++){var a=this.tbItems[o[s]];a&&e.toolbarObj.enableItems(a,i)}t.select(".e-rte-srctextarea",this.parent.element)||r||y(e,this.parent.formatter.editorManager.undoRedoManager.getUndoStatus())},n.prototype.removeTBarItems=function(e){t.isNullOrUndefined(this.baseToolbar.toolbarObj)&&(this.baseToolbar=this.parent.getBaseToolbarObject());var n=v(b(e),this.baseToolbar.toolbarObj.items);this.tbItems=this.parent.inlineMode.enable?t.selectAll("."+nn,this.baseToolbar.toolbarObj.element):t.selectAll("."+nn,this.parent.element);for(var i=0;i<n.length;i++)this.baseToolbar.toolbarObj.removeItems(this.tbItems[n[i]])},n.prototype.getExpandTBarPopHeight=function(){var n=0;if(this.parent.toolbarSettings.type===e.ToolbarType.Expand&&this.tbElement.classList.contains("e-extended-toolbar")){var i=t.select(".e-toolbar-extended",this.tbElement);i&&this.tbElement.classList.contains("e-expand-open")||i&&i.classList.contains("e-popup-open")?(t.addClass([i],[sn]),n+=i.offsetHeight,t.removeClass([i],[sn])):t.removeClass([this.tbElement],[Sn])}return n},n.prototype.getToolbarHeight=function(){return this.tbElement.offsetHeight},n.prototype.getToolbarElement=function(){return t.select("."+Ut,this.parent.element)},n.prototype.refreshToolbarOverflow=function(){this.baseToolbar.toolbarObj.refreshOverflow()},n.prototype.isToolbarDestroyed=function(){return this.baseToolbar.toolbarObj&&!this.baseToolbar.toolbarObj.isDestroyed},n.prototype.destroyToolbar=function(){if(this.isToolbarDestroyed()){this.parent.unWireScrollElementsEvents(),this.unWireEvents(),this.parent.notify(X,{}),this.dropDownModule.destroyDropDowns(),this.baseToolbar.toolbarObj.destroy(),this.removeEventListener(),t.removeClass([this.parent.element],[gi]),t.removeClass([this.parent.element],[zt]);var e=t.select("."+rn,this.parent.element),n=t.select("."+Ut,this.parent.element);t.isNullOrUndefined(e)?t.isNullOrUndefined(n)||t.detach(n):t.detach(e)}},n.prototype.destroy=function(){this.isToolbarDestroyed()&&(this.destroyToolbar(),this.keyBoardModule&&this.keyBoardModule.destroy())},n.prototype.moduleDestroy=function(){this.parent=null,this.baseToolbar.parent=null,this.toolbarActionModule.parent=null,this.dropDownModule.parent=null},n.prototype.scrollHandler=function(e){this.parent.inlineMode.enable||this.parent.toolbarSettings.enableFloating&&this.getDOMVisibility(this.tbElement)&&this.toggleFloatClass(e.args)},n.prototype.getDOMVisibility=function(e){return!(!e.offsetParent&&0===e.offsetWidth&&0===e.offsetHeight)},n.prototype.mouseDownHandler=function(){t.Browser.isDevice&&this.parent.inlineMode.enable&&!h()&&this.showFixedTBar()},n.prototype.focusChangeHandler=function(){t.Browser.isDevice&&this.parent.inlineMode.enable&&!h()&&(this.isToolbar=!1,this.hideFixedTBar())},n.prototype.dropDownBeforeOpenHandler=function(){this.isToolbar=!0},n.prototype.tbFocusHandler=function(e){var n=document.activeElement,i=t.closest(n,".e-rte-toolbar");if(n===this.parent.getToolbarElement()||i===this.parent.getToolbarElement())for(var r=this.parent.getToolbarElement().querySelectorAll(".e-expended-nav"),o=0;o<r.length;o++)t.isNullOrUndefined(this.parent.getToolbarElement().querySelector(".e-insert-table-btn"))?r[o].setAttribute("tabindex","0"):r[o].setAttribute("tabindex","1")},n.prototype.tbKeydownHandler=function(e){(e.target.classList.contains("e-dropdown-btn")||e.target.getAttribute("id")===this.parent.getID()+"_toolbar_CreateTable")&&e.target.setAttribute("tabindex","0")},n.prototype.toolbarClickHandler=function(n){var i=t.closest(n.originalEvent.target,".e-hor-nav");i&&this.parent.toolbarSettings.type===e.ToolbarType.Expand&&!t.isNullOrUndefined(i)?i.classList.contains("e-nav-active")?(t.addClass([this.tbElement],[Sn]),this.parent.setContentHeight("toolbar",!0)):(t.removeClass([this.tbElement],[Sn]),this.parent.setContentHeight("toolbar",!1)):(t.Browser.isDevice||this.parent.inlineMode.enable)&&(this.isToolbar=!0),t.isNullOrUndefined(i)&&this.parent.toolbarSettings.type===e.ToolbarType.Expand&&t.removeClass([this.tbElement],[Sn])},n.prototype.wireEvents=function(){this.parent.inlineMode.enable&&h()||(t.EventHandler.add(this.tbElement,"focusin",this.tbFocusHandler,this),t.EventHandler.add(this.tbElement,"keydown",this.tbKeydownHandler,this))},n.prototype.unWireEvents=function(){t.EventHandler.remove(this.tbElement,"focusin",this.tbFocusHandler),t.EventHandler.remove(this.tbElement,"keydown",this.tbKeydownHandler)},n.prototype.addEventListener=function(){this.parent.isDestroyed||(this.dropDownModule=new Yi(this.parent,this.locator),this.toolbarActionModule=new Zi(this.parent),this.parent.on(H,this.renderToolbar,this),this.parent.on(He,this.scrollHandler,this),this.parent.on(Q,this.toolbarBindEvent,this),this.parent.on(W,this.updateToolbarStatus,this),this.parent.on(Y,this.onPropertyChanged,this),this.parent.on(_,this.onRefresh,this),this.parent.on(F,this.destroy,this),this.parent.on(ne,this.fullScreen,this),this.parent.on(ie,this.hideScreen,this),this.parent.on(Ce,this.updateItem,this),this.parent.on(De,this.dropDownBeforeOpenHandler,this),this.parent.on(Ie,this.parent.setContentHeight,this.parent),this.parent.on(ze,this.focusChangeHandler,this),this.parent.on(Pe,this.mouseDownHandler,this),this.parent.on(Ae,this.mouseDownHandler,this),this.parent.on(Dt,this.setCssClass,this),this.parent.on(et,this.moduleDestroy,this),this.parent.inlineMode.enable||h()||this.parent.on(q,this.toolbarClickHandler,this))},n.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off(H,this.renderToolbar),this.parent.off(He,this.scrollHandler),this.parent.off(Q,this.toolbarBindEvent),this.parent.off(W,this.updateToolbarStatus),this.parent.off(Y,this.onPropertyChanged),this.parent.off(_,this.onRefresh),this.parent.off(F,this.destroy),this.parent.off(ne,this.parent.fullScreenModule.showFullScreen),this.parent.off(ie,this.parent.fullScreenModule.hideFullScreen),this.parent.off(Ce,this.updateItem),this.parent.off(De,this.dropDownBeforeOpenHandler),this.parent.off(Ie,this.parent.setContentHeight),this.parent.off(ze,this.focusChangeHandler),this.parent.off(Pe,this.mouseDownHandler),this.parent.off(Ae,this.mouseDownHandler),this.parent.off(Dt,this.setCssClass),this.parent.off(et,this.moduleDestroy),this.parent.inlineMode.enable||h()||this.parent.off(q,this.toolbarClickHandler))},n.prototype.setCssClass=function(e){this.toolbarObj&&e.cssClass&&(t.isNullOrUndefined(e.oldCssClass)?this.toolbarObj.setProperties({cssClass:(this.toolbarObj.cssClass+" "+e.cssClass).trim()}):this.toolbarObj.setProperties({cssClass:(this.toolbarObj.cssClass.replace(e.oldCssClass,"").trim()+" "+e.cssClass).trim()}))},n.prototype.onRefresh=function(){this.parent.inlineMode.enable||this.refreshToolbarOverflow(),this.parent.setContentHeight("",!0)},n.prototype.onPropertyChanged=function(e){if(!t.isNullOrUndefined(e.newProp.inlineMode))for(var n=0,i=Object.keys(e.newProp.inlineMode);n<i.length;n++){switch(i[n]){case"enable":this.refreshToolbar()}}e.module===this.getModuleName()&&this.refreshToolbar()},n.prototype.refreshToolbar=function(){t.isNullOrUndefined(this.baseToolbar.toolbarObj)&&(this.baseToolbar=this.parent.getBaseToolbarObject());var e=t.select("."+rn,this.parent.element);(t.select("."+Ut,this.parent.element)||e)&&this.destroyToolbar(),this.parent.toolbarSettings.enable&&(this.addEventListener(),this.renderToolbar(),this.parent.wireScrollElementsEvents(),t.select(".e-rte-srctextarea",this.parent.element)||y(this.baseToolbar,this.parent.formatter.editorManager.undoRedoManager.getUndoStatus()),this.parent.notify(Ct,{}))},n.prototype.getModuleName=function(){return"toolbar"},n}(),tr=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),nr=function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},ir={backspace:8,tab:9,enter:13,shift:16,control:17,alt:18,pause:19,capslock:20,space:32,escape:27,pageup:33,pagedown:34,end:35,home:36,leftarrow:37,uparrow:38,rightarrow:39,downarrow:40,insert:45,delete:46,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123,semicolon:186,plus:187,comma:188,minus:189,dot:190,forwardslash:191,graveaccent:192,openbracket:219,backslash:220,closebracket:221,singlequote:222,"]":221,"[":219,"=":187},rr=function(e){function n(t,n){var r=e.call(this,n,t)||this;return r.keyPressHandler=function(e){for(var t=e.altKey,n=e.ctrlKey,o=e.shiftKey,s=e.metaKey,a=e.which,l=0,d=Object.keys(r.keyConfigs);l<d.length;l++)for(var c=d[l],p=0,h=r.keyConfigs[c].split(",");p<h.length;p++){var u=h[p],m=i.getKeyConfigData(u.trim());t!==m.altKey||n!==m.ctrlKey&&!s||o!==m.shiftKey||a!==m.keyCode||(e.action=c)}r.keyAction&&r.keyAction(e)},r.bind(),r}tr(n,e),i=n,n.prototype.destroy=function(){this.unwireEvents(),e.prototype.destroy.call(this)},n.prototype.onPropertyChanged=function(e,t){},n.prototype.bind=function(){this.wireEvents()},n.prototype.getModuleName=function(){return"keyboard"},n.prototype.wireEvents=function(){this.element.addEventListener(this.eventName,this.keyPressHandler)},n.prototype.unwireEvents=function(){this.element.removeEventListener(this.eventName,this.keyPressHandler)},n.getKeyConfigData=function(e){if(e in this.configCache)return this.configCache[e];var t=e.toLowerCase().split("+"),n={altKey:-1!==t.indexOf("alt"),ctrlKey:-1!==t.indexOf("ctrl"),shiftKey:-1!==t.indexOf("shift"),keyCode:null};return t[t.length-1].length>1&&Number(t[t.length-1])?n.keyCode=Number(t[t.length-1]):n.keyCode=i.getKeyCode(t[t.length-1]),i.configCache[e]=n,n},n.getKeyCode=function(e){return ir[e]||e.toUpperCase().charCodeAt(0)};var i;return n.configCache={},nr([t.Property({})],n.prototype,"keyConfigs",void 0),nr([t.Property("keyup")],n.prototype,"eventName",void 0),nr([t.Event()],n.prototype,"keyAction",void 0),n=i=nr([t.NotifyPropertyChanges],n)}(t.Base),or=function(){function n(e,n){this.tools={},this.parent=e,this.locator=n,this.renderFactory=this.locator.getService("rendererFactory"),this.addEventListener(),this.parent.toolbarSettings&&Object.keys(this.parent.toolbarSettings.itemConfigs).length>0?t.extend(this.tools,bi,E(this.parent.toolbarSettings.itemConfigs),!0):this.tools=bi}return n.prototype.initializeInstance=function(){this.toolbarRenderer=this.renderFactory.getRenderer(e.RenderType.Toolbar)},n.prototype.renderColorPickerInput=function(e){var n=this;this.initializeInstance();var i,r,o=e.containerType,s=e.container;fi.forEach(function(a){if(-1!==d(a,e.items))switch(a){case"fontcolor":i=n.parent.getID()+"_"+o+"_FontColor_Target";var l=n.parent.createElement("input");if(l.id=i,l.classList.add(Bn),!t.isNullOrUndefined(n.parent.cssClass))for(var c=n.parent.cssClass.split(" "),p=0;p<c.length;p++)""!==c[p].trim()&&l.classList.add(c[p]);document.body.appendChild(l),r={cssClass:n.tools[a.toLocaleLowerCase()].icon+" "+En+" "+Cn+" "+n.parent.cssClass,value:n.tools[a.toLocaleLowerCase()].value,command:n.tools[a.toLocaleLowerCase()].command,subCommand:n.tools[a.toLocaleLowerCase()].subCommand,element:t.select("#"+n.parent.getID()+"_"+o+"_FontColor",s),target:i},n.fontColorPicker=n.toolbarRenderer.renderColorPicker(r,"fontcolor"),n.fontColorDropDown=n.toolbarRenderer.renderColorPickerDropDown(r,"fontcolor",n.fontColorPicker);break;case"backgroundcolor":i=n.parent.getID()+"_"+o+"_BackgroundColor_Target";var h=n.parent.createElement("input");if(h.id=i,h.classList.add(Pn),!t.isNullOrUndefined(n.parent.cssClass))for(c=n.parent.cssClass.split(" "),p=0;p<c.length;p++)""!==c[p].trim()&&h.classList.add(c[p]);document.body.appendChild(h),r={cssClass:n.tools[a.toLocaleLowerCase()].icon+" "+En+" "+Cn+" "+n.parent.cssClass,value:n.tools[a.toLocaleLowerCase()].value,command:n.tools[a.toLocaleLowerCase()].command,subCommand:n.tools[a.toLocaleLowerCase()].subCommand,element:t.select("#"+n.parent.getID()+"_"+o+"_BackgroundColor",s),target:i},n.backgroundColorPicker=n.toolbarRenderer.renderColorPicker(r,"backgroundcolor"),n.backgroundColorDropDown=n.toolbarRenderer.renderColorPickerDropDown(r,"backgroundcolor",n.backgroundColorPicker,n.defaultColorPicker)}}),this.parent.inlineMode.enable&&this.setCssClass({cssClass:this.parent.cssClass})},n.prototype.destroy=function(){this.removeEventListener(),this.destroyColorPicker()},n.prototype.destroyColorPicker=function(){if(this.fontColorPicker&&!this.fontColorPicker.isDestroyed&&this.fontColorPicker.destroy(),this.backgroundColorPicker&&!this.backgroundColorPicker.isDestroyed&&this.backgroundColorPicker.destroy(),this.fontColorDropDown&&!this.fontColorDropDown.isDestroyed){(e=this.fontColorDropDown.element.querySelector(".e-rte-color-content"))&&t.detach(e),this.fontColorDropDown.destroy()}if(this.backgroundColorDropDown&&!this.backgroundColorDropDown.isDestroyed){var e;(e=this.backgroundColorDropDown.element.querySelector(".e-rte-color-content"))&&(this.defaultColorPicker=e.children[0].style.borderBottomColor,t.detach(e)),this.backgroundColorDropDown.destroy()}},n.prototype.setRtl=function(e){this.fontColorPicker&&(this.fontColorPicker.setProperties({enableRtl:e.enableRtl}),this.fontColorDropDown.setProperties({enableRtl:e.enableRtl})),this.backgroundColorPicker&&(this.backgroundColorPicker.setProperties({enableRtl:e.enableRtl}),this.backgroundColorDropDown.setProperties({enableRtl:e.enableRtl}))},n.prototype.setCssClass=function(e){this.updateCss(this.fontColorPicker,this.fontColorDropDown,e),this.updateCss(this.backgroundColorPicker,this.backgroundColorDropDown,e)},n.prototype.updateCss=function(e,n,i){e&&i.cssClass&&(t.isNullOrUndefined(i.oldCssClass)?(e.setProperties({cssClass:(e.cssClass+" "+i.cssClass).trim()}),n.setProperties({cssClass:(n.cssClass+" "+i.cssClass).trim()})):(e.setProperties({cssClass:(e.cssClass.replace(i.oldCssClass,"").replace(" "," ").trim()+" "+i.cssClass).trim()}),n.setProperties({cssClass:(n.cssClass.replace(i.oldCssClass,"").replace(" "," ").trim()+" "+i.cssClass).trim()})))},n.prototype.addEventListener=function(){this.parent.on(te,this.renderColorPickerInput,this),this.parent.on(Ke,this.setRtl,this),this.parent.on(F,this.destroy,this),this.parent.on(X,this.destroyColorPicker,this),this.parent.on(Y,this.onPropertyChanged,this),this.parent.on(Dt,this.setCssClass,this)},n.prototype.onPropertyChanged=function(e){for(var t=e.newProp,n=0,i=Object.keys(t);n<i.length;n++){switch(i[n]){case"fontColor":if(this.fontColorPicker)for(var r=0,o=Object.keys(t.fontColor);r<o.length;r++){switch(o[r]){case"default":this.fontColorPicker.setProperties({value:t.fontColor.default});this.fontColorDropDown.element.querySelector("."+this.tools.fontcolor.icon).style.borderBottomColor=t.fontColor.default;break;case"mode":this.fontColorPicker.setProperties({mode:t.fontColor.mode});break;case"columns":this.fontColorPicker.setProperties({columns:t.fontColor.columns});break;case"colorCode":this.fontColorPicker.setProperties({presetColors:t.fontColor.colorCode});break;case"modeSwitcher":this.fontColorPicker.setProperties({modeSwitcher:t.fontColor.modeSwitcher})}}break;case"backgroundColor":if(this.backgroundColorPicker)for(var s=0,a=Object.keys(t.backgroundColor);s<a.length;s++){switch(a[s]){case"default":this.backgroundColorPicker.setProperties({value:t.backgroundColor.default});this.backgroundColorDropDown.element.querySelector("."+this.tools.backgroundcolor.icon).style.borderBottomColor=t.backgroundColor.default;break;case"mode":this.backgroundColorPicker.setProperties({mode:t.backgroundColor.mode});break;case"columns":this.backgroundColorPicker.setProperties({columns:t.backgroundColor.columns});break;case"colorCode":this.backgroundColorPicker.setProperties({presetColors:t.backgroundColor.colorCode});break;case"modeSwitcher":this.backgroundColorPicker.setProperties({modeSwitcher:t.backgroundColor.modeSwitcher})}}}}},n.prototype.removeEventListener=function(){this.parent.off(te,this.renderColorPickerInput),this.parent.off(F,this.destroy),this.parent.off(Ke,this.setRtl),this.parent.off(X,this.destroyColorPicker),this.parent.off(Y,this.onPropertyChanged),this.parent.off(Dt,this.setCssClass)},n}(),sr=function(){function n(t,n){this.parent=t,this.locator=n,this.isDOMElement=!1,this.renderFactory=this.locator.getService("rendererFactory"),this.contentRenderer=this.renderFactory.getRenderer(e.RenderType.Content),this.popupRenderer=this.renderFactory.getRenderer(e.RenderType.Popup),this.dropDownButtons=new Yi(this.parent,this.locator),this.colorPickerObj=new or(this.parent,this.locator)}return n.prototype.appendPopupContent=function(){this.toolbarElement=this.parent.createElement("div",{className:Wt}),this.element.appendChild(this.toolbarElement)},n.prototype.render=function(e){var n;n="Image"===e.popupType?Kt:"Inline"===e.popupType?Xt:"";var i=t.getUniqueID(e.popupType+"_Quick_Popup");this.stringItems=e.toolbarItems,this.element=this.parent.createElement("div",{id:i,className:n+" "+En}),this.element.setAttribute("aria-owns",this.parent.getID()),this.appendPopupContent(),this.createToolbar(e.toolbarItems,e.mode,e.cssClass),this.popupRenderer.renderPopup(this),this.addEventListener()},n.prototype.createToolbar=function(e,t,n){this.quickTBarObj=new Xi(this.parent,this.locator),this.quickTBarObj.render({container:"quick",target:this.toolbarElement,items:e,mode:t,cssClass:n}),this.quickTBarObj.toolbarObj.refresh()},n.prototype.setPosition=function(e){var n,i,r=t.closest(e.target,".e-img-caption"),o=t.isNullOrUndefined(r)?e.target:r;t.addClass([this.toolbarElement],[ln]);var s=o.offsetTop,a=window.pageYOffset+e.parentData.top;i=s-e.editTop>e.popHeight?a+e.tBarElementHeight+(s-e.editTop)-e.popHeight-5:e.editTop+e.editHeight-(s+o.offsetHeight)>e.popHeight?a+e.tBarElementHeight+(s-e.editTop)+o.offsetHeight+5:e.y,n=o.offsetWidth>e.popWidth?o.offsetWidth/2-e.popWidth/2+e.parentData.left+o.offsetLeft:e.parentData.left+o.offsetLeft,this.popupObj.position.X=n+e.popWidth>e.parentData.right?e.parentData.right-e.popWidth:n,this.popupObj.position.Y=i>=0?i:e.y+5,this.popupObj.dataBind(),t.removeClass([this.toolbarElement],[ln])},n.prototype.checkCollision=function(e,t,n){var i,o,s=e.parentData.top,a=e.windowY+s+e.tBarElementHeight,l=[];l="document"===t?r.isCollide(e.popup):r.isCollide(e.popup,e.parentElement);for(var d=0;d<l.length;d++)switch(l[d]){case"top":o="document"===t?e.windowY:window.pageYOffset+s+e.tBarElementHeight;break;case"bottom":o="document"===t?"inline"===n?e.y-e.popHeight-10:e.windowHeight-(s+e.tBarElementHeight)>e.popHeight?a-e.windowHeight>e.popHeight?a+(e.windowHeight-s)-e.popHeight:a:e.windowY+(s+e.tBarElementHeight):"IMG"!==e.target.tagName?e.parentData.bottom+window.pageYOffset-e.popHeight-10:e.parentData.bottom+window.pageYOffset-e.popHeight-5;break;case"right":i="inline"===n?window.pageXOffset+(e.windowWidth-(e.popWidth+e.bodyRightSpace+10)):e.x-e.popWidth;break;case"left":i="inline"===n?0:e.parentData.left}this.popupObj.position.X=i||this.popupObj.position.X,this.popupObj.position.Y=o||this.popupObj.position.Y,this.popupObj.dataBind()},n.prototype.showPopup=function(e,n,i){var r=this,o={popup:this.popupObj,cancel:!1,targetElement:i};this.parent.trigger(st,o,function(o){if(!o.cancel){var s=void 0,a=void 0,l=window.getComputedStyle(document.body),d=parseFloat(l.marginRight.split("px")[0])+parseFloat(l.paddingRight.split("px")[0]),c=window.innerHeight,p=window.innerWidth,u=r.parent.element,m=!t.isNullOrUndefined(r.parent.getToolbar()),g=m&&r.parent.toolbarModule.getToolbarHeight(),f=m&&r.parent.toolbarModule.getExpandTBarPopHeight(),b=m?g+f:0;if(t.addClass([r.element],[on]),t.Browser.isDevice&&!h()&&t.addClass([r.parent.getToolbar()],[on]),r.parent.iframeSettings.enable){s=(v=r.contentRenderer.getPanel().contentWindow).pageYOffset,a=v.innerHeight}else{var v;s=(v=t.closest(i,"."+tn))?v.scrollTop:0,a=v?v.offsetHeight:0}r.parent.inlineMode.enable||t.closest(i,"table")||(r.parent.disableToolbarItem(r.parent.toolbarSettings.items),r.parent.enableToolbarItem(["Undo","Redo"])),t.append([r.element],document.body),r.popupObj.position.X=e+20,r.popupObj.position.Y=n+20,r.popupObj.dataBind(),r.popupObj.element.classList.add("e-popup-open"),r.dropDownButtons.renderDropDowns({container:r.toolbarElement,containerType:"quick",items:r.stringItems}),r.colorPickerObj.renderColorPickerInput({container:r.toolbarElement,containerType:"quick",items:r.stringItems});var y={x:e,y:n,target:i,editTop:s,editHeight:a,popup:r.popupObj.element,popHeight:r.popupObj.element.offsetHeight,popWidth:r.popupObj.element.offsetWidth,parentElement:u,bodyRightSpace:d,windowY:window.pageYOffset,windowHeight:c,windowWidth:p,parentData:u.getBoundingClientRect(),tBarElementHeight:b};"IMG"===i.tagName&&r.setPosition(y),r.parent.inlineMode.enable||r.checkCollision(y,"parent",""),r.checkCollision(y,"document",r.parent.inlineMode.enable?"inline":""),r.popupObj.element.classList.remove("e-popup-open"),t.removeClass([r.element],[on]),r.popupObj.show({name:"ZoomIn",duration:t.Browser.isIE?250:400}),r.popupObj&&r.parent.cssClass&&(t.removeClass([r.popupObj.element],r.parent.cssClass),t.addClass([r.popupObj.element],r.parent.cssClass)),t.setStyleAttribute(r.element,{maxWidth:window.outerWidth+"px"}),t.addClass([r.element],[Qt]),r.isDOMElement=!0}})},n.prototype.hidePopup=function(){var e=this.parent.sourceCodeModule.getViewPanel();t.Browser.isDevice&&!h()&&t.removeClass([this.parent.getToolbar()],[on]),t.isNullOrUndefined(this.parent.getToolbar())||this.parent.inlineMode.enable||(t.isNullOrUndefined(e)||"none"===e.style.display)&&this.parent.enableToolbarItem(this.parent.toolbarSettings.items),this.removeEleFromDOM(),this.isDOMElement=!1},n.prototype.addQTBarItem=function(e,t){this.quickTBarObj.toolbarObj.addItems(this.quickTBarObj.getItems(e,"toolbar"),t)},n.prototype.removeQTBarItem=function(e){this.quickTBarObj.toolbarObj.removeItems(e)},n.prototype.removeEleFromDOM=function(){var e=this.popupObj.element;if(this.isDOMElement){this.dropDownButtons.destroyDropDowns(),this.colorPickerObj.destroyColorPicker(),t.removeClass([this.element],[Qt]),t.detach(e);var n=this.popupObj;this.parent.trigger(lt,n)}},n.prototype.updateStatus=function(e){f({args:e,dropDownModule:this.dropDownButtons,parent:this.parent,tbElements:t.selectAll("."+nn,this.element),tbItems:this.quickTBarObj.toolbarObj.items},!0,this.parent),t.select(".e-rte-srctextarea",this.parent.element)||y(this.parent.getBaseToolbarObject(),this.parent.formatter.editorManager.undoRedoManager.getUndoStatus())},n.prototype.destroy=function(){this.popupObj&&!this.popupObj.isDestroyed&&(this.popupObj.destroy(),this.removeEleFromDOM()),this.removeEventListener()},n.prototype.addEventListener=function(){this.parent.isDestroyed||(this.parent.on(F,this.destroy,this),this.parent.on(Y,this.onPropertyChanged,this),this.parent.inlineMode.enable&&this.parent.on(W,this.updateStatus,this))},n.prototype.onPropertyChanged=function(e){if(!t.isNullOrUndefined(e.newProp.inlineMode))for(var n=0,i=Object.keys(e.newProp.inlineMode);n<i.length;n++){switch(i[n]){case"enable":e.newProp.inlineMode.enable?this.parent.on(W,this.updateStatus,this):this.parent.off(W,this.updateStatus)}}},n.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off(F,this.destroy),this.parent.off(Y,this.onPropertyChanged),this.parent.inlineMode.enable&&this.parent.off(W,this.updateStatus))},n}(),ar=function(){function e(e){this.parent=e}return e.prototype.quickToolbarOpen=function(){var e=this.popupObj;this.parent.trigger(at,e)},e.prototype.renderPopup=function(e){this.setPanel(e.element),this.renderPanel(),e.popupObj=new r.Popup(e.element,{targetType:"relative",relateTo:this.parent.element,open:this.quickToolbarOpen.bind(this)}),this.popupObj=e.popupObj,e.popupObj.hide()},e.prototype.renderPanel=function(){this.getPanel().classList.add(Vt)},e.prototype.getPanel=function(){return this.popupPanel},e.prototype.setPanel=function(e){this.popupPanel=e},e}(),lr=function(){function n(t,n){this.parent=t,this.locator=n,this.renderFactory=this.locator.getService("rendererFactory"),this.renderFactory.addRenderer(e.RenderType.Popup,new ar(this.parent)),this.addEventListener()}return n.prototype.formatItems=function(e){var t=[];return e.forEach(function(e){if("string"==typeof e)switch(e.toLocaleLowerCase()){case"open":t.push("openLink");break;case"edit":t.push("editLink");break;case"unlink":t.push("removeLink");break;default:t.push(e)}else t.push(e)}),t},n.prototype.getQTBarOptions=function(e,t,n,i){return{popupType:e,toolbarItems:n,mode:t,renderType:i,cssClass:this.parent.cssClass}},n.prototype.createQTBar=function(e,t,n,i){if(n.length<1)return null;var r=new sr(this.parent,this.locator);return r.render(this.getQTBarOptions(e,t,this.formatItems(n),i)),r},n.prototype.initializeQuickToolbars=function(){this.parent.quickToolbarModule=this,this.contentRenderer=this.renderFactory.getRenderer(e.RenderType.Content),this.parent.inlineMode.enable&&this.parent.inlineMode.onSelection&&h()&&t.EventHandler.add(this.contentRenderer.getDocument(),"selectionchange",this.selectionChangeHandler,this)},n.prototype.onMouseDown=function(e){this.parent.isBlur=!1,this.parent.isRTE=!0},n.prototype.keyUpQT=function(e){27==e.which&&this.hideQuickToolbars()},n.prototype.renderQuickToolbars=function(){this.linkQTBar||this.imageQTBar||this.textQTBar||this.tableQTBar||(this.linkQTBar=this.createQTBar("Link","Scrollable",this.parent.quickToolbarSettings.link,e.RenderType.LinkToolbar),this.renderFactory.addRenderer(e.RenderType.LinkToolbar,this.linkQTBar),this.textQTBar=this.createQTBar("Text","Scrollable",this.parent.quickToolbarSettings.text,e.RenderType.TextToolbar),this.renderFactory.addRenderer(e.RenderType.TextToolbar,this.textQTBar),this.imageQTBar=this.createQTBar("Image","MultiRow",this.parent.quickToolbarSettings.image,e.RenderType.ImageToolbar),this.renderFactory.addRenderer(e.RenderType.ImageToolbar,this.imageQTBar),this.tableQTBar=this.createQTBar("Table","MultiRow",this.parent.quickToolbarSettings.table,e.RenderType.TableToolbar),this.renderFactory.addRenderer(e.RenderType.TableToolbar,this.tableQTBar),this.linkQTBar&&(t.EventHandler.add(this.linkQTBar.element,"mousedown",this.onMouseDown,this),t.EventHandler.add(this.linkQTBar.element,"keyup",this.keyUpQT,this)),this.imageQTBar&&(t.EventHandler.add(this.imageQTBar.element,"mousedown",this.onMouseDown,this),t.EventHandler.add(this.imageQTBar.element,"keyup",this.keyUpQT,this)),this.textQTBar&&(t.EventHandler.add(this.textQTBar.element,"mousedown",this.onMouseDown,this),t.EventHandler.add(this.textQTBar.element,"keyup",this.keyUpQT,this)),this.tableQTBar&&(t.EventHandler.add(this.tableQTBar.element,"mousedown",this.onMouseDown,this),t.EventHandler.add(this.tableQTBar.element,"keyup",this.keyUpQT,this)))},n.prototype.renderInlineQuickToolbar=function(){!this.parent.inlineMode.enable||t.Browser.isDevice&&!h()||(t.addClass([this.parent.element],[qt]),this.inlineQTBar=this.createQTBar("Inline","MultiRow",this.parent.toolbarSettings.items,e.RenderType.InlineToolbar),this.renderFactory.addRenderer(e.RenderType.InlineToolbar,this.inlineQTBar),t.EventHandler.add(this.inlineQTBar.element,"mousedown",this.onMouseDown,this),t.EventHandler.add(this.inlineQTBar.element,"keyup",this.keyUpQT,this))},n.prototype.showInlineQTBar=function(e,t,n){this.parent.readonly||"img"===n.tagName.toLowerCase()||this.inlineQTBar.showPopup(e,t,n)},n.prototype.hideInlineQTBar=function(){this.inlineQTBar&&!c(this.inlineQTBar.element,"e-popup-close")&&this.inlineQTBar.hidePopup()},n.prototype.hideQuickToolbars=function(){this.linkQTBar&&!c(this.linkQTBar.element,"e-popup-close")&&document.body.contains(this.linkQTBar.element)&&this.linkQTBar.hidePopup(),this.textQTBar&&!c(this.textQTBar.element,"e-popup-close")&&document.body.contains(this.textQTBar.element)&&this.textQTBar.hidePopup(),this.imageQTBar&&!c(this.imageQTBar.element,"e-popup-close")&&document.body.contains(this.imageQTBar.element)&&this.imageQTBar.hidePopup(),this.tableQTBar&&!c(this.tableQTBar.element,"e-popup-close")&&document.body.contains(this.tableQTBar.element)&&this.tableQTBar.hidePopup(),!this.parent.inlineMode.enable||t.Browser.isDevice&&!h()||this.hideInlineQTBar()},n.prototype.deBounce=function(e,t,n){var i=this;clearTimeout(this.deBouncer),this.deBouncer=window.setTimeout(function(){i.showInlineQTBar(e,t,n)},1e3)},n.prototype.mouseUpHandler=function(e){if(this.parent.inlineMode.enable&&(!t.Browser.isDevice||h())){var n=e.args.touches?e.args.changedTouches[0]:e.args,i=this.parent.getRange(),r=e.args.target;if(t.isNullOrUndefined(t.select("."+Xt,document.body))){if(h()&&e.touchData&&e.touchData.prevClientX!==e.touchData.clientX&&e.touchData.prevClientY!==e.touchData.clientY)return;this.hideInlineQTBar();var o=this.parent.element.getBoundingClientRect().left;if(this.offsetX=this.parent.iframeSettings.enable?window.pageXOffset+o+n.clientX:n.pageX,this.offsetY=m(n,this.parent.element,this.parent.iframeSettings.enable),"TEXTAREA"===r.nodeName)this.showInlineQTBar(this.offsetX,this.offsetY,r);else{var s=t.closest(r,"a");r=s||r;var a=this.parent.getRange().startContainer.parentElement,l=this.parent.getRange().endContainer.parentElement;if((t.isNullOrUndefined(t.closest(a,"A"))||t.isNullOrUndefined(t.closest(l,"A")))&&(!t.closest(r,"td,th")||!i.collapsed)&&("IMG"!==r.tagName||this.parent.getRange().startOffset!==this.parent.getRange().endOffset)){if(this.parent.inlineMode.onSelection&&i.collapsed)return;this.target=r,this.showInlineQTBar(this.offsetX,this.offsetY,r)}}}}},n.prototype.keyDownHandler=function(){!this.parent.inlineMode.enable||t.Browser.isDevice&&!h()||t.isNullOrUndefined(t.select("."+Xt,document))||this.hideInlineQTBar()},n.prototype.inlineQTBarMouseDownHandler=function(){!this.parent.inlineMode.enable||t.Browser.isDevice&&!h()||t.isNullOrUndefined(t.select("."+Xt,document))||this.hideInlineQTBar()},n.prototype.keyUpHandler=function(e){if(this.parent.inlineMode.enable&&!t.Browser.isDevice){if(this.parent.inlineMode.onSelection)return;var n=e.args;this.deBounce(this.offsetX,this.offsetY,n.target)}},n.prototype.selectionChangeHandler=function(e){var t=this;clearTimeout(this.deBouncer),this.deBouncer=window.setTimeout(function(){t.onSelectionChange(e)},1e3)},n.prototype.onSelectionChange=function(e){if(t.isNullOrUndefined(t.select("."+Xt,document.body))){this.contentRenderer.getDocument().getSelection().isCollapsed||this.mouseUpHandler({args:e})}},n.prototype.getInlineBaseToolbar=function(){return this.inlineQTBar&&this.inlineQTBar.quickTBarObj},n.prototype.destroy=function(){this.linkQTBar&&(t.EventHandler.remove(this.linkQTBar.element,"mousedown",this.onMouseDown),t.EventHandler.remove(this.linkQTBar.element,"keyup",this.keyUpQT),this.linkQTBar.destroy()),this.textQTBar&&(t.EventHandler.remove(this.textQTBar.element,"mousedown",this.onMouseDown),t.EventHandler.remove(this.textQTBar.element,"keyup",this.keyUpQT),this.textQTBar.destroy()),this.imageQTBar&&(t.EventHandler.remove(this.imageQTBar.element,"mousedown",this.onMouseDown),t.EventHandler.remove(this.imageQTBar.element,"keyup",this.keyUpQT),this.imageQTBar.destroy()),this.tableQTBar&&(t.EventHandler.remove(this.tableQTBar.element,"mousedown",this.onMouseDown),t.EventHandler.remove(this.tableQTBar.element,"keyup",this.keyUpQT),this.tableQTBar.destroy()),this.inlineQTBar&&(t.EventHandler.remove(this.inlineQTBar.element,"mousedown",this.onMouseDown),t.EventHandler.remove(this.inlineQTBar.element,"keyup",this.keyUpQT),h()&&t.EventHandler.remove(document,"selectionchange",this.selectionChangeHandler),this.inlineQTBar.destroy()),this.removeEventListener()},n.prototype.moduleDestroy=function(){this.parent=null},n.prototype.wireInlineQTBarEvents=function(){this.parent.on(Z,this.mouseUpHandler,this),this.parent.on(Pe,this.inlineQTBarMouseDownHandler,this),this.parent.on($,this.keyDownHandler,this),this.parent.on(J,this.keyUpHandler,this),this.parent.on(Ae,this.mouseUpHandler,this),this.parent.on(Ve,this.renderInlineQuickToolbar,this)},n.prototype.unWireInlineQTBarEvents=function(){this.parent.off(Z,this.mouseUpHandler),this.parent.off(Pe,this.inlineQTBarMouseDownHandler),this.parent.off($,this.keyDownHandler),this.parent.off(J,this.keyUpHandler),this.parent.off(Ae,this.mouseUpHandler),this.parent.off(Ve,this.renderInlineQuickToolbar)},n.prototype.toolbarUpdated=function(e){this.linkQTBar&&!c(this.linkQTBar.element,"e-popup-close")&&this.linkQTBar.hidePopup(),this.imageQTBar&&!c(this.imageQTBar.element,"e-popup-close")&&this.imageQTBar.hidePopup(),this.tableQTBar&&!c(this.tableQTBar.element,"e-popup-close")&&this.tableQTBar.hidePopup()},n.prototype.addEventListener=function(){this.parent.isDestroyed||(this.parent.on(H,this.initializeQuickToolbars,this),this.parent.on(Pe,this.renderQuickToolbars,this),this.parent.on(W,this.toolbarUpdated,this),this.parent.on("drop",this.renderQuickToolbars,this),this.wireInlineQTBarEvents(),this.parent.on(Y,this.onPropertyChanged,this),"hide"===this.parent.quickToolbarSettings.actionOnScroll&&(this.parent.on(He,this.hideQuickToolbars,this),this.parent.on(je,this.hideQuickToolbars,this)),this.parent.on(ze,this.hideQuickToolbars,this),this.parent.on(j,this.onIframeMouseDown,this),this.parent.on(F,this.destroy,this),this.parent.on($,this.onKeyDown,this),this.parent.on(Ke,this.setRtl,this),this.parent.on(Dt,this.setCssClass,this),this.parent.on(et,this.moduleDestroy,this))},n.prototype.onKeyDown=function(e){var t=e.args;8!==t.which&&46!==t.which||this.imageQTBar&&!c(this.imageQTBar.element,"e-popup-close")&&this.imageQTBar.hidePopup()},n.prototype.onIframeMouseDown=function(){this.hideQuickToolbars(),this.hideInlineQTBar()},n.prototype.updateCss=function(e,n){e&&n.cssClass&&(t.isNullOrUndefined(n.oldCssClass&&e.quickTBarObj.toolbarObj.cssClass!==n.cssClass)?e.quickTBarObj.toolbarObj.setProperties({cssClass:(e.quickTBarObj.toolbarObj.cssClass+" "+n.cssClass).trim()}):e.quickTBarObj.toolbarObj.setProperties({cssClass:(e.quickTBarObj.toolbarObj.cssClass.replace(n.oldCssClass,"").trim()+" "+n.cssClass).trim()}))},n.prototype.setCssClass=function(e){for(var t=[this.inlineQTBar,this.imageQTBar,this.linkQTBar,this.textQTBar,this.tableQTBar],n=0;n<t.length;n++)this.updateCss(t[n],e)},n.prototype.setRtl=function(e){this.inlineQTBar&&this.inlineQTBar.quickTBarObj.toolbarObj.setProperties({enableRtl:e.enableRtl}),this.imageQTBar&&this.imageQTBar.quickTBarObj.toolbarObj.setProperties({enableRtl:e.enableRtl}),this.linkQTBar&&this.linkQTBar.quickTBarObj.toolbarObj.setProperties({enableRtl:e.enableRtl})},n.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off(H,this.initializeQuickToolbars),this.parent.off(Pe,this.renderQuickToolbars),this.parent.off(W,this.toolbarUpdated),this.parent.off("drop",this.renderQuickToolbars),this.unWireInlineQTBarEvents(),this.parent.off(Y,this.onPropertyChanged),"hide"===this.parent.quickToolbarSettings.actionOnScroll&&(this.parent.off(He,this.hideQuickToolbars),this.parent.off(je,this.hideQuickToolbars)),this.parent.off(ze,this.hideQuickToolbars),this.parent.off(F,this.destroy),this.parent.off(j,this.onIframeMouseDown),this.parent.off($,this.onKeyDown),this.parent.off(Ke,this.setRtl),this.parent.off(Dt,this.setCssClass),this.parent.off(et,this.moduleDestroy))},n.prototype.onPropertyChanged=function(e){if(!t.isNullOrUndefined(e.newProp.quickToolbarSettings))for(var n=0,i=Object.keys(e.newProp.quickToolbarSettings);n<i.length;n++){switch(i[n]){case"actionOnScroll":"none"===e.newProp.quickToolbarSettings.actionOnScroll?(this.parent.off(He,this.hideQuickToolbars),this.parent.off(je,this.hideQuickToolbars)):(this.parent.on(He,this.hideQuickToolbars,this),this.parent.on(je,this.hideQuickToolbars,this))}}e.module===this.getModuleName()&&(this.inlineQTBar&&(t.removeClass([this.parent.element],[qt]),this.unWireInlineQTBarEvents(),this.hideInlineQTBar()),!this.parent.inlineMode.enable||t.Browser.isDevice&&!h()||(t.addClass([this.parent.element],[qt]),this.wireInlineQTBarEvents()))},n.prototype.getModuleName=function(){return"quickToolbar"},n}(),dr=function(){function n(e,t){this.parent=e,this.locator=t,this.renderFactory=this.locator.getService("rendererFactory"),this.addEventListener()}return n.prototype.initializeInstance=function(){this.contentRenderer=this.renderFactory.getRenderer(e.RenderType.Content),this.editPanel=this.contentRenderer.getEditPanel(),this.addEventListener()},n.prototype.renderCount=function(){this.initializeInstance(),this.element=this.parent.createElement("span",{className:bn}),this.contentRenderer.getPanel().parentElement.appendChild(this.element),this.appendCount(),-1!==this.parent.maxLength&&this.charCountBackground(this.htmlLength)},n.prototype.appendCount=function(){var e="Markdown"===this.parent.editorMode?this.editPanel.value:this.editPanel.textContent;"Markdown"!==this.parent.editorMode&&-1!==e.indexOf("​")?this.htmlLength=e.replace(/\u200B/g,"").length:this.htmlLength=e.length;var t=-1===this.parent.maxLength?this.htmlLength:this.htmlLength+" / "+this.parent.maxLength;this.element.innerHTML=t},n.prototype.charCountBackground=function(e){var t=e/this.parent.maxLength*100;t<85?(this.element.classList.remove(vn),this.element.classList.remove(yn)):t>85&&t<=90?(this.element.classList.remove(yn),this.element.classList.add(vn)):t>90&&(this.element.classList.remove(vn),this.element.classList.add(yn))},n.prototype.refresh=function(){t.isNullOrUndefined(this.editPanel)||(this.appendCount(),-1!==this.parent.maxLength&&this.charCountBackground(this.htmlLength))},n.prototype.destroy=function(){this.element&&!t.isNullOrUndefined(this.parent.element.querySelector("."+bn))&&t.detach(this.element),this.removeEventListener()},n.prototype.toggle=function(e){this.element.style.display="viewSource"===e.member?"none":"block"},n.prototype.addEventListener=function(){this.parent.isDestroyed||(this.parent.on(H,this.renderCount,this),this.parent.on(J,this.refresh,this),this.parent.on(Be,this.refresh,this),this.parent.on(_,this.refresh,this),this.parent.on(Pe,this.refresh,this),this.parent.on(F,this.destroy,this),this.parent.on(xe,this.toggle,this),this.parent.on(ke,this.toggle,this))},n.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off(H,this.renderCount),this.parent.off(J,this.refresh),this.parent.off(_,this.refresh),this.parent.off(Be,this.refresh),this.parent.off(Pe,this.refresh),this.parent.off(F,this.destroy),this.parent.off(xe,this.toggle),this.parent.off(ke,this.toggle))},n.prototype.getModuleName=function(){return"count"},n}(),cr=function(){function e(){}return e.prototype.getLineNumber=function(e,t){return e.value.substr(0,t).split("\n").length},e.prototype.getSelectedText=function(e){var t=e.selectionStart,n=e.selectionEnd;return e.value.substring(t,n)},e.prototype.getAllParents=function(e){return e.split("\n")},e.prototype.getSelectedLine=function(e){return this.getAllParents(e.value)[this.getLineNumber(e,e.selectionStart)-1]},e.prototype.getLine=function(e,t){return this.getAllParents(e.value)[t]},e.prototype.getSelectedParentPoints=function(e){var t=this.getAllParents(e.value),n=this.getLineNumber(e,e.selectionStart),i=this.getLineNumber(e,e.selectionEnd),r=this.getSelectedText(e).split("\n"),o=[],s=t[n-1],a=t.slice(0,n-1).join("").length,l={};if(l.line=n-1,l.start=a+l.line,l.end=""!==s?l.start+s.length+1:l.start+s.length,l.text=s,o.push(l),r.length>1){for(var d=1;d<r.length-1;d++){var c={};c.line=o[d-1].line+1,c.start=(r[d],o[d-1].end),c.end=c.start+r[d].length+1,c.text=r[d],o.push(c)}var p={};p.line=o[o.length-1].line+1,p.start=o[o.length-1].end,p.end=p.start+t[i-1].length+1,p.text=t[i-1],o.push(p)}return o},e.prototype.setSelection=function(e,t,n){e.setSelectionRange(t,n),e.focus()},e.prototype.save=function(e,t){this.selectionStart=e,this.selectionEnd=t},e.prototype.restore=function(e){this.setSelection(e,this.selectionStart,this.selectionEnd)},e.prototype.isStartWith=function(e,t){var n=!1;if(e){n=(e.trim()===t.trim()?new RegExp("^("+this.replaceSpecialChar(t.trim())+")","gim"):new RegExp("^("+this.replaceSpecialChar(t)+")","gim")).test(e.trim())}return n},e.prototype.replaceSpecialChar=function(e){return e.replace(/[`~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/g,"\\$&")},e.prototype.isClear=function(e,t){for(var n=0;n<e.length;n++)if(new RegExp(t,"gim").test(e[n].text))return!0;return!1},e.prototype.getSelectedInlinePoints=function(e){return{start:e.selectionStart,end:e.selectionEnd,text:this.getSelectedText(e)}},e}(),pr=["a","abbr","acronym","audio","b","bdi","bdo","big","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","font","i","iframe","img","input","ins","kbd","label","map","mark","meter","noscript","object","output","picture","progress","q","ruby","s","samp","script","select","slot","small","span","strong","strike","sub","sup","svg","template","textarea","time","u","tt","var","video","wbr"],hr=function(){function e(e){this.toolbarStatus=this.prevToolbarStatus={bold:!1,italic:!1,subscript:!1,superscript:!1,strikethrough:!1,orderedlist:!1,uppercase:!1,lowercase:!1,inlinecode:!1,unorderedlist:!1,formats:null},this.selection=new cr,this.parent=e,this.element=this.parent.contentModule.getEditPanel(),this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.on(z,this.onRefreshHandler,this),this.parent.on(F,this.removeEventListener,this)},e.prototype.removeEventListener=function(){this.parent.off(z,this.onRefreshHandler),this.parent.off(F,this.removeEventListener)},e.prototype.onRefreshHandler=function(e){var t=this.selection.getSelectedParentPoints(this.element);this.toolbarStatus={orderedlist:!e.documentNode&&this.isListsApplied(t,"OL"),unorderedlist:!e.documentNode&&this.isListsApplied(t,"UL"),formats:this.currentFormat(t,e.documentNode),bold:!e.documentNode&&this.parent.formatter.editorManager.mdSelectionFormats.isAppliedCommand("Bold"),italic:!e.documentNode&&this.parent.formatter.editorManager.mdSelectionFormats.isAppliedCommand("Italic"),inlinecode:!e.documentNode&&this.parent.formatter.editorManager.mdSelectionFormats.isAppliedCommand("InlineCode"),strikethrough:!e.documentNode&&this.parent.formatter.editorManager.mdSelectionFormats.isAppliedCommand("StrikeThrough"),subscript:!e.documentNode&&this.parent.formatter.editorManager.mdSelectionFormats.isAppliedCommand("SubScript"),superscript:!e.documentNode&&this.parent.formatter.editorManager.mdSelectionFormats.isAppliedCommand("SuperScript"),uppercase:!e.documentNode&&this.parent.formatter.editorManager.mdSelectionFormats.isAppliedCommand("UpperCase")},this.parent.formatter.editorManager.mdSelectionFormats.isAppliedCommand("InlineCode")&&(this.toolbarStatus.formats="pre");var n=JSON.stringify(this.toolbarStatus);this.parent.notify(W,this.toolbarStatus),JSON.stringify(this.prevToolbarStatus)!==n&&(this.parent.notify(Et,{html:null,markdown:JSON.parse(n)}),this.prevToolbarStatus=JSON.parse(n))},e.prototype.isListsApplied=function(e,t){var n=!0;if("OL"===t)for(var i=0;i<e.length;i++){var r=e[i].text.trim().split(" ",2)[0]+" ";if(!/^[\d.]+[ ]+$/.test(r)){n=!1;break}}else for(i=0;i<e.length;i++)if(!this.selection.isStartWith(e[i].text,this.parent.formatter.listTags[t])){n=!1;break}return n},e.prototype.currentFormat=function(e,t){for(var n="p",i=Object.keys(this.parent.formatter.formatTags),r="backward"===this.element.selectionDirection?e[0].text:e[e.length-1].text,o=0;!t&&o<i.length;o++){if("pre"!==i[o]&&this.selection.isStartWith(r,this.parent.formatter.formatTags[i[o]])){n=i[o];break}if("pre"===i[o]&&this.codeFormat()){n=i[o];break}}return n},e.prototype.codeFormat=function(){var e=!1,t=this.parent.inputElement,n=function(e){return function(t){return[t.slice(0,e),t.slice(e)]}}(t.selectionStart)(t.value),i=this.parent.formatter.formatTags.pre,r=this.getSelectedText(t);if(""!==r&&r===r.toLocaleUpperCase())return!0;if(""===r){var o=t.value.substr(n[0].length-1,1),s=n[1].substr(0,1);if(""!==o&&""!==s&&o.match(/[a-z]/i)&&o===o.toLocaleUpperCase()&&s===s.toLocaleUpperCase())return!0}return this.isCode(n[0],i)&&this.isCode(n[1],i)&&n[0].match(this.multiCharRegx(i)).length%2==1&&n[1].match(this.multiCharRegx(i)).length%2==1&&(e=!0),e},e.prototype.getSelectedText=function(e){return e.value.substring(e.selectionStart,e.selectionEnd)},e.prototype.isCode=function(e,t){return-1!==e.search("\\"+t)},e.prototype.multiCharRegx=function(e){return new RegExp("(\\"+e+")","g")},e}(),ur=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.on(se,this.commandCallBack,this),this.parent.on(F,this.removeEventListener,this)},e.prototype.commandCallBack=function(e){"Undo"!==e.requestType&&"Redo"!==e.requestType&&this.parent.formatter.saveData(),this.parent.notify(z,{args:e}),this.parent.notify(Be,{})},e.prototype.removeEventListener=function(){this.parent.off(se,this.commandCallBack),this.parent.off(F,this.removeEventListener)},e}(),mr="action",gr="format-type",fr="keydown-handler",br="keyup-handler",vr="model_changed_plugin",yr="model_changed",Cr="ms_word_cleanup_plugin",Nr="ms_word_cleanup",Sr="actionBegin",Er=function(){function e(){}return e.prototype.process=function(e,n,i,r){var o,s=this,a=e.contentModule.getDocument().getSelection(),l=a.rangeCount>0?a.getRangeAt(a.rangeCount-1):null;if("HTML"===e.editorMode&&(o=this.editorManager.nodeSelection.save(l,e.contentModule.getDocument())),t.isNullOrUndefined(n)||!n.item.command||"Table"===n.item.command||"Actions"===n.item.command||"Links"===n.item.command||"Images"===n.item.command||"Files"===n.item.command||!l||e.contentModule.getEditPanel().contains(this.getAncestorNode(l.commonAncestorContainer))||e.contentModule.getEditPanel()===l.commonAncestorContainer||e.contentModule.getPanel()===l.commonAncestorContainer){if(!t.isNullOrUndefined(n)&&-1!==e.maxLength&&!t.isNullOrUndefined(n.item.command)){var d=0;"Links"===n.item.command&&(d=0===r.text.length?r.url.length:r.text.length),"Images"!==n.item.command&&"Table"!==n.item.command&&"Files"!==n.item.command||(d=1);var c=e.getText().trim().length-e.getSelection().length+d;if(!(-1===e.maxLength||c<=e.maxLength))return}if(t.isNullOrUndefined(n)){var p=i.action;if("tab"!==p&&"enter"!==p&&"space"!==p&&"escape"!==p){n={},"Markdown"===e.editorMode&&"insert-table"===p&&(r={headingText:e.localeObj.getConstant("TableHeadingText"),colText:e.localeObj.getConstant("TableColText")});var h={originalEvent:i,cancel:!1,requestType:p||i.key+"Key",itemCollection:r};t.extend(n,n,h,!0),e.trigger(be,n,function(e){e.cancel&&("paste"!==p&&"cut"!==p&&"copy"!==p||i.preventDefault())})}var u=!!t.isNullOrUndefined(e.tableModule)||!!e.tableModule&&e.tableModule.ensureInsideTableList;(9===i.which&&u||9!==i.which)&&(13===i.which&&"HTML"===e.editorMode&&(r={enterAction:e.enterKey}),this.editorManager.observer.notify("keydown"===i.type?"keydown":"keyup",{event:i,callBack:this.onSuccess.bind(this,e),value:r,enterAction:e.enterKey}))}else!t.isNullOrUndefined(n)&&n.item.command&&n.item.subCommand&&(n.item.command!==n.item.subCommand&&"Font"!==n.item.command||("FontName"===n.item.subCommand||"FontSize"===n.item.subCommand)&&"dropDownSelect"===n.name||("BackgroundColor"===n.item.subCommand||"FontColor"===n.item.subCommand)&&"colorPickerChanged"===n.name)&&(t.extend(n,n,{requestType:n.item.subCommand,cancel:!1,itemCollection:r,selectType:n.name},!0),e.trigger(be,n,function(t){if(!t.cancel){0===s.getUndoRedoStack().length&&"Links"!==t.item.command&&"Images"!==t.item.command&&s.saveData(),e.isBlur=!1,e.contentModule.getEditPanel().focus(),"HTML"===e.editorMode&&o.restore();var n=t.item.subCommand.toLocaleLowerCase();"paste"===n||"cut"===n||"copy"===n?e.clipboardAction(n,i):(s.editorManager.observer.notify($e,{subCommand:t.item.subCommand}),s.editorManager.execCommand(t.item.command,t.item.subCommand,i,s.onSuccess.bind(s,e),t.item.value,"Pre"===t.item.subCommand&&"dropDownSelect"===t.selectType?{name:t.selectType}:r,"#"+e.getID()+" iframe",e.enterKey))}}));(t.isNullOrUndefined(i)||i&&"copy"!==i.action)&&this.enableUndo(e)}},e.prototype.getAncestorNode=function(e){return e=3===e.nodeType?e.parentNode:e},e.prototype.onKeyHandler=function(e,t){var n=this;this.editorManager.observer.notify("keyup",{event:t,callBack:function(){e.notify(U,{}),n.enableUndo(e)}})},e.prototype.onSuccess=function(e,n){e.notify(U,{}),n&&(t.isNullOrUndefined(n.event)||"copy"!==n.event.action)&&(this.enableUndo(e),e.notify(se,n)),e.trigger(ve,n,function(t){if(e.setPlaceHolder(),("Images"===t.requestType||"Links"===t.requestType)&&"HTML"===e.editorMode){var n=t;if("Links"===t.requestType&&t.event&&"keydown"===t.event.type&&32===t.event.keyCode)return;e.notify(Se,{args:n.event,type:t.requestType,isNotify:!0,elements:n.elements})}e.autoResize()})},e.prototype.saveData=function(e){this.editorManager.undoRedoManager.saveData(e)},e.prototype.getUndoStatus=function(){return this.editorManager.undoRedoManager.getUndoStatus()},e.prototype.getUndoRedoStack=function(){return this.editorManager.undoRedoManager.undoRedoStack},e.prototype.enableUndo=function(e){var n=this.getUndoStatus();!e.inlineMode.enable||t.Browser.isDevice&&!h()?e.toolbarModule&&y(e.toolbarModule.baseToolbar,n):y(e.quickToolbarModule.inlineQTBar.quickTBarObj,n)},e}(),Tr="lists-commands",wr="command-type",Or="link-commands",Lr="clear-commands",xr="insert-table",kr="insert-text",Dr=function(){function e(e){t.extend(this,this,e,!0),this.selection=this.parent.markdownSelection,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(Tr,this.applyListsHandler,this),this.parent.observer.on(fr,this.keyDownHandler,this),this.parent.observer.on(br,this.keyUpHandler,this)},e.prototype.keyDownHandler=function(e){switch(e.event.which){case 9:this.tabKey(e)}switch(e.event.action){case"ordered-list":this.applyListsHandler({subCommand:"OL",callBack:e.callBack}),e.event.preventDefault();break;case"unordered-list":this.applyListsHandler({subCommand:"UL",callBack:e.callBack}),e.event.preventDefault()}},e.prototype.keyUpHandler=function(e){switch(e.event.which){case 13:this.enterKey(e)}},e.prototype.tabKey=function(e){var t=this.parent.element;this.selection.save(t.selectionStart,t.selectionEnd);var n=t.selectionStart,i=t.selectionEnd,r=this.selection.getSelectedParentPoints(t),o=0,s=this.isNotFirstLine(t,r[0]);if(s||e.event.shiftKey){var a=this.olListType(),l=this.getListRegex();this.currentAction=this.getAction(r[0].text);for(var d=0;d<r.length;d++){var c=(e.event.shiftKey,r[d].line-1),p=this.selection.getLine(t,c);if(p&&(!e.event.shiftKey&&s||e.event.shiftKey)){var h=p.split(". "),u=e.event.shiftKey?-"\t".length:"\t".length,m=r[d].text.split("\t");if(e.event.shiftKey&&1===m.length)break;if("OL"===this.currentAction&&/^\d+$/.test(h[0].trim())&&a){e.event.preventDefault(),r[d].text=e.event.shiftKey?m.splice(1,m.length).join("\t"):"\t"+r[d].text;var g=this.getTabSpace(r[d].text),f=this.getTabSpace(p),b=r[d].text.split(". ");if(g===f)this.changeTextAreaValue(b,this.nextOrderedListValue(h[0].trim()),e,t,r,d,i);else if(f<g)this.changeTextAreaValue(b,"1. ",e,t,r,d,i);else for(;f.length>g.length;null){c-=1;var v=(p=this.selection.getLine(t,c)).trim().split(". ");if(/^\d+$/.test(v[0])&&(f=this.getTabSpace(p)).length<=g.length){this.changeTextAreaValue(b,this.nextOrderedListValue(v[0]),e,t,r,d,i);break}}}else("UL"===this.currentAction&&l.test(p.trim())||!a)&&(e.event.preventDefault(),r[d].text=e.event.shiftKey?m.splice(1,m.length).join("\t"):"\t"+r[d].text,t.value=t.value.substr(0,r[d].start)+r[d].text+"\n"+t.value.substr(r[d].end,t.value.length));if(n=0===d?n+u:n,o+=u,1!==r.length)for(var y=d;y<r.length;y++)r[y].start=0!==y?r[y].start+u:r[y].start,r[y].end=r[y].end+u}}this.restore(t,n,i+o,e)}else this.restore(t,n,i+o,e)},e.prototype.changeTextAreaValue=function(e,n,i,r,o,s,a){var l=n;e.splice(0,1);var d,c=this.selection.getAllParents(r.value).length,p="",h=this.getTabSpace(o[s].text),u=parseInt(l.split(".")[0],null),m=this.getTabSpace(o[s].text),g=!0,f=!0,b=-1,v=!0,y=0,C="";p=""!==this.selection.getLine(r,o[0].line+1)?"":p+r.value.substr(o[0].end,r.value.length);for(var N=1;N<c&&!t.isNullOrUndefined(this.selection.getLine(r,o[0].line+N))&&""!==this.selection.getLine(r,o[0].line+N);N++){var S=this.selection.getLine(r,o[0].line+N),E=this.getTabSpace(S),T=S.split(". ");if(1===T.length){p+=r.value.substr(o[0].end+y,r.value.length);break}y+=S.length;var w=!1;if(d=i.event.shiftKey?h.length+1:h.length-1,E.length>m.length&&(v=!1),h.length!==E.length&&E.length<m.length?(f=!0,g=!1,w=!(!i.event.shiftKey||h.length!==E.length)&&(f=!1,!0)):v&&i.event.shiftKey&&h.length===E.length&&E.length===m.length&&(f=!1,w=!0),C=""===p?"":"\n",d===E.length&&f){var O=i.event.shiftKey?(b++,this.nextOrderedListValue(b.toString())):this.previousOrderedListValue(T[0]);T.splice(0,1),p=p+C+E+O+T.join(". ")}else if(h.length===E.length&&g||w){O=this.nextOrderedListValue(u.toString());u++,T.splice(0,1),p=p+C+E+O+T.join(". ")}else p=p+C+S,f=!1;m=this.getTabSpace(S)}o[s].text=this.getTabSpace(o[s].text)+l+e.join(". ")+"\n",r.value=r.value.substr(0,o[s].start)+o[s].text+p},e.prototype.getTabSpace=function(e){for(var t=e.split("\t"),n="",i=0;i<t.length&&""===t[i];i++)n+="\t";return n},e.prototype.isNotFirstLine=function(e,t){var n,i=t.text,r=t.line-1,o=this.selection.getLine(e,r),s=this.getListRegex(),a=!1;if(o){this.currentAction=this.getAction(o);var l=o.split(". ");n="OL"===this.currentAction?/^\d+$/.test(l[0].trim()):s.test(o.trim())}if(o&&n){var d=this.getTabSpace(i),c=this.getTabSpace(o);for(a=d===c||a;c.length>d.length;null){r-=1;l=(o=this.selection.getLine(e,r)).trim().split(". ");if(("OL"===this.currentAction?/^\d+$/.test(l[0]):s.test(o.trim()))&&(c=this.getTabSpace(o)).length<=d.length){a=!0;break}}}return a},e.prototype.getAction=function(e){var t=e.split(". ")[0],n=/^\d+$/.test(t.trim()),i=e.trim().split(new RegExp("^("+this.selection.replaceSpecialChar(this.syntax.UL).trim()+")"))[1];return n?"OL":i?"UL":"NOTLIST"},e.prototype.nextOrderedListValue=function(e){return(parseInt(e,null)+1).toString()+". "},e.prototype.previousOrderedListValue=function(e){return(parseInt(e,null)-1).toString()+". "},e.prototype.enterKey=function(e){var n=this.parent.element;this.selection.save(n.selectionStart,n.selectionEnd);var i=n.selectionStart,r=n.selectionEnd,o=this.selection.getSelectedParentPoints(n),s=this.selection.getLine(n,o[0].line-1),a=this.olListType(),l=this.getListRegex(),d=[];t.isNullOrUndefined(s)||(d=s.split(". "),this.currentAction=this.getAction(s));var c=0;if("OL"===this.currentAction&&d.length>1&&/^\d+$/.test(d[0].trim())&&a&&""!==d[1]){var p=this.getTabSpace(s);this.currentAction=this.getAction(s);var h=this.nextOrderedListValue(d[0]);o[0].text=p+h+o[0].text;for(var u=this.selection.getAllParents(n.value).length,m="\n",g=this.getTabSpace(s),f=this.getTabSpace(o[0].text),b=!0,v=1;v<u&&""!==n.value.substr(o[0].end,n.value.length);v++){var y=this.selection.getLine(n,o[0].line+v);if(t.isNullOrUndefined(y))m+="";else{var C=y.split(". "),N=this.getTabSpace(y);if(N.length<f.length&&(b=!1),C.length>1&&/^\d+$/.test(C[0].trim())&&g.length===N.length&&b){var S=this.nextOrderedListValue(C[0]);C.splice(0,1),m=m+N+S+C.join(". ")+"\n"}else m=m+y+"\n",f=this.getTabSpace(y)}}n.value=n.value.substr(0,o[0].start)+g+h+this.selection.getLine(n,o[0].line)+m,i=i+h.length+p.length,c+=h.length+p.length}else if("UL"===this.currentAction&&s&&l.test(s.trim())&&""!==s.trim().replace(l,"")||"OL"===this.currentAction&&!a){p=this.getTabSpace(s),h=this.syntax[this.currentAction];o[0].text=p+h+o[0].text+(o[0].text.trim().length>0?"\n":""),n.value=n.value.substr(0,o[0].start)+o[0].text+n.value.substr(o[0].end,n.value.length),i=i+h.length+p.length,c+=h.length+p.length}this.restore(n,i,r+c,e)},e.prototype.olListType=function(){var e=this.syntax.OL.split(".,");return(1===e.length?null:parseInt(e[2].trim(),null)-parseInt(e[0].trim(),null))?1:0},e.prototype.applyListsHandler=function(e){var n=this.parent.element;this.selection.save(n.selectionStart,n.selectionEnd),this.currentAction=e.subCommand;for(var i,r=n.selectionStart,o=n.selectionEnd,s=0,a=0,l=0,d=this.selection.getSelectedParentPoints(n),c="",p=this.olListType(),h={},u=0;u<d.length;u++)if(i=p?"OL"===this.currentAction?u+p+". ":this.syntax[this.currentAction]:"OL"===this.currentAction?this.syntax.OL:this.syntax[this.currentAction],this.selection.isStartWith(d[u].text,i))d[u].text=d[u].text.replace(i,""),n.value=n.value.substr(0,d[u].start+l)+d[u].text+"\n"+n.value.substr(d[u].end+l,n.value.length),l-=i.length,a=i.length,this.restore(n,r-a,o+l,null);else{if(""===d[u].text&&0===u&&(this.selection.save(r,o),1!==d.length))for(var m=u;m<d.length;m++)d[m].start=0!==m?1+d[m].start:d[m].start,d[m].end=1+d[m].end;var g=t.isNullOrUndefined(d[u-1])?0:this.getTabSpace(d[u-1].text).length,f=this.appliedLine(d[u].text,i,h,g);if(c=f.line?c:i,d[u].text=f.line?f.line:c+d[u].text,f.space=f.space?f.space:0,n.value=n.value.substr(0,d[u].start+l)+d[u].text+"\n"+n.value.substr(d[u].end,n.value.length),r=0===u?r+c.length+f.space>0?r+c.length+f.space:0:r,s+=c.length+f.space,1!==d.length)for(m=u;m<d.length;m++)d[m].start=0!==m?c.length+d[m].start+f.space:d[m].start,d[m].end=c.length+d[m].end+f.space;this.restore(n,r,o+s,null)}this.restore(n,null,null,e)},e.prototype.appliedLine=function(e,n,i,r){var o={},s=new RegExp("^["+this.syntax.UL.trim()+"]"),a=e.split(". "),l=a[0]+". ",d=s.test(e.trim())||e.trim()===this.syntax.OL.trim()||e.trim()===this.syntax.UL.trim()||/^\d+$/.test(a[0].trim()),c=this.olListType(),p=this.getTabSpace(e).length;if("OL"===this.currentAction&&c&&(i[p.toString()]=t.isNullOrUndefined(i[p.toString()])?1:i[p.toString()].valueOf()+1,n=i[p.toString()].valueOf().toString()+". ",!t.isNullOrUndefined(r)&&r>p&&(i[r.toString()]=0)),d){var h=void 0,u=void 0;s.test(e.trim())?(u=this.syntax.UL,h=n,o.space=n.trim().length-this.syntax.UL.trim().length):/^\d+$/.test(a[0].trim())&&c?(u=a[0].trim()+". ",h=n,o.space=this.syntax.UL.trim().length-l.trim().length):/^\d+$/.test(a[0].trim())&&(u=a[0].trim()+". ",h=this.syntax.UL,o.space=this.syntax.UL.trim().length-l.trim().length),o.line=e.replace(u,h)}return o},e.prototype.restore=function(e,n,i,r){t.isNullOrUndefined(n)||t.isNullOrUndefined(n)||this.selection.save(n,i),t.isNullOrUndefined(r)||this.selection.restore(e),r&&r.callBack&&r.callBack({requestType:this.currentAction,selectedText:this.selection.getSelectedText(e),editorMode:"Markdown",event:r.event})},e.prototype.getListRegex=function(){for(var e="",t=Object.keys(this.syntax),n=0;n<t.length;n++){var i=this.selection.replaceSpecialChar(this.syntax[t[n]]);e+=""===e?"^("+i+")|^("+i.trim()+")":"|^("+i+")|^("+i.trim()+")"}return new RegExp(e)},e}(),Mr=function(){function e(e){t.extend(this,this,e,!0),this.selection=this.parent.markdownSelection,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(gr,this.applyFormats,this)},e.prototype.applyFormats=function(e){e.subCommand=e.subCommand.toLowerCase();var n=this.parent.element;this.selection.save(n.selectionStart,n.selectionEnd);var i=this.selection.getSelectedParentPoints(n);if(this.isAppliedFormat(i)===e.subCommand){if("pre"===e.subCommand){if(!(i.length>1))return;this.applyCodeBlock(n,e,i)}return this.cleanFormat(n),void this.restore(n,n.selectionStart,n.selectionEnd,e)}if("p"===e.subCommand)return this.cleanFormat(n),void this.restore(n,n.selectionStart,n.selectionEnd,e);("pre"===e.subCommand&&1!==i.length||"pre"!==e.subCommand)&&this.cleanFormat(n,e.subCommand);var r=n.selectionStart,o=n.selectionEnd,s=0;if(i=this.selection.getSelectedParentPoints(n),"pre"!==e.subCommand){for(var a=0;a<i.length;a++)if(""===i[a].text||this.selection.isStartWith(i[a].text,"\\"+this.syntax[e.subCommand])){if(""===i[a].text&&0===a&&(this.selection.save(r,o),0===this.selection.getSelectedText(n).length&&(i[a].text=this.syntax[e.subCommand],n.value=n.value.substr(0,i[a].start)+this.syntax[e.subCommand]+n.value.substr(i[a].end,n.value.length),r=0===a?r+this.syntax[e.subCommand].length:r,s+=this.syntax[e.subCommand].length),1!==i.length))for(l=a;l<i.length;l++)i[l].start=0!==l?1+i[l].start:i[l].start,i[l].end=1+i[l].end}else if(i[a].text=this.syntax[e.subCommand]+i[a].text,n.value=n.value.substr(0,i[a].start)+i[a].text+"\n"+n.value.substr(i[a].end,n.value.length),r=0===a?r+this.syntax[e.subCommand].length:r,s+=this.syntax[e.subCommand].length,1!==i.length)for(var l=a;l<i.length;l++)i[l].start=0!==l?this.syntax[e.subCommand].length+i[l].start:i[l].start,i[l].end=this.syntax[e.subCommand].length+i[l].end;this.restore(n,r,o+s,e)}else i.length>1?this.applyCodeBlock(n,e,i):(t.extend(e,e,{subCommand:"InlineCode"},!0),this.parent.observer.notify(wr,e))},e.prototype.clearRegex=function(){for(var e="",t=Object.keys(this.syntax),n=0;n<t.length&&"pre"!==t[n]&&"p"!==t[n];n++)e+=""===e?"^("+this.selection.replaceSpecialChar(this.syntax[t[n]].trim())+")":"|^("+this.selection.replaceSpecialChar(this.syntax[t[n]].trim())+")";return e},e.prototype.cleanFormat=function(e,t){var n=this.selection.getSelectedParentPoints(e),i=e.selectionStart,r=e.selectionEnd,o=0;if(this.selection.isClear(n,this.clearRegex())){for(var s=0;s<n.length;s++){for(var a=Object.keys(this.syntax),l=0;""!==n[s].text&&l<a.length;l++){var d=this.syntax[a[l]];if(a[l]!==t){var c=new RegExp("^("+this.selection.replaceSpecialChar(d)+")","gim");if(c.test(n[s].text)){if(n[s].text=n[s].text.replace(c,""),e.value=e.value.substr(0,n[s].start)+n[s].text+"\n"+e.value.substr(n[s].end,e.value.length),i=0===s?i-d.length>0?i-d.length:0:i,o+=d.length,1!==n.length)for(var p=0;p<n.length;p++)n[p].start=0!==p?n[p].start-d.length:n[p].start,n[p].end=n[p].end-d.length;break}}}if(""===n[s].text&&0===s&&(this.selection.save(i,r),1!==n.length))for(l=s;l<n.length;l++)n[l].start=0!==l?1+n[l].start:n[l].start,n[l].end=1+n[l].end}this.restore(e,i,r-o)}},e.prototype.applyCodeBlock=function(e,t,n){var i=t.subCommand,r=n[0].start,o=n[n.length-1].end,s=this.selection.getAllParents(e.value),a=s[n[0].line-1],l=s[n.length+1+1];if(this.selection.isStartWith(a,this.syntax.pre.split("\n")[0])||this.selection.isStartWith(l,this.syntax.pre.split("\n")[0])){var d=this.syntax[i],c=this.parent.markdownSelection.getSelectedInlinePoints(e),p=e.value.substr(0,e.selectionStart).lastIndexOf(d),h=e.value.substr(e.selectionEnd,e.selectionEnd).indexOf(d);h+=c.end;var u=this.replaceAt(e.value.substr(0,c.start),d,"",p,c.start),m=this.replaceAt(e.value.substr(c.end,e.value.length),d,"",0,h);e.value=u+c.text+m,r=this.selection.selectionStart-d.length,o=this.selection.selectionEnd-d.length}else{var g=e.value.substring(r,o).split("\n"),f=""===g[g.length-1]?"":"\n";e.value=e.value.substr(0,r)+this.syntax[i]+e.value.substring(r,o)+f+this.syntax[i]+e.value.substr(o,e.value.length),r=this.selection.selectionStart+this.syntax[i].length,o=this.selection.selectionEnd+this.syntax[i].length-1}this.restore(e,r,o,t)},e.prototype.replaceAt=function(e,t,n,i,r){return e.slice(0,i)+e.slice(i,r).replace(t,n)+e.slice(r)},e.prototype.restore=function(e,t,n,i){this.selection.save(t,n),this.selection.restore(e),i&&i.callBack&&i.callBack({requestType:i.subCommand,selectedText:this.selection.getSelectedText(e),editorMode:"Markdown",event:i.event})},e.prototype.isAppliedFormat=function(e,t){for(var n="p",i=(Object.keys(this.syntax),Object.keys(this.syntax)),r="backward"===this.parent.element.selectionDirection?e[0].text:e[e.length-1].text,o=0;!t&&o<i.length;o++){if("pre"!==i[o]&&this.selection.isStartWith(r,this.syntax[i[o]])){n=i[o];break}if("pre"===i[o]){var s=this.selection.getAllParents(this.parent.element.value),a=s[e[0].line-1],l=s[e.length+1];if(this.selection.isStartWith(a,this.syntax[i[o]].split("\n")[0])&&this.selection.isStartWith(l,this.syntax[i[o]].split("\n")[0])){n=i[o];break}}}return n},e}(),Rr=function(){function e(e){t.extend(this,this,e,!0),this.selection=this.parent.markdownSelection,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(wr,this.applyCommands,this),this.parent.observer.on(fr,this.keyDownHandler,this)},e.prototype.keyDownHandler=function(e){switch(e.event.action){case"bold":this.applyCommands({subCommand:"Bold",callBack:e.callBack}),e.event.preventDefault();break;case"italic":this.applyCommands({subCommand:"Italic",callBack:e.callBack}),e.event.preventDefault();break;case"strikethrough":this.applyCommands({subCommand:"StrikeThrough",callBack:e.callBack}),e.event.preventDefault();break;case"uppercase":this.applyCommands({subCommand:"UpperCase",callBack:e.callBack}),e.event.preventDefault();break;case"lowercase":this.applyCommands({subCommand:"LowerCase",callBack:e.callBack}),e.event.preventDefault();break;case"superscript":this.applyCommands({subCommand:"SuperScript",callBack:e.callBack}),e.event.preventDefault();break;case"subscript":this.applyCommands({subCommand:"SubScript",callBack:e.callBack}),e.event.preventDefault()}},e.prototype.isBold=function(e,t){return-1!==e.search("\\"+t+"\\"+t)},e.prototype.isItalic=function(e,t){return-1!==e.search("\\"+t)},e.prototype.isMatch=function(e,t){var n=[""];switch(t){case this.syntax.Italic:case this.syntax.InlineCode:case this.syntax.StrikeThrough:n=e.match(this.singleCharRegx(t))}return n},e.prototype.multiCharRegx=function(e){return new RegExp("(\\"+e+"\\"+e+")","g")},e.prototype.singleCharRegx=function(e){return new RegExp("(\\"+e+")","g")},e.prototype.isAppliedCommand=function(e){var n=!1,i=this.parent.element,r=function(e){return function(t){return[t.slice(0,e),t.slice(e)]}}(i.selectionStart)(i.value),o=this.syntax.Bold.substr(0,1),s=this.syntax.Italic,a=this.parent.markdownSelection.getSelectedText(i);if(""!==a&&a===a.toLocaleUpperCase()&&"UpperCase"===e)return!0;if(""===a){var l=i.value.substr(r[0].length-1,1),d=r[1].substr(0,1);if(""!==l&&""!==d&&l.match(/[a-z]/i)&&l===l.toLocaleUpperCase()&&d===d.toLocaleUpperCase()&&"UpperCase"===e)return!0}return this.isBold(r[0],o)||this.isItalic(r[0],s)||this.isBold(r[1],o)||this.isItalic(r[1],s)||(t.isNullOrUndefined(this.isMatch(r[0],this.syntax.StrikeThrough))||t.isNullOrUndefined(this.isMatch(r[1],this.syntax.StrikeThrough))||this.isMatch(r[0],this.syntax.StrikeThrough).length%2!=1||this.isMatch(r[1],this.syntax.StrikeThrough).length%2!=1||"StrikeThrough"!==e||(n=!0),t.isNullOrUndefined(this.isMatch(r[0],this.syntax.InlineCode))||t.isNullOrUndefined(this.isMatch(r[1],this.syntax.InlineCode))||this.isMatch(r[0],this.syntax.InlineCode).length%2!=1||this.isMatch(r[1],this.syntax.InlineCode).length%2!=1||"InlineCode"!==e||(n=!0),t.isNullOrUndefined(r[0].match(/\<sub>/g))||t.isNullOrUndefined(r[1].match(/\<\/sub>/g))||r[0].match(/\<sub>/g).length%2!=1||r[1].match(/\<\/sub>/g).length%2!=1||"SubScript"!==e||(n=!0),t.isNullOrUndefined(r[0].match(/\<sup>/g))||t.isNullOrUndefined(r[1].match(/\<\/sup>/g))||r[0].match(/\<sup>/g).length%2!=1||r[1].match(/\<\/sup>/g).length%2!=1||"SuperScript"!==e||(n=!0)),this.isBold(r[0],o)&&this.isBold(r[1],o)&&r[0].match(this.multiCharRegx(o)).length%2==1&&r[1].match(this.multiCharRegx(o)).length%2==1&&"Bold"===e&&(n=!0),r[0]=this.isBold(r[0],o)?r[0].replace(this.multiCharRegx(o),"$%@"):r[0],r[1]=this.isBold(r[1],o)?r[1].replace(this.multiCharRegx(o),"$%@"):r[1],t.isNullOrUndefined(this.isMatch(r[0],this.syntax.Italic))||t.isNullOrUndefined(this.isMatch(r[1],this.syntax.Italic))||this.isMatch(r[0],this.syntax.Italic).length%2!=1||this.isMatch(r[1],this.syntax.Italic).length%2!=1||"Italic"!==e||(n=!0),t.isNullOrUndefined(this.isMatch(r[0],this.syntax.StrikeThrough))||t.isNullOrUndefined(this.isMatch(r[1],this.syntax.StrikeThrough))||this.isMatch(r[0],this.syntax.StrikeThrough).length%2!=1||this.isMatch(r[1],this.syntax.StrikeThrough).length%2!=1||"StrikeThrough"!==e||(n=!0),t.isNullOrUndefined(this.isMatch(r[0],this.syntax.InlineCode))||t.isNullOrUndefined(this.isMatch(r[1],this.syntax.InlineCode))||this.isMatch(r[0],this.syntax.InlineCode).length%2!=1||this.isMatch(r[1],this.syntax.InlineCode).length%2!=1||"InlineCode"!==e||(n=!0),t.isNullOrUndefined(r[0].match(/\<sub>/g))||t.isNullOrUndefined(r[1].match(/\<\/sub>/g))||r[0].match(/\<sub>/g).length%2!=1||r[1].match(/\<\/sub>/g).length%2!=1||"SubScript"!==e||(n=!0),t.isNullOrUndefined(r[0].match(/\<sup>/g))||t.isNullOrUndefined(r[1].match(/\<\/sup>/g))||r[0].match(/\<sup>/g).length%2!=1||r[1].match(/\<\/sup>/g).length%2!=1||"SuperScript"!==e||(n=!0),n},e.prototype.applyCommands=function(e){this.currentAction=e.subCommand;var t=this.parent.element;this.selection.save(t.selectionStart,t.selectionEnd);var n=t.selectionStart,i=t.selectionEnd,r=0,o=this.parent.markdownSelection.getSelectedInlinePoints(t);if(this.isAppliedCommand(e.subCommand)&&""!==o.text){var s=this.syntax[e.subCommand],a="SubScript"===e.subCommand?"</sub>":"SuperScript"===e.subCommand?"</sup>":this.syntax[e.subCommand],l="UpperCase"===e.subCommand||"LowerCase"===e.subCommand?0:s.length,d=t.value.substr(0,o.start).lastIndexOf(s),c=t.value.substr(o.end,t.value.length).indexOf(a);c+=o.end;var p=this.replaceAt(t.value.substr(0,o.start),s,"",d,o.start),h=this.replaceAt(t.value.substr(o.end,t.value.length),a,"",0,c);return t.value=p+o.text+h,void this.restore(t,n-l,i-l,e)}if(""===o.text||this.isApplied(o,e.subCommand))"UpperCase"!==e.subCommand&&"LowerCase"!==e.subCommand?("SubScript"===e.subCommand||"SuperScript"===e.subCommand?(o.text=this.textReplace(o.text,e.subCommand),o.text=this.syntax[e.subCommand]+o.text+"</"+this.syntax[e.subCommand].substring(1,5)):(o.text=this.textReplace(o.text,e.subCommand),o.text=this.syntax[e.subCommand]+o.text+this.syntax[e.subCommand]),t.value=t.value.substr(0,o.start)+o.text+t.value.substr(o.end,t.value.length),r=this.syntax[e.subCommand].length,o.start===o.end?this.restore(t,n+r,i+r,e):this.restore(t,n+r,i-r,e)):this.restore(t,n,i,e);else{r="UpperCase"===e.subCommand||"LowerCase"===e.subCommand?0:this.syntax[e.subCommand].length;var u=t.value.substr(o.start-this.syntax[e.subCommand].length,this.syntax[e.subCommand].length),m=void 0;if(u===e.subCommand||o.start-this.syntax[e.subCommand].length===t.value.indexOf(this.syntax[e.subCommand])&&(o.end===t.value.lastIndexOf(this.syntax[e.subCommand])||o.end===t.value.lastIndexOf("</"+this.syntax[e.subCommand].substring(1,5)))){m="SubScript"===e.subCommand||"SuperScript"===e.subCommand?t.value.substr(o.end,this.syntax[e.subCommand].length+1):t.value.substr(o.end,this.syntax[e.subCommand].length);p=this.replaceAt(t.value.substr(0,o.start),u,"",o.start-this.syntax[e.subCommand].length,o.start),h=this.replaceAt(t.value.substr(o.end,t.value.length),m,"",0,m.length);t.value=p+o.text+h,this.restore(t,n-r,i-r,e)}else"SubScript"===e.subCommand||"SuperScript"===e.subCommand?o.text=this.syntax[e.subCommand]+o.text+"</"+this.syntax[e.subCommand].substring(1,5):"UpperCase"===e.subCommand||"LowerCase"===e.subCommand?o.text="UpperCase"===e.subCommand?o.text.toUpperCase():o.text.toLowerCase():o.text=this.syntax[e.subCommand]+o.text+this.syntax[e.subCommand],t.value=t.value.substr(0,o.start)+o.text+t.value.substr(o.end,t.value.length),this.restore(t,n+r,i+r,e)}this.parent.undoRedoManager.saveData()},e.prototype.replaceAt=function(e,t,n,i,r){return e.slice(0,i)+e.slice(i,r).replace(t,n)+e.slice(r)},e.prototype.restore=function(e,t,n,i){this.selection.save(t,n),this.selection.restore(e),i&&i.callBack&&i.callBack({requestType:this.currentAction,selectedText:this.selection.getSelectedText(e),editorMode:"Markdown",event:i.event})},e.prototype.textReplace=function(e,t){var n=this.singleCharRegx(this.syntax[t]);switch(t){case"Bold":n=this.multiCharRegx(this.syntax[t].substr(0,1)),e=e.replace(n,"");break;case"Italic":if(this.isBold(e,this.syntax[t].substr(0,1))){var i=this.multiCharRegx(this.syntax[t].substr(0,1)),r=e;r=r.replace(i,"$%@").replace(n,"");var o=new RegExp("\\$%@","g");e=r.replace(o,this.syntax[t].substr(0,1)+this.syntax[t].substr(0,1))}else e=e.replace(n,"");break;case"StrikeThrough":case"InlineCode":e=e.replace(n,"");break;case"SubScript":e=e.replace(/<sub>/g,"").replace(/<\/sub>/g,"");break;case"SuperScript":e=e.replace(/<sup>/g,"").replace(/<\/sup>/g,"")}return e},e.prototype.isApplied=function(e,t){var n=this.singleCharRegx(this.syntax[t]);switch(t){case"SubScript":case"SuperScript":return(n=this.singleCharRegx(this.syntax[t])).test(e.text);case"Bold":case"StrikeThrough":return(n=this.multiCharRegx(this.syntax[t].substr(0,1))).test(e.text);case"UpperCase":case"LowerCase":return(n=new RegExp("^["+this.syntax[t]+"]*$","g")).test(e.text);case"Italic":var i=void 0,r=this.multiCharRegx(this.syntax[t].substr(0,1));if(r.test(e.text)){var o=e.text;o=o.replace(r,"$%#"),i=n.test(o)}else i=n.test(e.text);return i;case"InlineCode":return n.test(e.text)}},e}(),Ir={h6:"###### ",h5:"##### ",h4:"#### ",h3:"### ",h2:"## ",h1:"# ",blockquote:"> ",pre:"```\n",p:""},Br={Bold:"**",Italic:"*",StrikeThrough:"~~",InlineCode:"`",SubScript:"<sub>",SuperScript:"<sup>",UpperCase:"A-Z",LowerCase:"a-z"},Pr={OL:"1. ",UL:"- "},Ar={"toolbar-focus":"alt+f10",escape:"27","insert-link":"ctrl+k","insert-image":"ctrl+shift+i","insert-table":"ctrl+shift+e",undo:"ctrl+z",redo:"ctrl+y",copy:"ctrl+c",cut:"ctrl+x",paste:"ctrl+v",bold:"ctrl+b",italic:"ctrl+i",underline:"ctrl+u",strikethrough:"ctrl+shift+s",uppercase:"ctrl+shift+u",lowercase:"ctrl+shift+l",superscript:"ctrl+shift+=",subscript:"ctrl+=",indents:"ctrl+]",outdents:"ctrl+[","html-source":"ctrl+shift+h","full-screen":"ctrl+shift+f","decrease-fontsize":"ctrl+shift+<","increase-fontsize":"ctrl+shift+>","justify-center":"ctrl+e","justify-full":"ctrl+j","justify-left":"ctrl+l","justify-right":"ctrl+r","clear-format":"ctrl+shift+r","ordered-list":"ctrl+shift+o","unordered-list":"ctrl+alt+o",space:"32",enter:"13",tab:"tab",delete:"46"},Ur={"toolbar-focus":"alt+f10",escape:"27","insert-link":"ctrl+k","insert-image":"ctrl+shift+i","insert-table":"ctrl+shift+e",undo:"ctrl+z",redo:"ctrl+y",copy:"ctrl+c",cut:"ctrl+x",paste:"ctrl+v",bold:"ctrl+b",italic:"ctrl+i",strikethrough:"ctrl+shift+s",uppercase:"ctrl+shift+u",lowercase:"ctrl+shift+l",superscript:"ctrl+shift+=",subscript:"ctrl+=","full-screen":"ctrl+shift+f","ordered-list":"ctrl+shift+o","unordered-list":"ctrl+alt+o"},Hr={b:["strong"],strong:["b"],i:["emp","cite"],emp:["i","cite"],cite:["i","emp"]},jr=["BR","IMG"],Fr=function(){function e(e,n){this.undoRedoStack=[],this.parent=e,this.undoRedoSteps=t.isNullOrUndefined(n)?30:n.undoRedoSteps,this.undoRedoTimer=t.isNullOrUndefined(n)?300:n.undoRedoTimer,this.selection=this.parent.markdownSelection,this.addEventListener()}return e.prototype.addEventListener=function(){var e=t.debounce(this.keyUp,this.undoRedoTimer);this.parent.observer.on(br,e,this),this.parent.observer.on(fr,this.keyDown,this),this.parent.observer.on(mr,this.onAction,this),this.parent.observer.on(vr,this.onPropertyChanged,this)},e.prototype.onPropertyChanged=function(e){for(var t=0,n=Object.keys(e.newProp);t<n.length;t++){switch(n[t]){case"undoRedoSteps":this.undoRedoSteps=e.newProp.undoRedoSteps;break;case"undoRedoTimer":this.undoRedoTimer=e.newProp.undoRedoTimer}}},e.prototype.removeEventListener=function(){var e=t.debounce(this.keyUp,300);this.parent.observer.off(br,e),this.parent.observer.off(fr,this.keyDown),this.parent.observer.off(mr,this.onAction),this.parent.observer.off(vr,this.onPropertyChanged)},e.prototype.destroy=function(){this.removeEventListener()},e.prototype.onAction=function(e){"Undo"===e.subCommand?this.undo(e):this.redo(e)},e.prototype.keyDown=function(e){var t=e.event;switch(t.action){case"undo":t.preventDefault(),this.undo(e);break;case"redo":t.preventDefault(),this.redo(e)}},e.prototype.keyUp=function(e){17===e.event.keyCode||e.event.ctrlKey||this.saveData(e)},e.prototype.saveData=function(e){var t=this.parent.element;this.selection.save(t.selectionStart,t.selectionEnd);var n=t.selectionStart,i=t.selectionEnd,r={text:this.parent.element.value,start:n,end:i};this.undoRedoStack.length>=this.steps&&(this.undoRedoStack=this.undoRedoStack.slice(0,this.steps+1)),this.undoRedoStack.length>1&&this.undoRedoStack[this.undoRedoStack.length-1].start===n&&this.undoRedoStack[this.undoRedoStack.length-1].end===i||(this.undoRedoStack.push(r),this.steps=this.undoRedoStack.length-1,this.steps>this.undoRedoSteps&&(this.undoRedoStack.shift(),this.steps--),e&&e.callBack&&e.callBack())},e.prototype.undo=function(e){if(this.steps>0){this.currentAction="Undo";var t=this.undoRedoStack[this.steps-1].start,n=this.undoRedoStack[this.steps-1].end,i=this.undoRedoStack[this.steps-1].text;this.parent.element.value=i,this.parent.element.focus(),this.steps--,this.restore(this.parent.element,t,n,e)}},e.prototype.redo=function(e){if(null!=this.undoRedoStack[this.steps+1]){this.currentAction="Redo";var t=this.undoRedoStack[this.steps+1].start,n=this.undoRedoStack[this.steps+1].end;this.parent.element.value=this.undoRedoStack[this.steps+1].text,this.parent.element.focus(),this.steps++,this.restore(this.parent.element,t,n,e)}},e.prototype.restore=function(e,t,n,i){this.selection.save(t,n),this.selection.restore(e),i&&i.callBack&&i.callBack({requestType:this.currentAction,selectedText:this.selection.getSelectedText(e),editorMode:"Markdown",event:i.event})},e.prototype.getUndoStatus=function(){var e={undo:!1,redo:!1};return this.steps>0&&(e.undo=!0),null!=this.undoRedoStack[this.steps+1]&&(e.redo=!0),e},e}(),qr=function(){function e(e){this.parent=e,this.selection=this.parent.markdownSelection,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(Or,this.createLink,this)},e.prototype.createLink=function(e){var t=this.parent.element;t.focus();var n=t.selectionStart,i=t.selectionEnd,r="Image"===e.subCommand?this.selection.getSelectedText(t):e.item.text,o="Image"===e.subCommand?n+2:n+1,s="Image"===e.subCommand?i+2:i+1;r="Image"===e.subCommand?"!["+r+"]("+e.item.url+")":"["+r+"]("+e.item.url+")",t.value=t.value.substr(0,n)+r+t.value.substr(i,t.value.length),this.parent.markdownSelection.setSelection(t,o,s),this.restore(t,o,s,e)},e.prototype.restore=function(e,t,n,i){this.selection.save(t,n),this.selection.restore(e),i&&i.callBack&&i.callBack({requestType:i.subCommand,selectedText:this.selection.getSelectedText(e),editorMode:"Markdown",event:i.event})},e}(),zr=function(){function e(e){t.extend(this,this,e,!0),this.selection=this.parent.markdownSelection,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(xr,this.createTable,this),this.parent.observer.on(fr,this.onKeyDown,this)},e.prototype.removeEventListener=function(){this.parent.observer.off(xr,this.createTable),this.parent.observer.off(fr,this.onKeyDown)},e.prototype.destroy=function(){this.removeEventListener()},e.prototype.onKeyDown=function(e){"insert-table"===e.event.action&&(e.item=e.value,this.createTable(e))},e.prototype.createTable=function(e){this.element=this.parent.element;var t=this.element.selectionStart,n=this.element.selectionEnd,i=this.element.value;this.locale=e,this.selection.save(t,n),this.restore(this.element.selectionStart,this.element.selectionEnd,null),this.insertTable(t,n,i,e)},e.prototype.getTable=function(){var e="";return e+=this.textNonEmpty(),e+=this.tableHeader(this.locale),e+=this.tableCell(this.locale)},e.prototype.tableHeader=function(e){for(var t="",n=1;n<=2;n++){t+="|";for(var i=1;i<=2;i++)t+=1===n?e.item.headingText+" "+i+"|":"---------|";t+=this.insertLine()}return t},e.prototype.tableCell=function(e){for(var t="",n=1;n<=2;n++){t+="|";for(var i=1;i<=2;i++)t+=e.item.colText+" "+this.convertToLetters(n)+i+"|";t+=this.insertLine()}return t+=this.insertLine()},e.prototype.insertLine=function(){var e=document.createElement("div");return e.innerHTML="\n",e.textContent},e.prototype.insertTable=function(e,t,n,i){var r=this.selection.getSelectedParentPoints(this.element),o=r[r.length-1].text.split(" ",2),s=this.getFormatTag();o.length<2?(this.element.value=this.updateValue(this.getTable()),this.makeSelection(n,e,t)):this.ensureFormatApply(r[r.length-1].text)?this.checkValid(e,t,this.getTable(),n,i,o,r,s):(this.element.value=this.updateValue(this.getTable()),this.makeSelection(n,e,t)),this.restore(this.element.selectionStart,this.element.selectionEnd,i)},e.prototype.makeSelection=function(e,t,n){n=t+(e.length>0?12:10),t+=e.length>0?3:1,this.selection.setSelection(this.element,t,n)},e.prototype.getFormatTag=function(){for(var e=Object.keys(this.syntaxTag.Formats),t=Object.keys(this.syntaxTag.List),n=[],i=0;i<e.length;i++)n.push(this.syntaxTag.Formats[e[i]]);for(var r=0;r<t.length;r++)n.push(this.syntaxTag.List[t[r]]);return n},e.prototype.ensureFormatApply=function(e){for(var t=this.getFormatTag(),n=e.trim().split(" ",2)[0]+" ",i=0;i<t.length;i++)if(n===t[i]||/^[\d.]+[ ]+$/.test(n))return!0;return!1},e.prototype.ensureStartValid=function(e,t){for(var n=t[0].text.split(" ",2),i=e+1;i<=e+n[0].length+1;i++)if(this.element.selectionStart===i||this.element.selectionEnd===i)return!1;return!0},e.prototype.ensureEndValid=function(e,t){for(var n=e+1;n<=e+t+1;n++)if(this.element.selectionEnd===n)return!1;return!0},e.prototype.updateValueWithFormat=function(e,t){var n=this.element.value.substring(this.element.selectionEnd,this.element.value.length);return t+=n.replace(n,e[0]+" "+n),this.element.value.substr(0,this.element.selectionStart)+t},e.prototype.updateValue=function(e){return this.element.value.substr(0,this.element.selectionStart)+e+this.element.value.substr(this.element.selectionEnd,this.element.value.length)},e.prototype.checkValid=function(e,t,n,i,r,o,s,a){this.ensureStartValid(s[0].start,s)&&this.ensureEndValid(s[s.length-1].start,o[0].length)&&(e===s[0].start?e!==t&&t!==s[s.length-1].end-1?this.element.value=this.updateValueWithFormat(o,n):this.element.value=this.updateValue(n):t===s[s.length-1].end-1?this.element.value=this.updateValue(n):this.element.value=this.updateValueWithFormat(o,n),this.makeSelection(i,e,t))},e.prototype.convertToLetters=function(e){var t="A".charCodeAt(0),n="";do{e-=1,n=String.fromCharCode(t+e%26)+n,e=e/26>>0}while(e>0);return n},e.prototype.textNonEmpty=function(){var e="";return(this.isCursorBased()||this.isSelectionBased())&&this.element.value.length>0&&(e+=this.insertLine(),e+=this.insertLine()),e},e.prototype.isCursorBased=function(){return this.element.selectionStart===this.element.selectionEnd},e.prototype.isSelectionBased=function(){return this.element.selectionStart!==this.element.selectionEnd},e.prototype.restore=function(e,t,n){this.selection.save(e,t),this.selection.restore(this.element),n&&n.callBack&&n.callBack({requestType:n.subCommand,selectedText:this.selection.getSelectedText(this.element),editorMode:"Markdown",event:n.event})},e}(),_r=function(){function e(e){this.parent=e,this.selection=this.parent.markdownSelection,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(Lr,this.clear,this)},e.prototype.replaceRegex=function(e){return e.replace(/\*/gi,"\\*").replace(/\&/gi,"\\&").replace(/\-/gi,"\\-").replace(/\^/gi,"\\^").replace(/\$/gi,"\\$").replace(/\./gi,"\\.").replace(/\|/gi,"\\|").replace(/\?/gi,"\\?").replace(/\+/gi,"\\+").replace(/\-/gi,"\\-").replace(/\&/gi,"\\&")},e.prototype.clearSelectionTags=function(e){for(var t=this.parent.selectionTags,n=Object.keys(t),i=0;i<n.length;i++){var r=n[i];if(t.hasOwnProperty(r)&&""!==t[r]){var o=this.replaceRegex(t[r]),s=void 0,a=t[r].length,l="<sup>"===t[r]||"<sub>"===t[r]?t[r].length+1:t[r].length;s="<sup>"===t[r]?new RegExp("<sup>(.*?)</sup>","ig"):"<sub>"===t[r]?new RegExp("<sub>(.*?)</sub>","ig"):new RegExp(o+"(.*?)"+o,"ig");for(var d=e.match(s),c=0;d&&c<d.length&&""!==d[c];c++)e=e.replace(d[c],d[c].substr(a,d[c].length-l-a))}}return e},e.prototype.clearFormatTags=function(e){var t=e.split("\n");return this.clearFormatLines(t)},e.prototype.clearFormatLines=function(e){for(var t=[this.parent.formatTags,this.parent.listTags],n="",i=0;i<e.length;i++){for(var r=0;r<t.length;r++)for(var o=t[r],s=Object.keys(o),a=0;a<s.length;a++){var l=s[a];o.hasOwnProperty(l)&&""!==o[l]&&0===e[i].indexOf(o[l])&&(e[i]=e[i].replace(o[l],""),e[i]=this.clearFormatLines([e[i]]))}n=n+e[i]+(i!==e.length-1?"\n":"")}return n},e.prototype.clear=function(e){var t=this.parent.element;t.focus();var n=t.selectionStart,i=t.selectionEnd,r=this.selection.getSelectedText(t);r=this.clearSelectionTags(r),r=this.clearFormatTags(r),t.value=t.value.substr(0,n)+r+t.value.substr(i,t.value.length),this.parent.markdownSelection.setSelection(t,n,n+r.length),this.restore(t,n,n+r.length,e)},e.prototype.restore=function(e,t,n,i){this.selection.save(t,n),this.selection.restore(e),i&&i.callBack&&i.callBack({requestType:i.subCommand,selectedText:this.selection.getSelectedText(e),editorMode:"Markdown",event:i.event})},e}(),Wr=function(){function e(e){this.parent=e,this.selection=this.parent.markdownSelection,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(kr,this.InsertTextExec,this)},e.prototype.InsertTextExec=function(e){var t=this.parent.element;t.focus();var n=t.selectionStart,i=t.selectionEnd,r=e.value.text,o=n+r.length,s=i+r.length;t.value=t.value.substr(0,n)+r+t.value.substr(i,t.value.length),this.parent.markdownSelection.setSelection(t,o,s),this.restore(t,o,s,e)},e.prototype.restore=function(e,t,n,i){this.selection.save(t,n),this.selection.restore(e),i&&i.callBack&&i.callBack({requestType:i.subCommand,selectedText:this.selection.getSelectedText(e),editorMode:"Markdown",event:i.event})},e}(),Qr=function(){function e(e){this.initialize(),t.extend(this,this,e,!0),this.observer=new t.Observer(this),this.markdownSelection=new cr,this.listObj=new Dr({parent:this,syntax:this.listTags}),this.formatObj=new Mr({parent:this,syntax:this.formatTags}),this.undoRedoManager=new Fr(this,e.options),this.mdSelectionFormats=new Rr({parent:this,syntax:this.selectionTags}),this.linkObj=new qr(this),this.tableObj=new zr({parent:this,syntaxTag:{Formats:this.formatTags,List:this.listTags}}),this.clearObj=new _r(this),this.insertTextObj=new Wr(this),this.wireEvents()}return e.prototype.initialize=function(){this.formatTags=Ir,this.listTags=Pr,this.selectionTags=Br},e.prototype.wireEvents=function(){this.observer.on("keydown",this.editorKeyDown,this),this.observer.on("keyup",this.editorKeyUp,this),this.observer.on(yr,this.onPropertyChanged,this)},e.prototype.onPropertyChanged=function(e){this.observer.notify(vr,e)},e.prototype.editorKeyDown=function(e){this.observer.notify(fr,e)},e.prototype.editorKeyUp=function(e){this.observer.notify(br,e)},e.prototype.execCommand=function(e,t,n,i,r,o){switch(e.toLocaleLowerCase()){case"lists":this.observer.notify(Tr,{subCommand:t,event:n,callBack:i});break;case"formats":this.observer.notify(gr,{subCommand:t,event:n,callBack:i});break;case"actions":this.observer.notify(mr,{subCommand:t,event:n,callBack:i});break;case"style":case"effects":case"casing":this.observer.notify(wr,{subCommand:t,event:n,callBack:i});break;case"links":case"images":this.observer.notify(Or,{subCommand:t,event:n,callBack:i,item:o});break;case"table":switch(t.toString().toLocaleLowerCase()){case"createtable":this.observer.notify(xr,{subCommand:t,item:o,event:n,callBack:i})}break;case"clear":this.observer.notify(Lr,{subCommand:t,event:n,callBack:i});break;case"inserttext":this.observer.notify(kr,{subCommand:t,event:n,callBack:i,value:{text:o}})}},e}(),Vr=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Gr=function(e){function n(n){var i=e.call(this)||this;return i.initialize(),t.extend(i,i,n,!0),n&&i.element&&i.updateFormatter(i.element,document,n.options),i}return Vr(n,e),n.prototype.initialize=function(){this.keyConfig=Ur,this.formatTags=Ir,this.listTags=Pr,this.selectionTags=Br},n.prototype.updateFormatter=function(e,t,n){e&&(this.editorManager=new Qr({element:e,formatTags:this.formatTags,listTags:this.listTags,selectionTags:this.selectionTags,options:n}))},n}(Er),Kr=function(){function e(e){this.parent=e}return e.prototype.renderPanel=function(){var e=this.parent,t=this.parent.createElement("div",{id:this.parent.getID()+"_view",className:"e-rte-content"});this.editableElement=this.parent.createElement("textarea",{className:"e-content",id:this.parent.getID()+"_editable-content",attrs:{"aria-labelledby":this.parent.getID()+"_view"}}),t.appendChild(this.editableElement),this.setPanel(t),e.element.appendChild(t)},e.prototype.getPanel=function(){return this.contentPanel},e.prototype.getEditPanel=function(){return this.editableElement},e.prototype.getText=function(){return this.getEditPanel().value},e.prototype.setPanel=function(e){this.contentPanel=e},e.prototype.getDocument=function(){return this.getEditPanel().ownerDocument},e}(),Xr=function(){function n(e,t){this.parent=e,this.locator=t,this.renderFactory=this.locator.getService("rendererFactory"),this.addEventListener()}return n.prototype.destroy=function(){this.removeEventListener()},n.prototype.moduleDestroy=function(){this.parent=null,this.toolbarUpdate.parent=null},n.prototype.addEventListener=function(){this.parent.isDestroyed||(this.saveSelection=new cr,this.parent.on(A,this.instantiateRenderer,this),this.parent.on(H,this.render,this),this.parent.on(Y,this.onPropertyChanged,this),this.parent.on(K,this.onToolbarClick,this),this.parent.on(F,this.destroy,this),this.parent.on(_e,this.selectAll,this),this.parent.on(Qe,this.getSelectedHtml,this),this.parent.on(Me,this.onSelectionSave,this),this.parent.on(Re,this.onSelectionRestore,this),this.parent.on(Ze,this.updateReadOnly,this),this.parent.on(et,this.moduleDestroy,this))},n.prototype.updateReadOnly=function(){this.parent.readonly?(this.parent.contentModule.getEditPanel().setAttribute("readonly","readonly"),t.addClass([this.parent.element],zn)):(this.parent.contentModule.getEditPanel().removeAttribute("readonly"),t.removeClass([this.parent.element],zn))},n.prototype.onSelectionSave=function(){var e=this.parent.contentModule.getEditPanel();this.saveSelection.save(e.selectionStart,e.selectionEnd)},n.prototype.onSelectionRestore=function(e){this.contentRenderer.getEditPanel().focus();var t=this.parent.contentModule.getEditPanel();this.saveSelection.restore(t)},n.prototype.onToolbarClick=function(e){var t=e.item,n=this.parent.contentModule.getEditPanel();n.focus();var i=n.selectionStart,r=n.selectionEnd,o=n.value.substring(i,r);switch(t.subCommand){case"Maximize":this.parent.notify(ne,{args:e});break;case"Minimize":this.parent.notify(ie,{args:e});break;case"CreateLink":this.parent.notify(ue,{member:"link",args:e,text:o,module:"Markdown"});break;case"Image":this.parent.notify(Ne,{member:"image",args:e,text:o,module:"Markdown"});break;case"CreateTable":var s={headingText:this.parent.localeObj.getConstant("TableHeadingText"),colText:this.parent.localeObj.getConstant("TableColText")};this.parent.formatter.process(this.parent,e,e.originalEvent,s);break;default:this.parent.formatter.process(this.parent,e,e.originalEvent,null)}},n.prototype.instantiateRenderer=function(){this.renderFactory.addRenderer(e.RenderType.Content,new Kr(this.parent))},n.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off(H,this.render),this.parent.off(Y,this.onPropertyChanged),this.parent.off(F,this.destroy),this.parent.off(K,this.onToolbarClick),this.parent.off(A,this.instantiateRenderer),this.parent.off(_e,this.selectAll),this.parent.off(Qe,this.getSelectedHtml),this.parent.off(Me,this.onSelectionSave),this.parent.off(Re,this.onSelectionRestore),this.parent.off(Ze,this.updateReadOnly),this.parent.off(et,this.moduleDestroy))},n.prototype.render=function(){this.contentRenderer=this.renderFactory.getRenderer(e.RenderType.Content);var n=this.contentRenderer.getEditPanel(),i={undoRedoSteps:this.parent.undoRedoSteps,undoRedoTimer:this.parent.undoRedoTimer};t.isNullOrUndefined(this.parent.formatter)?this.parent.formatter=new Gr({element:n,options:i}):this.parent.formatter.updateFormatter(n,this.contentRenderer.getDocument(),i),this.parent.toolbarSettings.enable&&(this.toolbarUpdate=new hr(this.parent)),this.parent.notify(Q,{})},n.prototype.onPropertyChanged=function(e){if(!t.isNullOrUndefined(e.newProp.formatter)){var n=this.contentRenderer.getEditPanel(),i={undoRedoSteps:this.parent.undoRedoSteps,undoRedoTimer:this.parent.undoRedoTimer};this.parent.formatter.updateFormatter(n,this.contentRenderer.getDocument(),i)}},n.prototype.getModuleName=function(){return"markdownEditor"},n.prototype.selectAll=function(){this.parent.formatter.editorManager.markdownSelection.setSelection(this.parent.contentModule.getEditPanel(),0,this.parent.contentModule.getEditPanel().value.length)},n.prototype.getSelectedHtml=function(e){e.callBack(this.parent.formatter.editorManager.markdownSelection.getSelectedText(this.parent.contentModule.getEditPanel()))},n}(),Yr="INSERT-IMAGE",Jr="INSERT-TABLE",$r="INSERT-LINK",Zr="INSERT-ROW",eo="INSERT-COLUMN",to="DELETE-ROW",no="DELETE-COLUMN",io="REMOVE-TABLE",ro="TABLE-HEADER",oo="TABLE_VERTICAL_ALIGN",so="TABLE_MERGE",ao="TABLE_VERTICAL_SPLIT",lo="TABLE_HORIZONTAL_SPLIT",co="alignment-type",po="indent-type",ho=["address","article","aside","audio","blockquote","canvas","details","dd","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","li","main","nav","noscript","ol","output","p","pre","section","table","tbody","td","tfoot","th","thead","tr","ul","video","body"],uo=["td","th"],mo=["table","tbody","td","tfoot","th","thead","tr"],go="selection-type",fo="inserthtml-type",bo="insert-text-type",vo="clear-type",yo=["area","base","br","embed","hr","img","input","param","source","track","wbr","iframe","td"],Co=function(){function e(){this.startNodeName=[],this.endNodeName=[]}return e.prototype.saveInstance=function(e,t){return this.range=e.cloneRange(),this.rootNode=this.documentFromRange(e),this.body=t,this.startContainer=this.getNodeArray(e.startContainer,!0),this.endContainer=this.getNodeArray(e.endContainer,!1),this.startOffset=e.startOffset,this.endOffset=e.endOffset,this.html=this.body.innerHTML,this},e.prototype.documentFromRange=function(e){return 9===e.startContainer.nodeType?e.startContainer:e.startContainer.ownerDocument},e.prototype.getRange=function(e){var t=this.get(e),n=t&&t.rangeCount>0?t.getRangeAt(t.rangeCount-1):e.createRange();return n.startContainer!==e||n.endContainer!==e||n.startOffset||n.endOffset||(n.setStart(e.body,0),n.collapse(!0)),n},e.prototype.get=function(e){return e.defaultView.getSelection()},e.prototype.save=function(e,t){return e=e?e.cloneRange():this.getRange(t),this.saveInstance(e,t.body)},e.prototype.getIndex=function(e){var t=0;if(e=e.previousSibling||"BR"!==e.tagName?e.previousSibling:e)for(e.nodeType;e;null)t++,e.nodeType,e=e.previousSibling;return t},e.prototype.isChildNode=function(e,t){for(var n=0;n<t.childNodes.length;n++)if(e.indexOf(t.childNodes[n])>-1)return!0;return!1},e.prototype.getNode=function(e,t,n){return t!==e||3!==e.nodeType&&e.firstChild&&-1===n.indexOf(e.firstChild)&&!this.isChildNode(n,e)?-1===n.indexOf(e.firstChild)&&e.firstChild&&!this.isChildNode(n,e)?e.firstChild:e.nextSibling?e.nextSibling:e.parentNode?e.parentNode:null:null},e.prototype.getNodeCollection=function(e){var t=e.startContainer.childNodes[e.startOffset]||e.startContainer,n=e.endContainer.childNodes[e.endOffset>0?e.endOffset-1:e.endOffset]||e.endContainer;if((t===n||"BR"===t.nodeName&&t===e.endContainer.childNodes[e.endOffset])&&0===t.childNodes.length)return[t];if(e.startOffset===e.endOffset&&0!==e.startOffset&&"PRE"===e.startContainer.nodeName)return["BR"===t.nodeName||"#text"===t.nodeName?t:t.childNodes[0]];var i=[];do{-1===i.indexOf(t)&&i.push(t),t=this.getNode(t,n,i)}while(t);return i},e.prototype.getParentNodeCollection=function(e){return this.getParentNodes(this.getNodeCollection(e),e)},e.prototype.getParentNodes=function(e,t){e=e.reverse();for(var n=0;n<e.length;n++)-1!==e.indexOf(e[n].parentNode)||3===e[n].nodeType&&t.startContainer!==t.endContainer&&t.startContainer.parentNode!==t.endContainer.parentNode?(e.splice(n,1),n--):3===e[n].nodeType&&(e[n]=e[n].parentNode);return e},e.prototype.getSelectionNodeCollection=function(e){return this.getSelectionNodes(this.getNodeCollection(e))},e.prototype.getSelectionNodeCollectionBr=function(e){return this.getSelectionNodesBr(this.getNodeCollection(e))},e.prototype.getSelectionNodes=function(e){e=e.reverse();for(var t=new RegExp(String.fromCharCode(8203),"g"),n=0;n<e.length;n++)(3!==e[n].nodeType||""===e[n].textContent.trim()||1===e[n].textContent.length&&e[n].textContent.match(t))&&(e.splice(n,1),n--);return e.reverse()},e.prototype.getSelectionNodesBr=function(e){e=e.reverse();for(var t=new RegExp(String.fromCharCode(8203),"g"),n=0;n<e.length;n++)"BR"!==e[n].nodeName&&(3!==e[n].nodeType||""===e[n].textContent.trim()||1===e[n].textContent.length&&e[n].textContent.match(t))&&(e.splice(n,1),n--);return e.reverse()},e.prototype.getInsertNodeCollection=function(e){return this.getInsertNodes(this.getNodeCollection(e))},e.prototype.getInsertNodes=function(e){e=e.reverse();for(var t=0;t<e.length;t++)(0!==e[t].childNodes.length&&3!==e[t].nodeType||3===e[t].nodeType&&""===e[t].textContent)&&(e.splice(t,1),t--);return e.reverse()},e.prototype.getNodeArray=function(e,n,i){var r=[];for(n?this.startNodeName=[]:this.endNodeName=[];e!==(i||this.rootNode)&&!t.isNullOrUndefined(e);null)n?this.startNodeName.push(e.nodeName.toLowerCase()):this.endNodeName.push(e.nodeName.toLowerCase()),r.push(this.getIndex(e)),e=e.parentNode;return r},e.prototype.setRangePoint=function(e,t,n,i){for(var r=this.rootNode,o=n.length,s=i;o--;null)r=r&&r.childNodes[n[o]];return r&&s>=0&&"html"!==r.nodeName&&(3===r.nodeType&&"&nbsp;"===r.nodeValue.replace(/\u00a0/g,"&nbsp;")&&(s=r.textContent.length),e[t?"setStart":"setEnd"](r,s)),e},e.prototype.restore=function(){var e=this.range.cloneRange();return e=this.setRangePoint(e,!0,this.startContainer,this.startOffset),e=this.setRangePoint(e,!1,this.endContainer,this.endOffset),this.selectRange(this.rootNode,e),e},e.prototype.selectRange=function(e,t){this.setRange(e,t),this.save(t,e)},e.prototype.setRange=function(e,t){var n=this.get(e);n.removeAllRanges(),n.addRange(t)},e.prototype.setSelectionText=function(e,t,n,i,r){var o=e.createRange();o.setStart(t,i),o.setEnd(n,r),this.setRange(e,o)},e.prototype.setSelectionContents=function(e,t){var n=e.createRange();n.selectNode(t),this.setRange(e,n)},e.prototype.setSelectionNode=function(e,t){var n=e.createRange();n.selectNodeContents(t),this.setRange(e,n)},e.prototype.getSelectedNodes=function(e){return this.getNodeCollection(this.getRange(e))},e.prototype.Clear=function(e){this.get(e).removeAllRanges()},e.prototype.insertParentNode=function(e,t,n){n.surroundContents(t),this.selectRange(e,n)},e.prototype.setCursorPoint=function(e,t,n){var i=e.createRange(),r=e.defaultView.getSelection();i.setStart(t,n),i.collapse(!0),r.removeAllRanges(),r.addRange(i)},e}(),No={startSelection:"e-editor-select-start",endSelection:"e-editor-select-end"},So=function(){function e(e,t){this.parent=e,this.nodeSelection=new Co,this.currentDocument=t}return e.prototype.contents=function(e){return e&&"IFRAME"!==e.tagName?Array.prototype.slice.call(e.childNodes||[]):[]},e.prototype.isBlockNode=function(e){return!!e&&e.nodeType===Node.ELEMENT_NODE&&ho.indexOf(e.tagName.toLowerCase())>=0},e.prototype.isLink=function(e){return!!e&&e.nodeType===Node.ELEMENT_NODE&&"a"===e.tagName.toLowerCase()},e.prototype.blockParentNode=function(e){for(;e&&e.parentNode!==this.parent&&(!e.parentNode||!this.hasClass(e.parentNode,"e-node-inner"));null)if(e=e.parentNode,this.isBlockNode(e))return e;return e},e.prototype.rawAttributes=function(e){var t={},n=e.attributes;if(n.length>0)for(var i=0;i<n.length;i++){var r=n[i];t[r.nodeName]=r.value}return t},e.prototype.attributes=function(e){if(!e)return"";for(var t="",n=this.rawAttributes(e),i=Object.keys(n).sort(),r=0;r<i.length;r++){var o=i[r],s=n[o];s.indexOf("'")<0&&s.indexOf('"')>=0?t+=" "+o+"='"+s+"'":s.indexOf('"')>=0&&s.indexOf("'")>=0?t+=" "+o+'="'+(s=s.replace(/"/g,"&quot;"))+'"':t+=" "+o+'="'+s+'"'}return t},e.prototype.clearAttributes=function(e){for(var t=e.attributes,n=t.length-1;n>=0;n--){var i=t[n];e.removeAttribute(i.nodeName)}},e.prototype.openTagString=function(e){return"<"+e.tagName.toLowerCase()+this.attributes(e)+">"},e.prototype.closeTagString=function(e){return"</"+e.tagName.toLowerCase()+">"},e.prototype.createTagString=function(e,t,n){return"<"+e.toLowerCase()+this.attributes(t)+">"+n+"</"+e.toLowerCase()+">"},e.prototype.isList=function(e){return!!e&&["UL","OL"].indexOf(e.tagName)>=0},e.prototype.isElement=function(e){return e===this.parent},e.prototype.isEditable=function(e){return(!e.getAttribute||"true"===e.getAttribute("contenteditable"))&&["STYLE","SCRIPT"].indexOf(e.tagName)<0},e.prototype.hasClass=function(e,t){return e&&e.classList&&e.classList.contains(t)},e.prototype.replaceWith=function(e,n){e.parentNode.insertBefore(this.parseHTMLFragment(n),e),t.detach(e)},e.prototype.parseHTMLFragment=function(e){var n=t.createElement("template");return n.innerHTML=e,n.content instanceof DocumentFragment?n.content:document.createRange().createContextualFragment(e)},e.prototype.wrap=function(e,t){return e.parentNode.insertBefore(t,e),(t=e.previousSibling).appendChild(e),t},e.prototype.insertAfter=function(e,t){t.parentNode.insertBefore(e,t.nextSibling)},e.prototype.wrapInner=function(e,t){for(e.appendChild(t),(t=e.querySelector(".e-rte-wrap-inner")).classList.remove("e-rte-wrap-inner"),0===t.classList.length&&t.removeAttribute("class");e.firstChild!==t;)t.appendChild(e.firstChild);return t},e.prototype.unWrap=function(e){for(var t=e.parentNode,n=[];e.firstChild;)n.push(e.firstChild),t.insertBefore(e.firstChild,e);return n=n.length>0?n:[e.parentNode],t.removeChild(e),n},e.prototype.getSelectedNode=function(e,t){return e.nodeType===Node.ELEMENT_NODE&&e.childNodes.length>0&&e.childNodes[t-1]&&e.childNodes[t-1].nodeType===Node.ELEMENT_NODE&&(e.childNodes[t-1].classList.contains(No.startSelection)||e.childNodes[t-1].classList.contains(No.endSelection))?e=e.childNodes[t-1]:e.nodeType===Node.ELEMENT_NODE&&e.childNodes.length>0&&e.childNodes[t]&&(e=e.childNodes[t]),e.nodeType===Node.TEXT_NODE&&(e=e.parentNode),e},e.prototype.nodeFinds=function(e,t){for(var n=[],i=0;i<t.length;i++)e.contains(t[i])&&e!==t[i]&&n.push(t[i]);return n},e.prototype.isEditorArea=function(){var e;for(e=this.getRangePoint(0).commonAncestorContainer;e&&!this.isElement(e);null)e=e.parentNode;return!!this.isElement(e)},e.prototype.getRangePoint=function(e){var t=this.getSelection(),n=[];if(t&&t.getRangeAt&&t.rangeCount){n=[];for(var i=0;i<t.rangeCount;i++)n.push(t.getRangeAt(i))}else n=[this.currentDocument.createRange()];return void 0!==e?n[e]:n},e.prototype.getSelection=function(){return this.nodeSelection.get(this.currentDocument)},e.prototype.getPreviousNode=function(e){for(e=e.previousElementSibling;e&&"\n"===e.textContent;null)e=e.previousElementSibling;return e},e.prototype.encode=function(e){var t=document.createElement("div");return t.innerText=e,t.innerHTML.replace(/<br\s*[\/]?>/gi,"\n")},e.prototype.saveMarker=function(e,n){var i,r,o=this.parent.querySelector("."+No.startSelection),s=this.parent.querySelector("."+No.endSelection);if(""===o.textContent&&t.isNullOrUndefined(s)&&"tab"!==n&&(1===o.childNodes.length&&"BR"===o.childNodes[0].nodeName?o.innerHTML="&#65279;&#65279;<br>":o.innerHTML="&#65279;&#65279;"),this.hasClass(o,No.startSelection)&&o.classList.length>1){var a=this.createTagString("p",o,this.encode(o.textContent));this.replaceWith(o,a),(o=this.parent.querySelector("."+No.startSelection)).classList.remove(No.startSelection),i=o.childNodes[0]}else i=this.unWrap(o)[0];if(this.hasClass(s,No.endSelection)&&s.classList.length>1){a=this.createTagString("p",s,this.encode(s.textContent));this.replaceWith(s,a),(s=this.parent.querySelector("."+No.endSelection)).classList.remove(No.endSelection),r=s.childNodes[0]}else r=s?this.unWrap(s)[0]:i;return e.startContainer=e.getNodeArray(i,!0),e.endContainer=e.getNodeArray(r,!1),e},e.prototype.marker=function(e,t){return'<span class="'+e+'">'+t+"</span>"},e.prototype.setMarker=function(e){var n=e.range,i=n.startContainer.childNodes,r=(i.length>1&&"TABLE"===i[0].nodeName?function(e){var t=e;do{t.childNodes.length>0&&(t=t.childNodes[0])}while(t.childNodes.length>0);return t}(i[n.startOffset+1]):i[n.startOffset>0?n.startOffset-1:n.startOffset])||n.startContainer,o=n.endContainer.childNodes[n.endOffset>0?n.endOffset-1:n.endOffset]||n.endContainer;if(r.nodeType===Node.ELEMENT_NODE&&o.nodeType===Node.ELEMENT_NODE&&(r.contains(o)||o.contains(r))){var s=r.contains(o)?r:o;if(s.nodeType!==Node.TEXT_NODE){for(var a=[],l=[],d=s;s.contains(d);null)a.indexOf(d)<0&&d.childNodes&&d.childNodes.length?(a.push(d),d=d.childNodes[0]):d.nextSibling?d=d.nextSibling:d.parentNode&&(d=d.parentNode,a.push(d)),l.indexOf(d)<0&&(d.nodeType===Node.TEXT_NODE||uo.indexOf(d.parentNode.tagName.toLocaleLowerCase())>=0&&("BR"===d.tagName||"IMG"===d.tagName))&&l.push(d);l.length&&(r=r.contains(o)?l[0]:r,o=l[l.length-1])}}if(r!==o){if(r.nodeType!==Node.TEXT_NODE&&("BR"===r.tagName&&uo.indexOf(r.parentNode.tagName.toLocaleLowerCase())>=0||"IMG"===r.tagName)){this.replaceWith(r,this.marker(No.startSelection,this.encode(r.textContent)));n.startContainer.querySelector("."+No.startSelection).appendChild(r)}else if(3!=r.nodeType&&"#text"!=r.nodeName){var c=this.marker(No.startSelection,"");t.append([this.parseHTMLFragment(c)],r)}else this.replaceWith(r,this.marker(No.startSelection,this.encode(r.textContent)));if(o.nodeType!==Node.TEXT_NODE&&"BR"===o.tagName&&uo.indexOf(o.parentNode.tagName.toLocaleLowerCase())>=0){this.replaceWith(o,this.marker(No.endSelection,this.encode(o.textContent)));n.endContainer.querySelector("."+No.endSelection).appendChild(o)}else this.ensureSelfClosingTag(o,No.endSelection,n)}else this.ensureSelfClosingTag(r,No.startSelection,n)},e.prototype.ensureSelfClosingTag=function(e,n,i){var r=!1;if(3===e.nodeType)this.replaceWith(e,this.marker(n,this.encode(e.textContent)));else if("BR"===e.tagName){this.replaceWith(e,this.marker(n,this.encode(e.textContent)));i.startContainer.querySelector("."+n).appendChild(e)}else{if("IMG"===e.tagName){var o=document.createElement("p");e.parentElement.insertBefore(o,e),o.appendChild(e),e=o.children[0]}if("TABLE"===e.tagName)if(r=!0,""===e.textContent){var s=e.querySelectorAll("td");e=s[s.length-1],e=t.isNullOrUndefined(e.childNodes[0])?e:e.childNodes[0]}else{for(var a=e.lastChild;3!==a.nodeType&&"#text"!==a.nodeName&&"BR"!==a.nodeName;)a=a.lastChild;e=a}for(var l=0;l<jr.length;l++)e=e.tagName!==jr[l]||r?e:e.parentNode;if(3===e.nodeType&&"#text"===e.nodeName)this.replaceWith(e,this.marker(n,this.encode(e.textContent)));else if("BR"===e.nodeName){this.replaceWith(e,this.marker(No.endSelection,this.encode(e.textContent)));i.endContainer.querySelector("."+No.endSelection).appendChild(e)}else{var d=this.marker(n,"");t.append([this.parseHTMLFragment(d)],e)}}},e.prototype.createTempNode=function(e){var t=e.textContent;if("BR"===e.tagName){var n="<p></p>",i=e.parentNode;uo.indexOf(i.tagName.toLocaleLowerCase())>=0&&(e=this.wrap(e,this.parseHTMLFragment(n)))}else if(e.nodeType!==Node.TEXT_NODE&&(e.classList.contains(No.startSelection)||e.classList.contains(No.endSelection))||t.replace(/\n/g,"").replace(/(^ *)|( *$)/g,"").length>0||t.length&&t.indexOf("\n")<0){n="<p></p>";var r=e;e=this.wrap(e,this.parseHTMLFragment(n));!(r.nodeType===Node.ELEMENT_NODE&&r.firstChild&&"BR"===r.firstChild.nodeName&&(r.classList.contains(No.startSelection)||r.classList.contains(No.endSelection)))&&e.nextElementSibling&&"BR"===e.nextElementSibling.tagName&&e.appendChild(e.nextElementSibling)}return e},e.prototype.getImageTagInSelection=function(){var e=this.getSelection();return this.isEditorArea()&&e.rangeCount?e.focusNode.querySelectorAll("img"):null},e.prototype.blockNodes=function(){var e=[],n=this.getSelection();if(this.isEditorArea()&&n.rangeCount)for(var i=this.getRangePoint(),r=0;r<i.length;r++){var o=void 0,s=i[r],a=this.getSelectedNode(s.startContainer,s.startOffset),l=this.getSelectedNode(s.endContainer,s.endOffset);if(this.isBlockNode(a)&&e.indexOf(a)<0&&e.push(a),(o=this.blockParentNode(a))&&e.indexOf(o)<0)if(uo.indexOf(o.tagName.toLocaleLowerCase())>=0&&("BR"===a.tagName||a.nodeType===Node.TEXT_NODE||a.classList.contains(No.startSelection)||a.classList.contains(No.endSelection))){var d=a.previousSibling&&a.previousSibling.nodeType===Node.TEXT_NODE?a.previousSibling:a;a.nextSibling||a.previousSibling||"BR"!==a.tagName?e.push(this.createTempNode(d)):e.push(d)}else e.push(o);for(var c=[],p=a;p!==l&&p!==this.parent;null)c.indexOf(p)<0&&p.childNodes&&p.childNodes.length?(c.push(p),p=p.childNodes[0]):p&&8!==p.nodeType&&("BR"===p.tagName||p.nodeType===Node.TEXT_NODE&&""!==p.textContent.trim()||p.nodeType!==Node.TEXT_NODE&&(p.classList.contains(No.startSelection)||p.classList.contains(No.endSelection)))&&uo.indexOf(p.parentNode.tagName.toLocaleLowerCase())>=0?p=this.createTempNode(p):p.nextSibling&&8!==p.nextSibling.nodeType&&("BR"===p.nextSibling.tagName||p.nextSibling.nodeType===Node.TEXT_NODE||p.nextSibling.classList.contains(No.startSelection)||p.nextSibling.classList.contains(No.endSelection))&&uo.indexOf(p.nextSibling.parentNode.tagName.toLocaleLowerCase())>=0?p=this.createTempNode(p.nextSibling):p.nextSibling?p=p.nextSibling:p.parentNode&&(p=p.parentNode,c.push(p)),e.indexOf(p)<0&&p.nodeType===Node.ELEMENT_NODE&&uo.indexOf(p.parentNode.tagName.toLocaleLowerCase())>=0&&(p.classList.contains(No.startSelection)||p.classList.contains(No.endSelection))&&e.push(this.createTempNode(p)),this.isBlockNode(p)&&this.ignoreTableTag(p)&&c.indexOf(p)<0&&e.indexOf(p)<0&&(p!==l||s.endOffset>0)&&e.push(p),"IMG"===p.nodeName&&"true"===p.parentElement.contentEditable&&e.push(p);(o=this.blockParentNode(l))&&this.ignoreTableTag(o)&&e.indexOf(o)<0&&!t.isNullOrUndefined(o.previousElementSibling)&&"IMG"!==o.previousElementSibling.tagName&&e.push(o)}for(var h=e.length-1;h>0;h--){if((c=this.nodeFinds(e[h],e)).length){var u=e[h].querySelectorAll("ul, ol");if("LI"===e[h].tagName&&u.length>0)continue;e.splice(h,1)}}return e},e.prototype.ignoreTableTag=function(e){return!(mo.indexOf(e.tagName.toLocaleLowerCase())>=0)},e}(),Eo=function(){function e(e){this.parent=e,this.domNode=this.parent.domNode,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on("list-type",this.applyListsHandler,this),this.parent.observer.on(fr,this.keyDownHandler,this),this.parent.observer.on(br,this.onKeyUp,this),this.parent.observer.on(Sr,this.spaceKeyAction,this)},e.prototype.testList=function(e){var n=[/^[\d]+[.]+$/,/^(?=[MDCLXVI])M*(C[MD]|D?C{0,3})(X[CL]|L?X{0,3})(I[XV]|V?I{0,3})[.]$/gi,/^[a-zA-Z][.]+$/],i=t.isNullOrUndefined(e)?null:e.innerText.trim().split(".")[0]+".";if(!t.isNullOrUndefined(i))for(var r=0;r<n.length;r++)if(n[r].test(i))return!0;return!1},e.prototype.testCurrentList=function(e){var n=[/^[1]+[.]+$/,/^[i]+[.]+$/,/^[a]+[.]+$/];if(!t.isNullOrUndefined(e.startContainer.textContent.slice(0,e.startOffset)))for(var i=e.startContainer.textContent.replace(/\u200B/g,"").slice(0,e.startOffset).trim(),r=0;r<n.length;r++)if(n[r].test(i)&&2===i.length)return!0;return!1},e.prototype.spaceList=function(e){var n=this.parent.nodeSelection.getRange(this.parent.currentDocument);this.saveSelection=this.parent.nodeSelection.save(n,this.parent.currentDocument);var i=this.parent.domNode.getSelectedNode(n.startContainer,n.startOffset),r=(this.parent.domNode.getSelectedNode(n.endContainer,n.endOffset),i.previousElementSibling),o=i.nextElementSibling,s=t.isNullOrUndefined(r)?null:r.innerText.trim().substring(0,1),a=t.isNullOrUndefined(o)?null:o.innerText.trim().substring(0,1),l=this.testCurrentList(n),d=this.testList(r),c=this.testList(o);d||c||"*"===s||"*"===a||(l?(n.startContainer.textContent=n.startContainer.textContent.slice(n.startOffset,n.startContainer.textContent.length),this.applyListsHandler({subCommand:"OL",callBack:e.callBack}),e.event.preventDefault()):"*"!==n.startContainer.textContent.replace(/\u200B/g,"").slice(0,n.startOffset).trim()&&"-"!==n.startContainer.textContent.replace(/\u200B/g,"").slice(0,n.startOffset).trim()||(n.startContainer.textContent=n.startContainer.textContent.slice(n.startOffset,n.startContainer.textContent.length),this.applyListsHandler({subCommand:"UL",callBack:e.callBack}),e.event.preventDefault()))},e.prototype.enterList=function(e){var n=this.parent.nodeSelection.getRange(this.parent.currentDocument),i="LI"===n.startContainer.nodeName?n.startContainer:n.startContainer.parentElement.closest("LI"),r="LI"===n.endContainer.nodeName?n.endContainer:n.endContainer.parentElement.closest("LI");if(!t.isNullOrUndefined(i)&&!t.isNullOrUndefined(r)&&i===r&&"LI"===i.tagName&&""===i.textContent.trim()&&0===i.querySelectorAll("IMG").length){if(i.innerHTML.indexOf("&nbsp;")>=0)return;65279===i.textContent.charCodeAt(0)&&(i.textContent="");var o=i.parentElement;if(t.isNullOrUndefined(o.parentElement.closest("UL"))&&t.isNullOrUndefined(o.parentElement.closest("OL"))){if(!t.isNullOrUndefined(i.nextElementSibling)){var s=this.parent.domNode.blockParentNode(i);this.parent.nodeCutter.GetSpliceNode(n,s)}var a=void 0;"DIV"===e.enterAction?(a=t.createElement("div")).innerHTML="<br>":"P"===e.enterAction?(a=t.createElement("p")).innerHTML="<br>":a=t.createElement("br"),this.parent.domNode.insertAfter(a,o),e.event.preventDefault(),this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,a,0),""===o.textContent?t.detach(o):t.detach(i)}}},e.prototype.backspaceList=function(e){var n=this.parent.nodeSelection.getRange(this.parent.currentDocument),i=this.parent.domNode.getSelectedNode(n.startContainer,n.startOffset),r=this.parent.domNode.getSelectedNode(n.endContainer,n.endOffset);if(i="BR"===i.nodeName?i.parentElement:i,r="BR"===r.nodeName?r.parentElement:r,i===r&&!t.isNullOrUndefined(t.closest(i,"li"))&&(""===i.textContent.trim()&&65279===i.textContent.charCodeAt(0)||1===i.textContent.length&&8203===i.textContent.charCodeAt(0))&&(i.textContent=""),i===r&&"LI"===i.tagName&&0===i.textContent.length&&t.isNullOrUndefined(i.previousElementSibling)&&i.removeAttribute("style"),i===r&&""===i.textContent){if("LI"===i.parentElement.tagName&&"LI"===r.parentElement.tagName)t.detach(i);else if(i.closest("ul")||i.closest("ol")){if((o=t.isNullOrUndefined(i.closest("ul"))?i.closest("ol"):i.closest("ul")).firstElementChild===i&&!t.isNullOrUndefined(o.children[1])&&("OL"===o.children[1].tagName||"UL"===o.children[1].tagName))if(o.tagName===o.children[1].tagName){for(;o.children[1].lastChild;)this.parent.domNode.insertAfter(o.children[1].lastChild,o.children[1]);t.detach(o.children[1])}else o.parentElement.insertBefore(o.children[1],o)}}else if(!(t.isNullOrUndefined(i.firstChild)||"BR"!==i.firstChild.nodeName||t.isNullOrUndefined(i.childNodes[1])||"UL"!==i.childNodes[1].nodeName&&"OL"!==i.childNodes[1].nodeName)){var o;if((o=t.isNullOrUndefined(i.closest("ul"))?i.closest("ol"):i.closest("ul")).tagName===i.childNodes[1].nodeName){for(;i.childNodes[1].lastChild;)this.parent.domNode.insertAfter(i.children[1].lastChild,i);t.detach(i.childNodes[1])}else o.parentElement.insertBefore(i.children[1],o)}this.removeList(n,e),this.firstListBackSpace(n,e)},e.prototype.removeList=function(e,n){var i=this.parent.domNode.getSelectedNode(e.startContainer,e.startOffset),r=this.parent.domNode.getSelectedNode(e.endContainer,e.endOffset);i="BR"===i.nodeName?i.parentElement:i,r="BR"===r.nodeName?r.parentElement:r,i="LI"===i.nodeName||t.isNullOrUndefined(i.closest("LI"))?i:i.closest("LI"),r="LI"===r.nodeName||t.isNullOrUndefined(r.closest("LI"))?r:r.closest("LI"),(("OL"===e.commonAncestorContainer.nodeName||"UL"===e.commonAncestorContainer.nodeName||"LI"===e.commonAncestorContainer.nodeName)&&t.isNullOrUndefined(r.nextElementSibling)&&r.textContent.length===e.endOffset&&t.isNullOrUndefined(i.previousElementSibling)&&0===e.startOffset||-1!=t.Browser.userAgent.indexOf("Firefox")&&e.startContainer===e.endContainer&&e.startContainer===this.parent.editableElement&&0===e.startOffset&&1===e.endOffset)&&(-1!=t.Browser.userAgent.indexOf("Firefox")?t.detach(e.commonAncestorContainer.childNodes[0]):"LI"===e.commonAncestorContainer.nodeName?t.detach(e.commonAncestorContainer.parentElement):t.detach(e.commonAncestorContainer),n.event.preventDefault())},e.prototype.onKeyUp=function(){if(!t.isNullOrUndefined(this.commonLIParent)&&!t.isNullOrUndefined(this.commonLIParent.querySelector(".removeList"))){for(var e=this.commonLIParent.querySelector(".removeList");!t.isNullOrUndefined(e.firstChild);)this.parent.domNode.insertAfter(e.firstChild,e);t.detach(e)}},e.prototype.firstListBackSpace=function(e,n){var i=this.parent.domNode.getSelectedNode(e.startContainer,e.startOffset);if(t.isNullOrUndefined(i.closest("OL"))?t.isNullOrUndefined(i.closest("UL"))||(this.commonLIParent=i.closest("UL")):this.commonLIParent=i.closest("OL"),"LI"===i.nodeName&&0===e.startOffset&&0===e.endOffset&&t.isNullOrUndefined(i.previousSibling)&&!t.isNullOrUndefined(this.commonLIParent)&&t.isNullOrUndefined(this.commonLIParent.previousSibling)&&t.isNullOrUndefined(this.commonLIParent.parentElement.closest("OL"))&&t.isNullOrUndefined(this.commonLIParent.parentElement.closest("UL"))&&t.isNullOrUndefined(this.commonLIParent.parentElement.closest("LI"))){var r=t.createElement("P");r.innerHTML="&#8203;",i.classList.add("removeList"),this.commonLIParent.parentElement.insertBefore(r,this.commonLIParent)}},e.prototype.keyDownHandler=function(e){if(13===e.event.which&&this.enterList(e),32===e.event.which&&this.spaceList(e),8===e.event.which&&this.backspaceList(e),46===e.event.which&&"delete"===e.event.action){var n=(a=this.parent.nodeSelection.getRange(this.parent.currentDocument)).commonAncestorContainer,i=a.startContainer,r=a.endContainer,o=3===i.nodeType?i.parentElement:i,s=3===r.nodeType?r.parentElement:r;"UL"!==n.nodeName&&"OL"!==n.nodeName||o===s||t.isNullOrUndefined(t.closest(o,"ul"))&&t.isNullOrUndefined(t.closest(o,"ol"))||t.isNullOrUndefined(t.closest(s,"ul"))&&t.isNullOrUndefined(t.closest(s,"ol"))||n.lastElementChild!==t.closest(s,"li")||a.collapsed||t.detach(n),this.removeList(a,e)}if(9===e.event.which){var a=this.parent.nodeSelection.getRange(this.parent.currentDocument);e.event.action&&"indent"===e.event.action||(this.saveSelection=this.parent.nodeSelection.save(a,this.parent.currentDocument));var l=void 0,d=a.startOffset,c=a.endOffset;if((o=this.parent.domNode.getSelectedNode(a.startContainer,a.startOffset))===(s=this.parent.domNode.getSelectedNode(a.endContainer,a.endOffset))&&("BR"===o.nodeName||"#text"===o.nodeName)&&uo.indexOf(o.parentNode.tagName.toLocaleLowerCase())>=0)return;e.event.action&&"indent"===e.event.action||this.domNode.setMarker(this.saveSelection),l=this.domNode.blockNodes();for(var p=[],h=!0,u=0;u<l.length;u++)"LI"===l[u].parentNode.tagName?p.push(l[u].parentNode):"LI"===l[u].tagName&&"P"!==l[u].childNodes[0].tagName&&"OL"!==l[u].childNodes[0].tagName&&"UL"!==l[u].childNodes[0].tagName&&p.push(l[u]);p.length>1||p.length&&(0===d&&0===c||e.ignoreDefault)?(e.event.preventDefault(),e.event.stopPropagation(),this.currentAction=this.getAction(p[0]),e.event.shiftKey?(this.revertList(p,e),this.revertClean()):h=this.nestedList(p),h&&(this.cleanNode(),this.parent.editableElement.focus()),e.event.action&&"indent"===e.event.action||(this.saveSelection=this.domNode.saveMarker(this.saveSelection),this.saveSelection.restore(),e.callBack&&e.callBack({requestType:this.currentAction,editorMode:"HTML",range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.domNode.blockNodes(),event:e.event}))):e.event.action&&"indent"===e.event.action||(e.event&&e.event.shiftKey&&"Tab"===e.event.key&&(e.event.action="tab"),this.saveSelection=this.domNode.saveMarker(this.saveSelection,e.event.action),this.saveSelection.restore())}else switch(e.event.action){case"ordered-list":this.applyListsHandler({subCommand:"OL",callBack:e.callBack}),e.event.preventDefault();break;case"unordered-list":this.applyListsHandler({subCommand:"UL",callBack:e.callBack}),e.event.preventDefault()}},e.prototype.spaceKeyAction=function(e){32===e.event.which&&this.spaceList(e)},e.prototype.getAction=function(e){return"OL"===e.parentNode.nodeName?"OL":"UL"},e.prototype.revertClean=function(){for(var e=this.parent.editableElement.querySelectorAll("ul, ol"),t=0;t<e.length;t++){var n=e[t].querySelectorAll("ul, ol");if(n.length>0)for(var i=0;i<n.length;i++){var r=n[i].previousSibling;r&&"LI"===r.tagName&&r.appendChild(n[i])}}},e.prototype.noPreviousElement=function(e){var n,i,r=e.querySelectorAll("ol, ul"),o=e.querySelectorAll("li"),s=this.domNode.contents(o[0])[0];if(o.length>0&&("OL"===s.nodeName||"UL"===s.nodeName)?n=o[0]:i=r[0],n)for(var a=this.domNode.contents(e)[0];a&&!this.domNode.isList(a);null){var l=a.nextSibling;t.prepend([a],n),t.setStyleAttribute(e,{"list-style-type":"none"}),t.setStyleAttribute(n,{"list-style-type":""}),a=l}else if(i){var d=t.createElement("li");t.prepend([d],i);for(a=this.domNode.contents(e)[0];a&&!this.domNode.isList(a);null){l=a.nextSibling;d.appendChild(a),a=l}t.prepend([i],e.parentNode),t.detach(e);var c=t.createElement("li",{styles:"list-style-type: none;"});t.prepend([c],i.parentNode),t.append([i],c)}else{c=t.createElement("li",{styles:"list-style-type: none;"});t.prepend([c],e.parentNode);d=t.createElement(e.parentNode.tagName);t.prepend([d],c),t.append([e],d)}},e.prototype.nestedList=function(e){for(var n=!1,i=0;i<e.length;i++){var r=this.domNode.getPreviousNode(e[i]);if(r){n=!0;var o=void 0,s=void 0,a=e[i].querySelectorAll("ol, ul"),l=e[i].querySelectorAll("li"),d=this.domNode.contents(l[0])[0];if(l.length>0&&("OL"===d.nodeName||"UL"===d.nodeName)?s=l[0]:o=a[0],o){var c=t.createElement("li");t.prepend([c],o);for(var p=this.domNode.contents(e[i])[0];p&&!this.domNode.isList(p);null){var h=p.nextSibling;c.appendChild(p),p=h}t.append([o],r),t.detach(e[i])}else if(s){if("LI"===r.tagName){for(p=this.domNode.contents(e[i])[0];p&&!this.domNode.isList(p);null){h=p.nextSibling;t.prepend([p],s),t.setStyleAttribute(e[i],{"list-style-type":"none"}),t.setStyleAttribute(s,{"list-style-type":""}),p=h}t.append([s.parentNode],r),t.detach(e[i])}}else if("LI"===r.tagName){c=t.createElement(e[i].parentNode.tagName);t.append([c],r),t.append([e[i]],c)}else"OL"!==r.tagName&&"UL"!==r.tagName||t.append([e[i]],r)}else{var u=e[i];n=!0,this.noPreviousElement(u)}}return n},e.prototype.applyListsHandler=function(e){var n=this.parent.nodeSelection.getRange(this.parent.currentDocument);if(-1!=t.Browser.userAgent.indexOf("Firefox")&&n.startContainer===n.endContainer&&n.startContainer===this.parent.editableElement){for(var i=n.startContainer.childNodes[n.startOffset>0?n.startOffset-1:n.startOffset]||n.startContainer,r=n.endContainer.childNodes[n.endOffset>0?n.endOffset-1:n.endOffset]||n.endContainer,o="BR"===r.lastChild.nodeName?t.isNullOrUndefined(r.lastChild.previousSibling)?r:r.lastChild.previousSibling:r.lastChild;!t.isNullOrUndefined(o)&&"#text"!==o.nodeName&&"IMG"!==o.nodeName&&"BR"!==o.nodeName&&"HR"!==o.nodeName;)o=o.lastChild;this.parent.nodeSelection.setSelectionText(this.parent.currentDocument,i,o,0,o.textContent.length),n=this.parent.nodeSelection.getRange(this.parent.currentDocument)}if(n.startContainer===n.endContainer&&n.startContainer===this.parent.editableElement&&n.startOffset===n.endOffset&&0===n.startOffset&&0===this.parent.editableElement.textContent.length&&"TABLE"!=this.parent.editableElement.childNodes[0].nodeName&&"IMG"!=this.parent.editableElement.childNodes[0].nodeName){var s=n.startContainer.childNodes[0];this.parent.nodeSelection.setSelectionText(this.parent.currentDocument,s,s,0,0),n=this.parent.nodeSelection.getRange(this.parent.currentDocument)}this.saveSelection=this.parent.nodeSelection.save(n,this.parent.currentDocument),this.currentAction=e.subCommand,this.currentAction=e.subCommand="NumberFormatList"===this.currentAction?"OL":"BulletFormatList"===this.currentAction?"UL":this.currentAction,this.domNode.setMarker(this.saveSelection);var a=this.domNode.blockNodes();if("BR"===e.enterAction){this.setSelectionBRConfig();var l=this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument),d=this.parent.nodeSelection.getSelectionNodes(l),c=[];0===d.length&&d.push(a[0]);for(var p=0;p<d.length;p++){for(var h=d[p],u=void 0;!this.parent.domNode.isBlockNode(h)&&h!==this.parent.editableElement;)u=h,h=h.parentElement;this.parent.domNode.isBlockNode(h)&&h===this.parent.editableElement&&c.push(u)}for(p=0;p<c.length;p++)if(!this.parent.domNode.isBlockNode(c[p])){for(var m=h=c[p];h===this.parent.editableElement;)m=h,h=h.parentElement;var g=void 0;this.parent.domNode.isBlockNode(m.parentElement)&&m.parentElement===this.parent.editableElement?(g=t.createElement("p"),m.parentElement.insertBefore(g,m),g.appendChild(m)):g=m;for(var f=g.previousSibling;!t.isNullOrUndefined(f)&&"BR"!==f.nodeName&&!this.parent.domNode.isBlockNode(f);)g.firstChild.parentElement.insertBefore(f,g.firstChild),f=g.previousSibling;t.isNullOrUndefined(f)||"BR"!==f.nodeName||t.detach(f);for(var b=g.nextSibling;!t.isNullOrUndefined(b)&&"BR"!==b.nodeName&&!this.parent.domNode.isBlockNode(b);)g.appendChild(b),b=g.nextSibling;t.isNullOrUndefined(b)||"BR"!==b.nodeName||t.detach(b)}this.setSelectionBRConfig(),a=this.parent.domNode.blockNodes()}for(p=0;p<a.length;p++)"TABLE"!==a[p].tagName||n.collapsed||a.splice(p,1),a.length>0&&"LI"!==a[p].tagName&&"LI"===a[p].parentNode.tagName&&(a[p]=a[p].parentNode);this.applyLists(a,this.currentAction,e.selector,e.item,e),e.callBack&&e.callBack({requestType:this.currentAction,event:e.event,editorMode:"HTML",range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.domNode.blockNodes()})},e.prototype.setSelectionBRConfig=function(){var e=this.parent.editableElement.querySelector("."+No.startSelection),n=this.parent.editableElement.querySelector("."+No.endSelection);t.isNullOrUndefined(n)?this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,e,0):this.parent.nodeSelection.setSelectionText(this.parent.currentDocument,e,n,0,0)},e.prototype.applyLists=function(e,n,i,r,o){if(this.isRevert(e,n,r)&&t.isNullOrUndefined(r))this.revertList(e,o),this.removeEmptyListElements();else{this.checkLists(e,n,r);for(var s=0;s<e.length;s++)if(t.isNullOrUndefined(r)||t.isNullOrUndefined(r.listStyle)||("listImage"===r.listStyle?t.setStyleAttribute(e[s],{"list-style-image":r.listImage}):(t.setStyleAttribute(e[s],{"list-style-image":"none"}),t.setStyleAttribute(e[s],{"list-style-type":r.listStyle.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}))),"true"===e[s].getAttribute("contenteditable")&&1===e[s].childNodes.length&&"TABLE"===e[s].childNodes[0].nodeName){var a=document.createElement(n);a.innerHTML="<li><br/></li>",e[s].appendChild(a)}else if("LI"!==e[s].tagName&&t.isNullOrUndefined(r)){var l="<"+n+">",d="</"+n+">",c="li"+("IMG"===e[s].tagName?"":this.domNode.attributes(e[s])),p="p"===e[s].tagName.toLowerCase()?e[s].innerHTML:e[s].outerHTML,h=l+this.domNode.createTagString(c,null,p)+d;this.domNode.replaceWith(e[s],h)}else if(!t.isNullOrUndefined(r)&&"LI"!==e[s].tagName){l="<"+n+("IMG"===e[s].tagName?"":this.domNode.attributes(e[s]))+">",d="</"+n+">",c="li",p="p"===e[s].tagName.toLowerCase()?e[s].innerHTML:e[s].outerHTML,h=l+this.domNode.createTagString(c,null,p)+d;this.domNode.replaceWith(e[s],h)}}this.cleanNode(),this.parent.editableElement.focus(),I()&&B(this.parent.editableElement,i),this.saveSelection=this.domNode.saveMarker(this.saveSelection),this.saveSelection.restore()},e.prototype.removeEmptyListElements=function(){for(var e=this.parent.editableElement.querySelectorAll("ol, ul"),n=0;n<e.length;n++)""===e[n].textContent.trim()&&t.detach(e[n])},e.prototype.isRevert=function(e,n,i){for(var r=!0,o=0;o<e.length;o++){if("LI"!==e[o].tagName)return!1;(e[o].parentNode.tagName!==n||t.isNullOrUndefined(i)&&""!==e[o].parentNode.style.listStyleType)&&(r=!1)}return r},e.prototype.checkLists=function(e,n,i){for(var r=[],o=0;o<e.length;o++){var s=e[o].parentNode;t.isNullOrUndefined(i)||"LI"!==e[o].tagName||t.isNullOrUndefined(i.listStyle)||("listImage"===i.listStyle?t.setStyleAttribute(s,{"list-style-image":i.listImage}):(t.setStyleAttribute(s,{"list-style-image":"none"}),t.setStyleAttribute(s,{"list-style-type":i.listStyle.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}))),("LI"===e[o].tagName&&s.tagName!==n&&r.indexOf(s)<0||"LI"===e[o].tagName&&s.tagName===n&&r.indexOf(s)<0&&null!==i)&&r.push(s),t.isNullOrUndefined(i)&&(s.tagName===n||("UL"===s.tagName||"OL"===s.tagName)&&s.hasAttribute("style"))&&s.hasAttribute("style")&&s.removeAttribute("style")}for(var a=r.length-1;a>=0;a--){var l=r[a],d="<"+n.toLowerCase()+" "+this.domNode.attributes(l)+">"+l.innerHTML+"</"+n.toLowerCase()+">";this.domNode.replaceWith(r[a],d)}},e.prototype.cleanNode=function(){for(var e=this.parent.editableElement.querySelectorAll("ol + ol, ul + ul"),t=0;t<e.length;t++){var n=e[t];if(this.domNode.isList(n.previousElementSibling)&&this.domNode.openTagString(n)===this.domNode.openTagString(n.previousElementSibling)){for(var i=this.domNode.contents(n),r=0;r<i.length;r++)n.previousElementSibling.appendChild(i[r]);n.parentNode.removeChild(n)}}},e.prototype.findUnSelected=function(e,t){if((e=e.slice().reverse()).length>0){var n=[],i=[],r=[],o=[];r=t[t.length-1].childNodes;for(var s=0;s<r.length;s++)if("OL"===r[s].tagName||"UL"===r[s].tagName){var a=r[s].querySelectorAll("li");if(a.length>0)for(var l=0;l<a.length;l++)o.push(a[l])}for(var d=0;d<o.length;d++){for(var c=0,p=0;p<e.length;p++)o[d].contains(e[p])||(c+=1);c===e.length&&i.push(o[d])}if(i.length>0)for(var h=0;h<i.length;h++)"OL"!==this.domNode.contents(i[h])[0].nodeName&&"UL"!==this.domNode.contents(i[h])[0].nodeName&&n.push(i[h]);n.length>0&&this.nestedList(n)}},e.prototype.revertList=function(e,n){for(var i=[],r=e.length-1;r>=0;r--)for(var o=r-1;o>=0;o--)if(e[o].contains(e[r])||e[o]===e[r]){i.push(e[r]),e.splice(r,1);break}this.findUnSelected(i,e);var s=[];for(r=0;r<e.length;r++){var a=e[r];3===this.domNode.contents(a)[0].nodeType&&0===this.domNode.contents(a)[0].textContent.trim().length&&t.detach(this.domNode.contents(a)[0]);var l=e[r].parentNode,d=a.getAttribute("class");if(0===i.length){var c=e[r].querySelectorAll("ul, ol")[0];if(c){if(c.querySelectorAll("li")){var p=t.createElement(c.tagName);t.append([p],c.parentNode);var h=t.createElement("li",{styles:"list-style-type: none;"});t.append([h],p),t.append([c],h)}}}if(a.parentNode.insertBefore(this.closeTag(l.tagName),a),"LI"===l.parentNode.tagName||"OL"===l.parentNode.tagName||"UL"===l.parentNode.tagName)a.parentNode.insertBefore(this.closeTag("LI"),a);else{if(0===a.querySelectorAll(ho.join(", ")).length){var u="<p"+(t.isNullOrUndefined(d)?' class="e-rte-wrap-inner"':' class="'+d+' e-rte-wrap-inner"')+this.domNode.attributes(l)+"></p>";"BR"!==n.enterAction&&this.domNode.wrapInner(a,this.domNode.parseHTMLFragment(u))}else if(3===this.domNode.contents(a)[0].nodeType){var m=this.domNode.createTagString("p",l,this.parent.domNode.encode(this.domNode.contents(a)[0].textContent));this.domNode.replaceWith(this.domNode.contents(a)[0],m)}else if(this.domNode.contents(a)[0].classList.contains(No.startSelection)||this.domNode.contents(a)[0].classList.contains(No.endSelection)){m=this.domNode.createTagString("p",l,this.domNode.contents(a)[0].outerHTML);this.domNode.replaceWith(this.domNode.contents(a)[0],m)}else{var g=a.firstChild;d=g.getAttribute("class"),t.attributes(g,this.domNode.rawAttributes(l)),d&&g.getAttribute("class")&&t.attributes(g,{class:d+" "+g.getAttribute("class")})}t.append([this.openTag("LI")],a),t.prepend([this.closeTag("LI")],a)}this.domNode.insertAfter(this.openTag(l.tagName),a),"LI"===l.parentNode.tagName&&(l=l.parentNode.parentNode),s.indexOf(l)<0&&s.push(l)}for(r=0;r<s.length;r++){var f=s[r],b=f.innerHTML;b=(b=b.replace(/<span class="e-rte-list-close-([a-z]*)"><\/span>/g,"</$1>")).replace(/<span class="e-rte-list-open-([a-z]*)"><\/span>/g,"<$1 "+this.domNode.attributes(f)+">"),this.domNode.replaceWith(f,this.domNode.openTagString(f)+b.trim()+this.domNode.closeTagString(f))}var v=this.parent.editableElement.querySelectorAll("ul:empty, ol:empty");for(r=0;r<v.length;r++)t.detach(v[r]);var y=this.parent.editableElement.querySelectorAll("li:empty");for(r=0;r<y.length;r++)t.detach(y[r])},e.prototype.openTag=function(e){return this.domNode.parseHTMLFragment('<span class="e-rte-list-open-'+e.toLowerCase()+'"></span>')},e.prototype.closeTag=function(e){return this.domNode.parseHTMLFragment('<span class="e-rte-list-close-'+e.toLowerCase()+'"></span>')},e}(),To=function(){function e(){}return e.WrapBefore=function(e,t,n){return t.innerText=e.textContent,n?this.AppendBefore(t,e,!0):this.AppendBefore(t,e),e.parentNode&&e.parentNode.removeChild(e),t.childNodes[0]},e.Wrap=function(e,t){return this.AppendBefore(t,e),t.appendChild(e),e},e.unwrap=function(e){for(var t=e.parentNode,n=[];e.firstChild;null)n.push(t.insertBefore(e.firstChild,e));return t.removeChild(e),n},e.AppendBefore=function(e,t,n){return t.parentNode?n?t.parentNode.insertBefore(e,t.nextSibling):t.parentNode.insertBefore(e,t):t},e}(),wo=function(){function e(){this.enterAction="P",this.position=-1,this.nodeSelection=new Co}return e.prototype.GetSpliceNode=function(e,t){return t=this.SplitNode(e,t,!0),t=this.SplitNode(e,t,!1)},e.prototype.SplitNode=function(e,t,n){if(t){var i=e.cloneRange(),r=t.parentNode,o=this.nodeSelection.getIndex(t);i.collapse(n),n?i.setStartBefore(t):i.setEndAfter(t);var s=i.extractContents();if(n){if(t=r.childNodes[o],(s=this.spliceEmptyNode(s,!1))&&s.childNodes.length>0){if(!!(1!==s.childNodes.length||"IMG"===s.childNodes[0].nodeName||!this.isImgElm(s)||""!==s.textContent))if(t)To.AppendBefore(s,t);else{r.appendChild(s);(a=document.createElement("div")).innerHTML="&#65279;&#65279;",t=a.firstChild,r.appendChild(t)}}}else if(t=r.childNodes.length>1?r.childNodes[o]:r.childNodes[0],(s=this.spliceEmptyNode(s,!0))&&s.childNodes.length>0){if(!!(1!==s.childNodes.length||"IMG"===s.childNodes[0].nodeName||!this.isImgElm(s)||""!==s.textContent))if(t)To.AppendBefore(s,t,!0);else{r.appendChild(s);var a;(a=document.createElement("div")).innerHTML="&#65279;&#65279;",r.insertBefore(a.firstChild,r.firstChild),t=r.firstChild}}return t}return null},e.prototype.isImgElm=function(e){var n=!0;if(1===e.childNodes.length&&"IMG"!==e.childNodes[0].nodeName)for(var i=e.childNodes[0],r=0;!t.isNullOrUndefined(i.childNodes)&&r<i.childNodes.length;r++)"IMG"===i.childNodes[r].nodeName&&(n=!1);else n=!0;return n},e.prototype.spliceEmptyNode=function(e,t){var n;return(n=1===e.childNodes.length&&"#text"===e.childNodes[0].nodeName&&""===e.childNodes[0].textContent||""===e.textContent?-1:e.childNodes.length-1)>-1&&!t?this.spliceEmptyNode(e.childNodes[n],t):n>-1?this.spliceEmptyNode(e.childNodes[0],t):3!==e.nodeType&&11!==e.nodeType&&"IMG"!==e.nodeName&&e.parentNode.removeChild(e),e},e.prototype.GetCursorStart=function(e,t,n){for(var i=(e=n?e:e.reverse())[0],r=0;r<e.length&&(n?e[r]<t:e[r]>=t);r++)i=e[r];return i},e.prototype.GetCursorRange=function(e,t,n){var i=e.createRange(),r=[];r.push(0);for(var o=this.TrimLineBreak(n.data),s=o.indexOf(" ",0);-1!==s;)r.indexOf(s)<0&&r.push(s),new RegExp("\\s").test(o[s-1])&&r.indexOf(s-1)<0&&r.push(s-1),new RegExp("\\s").test(o[s+1])&&r.push(s+1),s=o.indexOf(" ",s+1);if(r.push(o.length),r.indexOf(t.startOffset)>=0||r.indexOf(t.startOffset-1)>=0&&(1!==t.startOffset||1===t.startOffset&&new RegExp("\\s").test(o[0]))||r[r.length-1]-1===t.startOffset)i=t,this.position=1;else{var a=this.GetCursorStart(r,t.startOffset,!0);this.position=t.startOffset-a,i.setStart(t.startContainer,a),i.setEnd(t.startContainer,this.GetCursorStart(r,t.startOffset,!1))}return i},e.prototype.GetCursorNode=function(e,t,n){return this.GetSpliceNode(this.GetCursorRange(e,t,n),n)},e.prototype.TrimLineBreak=function(e){return e.replace(/(\r\n\t|\n|\r\t)/gm," ")},e}(),Oo=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(gr,this.applyFormats,this),this.parent.observer.on(br,this.onKeyUp,this),this.parent.observer.on(fr,this.onKeyDown,this)},e.prototype.getParentNode=function(e){for(;e.parentNode&&e.parentNode!==this.parent.editableElement;null)e=e.parentNode;return e},e.prototype.onKeyUp=function(e){var n=this.parent.nodeSelection.getRange(this.parent.currentDocument),i=n.endContainer,r=i.lastChild;if(13===e.event.which&&n.startContainer===i&&3!==i.nodeType){var o=t.createElement("p");if(o.innerHTML="<br>",!t.isNullOrUndefined(r)&&r&&"BR"===r.nodeName&&r.previousSibling&&"TABLE"===r.previousSibling.nodeName)i.replaceChild(o,r),this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,o,0);else{var s=this.parent.nodeSelection.getSelectionNodeCollectionBr(n)[0];!t.isNullOrUndefined(s)&&"BR"===s.nodeName&&s.previousSibling&&"TABLE"===s.previousSibling.nodeName&&(i.replaceChild(o,s),this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,o,0))}}},e.prototype.onKeyDown=function(e){if(13===e.event.which){var n=this.parent.nodeSelection.getRange(this.parent.currentDocument),i=0===n.startContainer.textContent.length||"PRE"===n.startContainer.nodeName?n.startContainer:n.startContainer.parentElement,r=0===n.endContainer.textContent.length||"PRE"===n.endContainer.nodeName?n.endContainer:n.endContainer.parentElement,o=t.closest(i,"pre"),s=t.closest(r,"pre");if(!t.isNullOrUndefined(o)&&!t.isNullOrUndefined(o.parentElement)&&"LI"===o.parentElement.tagName)return;if((t.isNullOrUndefined(o)&&!t.isNullOrUndefined(s)||!t.isNullOrUndefined(o)&&t.isNullOrUndefined(s))&&(e.event.preventDefault(),this.deleteContent(n),this.removeCodeContent(n),n=this.parent.nodeSelection.getRange(this.parent.currentDocument),this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,r,0)),13===e.event.which&&!t.isNullOrUndefined(o)&&!t.isNullOrUndefined(s)){e.event.preventDefault(),this.deleteContent(n),this.removeCodeContent(n);var a=(n=this.parent.nodeSelection.getRange(this.parent.currentDocument)).startContainer.childNodes[n.endOffset],l=n.startContainer.childNodes[n.endOffset-1],d=n.startContainer;if(t.isNullOrUndefined(a)||t.isNullOrUndefined(l)||!t.isNullOrUndefined(a.nextSibling)||"BR"!==a.nodeName||"BR"!==l.nodeName)if(8203===d.textContent.charCodeAt(0)&&1===d.textContent.length||0===d.textContent.length){for(;"PRE"!==d.parentElement.nodeName&&(1===d.textContent.length||0===d.textContent.length);)d=d.parentElement;!t.isNullOrUndefined(d.previousSibling)&&"BR"===d.previousSibling.nodeName&&t.isNullOrUndefined(d.nextSibling)?this.paraFocus(d.parentElement):this.isNotEndCursor(o,n)}else this.isNotEndCursor(o,n);else this.paraFocus(n.startContainer,e.enterAction)}}},e.prototype.removeCodeContent=function(e){var n=new RegExp(String.fromCharCode(65279),"g");if(!t.isNullOrUndefined(e.endContainer.textContent.match(n))){var i=65279===e.endContainer.textContent.charCodeAt(e.endOffset-1)?e.endOffset-2:e.endOffset;e.endContainer.textContent=e.endContainer.textContent.replace(n,""),""===e.endContainer.textContent?this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,e.endContainer.parentElement,0):this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,e.endContainer,i)}},e.prototype.deleteContent=function(e){e.startContainer===e.endContainer&&e.startOffset===e.endOffset||e.deleteContents()},e.prototype.paraFocus=function(e,n){var i;"DIV"===n?(i=t.createElement("div")).innerHTML="<br>":"BR"===n?i=t.createElement("br"):(i=t.createElement("p")).innerHTML="<br>",this.parent.domNode.insertAfter(i,e),this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,i,0),t.detach(e.lastChild)},e.prototype.isNotEndCursor=function(e,n){var i=new wo,r=n.startOffset===e.lastChild.textContent.length&&e.lastChild.textContent===n.startContainer.textContent;if(0===e.textContent.indexOf(n.startContainer.textContent)&&(0===n.startOffset&&0===n.endOffset||"PRE"===n.startContainer.nodeName)){this.insertMarker(e,n);var o=t.createElement("br");e.childNodes[n.endOffset].parentElement.insertBefore(o,e.childNodes[n.endOffset])}else{var s=i.SplitNode(n,e,!0);this.insertMarker(e,n);var a=e.previousElementSibling;"PRE"===a.tagName&&(a.insertAdjacentHTML("beforeend","<br>"+s.innerHTML),t.detach(e))}this.setCursorPosition(r,e)},e.prototype.setCursorPosition=function(e,n){var i=!1,r=this.parent.editableElement.querySelector(".tempSpan"),o=r.parentElement;if(""===r.parentNode.textContent?i=!0:this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,r,0),e)if(i)o===n?(this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,r,0),t.detach(r)):this.focusSelectionParent(r,o);else{var s=t.createElement("br");this.parent.domNode.insertAfter(s,r),this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,r,0),t.detach(r)}else i?this.focusSelectionParent(r,o):t.detach(r)},e.prototype.focusSelectionParent=function(e,n){t.detach(e),n.innerHTML="​",this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,n,0)},e.prototype.insertMarker=function(e,n){var i=t.createElement("span",{className:"tempSpan"});"PRE"===n.startContainer.nodeName?e.childNodes[n.endOffset].parentElement.insertBefore(i,e.childNodes[n.endOffset]):n.startContainer.parentElement.insertBefore(i,n.startContainer)},e.prototype.applyFormats=function(e){var n=this.parent.nodeSelection.getRange(this.parent.currentDocument),i=!1;this.parent.editableElement!==n.endContainer||t.isNullOrUndefined(this.parent.editableElement.children[n.endOffset-1])||"TABLE"!==this.parent.editableElement.children[n.endOffset-1].tagName||n.collapsed||(i=!0);var r=this.parent.nodeSelection.save(n,this.parent.currentDocument);this.parent.domNode.setMarker(r);var o=this.parent.domNode.blockNodes();if("BR"===e.enterAction){this.setSelectionBRConfig();var s=this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument),a=this.parent.nodeSelection.getSelectionNodes(s),l=[];0===a.length&&a.push(o[0]);for(var d=0;d<a.length;d++){for(var c=a[d],p=void 0;!this.parent.domNode.isBlockNode(c)&&c!==this.parent.editableElement;)p=c,c=c.parentElement;this.parent.domNode.isBlockNode(c)&&c===this.parent.editableElement&&l.push(p)}for(d=0;d<l.length;d++)if(!this.parent.domNode.isBlockNode(l[d])){for(var h=c=l[d];c===this.parent.editableElement;)h=c,c=c.parentElement;var u=void 0;this.parent.domNode.isBlockNode(h.parentElement)&&h.parentElement===this.parent.editableElement?(u=t.createElement("div"),h.parentElement.insertBefore(u,h),u.appendChild(h)):u=h;for(var m=u.previousSibling;!t.isNullOrUndefined(m)&&"BR"!==m.nodeName&&!this.parent.domNode.isBlockNode(m);)u.firstChild.parentElement.insertBefore(m,u.firstChild),m=u.previousSibling;t.isNullOrUndefined(m)||"BR"!==m.nodeName||t.detach(m);for(var g=u.nextSibling;!t.isNullOrUndefined(g)&&"BR"!==g.nodeName&&!this.parent.domNode.isBlockNode(g);)u.appendChild(g),g=u.nextSibling;t.isNullOrUndefined(g)||"BR"!==g.nodeName||t.detach(g)}this.setSelectionBRConfig(),o=this.parent.domNode.blockNodes()}for(d=0;d<o.length;d++){var f=void 0,b=void 0;if("blockquote"===e.subCommand.toLowerCase()?(f=this.getParentNode(o[d]),b=this.parent.domNode.isList(f)||"TABLE"===f.tagName?f.outerHTML:f.innerHTML):b=(f=o[d]).innerHTML,!(e.subCommand.toLowerCase()===f.tagName.toLowerCase()&&("pre"!==e.subCommand.toLowerCase()||!t.isNullOrUndefined(e.exeValue)&&"dropDownSelect"===e.exeValue.name)||t.isNullOrUndefined(f.parentNode)||"TABLE"===f.tagName&&"pre"===e.subCommand.toLowerCase())){this.cleanFormats(f,e.subCommand);var v="pre"===e.subCommand.toLowerCase()&&"pre"===f.tagName.toLowerCase()?"p":e.subCommand,y=this.parent.domNode.createTagString(v,f,b.replace(/>\s+</g,"><"));"LI"===f.tagName?(f.innerHTML="",f.insertAdjacentHTML("beforeend",y)):this.parent.domNode.replaceWith(f,y)}}this.preFormatMerge();var C=this.parent.editableElement.querySelector("."+No.startSelection),N=this.parent.editableElement.querySelector("."+No.endSelection);t.isNullOrUndefined(C)||t.isNullOrUndefined(N)||(C=C.lastChild,N=N.lastChild),r=this.parent.domNode.saveMarker(r,null),I()&&B(this.parent.editableElement,e.selector),i?this.parent.nodeSelection.setSelectionText(this.parent.currentDocument,C,N,0,N.textContent.length):r.restore(),e.callBack&&e.callBack({requestType:e.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.domNode.blockNodes()})},e.prototype.setSelectionBRConfig=function(){var e=this.parent.editableElement.querySelector("."+No.startSelection),n=this.parent.editableElement.querySelector("."+No.endSelection);t.isNullOrUndefined(n)?this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,e,0):this.parent.nodeSelection.setSelectionText(this.parent.currentDocument,e,n,0,0)},e.prototype.preFormatMerge=function(){var e=this.parent.editableElement.querySelectorAll("PRE");if(!t.isNullOrUndefined(e))for(var n=0;n<e.length;n++){var i=e[n].previousElementSibling;t.isNullOrUndefined(i)||"PRE"!==i.tagName||(i.insertAdjacentHTML("beforeend","<br>"+e[n].innerHTML),t.detach(e[n]))}},e.prototype.cleanFormats=function(e,t){var n=["display","font-size","margin-top","margin-bottom","margin-left","margin-right","font-weight"];t=t.toLowerCase();for(var i=0;i<n.length&&"p"!==t&&"blockquote"!==t&&"pre"!==t;i++)e.style.removeProperty(n[i])},e}(),Lo=function(){function e(){}return e.Insert=function(e,n,i,r){var o;if("string"==typeof n){(s=document.createElement("div")).innerHTML=n,o=r?s:s.firstChild}else if(r&&(t.isNullOrUndefined(n)||t.isNullOrUndefined(n.classList)||!n.classList.contains("pasteContent"))){var s;(s=document.createElement("div")).appendChild(n),o=s}else o=n;var a=new Co,l=new wo,d=a.getRange(e);if(d.startContainer===i&&d.startContainer===d.endContainer&&0===d.startOffset&&d.startOffset===d.endOffset&&0===i.textContent.length&&"P"===i.children[0].tagName&&(a.setSelectionText(e,d.startContainer.children[0],d.startContainer.children[0],0,0),d=a.getRange(e)),"BR"===d.startContainer.nodeName&&0===d.startOffset&&d.startOffset===d.endOffset&&d.startContainer===d.endContainer){var c=Array.prototype.slice.call(d.startContainer.parentElement.children).indexOf(d.startContainer);a.setSelectionText(e,d.startContainer.parentElement,d.startContainer.parentElement,c+1,c+1),d=a.getRange(e)}var p=d.startOffset===d.endOffset&&0===d.startOffset&&d.startContainer===d.endContainer,h=d.collapsed,u=this.getNodeCollection(d,a,o),m="table"===o.nodeName.toLowerCase()?this.closestEle(u[0].parentNode,i):u[0];if(r||!t.isNullOrUndefined(o)&&!t.isNullOrUndefined(o.classList)&&o.classList.contains("pasteContent"))this.pasteInsertHTML(u,o,d,a,l,e,h,m,i);else if(i!==d.startContainer&&(!h&&(m.nodeType!==Node.ELEMENT_NODE||-1===mo.indexOf(m.tagName.toLocaleLowerCase()))||"table"===o.nodeName.toLowerCase()&&m&&-1===mo.indexOf(m.tagName.toLocaleLowerCase()))){var g=l.GetSpliceNode(d,m),f=g.previousSibling,b=g.parentNode;if(1===u.length||"table"===o.nodeName.toLowerCase()&&0===g.childElementCount)a.setSelectionContents(e,g),d=a.getRange(e);else{var v=l.GetSpliceNode(d,u[u.length-1].parentElement);v=t.isNullOrUndefined(v)?g:v,a.setSelectionText(e,g,v,0,3===v.nodeType?v.textContent.length:v.childNodes.length),d=a.getRange(e)}d.extractContents(),"TABLE"===n.tagName&&this.removeEmptyElements(i);for(var y=0;y<u.length;y++)if(3!==u[y].nodeType&&null!=u[y].parentNode){if("IMG"===u[y].nodeName)continue;u[y].parentNode.removeChild(u[y])}if(f)To.AppendBefore(o,f,!0);else{for(var C=null;b!==i&&b.firstChild&&""===b.textContent.trim();){C=b,b=b.parentNode}null!==C&&(b=C),b.firstChild&&(b!==i||"TABLE"===o.nodeName&&p&&b===d.startContainer&&b===d.endContainer)?""===b.textContent.trim()&&b!==i?(To.AppendBefore(o,b,!1),t.detach(b)):To.AppendBefore(o,b.firstChild,!1):b.appendChild(o)}"IMG"===o.nodeName?this.imageFocus(o,a,e):3!==o.nodeType?a.setSelectionText(e,o,o,0,o.childNodes.length):a.setSelectionText(e,o,o,0,o.textContent.length)}else{if(d.deleteContents(),p&&""===d.startContainer.textContent&&"BR"!==d.startContainer.nodeName&&(d.startContainer.innerHTML=""),t.Browser.isIE){var N=e.createDocumentFragment();N.appendChild(o),d.insertNode(N)}else if(1===d.startContainer.nodeType&&"hr"===d.startContainer.nodeName.toLowerCase()&&"hr"===d.endContainer.nodeName.toLowerCase()){var S=d.startContainer.nextElementSibling;S&&(S.querySelector("br")&&t.detach(S.querySelector("br")),S.appendChild(o))}else"BR"===d.startContainer.nodeName?d.startContainer.parentElement.insertBefore(o,d.startContainer):d.insertNode(o);3!==o.nodeType&&o.childNodes.length>0?a.setSelectionText(e,o,o,1,1):"IMG"===o.nodeName?this.imageFocus(o,a,e):3!==o.nodeType?a.setSelectionContents(e,o):a.setSelectionText(e,o,o,o.textContent.length,o.textContent.length)}},e.pasteInsertHTML=function(e,n,i,r,o,s,a,l,d){var c=i.startOffset===i.endOffset&&i.startContainer===i.endContainer;if(c&&i.startContainer===d&&""===d.textContent){var p=this.getImmediateBlockNode(e[e.length-1],d);r.setSelectionText(s,p,p,0,0),i=r.getRange(s)}var h,u,m,g;d!==i.startContainer&&(!a&&(l.nodeType!==Node.ELEMENT_NODE||-1===mo.indexOf(l.tagName.toLocaleLowerCase()))||"table"===n.nodeName.toLowerCase()&&l&&-1===mo.indexOf(l.tagName.toLocaleLowerCase()))&&(g=o.GetSpliceNode(i,l),u=t.isNullOrUndefined(g.previousSibling)?g.parentNode.previousSibling:g.previousSibling,1===e.length?(r.setSelectionContents(s,g),i=r.getRange(s),m=!0):(h=o.GetSpliceNode(i,e[e.length-1].parentElement),h=t.isNullOrUndefined(h)?g:h,r.setSelectionText(s,g,h,0,3===h.nodeType?h.textContent.length:h.childNodes.length),i=r.getRange(s),m=!1));var f=!1;this.removingComments(n);for(var b=n.childNodes,v=0;v<b.length;v++)if(ho.indexOf(b[v].nodeName.toLocaleLowerCase())>=0){f=!0;break}var y,C=document.createDocumentFragment();if(f){this.insertTempNode(i,n,e,o,d);var N=!0,S=void 0,E=void 0,T=void 0;for(this.contentsDeleted||i.deleteContents();n.firstChild;)if("#text"!==n.firstChild.nodeName||""!==n.firstChild.textContent.trim())if("#text"===n.firstChild.nodeName&&N||this.inlineNode.indexOf(n.firstChild.nodeName.toLocaleLowerCase())>=0&&N){if(y=n.firstChild,t.isNullOrUndefined(n.previousElementSibling)){var w=t.createElement("p");n.parentElement.insertBefore(w,n)}n.previousElementSibling.appendChild(n.firstChild)}else y=n.firstChild,"#text"===n.firstChild.nodeName||this.inlineNode.indexOf(n.firstChild.nodeName.toLocaleLowerCase())>=0?(S?(T.appendChild(n.firstChild),C.appendChild(T)):((E=t.createElement("p")).appendChild(n.firstChild),C.appendChild(E)),T=E,S=!0):(C.appendChild(n.firstChild),S=!1),N=!1;else t.detach(n.firstChild);n.parentNode.replaceChild(C,n)}else if(c){var O=t.createElement("span",{className:"tempSpan"}),L=t.closest(i.startContainer.parentElement,"a");if(3===i.startContainer.nodeType&&L&&t.closest(L,"span")){var x=this.getImmediateBlockNode(i.startContainer,d);x.querySelectorAll("br").length>0&&t.detach(x.querySelector("br"));t.closest(L,"span").appendChild(O)}else i.insertNode(O);for(;n.firstChild;)y=n.firstChild,C.appendChild(n.firstChild);O.parentNode.replaceChild(C,O)}else{for(;n.firstChild;)y=n.firstChild,C.appendChild(n.firstChild);m?g.parentNode.replaceChild(C,g):(i.deleteContents(),t.detach(h),t.isNullOrUndefined(u)?d.appendChild(C):u.parentNode.appendChild(C))}"#text"===y.nodeName?this.placeCursorEnd(y,n,r,s,d):this.cursorPos(y,n,r,s,d)},e.placeCursorEnd=function(e,n,i,r,o){for(e="BR"===e.nodeName?t.isNullOrUndefined(e.previousSibling)?e.parentNode:e.previousSibling:e;!t.isNullOrUndefined(e)&&"#text"!==e.nodeName&&"IMG"!==e.nodeName&&"BR"!==e.nodeName&&"HR"!==e.nodeName;)e=e.lastChild;"IMG"===(e=t.isNullOrUndefined(e)?n:e).nodeName?this.imageFocus(e,i,r):i.setSelectionText(r,e,e,e.textContent.length,e.textContent.length),this.removeEmptyElements(o)},e.getNodeCollection=function(e,t,n){var i=[];return e.startOffset===e.endOffset&&e.startContainer===e.endContainer&&"BR"!=e.startContainer.nodeName&&("TD"===e.startContainer.nodeName||3!==e.startContainer.nodeType&&n.classList&&n.classList.contains("pasteContent"))?i.push(e.startContainer.childNodes[e.endOffset]):i=t.getInsertNodeCollection(e),i},e.insertTempNode=function(e,n,i,r,o){if(e.startContainer!==o||t.isNullOrUndefined(e.startContainer.childNodes[e.endOffset-1])||"TABLE"!==e.startContainer.childNodes[e.endOffset-1].nodeName)if(e.startContainer!==o||t.isNullOrUndefined(e.startContainer.childNodes[e.endOffset])||"TABLE"!==e.startContainer.childNodes[e.endOffset].nodeName)if(e.startContainer===e.endContainer&&3!==e.startContainer.nodeType&&"HR"===n.firstChild.nodeName)e.startContainer.classList.contains("e-content")||"BODY"===e.startContainer.nodeName?e.startContainer.appendChild(n):e.startContainer.parentNode.insertBefore(n,e.startContainer);else{var s=this.getImmediateBlockNode(i[i.length-1],o);if((t.isNullOrUndefined(s)||t.isNullOrUndefined(s.parentElement))&&3!==e.endContainer.nodeType&&(s=e.endContainer,e.setEnd(s,e.endContainer.textContent.length)),"BODY"===s.nodeName&&e.startContainer===e.endContainer&&1===e.startContainer.nodeType&&(s=e.startContainer),s.closest("LI")&&n&&n.firstElementChild&&("OL"===n.firstElementChild.tagName||"UL"===n.firstElementChild.tagName))for(var a=void 0;n.firstElementChild.lastElementChild&&"LI"===n.firstElementChild.lastElementChild.tagName;)(a=n.firstElementChild.lastElementChild).style.removeProperty("margin-left"),a.style.removeProperty("margin-top"),a.style.removeProperty("margin-bottom"),n.firstElementChild.insertAdjacentElement("afterend",a);if("TD"===s.nodeName||"TH"===s.nodeName){var l=t.createElement("span",{className:"tempSpan"});e.insertNode(l),l.parentNode.replaceChild(n,l)}else{var d=new Co,c=this.getNodeCollection(e,d,n)[this.getNodeCollection(e,d,n).length-1],p=void 0;if("BR"!==c.nodeName&&"HR"!==c.nodeName&&("#text"!==c.nodeName||t.isNullOrUndefined(c.parentElement)||"LI"!==c.parentElement.nodeName)||t.isNullOrUndefined(c.parentElement)||0!==c.parentElement.textContent.trim().length){if("#text"===c.nodeName&&!t.isNullOrUndefined(c.parentElement)&&"LI"===c.parentElement.nodeName&&c.parentElement.textContent.trim().length>0)return p=c,"LI"!==c.parentElement.nodeName||t.isNullOrUndefined(c.nextSibling)||"BR"!==c.nextSibling.nodeName||t.detach(c.nextSibling),e.collapsed||e.deleteContents(),e.insertNode(n),void(this.contentsDeleted=!0);p=r.GetSpliceNode(e,s)}else p=c,"LI"!==c.parentElement.nodeName||t.isNullOrUndefined(c.nextSibling)||"BR"!==c.nextSibling.nodeName||t.detach(c.nextSibling);p.parentNode.replaceChild(n,p)}}else e.startContainer.insertBefore(n,e.startContainer.childNodes[e.endOffset]);else t.isNullOrUndefined(e.startContainer.childNodes[e.endOffset-1].nextSibling)?e.startContainer.appendChild(n):e.startContainer.insertBefore(n,e.startContainer.childNodes[e.endOffset-1].nextSibling)},e.cursorPos=function(e,n,i,r,o){e.classList.add("lastNode"),o.innerHTML=function(e){var n=document.createElement("div");n.innerHTML=e,n.setAttribute("class","tempDiv");var i=document.createElement("div");if(n.childNodes.length>0){for(var r=void 0,o=void 0,s=void 0;n.firstChild;)"#text"===n.firstChild.nodeName&&(n.firstChild.textContent.indexOf("\n")<0||""!==n.firstChild.textContent.trim())||pr.indexOf(n.firstChild.nodeName.toLocaleLowerCase())>=0?(r?o.appendChild(n.firstChild):(s=t.createElement("p"),i.appendChild(s),s.appendChild(n.firstChild)),o=s,r=!0):"#text"===n.firstChild.nodeName&&("\n"===n.firstChild.textContent||n.firstChild.textContent.indexOf("\n")>=0&&""===n.firstChild.textContent.trim())?t.detach(n.firstChild):(i.appendChild(n.firstChild),r=!1);for(var a=i.querySelectorAll("table"),l=0;l<a.length;l++){"0"===a[l].getAttribute("border")&&a[l].removeAttribute("border");for(var d=a[l].querySelectorAll("td"),c=0;c<d.length;c++)"none"===d[c].style.borderLeft&&d[c].style.removeProperty("border-left"),"none"===d[c].style.borderRight&&d[c].style.removeProperty("border-right"),"none"===d[c].style.borderBottom&&d[c].style.removeProperty("border-bottom"),"none"===d[c].style.borderTop&&d[c].style.removeProperty("border-top"),"none"===d[c].style.border&&d[c].style.removeProperty("border");a[l].classList.contains("e-rte-table")||a[l].classList.add("e-rte-table")}var p=i.querySelectorAll("img");for(l=0;l<p.length;l++)p[l].classList.contains("e-rte-image")||p[l].classList.add("e-rte-image"),p[l].classList.contains("e-imginline")||p[l].classList.contains("e-imgbreak")||p[l].classList.add("e-imginline")}return i.innerHTML}(o.innerHTML),e=o.querySelector(".lastNode"),t.isNullOrUndefined(e)||(this.placeCursorEnd(e,n,i,r,o),e.classList.remove("lastNode"),0===e.classList.length&&e.removeAttribute("class"))},e.imageFocus=function(e,t,n){var i=document.createTextNode(" ");e.parentNode.insertBefore(i,e.nextSibling),t.setSelectionText(n,e.nextSibling,e.nextSibling,0,0)},e.getImmediateBlockNode=function(e,t){do{e=e.parentNode}while(e&&ho.indexOf(e.nodeName.toLocaleLowerCase())<0);return e},e.removingComments=function(e){var t=e.innerHTML;t=t.replace(/<!--[\s\S]*?-->/g,""),e.innerHTML=t},e.findDetachEmptyElem=function(e){return t.isNullOrUndefined(e.parentElement)?null:""===e.parentElement.textContent.trim()&&"true"!==e.parentElement.contentEditable?this.findDetachEmptyElem(e.parentElement):e},e.removeEmptyElements=function(e){for(var n=e.querySelectorAll(":empty"),i=0;i<n.length;i++)if(yo.indexOf(n[i].tagName.toLowerCase())<0){var r=this.findDetachEmptyElem(n[i]);t.isNullOrUndefined(r)||t.detach(r)}},e.closestEle=function(e,n){for(var i=e;i&&1===i.nodeType;){if(i.parentNode===n||!t.isNullOrUndefined(i.parentNode.tagName)&&-1!==uo.indexOf(i.parentNode.tagName.toLocaleLowerCase()))return i;i=i.parentNode}return null},e.inlineNode=["a","abbr","acronym","audio","b","bdi","bdo","big","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","font","i","iframe","img","input","ins","kbd","label","map","mark","meter","noscript","object","output","picture","progress","q","ruby","s","samp","script","select","slot","small","span","strong","sub","sup","svg","template","textarea","time","u","tt","var","video","wbr"],e.contentsDeleted=!1,e}(),xo=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on($r,this.linkCommand,this)},e.prototype.linkCommand=function(e){switch(e.value.toString().toLocaleLowerCase()){case"createlink":case"editlink":this.createLink(e);break;case"openlink":this.openLink(e);break;case"removelink":this.removeLink(e)}},e.prototype.createLink=function(e){var n=!t.isNullOrUndefined(e.item.selectParent)&&e.item.selectParent.length>0&&t.closest(e.item.selectParent[0],"a");if(n=t.isNullOrUndefined(n)?!t.isNullOrUndefined(e.item.selectParent)&&e.item.selectParent.length>0?e.item.selectParent[0]:null:n,t.isNullOrUndefined(n)||"A"!==n.tagName){var i=new Co,r=i.getRange(this.parent.currentDocument);"#text"===r.endContainer.nodeName&&r.startContainer.textContent.length===r.endOffset+1&&" "===r.endContainer.textContent.charAt(r.endOffset)&&"A"===r.endContainer.nextSibling.nodeName&&(i.setSelectionText(this.parent.currentDocument,r.startContainer,r.endContainer,r.startOffset,r.endOffset+1),r=i.getRange(this.parent.currentDocument));var o=!!t.isNullOrUndefined(e.item.text)||e.item.text.replace(/ /g,"").localeCompare(r.toString().replace(/\n/g," ").replace(/ /g,""))<0;if(e.event&&"keydown"===e.event.type&&(32===e.event.keyCode||13===e.event.keyCode)||"Paste"===e.item.action||r.collapsed||o){var s=this.createAchorNode(e);if(s.innerText=""===e.item.text?e.item.url:e.item.text,e.item.selection.restore(),Lo.Insert(this.parent.currentDocument,s,this.parent.editableElement),!e.event||"keydown"!==e.event.type||32!==e.event.keyCode&&13!==e.event.keyCode){c="Paste"===e.item.action?s.childNodes[0].textContent.length:0;e.item.selection.setSelectionText(this.parent.currentDocument,s.childNodes[0],s.childNodes[0],c,s.childNodes[0].textContent.length)}else{var a=e.item.selection.range.startContainer;a.textContent=this.removeText(a.textContent,e.item.text)}}else this.createLinkNode(e)}else{var l=n,d="";if(t.isNullOrUndefined(e.item.url)||l.setAttribute("href",e.item.url),t.isNullOrUndefined(e.item.title)||l.setAttribute("title",e.item.title),t.isNullOrUndefined(e.item.text)||""===e.item.text||(d=l.innerText,l.innerText=e.item.text),t.isNullOrUndefined(e.item.target)?l.removeAttribute("target"):l.setAttribute("target",e.item.target),d===e.item.text)e.item.selection.setSelectionText(this.parent.currentDocument,l,l,1,1),e.item.selection.restore();else{var c="Paste"===e.item.action?l.childNodes[0].textContent.length:0;e.item.selection.setSelectionText(this.parent.currentDocument,l.childNodes[0],l.childNodes[0],c,l.childNodes[0].textContent.length)}}e.callBack&&e.callBack({requestType:"Links",editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})},e.prototype.createLinkNode=function(e){for(var t,n,i=new Co,r=new wo,o=i.getRange(this.parent.currentDocument),s=this.getSelectionNodes(i.getNodeCollection(o)),a=i.save(o,this.parent.currentDocument),l=[],d=[],c=[],p=[],h=[],u=0;u<s.length;u++)s[u]=r.GetSpliceNode(o,s[u]),l[u]=s[u];for(var m=0;m<l.length;m++){var g=!0;for(t=l[m];!0===g;){if("A"===t.parentNode.nodeName){var f=t.parentNode;t.parentNode.parentNode.insertBefore(f.firstChild,f),t.parentNode.removeChild(f)}this.isBlockNode(t.parentNode)||0===l.length||0===m||m===l.length-1||3===o.startContainer.nodeType?(d[m]=t,g=!1):t=t.parentNode}}m=0;for(var b=0;m<d.length;m++)if(0===m&&(h[b]=d[m]),d.length>1&&m<d.length-1){if(d[m].parentElement===d[m+1].parentElement&&d[m]===d[m+1])continue;h[b+1]=d[m+1],b++}var v=0;p[v]=this.createAchorNode(e);for(m=0;m<h.length;m++)if(0===m&&(n=h[m].cloneNode(!0),p[m].appendChild(n)),m<h.length-1)if(h[m].parentNode===h[m+1].parentNode){var y=h[m+1].cloneNode(!0);p[v].appendChild(y)}else p[v+=1]=this.createAchorNode(e),n=h[m+1].cloneNode(!0),p[v].appendChild(n);this.parent.nodeSelection.setRange(document,a.range);m=0;for(var C=0,N=0;m<=h.length;m++)0===m&&(h[m].parentNode.insertBefore(p[C],h[m].nextSibling),1===this.parent.domNode.blockNodes().length&&this.parent.nodeSelection.setSelectionNode(this.parent.currentDocument,p[C]),c[N]=h[m],N++),m<h.length-1&&(h[m].parentNode===h[m+1].parentNode?(c[N]=h[m+1],N++):(C+=1,h[m+1].parentNode.insertBefore(p[C],h[m+1]),c[N]=h[m+1],N++));for(m=0;m<c.length;m++)c[m].parentNode&&c[m].parentNode.removeChild(c[m])},e.prototype.createAchorNode=function(e){var n=t.createElement("a",{className:"e-rte-anchor",attrs:{href:e.item.url,title:t.isNullOrUndefined(e.item.title)||""===e.item.title?e.item.url:e.item.title}});return t.isNullOrUndefined(e.item.target)||n.setAttribute("target",e.item.target),n},e.prototype.getSelectionNodes=function(e){e=e.reverse();for(var t=0;t<e.length;t++)3===e[t].nodeType&&""!==e[t].textContent.trim()||"IMG"!==e[t].nodeName&&(e.splice(t,1),t--);return e.reverse()},e.prototype.isBlockNode=function(e){return!!e&&e.nodeType===Node.ELEMENT_NODE&&ho.indexOf(e.tagName.toLowerCase())>=0},e.prototype.removeText=function(e,t){for(var n=e.split(" "),i=0;i<n.length;i++)n[i]===t&&(n.splice(i,1),i--);return n.join(" ")+" "},e.prototype.openLink=function(e){document.defaultView.open(e.item.url,e.item.target),this.callBack(e)},e.prototype.removeLink=function(e){var n=this.parent.domNode.blockNodes();if(n.length<2){this.parent.domNode.setMarker(e.item.selection);for(var i=t.closest(e.item.selectParent[0],"a"),r=i||e.item.selectParent[0],o=r.parentNode,s=[];r.firstChild;null)s.push(o.insertBefore(r.firstChild,r));o.removeChild(r),s&&1===s.length&&(e.item.selection.startContainer=e.item.selection.getNodeArray(s[s.length-1],!0),e.item.selection.endContainer=e.item.selection.startContainer),e.item.selection=this.parent.domNode.saveMarker(e.item.selection)}else for(var a=0;a<n.length;a++)for(var l=n[a].querySelectorAll("a"),d=0;d<l.length;d++)document.getSelection().containsNode(l[d],!0)&&(l[d].outerHTML=l[d].innerHTML);e.item.selection.restore(),this.callBack(e)},e.prototype.callBack=function(e){e.callBack&&e.callBack({requestType:e.item.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})},e}(),ko=function(){function e(e){this.alignments={JustifyLeft:"left",JustifyCenter:"center",JustifyRight:"right",JustifyFull:"justify"},this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(co,this.applyAlignment,this),this.parent.observer.on(fr,this.onKeyDown,this)},e.prototype.onKeyDown=function(e){switch(e.event.action){case"justify-center":this.applyAlignment({subCommand:"JustifyCenter",callBack:e.callBack}),e.event.preventDefault();break;case"justify-full":this.applyAlignment({subCommand:"JustifyFull",callBack:e.callBack}),e.event.preventDefault();break;case"justify-left":this.applyAlignment({subCommand:"JustifyLeft",callBack:e.callBack}),e.event.preventDefault();break;case"justify-right":this.applyAlignment({subCommand:"JustifyRight",callBack:e.callBack}),e.event.preventDefault()}},e.prototype.getTableNode=function(e){var n=e.startContainer.nodeType===Node.ELEMENT_NODE?e.startContainer:e.startContainer.parentNode;return[t.closest(n,"td,th")]},e.prototype.applyAlignment=function(e){var n="Table"===e.value,i=this.parent.nodeSelection.getRange(this.parent.currentDocument),r=this.parent.nodeSelection.save(i,this.parent.currentDocument);if(n)t.setStyleAttribute(this.getTableNode(i)[0],{"text-align":this.alignments[e.subCommand]});else{this.parent.domNode.setMarker(r);for(var o=this.parent.domNode.blockNodes(),s=0;s<o.length;s++){var a=o[s];t.setStyleAttribute(a,{"text-align":this.alignments[e.subCommand]})}var l=this.parent.domNode.getImageTagInSelection();for(s=0;s<l.length;s++){var d=[];d.push(l[s]),this.parent.imgObj.imageCommand({item:{selectNode:d},subCommand:e.subCommand,value:e.subCommand,callBack:e.callBack,selector:e.selector})}this.parent.editableElement.focus(),r=this.parent.domNode.saveMarker(r),I()&&B(this.parent.editableElement,e.selector),r.restore()}e.callBack&&e.callBack({requestType:e.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:n?this.getTableNode(i):this.parent.domNode.blockNodes()})},e}(),Do=function(){function e(e){this.indentValue=20,this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(po,this.applyIndents,this),this.parent.observer.on(fr,this.onKeyDown,this)},e.prototype.onKeyDown=function(e){switch(e.event.action){case"indents":this.applyIndents({subCommand:"Indent",callBack:e.callBack}),e.event.preventDefault();break;case"outdents":this.applyIndents({subCommand:"Outdent",callBack:e.callBack}),e.event.preventDefault()}},e.prototype.applyIndents=function(e){var t=this.parent.editableElement,n=t.classList.contains("e-rtl"),i=this.parent.nodeSelection.getRange(this.parent.currentDocument),r=this.parent.nodeSelection.save(i,this.parent.currentDocument);this.parent.domNode.setMarker(r);for(var o=this.parent.domNode.blockNodes(),s=o.slice(),a=[],l=0;l<s.length;l++)"LI"!==s[l].tagName&&"LI"===s[l].parentNode.tagName?(o.splice(o.indexOf(s[l]),1),a.push(s[l].parentNode)):"LI"===s[l].tagName&&(o.splice(o.indexOf(s[l]),1),a.push(s[l]));a.length>0&&this.parent.observer.notify(fr,{event:{preventDefault:function(){},stopPropagation:function(){},shiftKey:"Indent"!==e.subCommand,which:9,action:"indent"},ignoreDefault:!0});for(l=0;l<o.length;l++){var d=o[l],c=n?d.style.marginRight:d.style.marginLeft,p=void 0;"Indent"===e.subCommand?(p=""===c?this.indentValue+"px":parseInt(c,null)+this.indentValue+"px",n?d.style.marginRight=p:d.style.marginLeft=p):(p=""===c||"0px"===c?"":parseInt(c,null)-this.indentValue+"px",n?d.style.marginRight=p:d.style.marginLeft=p)}t.focus(),I()&&B(t,e.selector),(r=this.parent.domNode.saveMarker(r)).restore(),e.callBack&&e.callBack({requestType:e.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.domNode.blockNodes()})},e}(),Mo="e-imgright",Ro="e-imgleft",Io="e-imgcenter",Bo="e-imgbreak",Po="e-img-caption",Ao="e-caption-inline",Uo=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(Yr,this.imageCommand,this)},e.prototype.imageCommand=function(e){switch(e.value.toString().toLowerCase()){case"image":case"replace":this.createImage(e);break;case"insertlink":this.insertImageLink(e);break;case"openimagelink":this.openImageLink(e);break;case"editimagelink":this.editImageLink(e);break;case"removeimagelink":this.removeImageLink(e);break;case"remove":this.removeImage(e);break;case"alttext":this.insertAltTextImage(e);break;case"dimension":this.imageDimension(e);break;case"caption":this.imageCaption(e);break;case"justifyleft":this.imageJustifyLeft(e);break;case"justifycenter":this.imageJustifyCenter(e);break;case"justifyright":this.imageJustifyRight(e);break;case"inline":this.imageInline(e);break;case"break":this.imageBreak(e)}},e.prototype.createImage=function(e){var n=this,i=!1;if(e.item.url=t.isNullOrUndefined(e.item.url)||"undefined"===e.item.url?e.item.src:e.item.url,t.isNullOrUndefined(e.item.selectParent)||"IMG"!==e.item.selectParent[0].tagName){var r=t.createElement("img");this.setStyle(r,e),t.isNullOrUndefined(e.item.selection)||e.item.selection.restore(),t.isNullOrUndefined(e.selector)||"pasteCleanupModule"!==e.selector?Lo.Insert(this.parent.currentDocument,r,this.parent.editableElement):e.callBack({requestType:"Images",editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:[r]})}else{var o=e.item.selectParent[0];this.setStyle(o,e),i=!0}if(e.callBack&&(t.isNullOrUndefined(e.selector)||!t.isNullOrUndefined(e.selector)&&"pasteCleanupModule"!==e.selector)){var s=this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)[0],a="Replace"===e.value||i?e.item.selectParent[0]:t.Browser.isIE?s.previousSibling:s.previousElementSibling;a.addEventListener("load",function(){"Replace"===e.value&&i||e.callBack({requestType:"Images",editorMode:"HTML",event:e.event,range:n.parent.nodeSelection.getRange(n.parent.currentDocument),elements:[a]})})}},e.prototype.setStyle=function(e,n){t.isNullOrUndefined(n.item.url)||e.setAttribute("src",n.item.url),e.setAttribute("class","e-rte-image"+(t.isNullOrUndefined(n.item.cssClass)?"":" "+n.item.cssClass)),t.isNullOrUndefined(n.item.altText)||e.setAttribute("alt",n.item.altText),t.isNullOrUndefined(n.item.width)||t.isNullOrUndefined(n.item.width.width)||e.setAttribute("width",this.calculateStyleValue(n.item.width.width)),t.isNullOrUndefined(n.item.height)||t.isNullOrUndefined(n.item.height.height)||e.setAttribute("height",this.calculateStyleValue(n.item.height.height)),t.isNullOrUndefined(n.item.width)||t.isNullOrUndefined(n.item.width.minWidth)||(e.style.minWidth=this.calculateStyleValue(n.item.width.minWidth)),t.isNullOrUndefined(n.item.width)||t.isNullOrUndefined(n.item.width.maxWidth)||(e.style.maxWidth=this.calculateStyleValue(n.item.width.maxWidth)),t.isNullOrUndefined(n.item.height)||t.isNullOrUndefined(n.item.height.minHeight)||(e.style.minHeight=this.calculateStyleValue(n.item.height.minHeight)),t.isNullOrUndefined(n.item.height)||t.isNullOrUndefined(n.item.height.maxHeight)||(e.style.maxHeight=this.calculateStyleValue(n.item.height.maxHeight))},e.prototype.calculateStyleValue=function(e){return"string"==typeof e&&(e.indexOf("px")||e.indexOf("%")||e.indexOf("auto"))?e:e+"px"},e.prototype.insertImageLink=function(e){var n=t.createElement("a",{attrs:{href:e.item.url}});e.item.selectNode[0].parentElement.classList.contains("e-img-wrap")&&(e.item.selection.restore(),n.setAttribute("contenteditable","true")),n.appendChild(e.item.selectNode[0]),t.isNullOrUndefined(e.item.target)||n.setAttribute("target",e.item.target),Lo.Insert(this.parent.currentDocument,n,this.parent.editableElement),this.callBack(e)},e.prototype.openImageLink=function(e){document.defaultView.open(e.item.url,e.item.target),this.callBack(e)},e.prototype.removeImageLink=function(e){var n=e.item.selectParent[0];if(n.classList.contains("e-img-caption")){var i=t.select(".e-img-wrap",n),r=t.select(".e-img-inner",n),o=r.cloneNode(!0);t.detach(t.select("a",n)),t.detach(r),i.appendChild(e.item.insertElement),i.appendChild(o)}else t.detach(n),t.Browser.isIE&&e.item.selection.restore(),Lo.Insert(this.parent.currentDocument,e.item.insertElement,this.parent.editableElement);this.callBack(e)},e.prototype.editImageLink=function(e){e.item.selectNode[0].parentElement.href=e.item.url,t.isNullOrUndefined(e.item.target)?e.item.selectNode[0].parentElement.removeAttribute("target"):e.item.selectNode[0].parentElement.target=e.item.target,this.callBack(e)},e.prototype.removeImage=function(e){t.closest(e.item.selectNode[0],"a")&&("A"!==e.item.selectNode[0].parentElement.nodeName||t.isNullOrUndefined(e.item.selectNode[0].parentElement.innerText))?t.detach(t.closest(e.item.selectNode[0],"a")):t.isNullOrUndefined(t.closest(e.item.selectNode[0],"."+Po))?t.detach(e.item.selectNode[0]):t.detach(t.closest(e.item.selectNode[0],"."+Po)),this.callBack(e)},e.prototype.insertAltTextImage=function(e){e.item.selectNode[0].setAttribute("alt",e.item.altText),this.callBack(e)},e.prototype.imageDimension=function(e){var n=e.item.selectNode[0];n.style.height="",n.style.width="","auto"!==e.item.width?n.style.width=t.formatUnit(e.item.width):n.removeAttribute("width"),"auto"!==e.item.height?n.style.height=t.formatUnit(e.item.height):n.removeAttribute("height"),this.callBack(e)},e.prototype.imageCaption=function(e){Lo.Insert(this.parent.currentDocument,e.item.insertElement,this.parent.editableElement),this.callBack(e)},e.prototype.imageJustifyLeft=function(e){var n=e.item.selectNode[0];t.isNullOrUndefined(n)||(n.removeAttribute("class"),t.addClass([n],"e-rte-image"),t.isNullOrUndefined(t.closest(n,"."+Po))||(t.removeClass([t.closest(n,"."+Po)],Mo),t.addClass([t.closest(n,"."+Po)],Ro)),"A"===n.parentElement.nodeName?(t.removeClass([n.parentElement],Mo),t.addClass([n.parentElement],Ro),t.addClass([n],Ro)):t.addClass([n],Ro),this.callBack(e))},e.prototype.imageJustifyCenter=function(e){var n=e.item.selectNode[0];t.isNullOrUndefined(n)||(n.removeAttribute("class"),t.addClass([n],"e-rte-image"),t.isNullOrUndefined(t.closest(n,"."+Po))||(t.removeClass([t.closest(n,"."+Po)],Ro),t.removeClass([t.closest(n,"."+Po)],Mo),t.addClass([t.closest(n,"."+Po)],Io)),"A"===n.parentElement.nodeName?(t.removeClass([n.parentElement],Ro),t.removeClass([n.parentElement],Mo),t.addClass([n.parentElement],Io),t.addClass([n],Io)):t.addClass([n],Io),this.callBack(e))},e.prototype.imageJustifyRight=function(e){var n=e.item.selectNode[0];t.isNullOrUndefined(n)||(n.removeAttribute("class"),t.addClass([n],"e-rte-image"),t.isNullOrUndefined(t.closest(n,"."+Po))||(t.removeClass([t.closest(n,"."+Po)],Ro),t.addClass([t.closest(n,"."+Po)],Mo)),"A"===n.parentElement.nodeName?(t.removeClass([n.parentElement],Ro),t.addClass([n.parentElement],Mo),t.addClass([n],Mo)):t.addClass([n],Mo),this.callBack(e))},e.prototype.imageInline=function(e){var n=e.item.selectNode[0];n.removeAttribute("class"),t.addClass([n],"e-rte-image"),t.addClass([n],"e-imginline"),t.isNullOrUndefined(t.closest(n,"."+Po))||(t.removeClass([t.closest(n,"."+Po)],Bo),t.removeClass([t.closest(n,"."+Po)],Io),t.removeClass([t.closest(n,"."+Po)],Ro),t.removeClass([t.closest(n,"."+Po)],Mo),t.addClass([t.closest(n,"."+Po)],Ao)),this.callBack(e)},e.prototype.imageBreak=function(e){var n=e.item.selectNode[0];n.removeAttribute("class"),t.addClass([n],Bo),t.addClass([n],"e-rte-image"),t.isNullOrUndefined(t.closest(n,"."+Po))||(t.removeClass([t.closest(n,"."+Po)],Ao),t.removeClass([t.closest(n,"."+Po)],Io),t.removeClass([t.closest(n,"."+Po)],Ro),t.removeClass([t.closest(n,"."+Po)],Mo),t.addClass([t.closest(n,"."+Po)],Bo)),this.callBack(e)},e.prototype.callBack=function(e){e.callBack&&e.callBack({requestType:e.item.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})},e}(),Ho=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(Jr,this.createTable,this),this.parent.observer.on(Zr,this.insertRow,this),this.parent.observer.on(eo,this.insertColumn,this),this.parent.observer.on(to,this.deleteRow,this),this.parent.observer.on(no,this.deleteColumn,this),this.parent.observer.on(io,this.removeTable,this),this.parent.observer.on(ro,this.tableHeader,this),this.parent.observer.on(oo,this.tableVerticalAlign,this),this.parent.observer.on(so,this.cellMerge,this),this.parent.observer.on(lo,this.HorizontalSplit,this),this.parent.observer.on(ao,this.VerticalSplit,this),this.parent.observer.on("TABLE_MOVE",this.tableMove,this)},e.prototype.createTable=function(e){var n=t.createElement("table",{className:"e-rte-table"}),i=t.createElement("tbody");t.isNullOrUndefined(e.item.width.width)||(n.style.width=this.calculateStyleValue(e.item.width.width)),t.isNullOrUndefined(e.item.width.minWidth)||(n.style.minWidth=this.calculateStyleValue(e.item.width.minWidth)),t.isNullOrUndefined(e.item.width.maxWidth)||(n.style.maxWidth=this.calculateStyleValue(e.item.width.maxWidth));for(var r=parseInt(e.item.width.width,10)>100?100/e.item.columns:parseInt(e.item.width.width,10)/e.item.columns,o=0;o<e.item.rows;o++){for(var s=t.createElement("tr"),a=0;a<e.item.columns;a++){var l=t.createElement("td");l.appendChild(t.createElement("br")),l.style.width=r+"%",s.appendChild(l)}i.appendChild(s)}if(n.appendChild(i),e.item.selection.restore(),Lo.Insert(this.parent.currentDocument,n,this.parent.editableElement),this.removeEmptyNode(),e.item.selection.setSelectionText(this.parent.currentDocument,n.querySelector("td"),n.querySelector("td"),0,0),null===n.nextElementSibling){var d=void 0;"DIV"===e.enterAction?(d=t.createElement("div")).appendChild(t.createElement("br")):"BR"===e.enterAction?d=t.createElement("br"):(d=t.createElement("p")).appendChild(t.createElement("br")),this.insertAfter(d,n)}return n.querySelector("td").classList.add("e-cell-select"),e.callBack&&e.callBack({requestType:"Table",editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:[n]}),n},e.prototype.calculateStyleValue=function(e){return"string"==typeof e&&(e.indexOf("px")||e.indexOf("%")||e.indexOf("auto"))?e:e+"px"},e.prototype.removeEmptyNode=function(){for(var e=this.parent.editableElement.querySelectorAll("ul:empty, ol:empty"),n=0;n<e.length;n++)t.detach(e[n]);var i=this.parent.editableElement.querySelectorAll("li *:empty:not(img)");for(n=0;n<i.length;n++)t.detach(i[n]),i.length===n+1&&(i=this.parent.editableElement.querySelectorAll("li *:empty:not(img)"),n=-1);var r=this.parent.editableElement.querySelectorAll("li:empty");for(n=0;n<r.length;n++)t.detach(r[n])},e.prototype.insertAfter=function(e,t){t.parentNode.insertBefore(e,t.nextSibling)},e.prototype.getSelectedCellMinMaxIndex=function(e){for(var t=this.curTable.querySelectorAll(".e-cell-select"),n=0,i=e.length,r=0,o=e[0].length,s=0;n<t.length;n++){var a=this.getCorrespondingIndex(t[n],e),l=this.FindIndex(a[0],a[1],e);i=Math.min(a[0],i),r=Math.max(l[0],r),o=Math.min(a[1],o),s=Math.max(l[1],s)}return{startRow:i,endRow:r,startColumn:o,endColumn:s}},e.prototype.insertRow=function(e){var n="InsertRowBefore"!==e.item.subCommand,i=e.item.selection.range.startContainer;if("TH"!==i.nodeName&&"TD"!==i.nodeName&&(i=t.closest(i.parentElement,"td,th")),"th"!==i.nodeName.toLowerCase()||"InsertRowBefore"!==e.item.subCommand){if(this.curTable=t.closest(this.parent.nodeSelection.range.startContainer.parentElement,"table"),0===this.curTable.querySelectorAll(".e-cell-select").length){var r=this.curTable.rows[this.curTable.rows.length-1],o=r.cloneNode(!0);o.removeAttribute("rowspan"),this.insertAfter(o,r)}else{for(var s=this.getCorrespondingColumns(),a=this.getSelectedCellMinMaxIndex(s),l=n?a.endRow:a.startRow,d=t.createElement("tr"),c=this.curTable.querySelectorAll("th.e-cell-select").length>0,p=0;p<s[l].length;p++)if(n&&l<s.length-1&&s[l][p]===s[l+1][p]||!n&&0<l&&s[l][p]===s[l-1][p])(0===p||0<p&&s[l][p]!==s[l][p-1])&&s[l][p].setAttribute("rowspan",(parseInt(s[l][p].getAttribute("rowspan"),10)+1).toString());else{var h=t.createElement("td");h.appendChild(t.createElement("br")),d.appendChild(h),h.setAttribute("style",s[c&&n&&s[l+1]?l+1:l][p].getAttribute("style"))}var u=void 0;u=c&&n?this.curTable.querySelector("tbody").childNodes[0]:this.curTable.rows[l],"InsertRowBefore"===e.item.subCommand?u.parentElement.insertBefore(d,u):c?u.parentElement.insertBefore(d,u):this.insertAfter(d,u)}e.item.selection.setSelectionText(this.parent.currentDocument,e.item.selection.range.startContainer,e.item.selection.range.startContainer,0,0),e.callBack&&e.callBack({requestType:e.item.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})}},e.prototype.insertColumn=function(e){var n=e.item.selection.range.startContainer;"TH"!==n.nodeName&&"TD"!==n.nodeName&&(n=t.closest(n.parentElement,"td,th"));for(var i,r=t.closest(n,"tr"),o=t.closest(r,"table").rows,s=Array.prototype.slice.call(r.querySelectorAll(":scope > td, :scope > th")).indexOf(n),a=parseInt(e.item.width,10)/r.querySelectorAll(":scope > td, :scope > th").length,l=parseInt(e.item.width,10)/(r.querySelectorAll(":scope > td, :scope > th").length+1),d=t.closest(r,"table"),c=t.closest(r,"table").querySelectorAll("th,td"),p=0;p<c.length;p++)c[p].dataset.oldWidth=c[p].offsetWidth/d.offsetWidth*100+"%";for(p=0;p<o.length;p++){var h=(i=o[p].querySelectorAll(":scope > td, :scope > th")[s]).cloneNode(!0);h.innerHTML="",h.appendChild(t.createElement("br")),h.removeAttribute("class"),h.removeAttribute("colspan"),h.removeAttribute("rowspan"),"InsertColumnLeft"===e.item.subCommand?i.parentElement.insertBefore(h,i):this.insertAfter(h,i),h.style.width=l.toFixed(4)+"%",delete h.dataset.oldWidth}for(p=0;p<c.length;p++)c[p].style.width=(Number(c[p].dataset.oldWidth.split("%")[0])*l/a).toFixed(4)+"%",delete c[p].dataset.oldWidth;e.item.selection.setSelectionText(this.parent.currentDocument,n,n,0,0),e.callBack&&e.callBack({requestType:e.item.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})},e.prototype.deleteColumn=function(e){var n=e.item.selection.range.startContainer;3===n.nodeType&&(n=t.closest(n.parentElement,"td,th"));var i=t.closest(n,"TH"===n.tagName?"thead":"tbody"),r=i&&Array.prototype.indexOf.call(i.childNodes,n.parentNode);this.curTable=t.closest(n,"table");if(1===t.closest(n,"tr").querySelectorAll("th,td").length)e.item.selection.restore(),t.detach(t.closest(n.parentElement,"table"));else{for(var o=void 0,s=this.getCorrespondingColumns(),a=this.getSelectedCellMinMaxIndex(s),l=a.startColumn,d=a.endColumn,c=0;c<s.length;c++)for(var p=s[c],h=0;h<p.length;h++){var u=p[h],m=this.getCorrespondingIndex(u,s),g=parseInt(u.getAttribute("colspan"),10)||1;m[1]+(g-1)>=l&&m[1]<=d&&(g>1?u.setAttribute("colspan",(g-1).toString()):(t.detach(u),o=h,t.Browser.isIE&&(e.item.selection.setSelectionText(this.parent.currentDocument,this.curTable.querySelector("td"),this.curTable.querySelector("td"),0,0),this.curTable.querySelector("td, th").classList.add("e-cell-select"))))}if(o>-1){var f=i.children[r],b=f&&f.children[o<=f.children.length-1?o:o-1];b&&(e.item.selection.setSelectionText(this.parent.currentDocument,b,b,0,0),b.classList.add("e-cell-select"))}}if(e.callBack){var v=this.parent.nodeSelection.getRange(this.parent.currentDocument).startContainer;if("TD"!==v.nodeName){var y=this.parent.nodeSelection.getRange(this.parent.currentDocument).startOffset,C=v.children[y];C&&this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,C,0)}e.callBack({requestType:e.item.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})}},e.prototype.deleteRow=function(e){var n=e.item.selection.range.startContainer;3===n.nodeType&&(n=t.closest(n.parentElement,"td,th"));var i=Array.prototype.indexOf.call(n.parentNode.childNodes,n);this.curTable=t.closest(n,"table");var r,o,s,a=this.getCorrespondingColumns(),l=this.getSelectedCellMinMaxIndex(a);if(1===this.curTable.rows.length)e.item.selection.restore(),t.detach(t.closest(n.parentElement,"table"));else for(o=l.endRow;o>=l.startRow;o--){for(r=this.curTable.rows[o],s=0;s<a[o].length;s++){if((0===s||a[o][s]!==a[o][s-1])&&1<parseInt(a[o][s].getAttribute("rowspan"),10)){var d=parseInt(a[o][s].getAttribute("rowspan"),10)-1;1===d?a[o][s].removeAttribute("rowspan"):a[o][s].setAttribute("rowspan",d.toString())}if(o<a.length-1&&a[o][s]===a[o+1][s]&&(0===o||a[o][s]!==a[o-1][s])){var c=a[o][s],p=void 0;for(p=s;0<p&&a[o][p]===a[o][p-1];p--)0===p?this.curTable.rows[o+1].prepend(c):a[o+1][p-1].insertAdjacentElement("afterend",c)}}var h=r.rowIndex;this.curTable.deleteRow(h);var u=t.isNullOrUndefined(this.curTable.rows[h])?this.curTable.querySelectorAll("tbody tr")[h-1]:this.curTable.querySelectorAll("tbody tr")[h],m=u&&u.querySelectorAll("td")[i];m?(e.item.selection.setSelectionText(this.parent.currentDocument,m,m,0,0),m.classList.add("e-cell-select")):(e.item.selection.setSelectionText(this.parent.currentDocument,this.curTable.querySelector("td"),this.curTable.querySelector("td"),0,0),this.curTable.querySelector("td, th").classList.add("e-cell-select"))}e.callBack&&e.callBack({requestType:e.item.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})},e.prototype.removeTable=function(e){var n=e.item.selection.range.startContainer;n=3===n.nodeType?n.parentNode:n;var i=t.closest(n.parentElement,"table");i&&(e.item.selection.restore(),t.detach(i)),e.callBack&&e.callBack({requestType:e.item.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})},e.prototype.tableHeader=function(e){var n=!1,i=e.item.selection.range.startContainer;i=3===i.nodeType?i.parentNode:i;var r=t.closest(i.parentElement,"table");if([].slice.call(r.childNodes).forEach(function(e){"THEAD"===e.nodeName&&(n=!0)}),r&&!n){for(var o=r.querySelector("tr").childElementCount,s=0,a=0;a<o;a++)s+=parseInt(r.querySelector("tr").children[a].getAttribute("colspan"),10)||1;for(var l=r.createTHead().insertRow(0),d=0;d<s;d++){var c=t.createElement("th");c.appendChild(t.createElement("br")),l.appendChild(c)}}else r.deleteTHead();e.callBack&&e.callBack({requestType:e.item.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})},e.prototype.tableVerticalAlign=function(e){"AlignTop"===e.item.subCommand?e.item.tableCell.style.verticalAlign="top":"AlignMiddle"===e.item.subCommand?e.item.tableCell.style.verticalAlign="middle":e.item.tableCell.style.verticalAlign="bottom",e.callBack&&e.callBack({requestType:e.item.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})},e.prototype.cellMerge=function(e){t.isNullOrUndefined(this.curTable)&&(this.curTable=t.closest(this.parent.nodeSelection.range.startContainer.parentElement,"table"));var n=this.curTable.querySelectorAll(".e-cell-select");if(!(n.length<2)){this.mergeCellContent();var i=this.getSelectedMinMaxIndexes(this.getCorrespondingColumns()),r=n[0],o=r.parentElement.querySelectorAll(".e-cell-select");i.startColumn<i.endColumn&&r.setAttribute("colspan",(i.endColumn-i.startColumn+1).toString()),i.startRow<i.endRow&&r.setAttribute("rowspan",(i.endRow-i.startRow+1).toString());for(var s=0,a=o.length-1;a>=0;a--)s+=parseFloat(o[a].style.width);r.style.width=s+"%";for(var l=1;l<=n.length-1;l++)t.detach(n[l]);for(l=0;l<this.curTable.rows.length;l++)""===this.curTable.rows[l].innerHTML&&t.detach(this.curTable.rows[l]);this.updateRowSpanStyle(i.startRow,i.endRow,this.getCorrespondingColumns()),this.updateColSpanStyle(i.startColumn,i.endColumn,this.getCorrespondingColumns()),e.item.selection.setSelectionText(this.parent.currentDocument,e.item.selection.range.startContainer,e.item.selection.range.startContainer,0,0),this.parent.nodeSelection.range&&this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,this.parent.nodeSelection.range.endContainer,0),e.callBack&&e.callBack({requestType:e.item.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})}},e.prototype.updateColSpanStyle=function(e,t,n){var i,r,o,s,a=0,l=0,d=n;if(e<(t=Math.min(t,d[0].length-1))){for(;r<=t;r++)if(!(e<r&&d[0][r]===d[0][r-1])&&1<(a=Math.min(parseInt(d[0][r].getAttribute("colspan"),10)||1,t-e+1))&&d[0][r]===d[0][r+1])for(l=a-1,i=1;i<d.length;i++){if(d[i][r]!==d[i-1][r])for(o=r;o<r+a;o++)if(1<(s=parseInt(d[i][o].getAttribute("colspan"),10)||1)&&d[i][o]===d[i][o+1])o+=l=Math.min(l,s-1);else if(!(l=Math.max(0,l-1)))break;if(!l)break}l&&this.updateCellAttribute(d,l,"colspan",0,d.length-1,e,t)}},e.prototype.updateRowSpanStyle=function(e,t,n){var i,r,o,s,a=0,l=0,d=n;if(e<(t=Math.min(t,d.length-1))){for(i=e;i<=t;i++)if(!(e<i&&d[i][0]===d[i-1][0])&&d[i][0]&&1<(a=Math.min(parseInt(d[i][0].getAttribute("rowspan"),10)||1,t-e+1))&&d[i][0]===d[i+1][0])for(l=a-1,r=1;r<d[0].length;r++)if(d[i][r]!==d[i][r-1]){for(o=i;o<i+a;o++)if(1<(s=parseInt(d[o][r].getAttribute("rowspan"),10)||1)&&d[o][r]===d[o+1][r])o+=l=Math.min(l,s-1);else if(!(l=Math.max(0,l-1)))break;if(!l)break}l&&this.updateCellAttribute(d,l,"rowspan",e,t,0,d[0].length-1)}},e.prototype.updateCellAttribute=function(e,t,n,i,r,o,s){var a,l,d;for(a=i;a<=r;a++)for(l=o;l<=s;l++)i<a&&e[a][l]===e[a-1][l]||o<l&&e[a][l]===e[a][l-1]||1<(d=parseInt(e[a][l].getAttribute(n),10)||1)&&(1<d-t?e[a][l].setAttribute(n,(d-t).toString()):e[a][l].removeAttribute(n))},e.prototype.mergeCellContent=function(){for(var e=this.curTable.querySelectorAll(".e-cell-select"),t="<br>"===e[0].innerHTML?"":e[0].innerHTML,n=1;n<e.length;n++)"<br>"!==e[n].innerHTML&&(t=t?t+"<br>"+e[n].innerHTML:t+e[n].innerHTML);e[0].innerHTML=t},e.prototype.getSelectedMinMaxIndexes=function(e){var t=this.curTable.querySelectorAll(".e-cell-select");if(0<t.length){for(var n=e.length,i=0,r=e[0].length,o=0,s=0;s<t.length;s++){var a=this.getCorrespondingIndex(t[s],e),l=this.FindIndex(a[0],a[1],e);n=Math.min(a[0],n),i=Math.max(l[0],i),r=Math.min(a[1],r),o=Math.max(l[1],o)}return{startRow:n,endRow:i,startColumn:r,endColumn:o}}return null},e.prototype.HorizontalSplit=function(e){var n=e.item.selection.range.startContainer;if(this.curTable=t.closest(n.parentElement,"table"),!(this.curTable.querySelectorAll(".e-cell-select").length>1)){this.activeCell=this.curTable.querySelector(".e-cell-select");var i=this.activeCell.cloneNode(!0);i.removeAttribute("class"),i.innerHTML="</br>";var r=this.getCorrespondingIndex(this.activeCell,this.getCorrespondingColumns()),o=this.getCorrespondingColumns(),s=this.activeCell.getAttribute("rowspan")?parseInt(this.activeCell.getAttribute("rowspan"),10):1;if(s>1){var a=Math.ceil(s/2);1<a?this.activeCell.setAttribute("rowspan",a.toString()):this.activeCell.removeAttribute("rowspan"),1<s-a?i.setAttribute("rowspan",(s-a).toString()):i.removeAttribute("rowspan");var l=void 0,d=void 0;for(l=r[0]+Math.ceil(s/2),d=0===r[1]?r[1]:r[1]-1;0<=d&&(o[l][d]===o[l][d-1]||0<l&&o[l][d]===o[l-1][d]);)d--;-1===d?this.curTable.rows[l].firstChild?this.curTable.rows[l].prepend(i):this.curTable.appendChild(i):o[l][d].insertAdjacentElement("afterend",i)}else{var c=t.createElement("tr");c.appendChild(i);for(var p=o[r[0]],h=0;h<=p.length-1;h++)p[h]!==p[h-1]&&p[h]!==this.activeCell&&p[h].setAttribute("rowspan",((parseInt(p[h].getAttribute("rowspan"),10)?parseInt(p[h].getAttribute("rowspan"),10):1)+1).toString());this.activeCell.parentNode.insertAdjacentElement("afterend",c)}e.callBack&&e.callBack({requestType:e.item.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})}},e.prototype.VerticalSplit=function(e){var n=e.item.selection.range.startContainer;if(this.curTable=t.closest(n.parentElement,"table"),!(this.curTable.querySelectorAll(".e-cell-select").length>1)){this.activeCell=this.curTable.querySelector(".e-cell-select");var i=this.curTable.rows,r=this.activeCell.cloneNode(!0);r.removeAttribute("class"),r.innerHTML="</br>";var o=parseFloat(this.activeCell.style.width)/2;if("TH"===this.activeCell.tagName&&isNaN(o)){for(var s=this.curTable.querySelector("tr").childElementCount,a=0;a<s;a++)parseInt(this.curTable.querySelector("tr").children[a].getAttribute("colspan"),10)||1;o=parseFloat((this.activeCell.offsetWidth/2/this.curTable.offsetWidth*100).toFixed(1))}var l=this.getCorrespondingIndex(this.activeCell,this.getCorrespondingColumns()),d=this.getCorrespondingColumns(),c=parseInt(this.activeCell.getAttribute("colspan"),10);if(c>1)1<Math.ceil(c/2)?this.activeCell.setAttribute("colspan",(c/2).toString()):this.activeCell.removeAttribute("colspan"),1<c-c/2?r.setAttribute("colspan",(c-c/2).toString()):r.removeAttribute("colspan");else for(a=0;a<=i.length-1;a++)if(0===a||d[a][l[1]]!==d[a-1][l[1]]){var p=d[a][l[1]];p!==this.activeCell&&p.setAttribute("colspan",((parseInt(p.getAttribute("colspan"),10)?parseInt(p.getAttribute("colspan"),10):1)+1).toString())}this.activeCell.style.width=o+"%",r.style.width=o+"%",this.activeCell.parentNode.insertBefore(r,this.activeCell.nextSibling),e.callBack&&e.callBack({requestType:e.item.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})}},e.prototype.getCorrespondingColumns=function(){for(var e=[],t=this.curTable.rows,n=0;n<=t.length-1;n++)for(var i=t[n],r=0,o=0;o<=i.children.length-1;o++){for(var s=i.children[o],a=s,l=parseInt(a.getAttribute("colspan"),10)||1,d=parseInt(a.getAttribute("rowspan"),10)||1,c=n;c<n+d;c++)for(var p=r;p<r+l;p++)e[c]||(e[c]=[]),e[c][p]?r++:e[c][p]=s;r+=0}return e},e.prototype.FindIndex=function(e,t,n){var i,r;for(i=e+1,r=t+1;i<n.length;){if(n[i][t]!==n[e][t]){i--;break}i++}for(i===n.length&&i--;r<n[e].length;){if(n[e][r]!==n[e][t]){r--;break}r++}return r===n[e].length&&r--,[i,r]},e.prototype.getCorrespondingIndex=function(e,t){for(var n=0;n<t.length;n++)for(var i=0;i<t[n].length;i++)if(t[n][i]===e)return[n,i];return[]},e.prototype.highlightCells=function(e,t,n,i,r){var o,s,a,l,d=e,c=t,p=n,h=i,u=new jo;for(o=d;o<=c;o++){for((1<(parseInt(r[o][p].getAttribute("rowspan"),10)||1)||1<(parseInt(r[o][p].getAttribute("colspan"),10)||1))&&(l=this.FindIndex((a=this.getCorrespondingIndex(r[o][p],r))[0],a[1],r))?(d=Math.min(a[0],d),c=Math.max(l[0],c),p=Math.min(a[1],p),h=Math.max(l[1],h)):(1<(parseInt(r[o][h].getAttribute("rowspan"),10)||1)||1<(parseInt(r[o][h].getAttribute("colspan"),10)||1))&&(l=this.FindIndex((a=this.getCorrespondingIndex(r[o][h],r))[0],a[1],r))&&(d=Math.min(a[0],d),c=Math.max(l[0],c),p=Math.min(a[1],p),h=Math.max(l[1],h)),s=p;s<=h;s++)(1<(parseInt(r[d][s].getAttribute("rowspan"),10)||1)||1<(parseInt(r[d][s].getAttribute("colspan"),10)||1))&&(l=this.FindIndex((a=this.getCorrespondingIndex(r[d][s],r))[0],a[1],r))?(d=Math.min(a[0],d),c=Math.max(l[0],c),p=Math.min(a[1],p),h=Math.max(l[1],h)):(1<(parseInt(r[c][s].getAttribute("rowspan"),10)||1)||1<(parseInt(r[c][s].getAttribute("colspan"),10)||1))&&(l=this.FindIndex((a=this.getCorrespondingIndex(r[c][s],r))[0],a[1],r))&&(d=Math.min(a[0],d),c=Math.max(l[0],c),p=Math.min(a[1],p),h=Math.max(l[1],h));u=d===e&&c===t&&p===n&&h===i?{startRow:e,endRow:t,startColumn:n,endColumn:i}:this.highlightCells(d,c,p,h,r)}return u},e.prototype.tableMove=function(e){this.activeCell=e.selectNode[0];var n=e.event.target,i=this.activeCell.tagName,r=n.tagName;if(this.curTable=t.closest(n,"table"),this.curTable.querySelectorAll(".e-cell-select").length>1&&this.parent.nodeSelection.Clear(this.parent.currentDocument),"TD"===n.tagName||"TH"===n.tagName||i===r){for(var o=Array.prototype.slice.call(this.activeCell.parentElement.parentElement.children).indexOf(this.activeCell.parentElement),s=Array.prototype.slice.call(this.activeCell.parentElement.children).indexOf(this.activeCell),a=Array.prototype.slice.call(n.parentElement.parentElement.children).indexOf(n.parentElement),l=Array.prototype.slice.call(n.parentElement.children).indexOf(n),d=this.curTable.querySelectorAll(".e-cell-select"),c=d.length-1;c>=0;c--)this.activeCell!==d[c]&&d[c].classList.remove("e-cell-select");if(o!==a||s!==l){for(var p=this.getCorrespondingColumns(),h=this.getCorrespondingIndex(this.activeCell,p),u=this.getCorrespondingIndex(n,p),m=this.highlightCells(Math.min(h[0],u[0]),Math.max(h[0],u[0]),Math.min(h[1],u[1]),Math.max(h[1],u[1]),p),g=m.startRow;g<=m.endRow;g++)for(var f=m.startColumn;f<=m.endColumn;f++)p[g][f].classList.add("e-cell-select");this.parent.nodeSelection.range&&(this.parent.nodeSelection.setSelectionText(this.parent.currentDocument,this.parent.nodeSelection.range.endContainer,this.parent.nodeSelection.range.endContainer,0,0),this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,this.parent.nodeSelection.range.endContainer,0))}}},e}(),jo=function(){return function(){}}(),Fo=function(){function e(){}return e.prototype.getFormattedNode=function(e,t,n){var i=this.getFormatParent(e,t,n);return null!==i&&i!==n?i:null},e.prototype.getFormatParent=function(e,t,n){do{e=e.parentNode}while(e&&e!==n&&!this.isFormattedNode(e,t));return e},e.prototype.isFormattedNode=function(t,n){switch(n){case"bold":return e.isBold(t);case"italic":return e.isItalic(t);case"underline":return e.isUnderline(t);case"strikethrough":return e.isStrikethrough(t);case"superscript":return e.isSuperscript(t);case"subscript":return e.isSubscript(t);case"fontcolor":return this.isFontColor(t);case"fontname":return this.isFontName(t);case"fontsize":return this.isFontSize(t);case"backgroundcolor":return this.isBackgroundColor(t);default:return!1}},e.isBold=function(e){return-1!==["strong","b"].indexOf(e.nodeName.toLowerCase())||!(-1===this.inlineTags.indexOf(e.nodeName.toLowerCase())||!e.style||"bold"!==e.style.fontWeight)},e.isItalic=function(e){return-1!==["em","i"].indexOf(e.nodeName.toLowerCase())||!(-1===this.inlineTags.indexOf(e.nodeName.toLowerCase())||!e.style||"italic"!==e.style.fontStyle)},e.isUnderline=function(e){return-1!==["u"].indexOf(e.nodeName.toLowerCase())||!(-1===this.inlineTags.indexOf(e.nodeName.toLowerCase())||!e.style||"underline"!==e.style.textDecoration)},e.isStrikethrough=function(e){return-1!==["del","strike"].indexOf(e.nodeName.toLowerCase())||!(-1===this.inlineTags.indexOf(e.nodeName.toLowerCase())||!e.style||"line-through"!==e.style.textDecoration)},e.isSuperscript=function(e){return-1!==["sup"].indexOf(e.nodeName.toLowerCase())},e.isSubscript=function(e){return-1!==["sub"].indexOf(e.nodeName.toLowerCase())},e.prototype.isFontColor=function(t){var n=t.style&&t.style.color;return-1!==e.inlineTags.indexOf(t.nodeName.toLowerCase())&&null!==n&&""!==n&&void 0!==n},e.prototype.isBackgroundColor=function(t){var n=t.style&&t.style.backgroundColor;return-1!==e.inlineTags.indexOf(t.nodeName.toLowerCase())&&null!==n&&""!==n&&void 0!==n},e.prototype.isFontSize=function(t){var n=t.style&&t.style.fontSize;return-1!==e.inlineTags.indexOf(t.nodeName.toLowerCase())&&null!==n&&""!==n&&void 0!==n},e.prototype.isFontName=function(t){var n=t.style&&t.style.fontFamily;return-1!==e.inlineTags.indexOf(t.nodeName.toLowerCase())&&null!==n&&""!==n&&void 0!==n},e.inlineTags=["a","abbr","acronym","b","bdo","big","cite","code","dfn","em","i","kbd","label","q","samp","small","span","strong","sub","sup","tt","u","var","del"],e}(),qo=function(){function e(){}return e.applyFormat=function(e,n,i,r,o,s){this.enterAction=r;if(["bold","italic","underline","strikethrough","superscript","subscript","uppercase","lowercase","fontcolor","fontname","fontsize","backgroundcolor"].indexOf(n)>-1){"backgroundcolor"===n&&""===o&&(o="transparent");var a=new Co,l=new So(i,e),d=new wo,c=new Fo,p=a.getRange(e),h=a.save(p,e),u=p.collapsed?a.getSelectionNodeCollection(p):a.getSelectionNodeCollectionBr(p),m=!1,g=!1,f=!1,b=!1,v=["fontcolor","fontname","fontsize","backgroundcolor"].indexOf(n)>-1;if(p.collapsed){var y=c.getFormattedNode(p.startContainer,n,i),C=t.isNullOrUndefined(y)?null:null===y.getAttribute("style")?y.nodeName:y.nodeName+"[style='"+y.getAttribute("style")+"']";if(u.length>0)m=!0,p=d.GetCursorRange(e,p,u[0]);else if(3===p.startContainer.nodeType&&(p.startContainer.parentElement.childElementCount>0&&p.startOffset>0&&"br"!==p.startContainer.parentElement.firstElementChild.tagName.toLowerCase()||!t.isNullOrUndefined(y)&&y===p.startContainer.parentElement.closest(C)&&0!=p.startContainer.parentElement.closest(C).textContent.replace(new RegExp(String.fromCharCode(8203),"g"),"").trim().length))m=!0,p=d.GetCursorRange(e,p,p.startContainer),u.push(p.startContainer);else{var N=this.insertCursorNode(e,a,p,c,d,n,o,i);a.endContainer=a.startContainer=a.getNodeArray(N,!0);var S="BR"===N.nodeName&&N.parentNode.childNodes;t.isNullOrUndefined(S)||1!==S.length||"BR"!==S[0].nodeName||0!==u.length?a.endOffset=a.startOffset=1:(a.setSelectionText(e,p.startContainer,p.endContainer,0,0),b=!0),"BR"===N.nodeName&&0===N.parentNode.textContent.length&&(b=!0)}}f=p.collapsed;for(var E=!1,T=0;T<u.length;T++){var w=c.getFormattedNode(u[T],n,i);null===w&&("subscript"===n?E=null!==(w=c.getFormattedNode(u[T],"superscript",i)):"superscript"===n&&(E=null!==(w=c.getFormattedNode(u[T],"subscript",i)))),0===T&&null===w&&(g=!0),u[T]=null===w||g&&!v?this.insertFormat(e,u,T,w,f,g,v,p,d,n,o):this.removeFormat(u,T,w,f,g,v,p,d,n,o,a,i,l),a=this.applySelection(u,a,d,T,m)}I()&&B(i,s),b||h.restore(),E&&this.applyFormat(e,n,i,r)}},e.insertCursorNode=function(e,n,i,r,o,s,a,l){var d=n.getNodeCollection(i),c=new So(l,e),p=d.length>0?d.length>1&&i.startContainer===i.endContainer?this.getCursorFormat(r,d,s,l):r.getFormattedNode(d[0],s,l):null,h=null;if(p){if(h=d[0],8203===p.firstChild.textContent.charCodeAt(0)&&3===p.firstChild.nodeType){var u=new RegExp(String.fromCharCode(8203),"g"),m=void 0;p.firstChild===h?(h.textContent=p.parentElement&&(c.isBlockNode(p.parentElement)&&p.parentElement.textContent.length<=1?p.parentElement.childElementCount>1:0===p.childElementCount)&&(p.parentElement.textContent.length>1||p.parentElement.firstChild&&1===p.parentElement.firstChild.nodeType)?h.textContent:h.textContent.replace(u,""),m=h):(p.firstChild.textContent=p.firstChild.textContent.replace(u,""),m=p.firstChild);var g=void 0;if(0===m.textContent.length)if(t.isNullOrUndefined(m.previousSibling)){if(!t.isNullOrUndefined(m.parentElement)&&0===m.parentElement.textContent.length){var f=document.createElement("BR");m.parentElement.appendChild(f),t.detach(m),h=f,n.setCursorPoint(e,h.parentElement,0)}}else h=m.previousSibling,g=m.textContent.length-1,n.setCursorPoint(e,m,g)}["fontcolor","fontname","fontsize","backgroundcolor"].indexOf(s)>-1?("fontcolor"===s?p.style.color=a:"fontname"===s?p.style.fontFamily=a:"fontsize"===s?p.style.fontSize=a:p.style.backgroundColor=a,h=p):To.unwrap(p)}else d.length>1&&i.startOffset>0&&d[0].firstElementChild&&"br"===d[0].firstElementChild.tagName.toLowerCase()&&(d[0].innerHTML=""),1!==d.length||0!==i.startOffset||"BR"!==d[0].nodeName&&"BR"!==d[0].nextSibling.nodeName||t.detach("#text"===d[0].nodeName?d[0].nextSibling:d[0]),h=this.getInsertNode(e,i,s,a).firstChild;return h},e.getCursorFormat=function(e,t,n,i){for(var r,o=0;o<t.length;o++)r=t[o].lastElementChild?t[o].lastElementChild:t[o];return e.getFormattedNode(r,n,i)},e.removeFormat=function(e,n,i,r,o,s,a,l,d,c,p,h,u){var m=null,g="#text"===a.startContainer.nodeName?a.startContainer.textContent.substring(a.startOffset,a.startContainer.textContent.length):a.startContainer.textContent;if(a.startContainer!==a.endContainer||0!==a.startOffset||a.endOffset!==a.startContainer.length){var f=[],b=e[n];do{f.push(p.getIndex(b)),b=b.parentNode}while(b&&b!==i);if("BR"!==e[n].nodeName&&(b=m=r&&i.textContent.length-1===a.startOffset?l.SplitNode(a,i,!0):l.GetSpliceNode(a,i)),r){for(var v=m;null!==v.firstChild&&3!==v.firstChild.nodeType;null)v=v.firstChild;v.innerHTML="&#8203;",e[n]=v.firstChild}else{for(;b&&b.childNodes.length>0&&f.length-1>=0&&b.childNodes.length>f[f.length-1];)b=b.childNodes[f[f.length-1]],f.pop();if("BR"!==e[n].nodeName)if(3!==b.nodeType||r&&""===b.nodeValue){var y=document.createElement("div");y.innerHTML="&#8203;",3!==b.nodeType?(b.insertBefore(y.firstChild,b.firstChild),e[n]=b.firstChild):(b.parentNode.insertBefore(y.firstChild,b),e[n]=b.previousSibling,b.parentNode.removeChild(b))}else e[n]=b}}var C;"backgroundcolor"===d&&(C=i.style.fontSize);var N;if("fontsize"===d){var S=t.closest(e[n].parentElement,"span[style*=background-color]");t.isNullOrUndefined(S)||(N=S.style.backgroundColor)}var E=i.getAttribute("style"),T=i.tagName,w=To.unwrap(i);if(w[0]&&!s)for(var O=w[n]?w[n]:w[0],L=O;O&&O.parentElement&&O.parentElement!==h;O=O){var x=void 0;if(x="SPAN"===i.nodeName?O.parentElement.tagName.toLocaleLowerCase()===i.tagName.toLocaleLowerCase()&&O.parentElement.getAttribute("style")===E:O.parentElement.tagName.toLocaleLowerCase()===i.tagName.toLocaleLowerCase(),O.parentElement&&x&&(O.parentElement.childElementCount>1||a.startOffset>1)){if(L.parentElement&&L.parentElement.tagName.toLocaleLowerCase()===i.tagName.toLocaleLowerCase()&&a.startOffset===a.endOffset&&1!==L.nodeType&&!t.isNullOrUndefined(L.textContent)&&L.parentElement.childElementCount>1&&(a.setStart(L,0),a.setEnd(L,L.textContent.length),l.SplitNode(a,L.parentElement,!1)),"span"===O.parentElement.tagName.toLocaleLowerCase()&&"underline"===i.style.textDecoration&&"underline"!==O.parentElement.style.textDecoration){O=O.parentElement;continue}To.unwrap(O.parentElement),O=t.isNullOrUndefined(O.parentElement)||u.isBlockNode(O.parentElement)?O.parentElement:L}else O=O.parentElement}if(w.length>0&&s){for(var k=0;k<w.length;k++)(3!==w[k].nodeType||w[k].textContent&&w[k].textContent.trim().length>0)&&(w[k]=To.Wrap(w[k],this.GetFormatNode(d,c,T,E)),w[k].textContent===g&&(0===k?a.setStartBefore(w[k]):k===w.length-1&&a.setEndAfter(w[k])));var D=e[n].parentElement;if(t.isNullOrUndefined(C)||""===C||(D.style.fontSize=C),t.isNullOrUndefined(N)||""===N||(D.style.backgroundColor=N),"backgroundcolor"===d&&!t.isNullOrUndefined(C)&&""!==C&&D.parentElement.innerHTML===D.outerHTML){var M=D.parentElement;M.parentElement.insertBefore(D,M),t.detach(M)}if("fontsize"===d||"fontcolor"===d){for(var R=e[n].parentElement,I=e[n].parentElement;!t.isNullOrUndefined(I)&&"li"!==I.tagName.toLowerCase();)R=I=I.parentElement;t.isNullOrUndefined(R)||"li"!==R.tagName.toLowerCase()||R.textContent.trim()!==e[n].textContent.trim()||("fontsize"===d?R.style.fontSize=c:(R.style.color=c,R.style.textDecoration="inherit"))}}return e[n]},e.insertFormat=function(e,n,i,r,o,s,a,l,d,c,p){if(o)if("uppercase"!==c&&"lowercase"!==c){h=this.getInsertNode(e,l,c,p);n[i]=h.firstChild,d.position=1}else d.position=l.startOffset;else if(null===r&&s||a){if("BR"!==n[i].nodeName&&(n[i]=d.GetSpliceNode(l,n[i]),n[i].textContent=d.TrimLineBreak(n[i].textContent)),"uppercase"===c||"lowercase"===c)n[i].textContent="uppercase"===c?n[i].textContent.toLocaleUpperCase():n[i].textContent.toLocaleLowerCase();else if(!0!==a||""!==p){var h=this.GetFormatNode(c,p);if("fontsize"===c||"fontcolor"===c){for(var u=n[i].parentElement,m=n[i].parentElement;!t.isNullOrUndefined(m)&&"li"!==m.tagName.toLowerCase();)u=m=m.parentElement;if(t.isNullOrUndefined(u)||"li"!==u.tagName.toLowerCase()||u.textContent.trim()!==n[i].textContent.trim()||("fontsize"===c?u.style.fontSize=p:(u.style.color=p,u.style.textDecoration="inherit")),n[i]=this.applyStyles(n,i,h),"fontsize"===c){var g=t.closest(n[i].parentElement,"span[style*=background-color]");t.isNullOrUndefined(g)||(n[i].parentElement.style.backgroundColor=g.style.backgroundColor)}}else n[i]=this.applyStyles(n,i,h)}}else n[i]=d.GetSpliceNode(l,n[i]);return n[i]},e.applyStyles=function(e,t,n){return"BR"===e[t].nodeName&&"BR"===this.enterAction||(e[t]=t===e.length-1||"BR"===e[t].nodeName?To.Wrap(e[t],n):To.WrapBefore(e[t],n,!0),e[t]=this.getChildNode(e[t],n)),e[t]},e.getInsertNode=function(e,n,i,r){var o=this.GetFormatNode(i,r);if(o.innerHTML="&#8203;",t.Browser.isIE){var s=e.createDocumentFragment();s.appendChild(o),n.insertNode(s)}else n.insertNode(o);return o},e.getChildNode=function(e,t){return void 0!==e&&null!==e||(t.innerHTML="&#8203;",e=t.firstChild),e},e.applySelection=function(e,t,n,i,r){return 1!==e.length||r?1===e.length&&r?(t.startContainer=t.getNodeArray(e[i],!0),t.endContainer=t.startContainer,t.startOffset=n.position,t.endOffset=n.position):0===i?(t.startContainer=t.getNodeArray(e[i],!0),t.startOffset=0):i===e.length-1&&(t.endContainer=t.getNodeArray(e[i],!1),t.endOffset=e[i].textContent.length):(t.startContainer=t.getNodeArray(e[i],!0),t.endContainer=t.startContainer,t.startOffset=0,t.endOffset=e[i].textContent.length),t},e.GetFormatNode=function(e,t,n,i){var r;switch(e){case"bold":return document.createElement("strong");case"italic":return document.createElement("em");case"underline":return r=document.createElement("span"),this.updateStyles(r,n,i),r.style.textDecoration="underline",r;case"strikethrough":return r=document.createElement("span"),this.updateStyles(r,n,i),r.style.textDecoration="line-through",r;case"superscript":return document.createElement("sup");case"subscript":return document.createElement("sub");case"fontcolor":return r=document.createElement("span"),this.updateStyles(r,n,i),r.style.color=t,r.style.textDecoration="inherit",r;case"fontname":return r=document.createElement("span"),this.updateStyles(r,n,i),r.style.fontFamily=t,r;case"fontsize":return r=document.createElement("span"),this.updateStyles(r,n,i),r.style.fontSize=t,r;default:return r=document.createElement("span"),this.updateStyles(r,n,i),r.style.backgroundColor=t,r}},e.updateStyles=function(e,t,n){null!==n&&"SPAN"===t&&e.setAttribute("style",n)},e.enterAction="P",e}(),zo=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(go,this.applySelection,this),this.parent.observer.on(fr,this.keyDownHandler,this)},e.prototype.keyDownHandler=function(e){e.event.ctrlKey&&["bold","italic","underline","strikethrough","superscript","subscript","uppercase","lowercase"].indexOf(e.event.action)>-1&&(e.event.preventDefault(),qo.applyFormat(this.parent.currentDocument,e.event.action,this.parent.editableElement,e.enterAction),this.callBack(e,e.event.action))},e.prototype.applySelection=function(e){qo.applyFormat(this.parent.currentDocument,e.subCommand.toLocaleLowerCase(),this.parent.editableElement,e.enterAction,e.value,e.selector),this.callBack(e,e.subCommand)},e.prototype.callBack=function(e,t){e.callBack&&e.callBack({requestType:t,event:e.event,editorMode:"HTML",range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})},e}(),_o=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(fo,this.applyHtml,this)},e.prototype.applyHtml=function(e){if(Lo.Insert(this.parent.currentDocument,e.value,this.parent.editableElement,!0),"pasteCleanup"===e.subCommand){var t=this.parent.editableElement.querySelectorAll(".pasteContent_RTE"),n=[].slice.call(t),i=this.parent.editableElement.querySelectorAll(".pasteContent_Img"),r=[].slice.call(i);e.callBack({requestType:e.subCommand,editorMode:"HTML",elements:n,imgElem:r})}else e.callBack&&e.callBack({requestType:e.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})},e}(),Wo=function(){function e(){}return e.clear=function(e,n,i,r){this.domNode=new So(n,e),this.defaultTag="P"===i?this.defaultTag:"div";var o=new Co,s=new wo,a=o.getRange(e),l=a.collapsed,d=o.getInsertNodeCollection(a),c=o.save(a,e);if(!l){var p=void 0;if(p="BR"===d[0].nodeName&&t.closest(d[0],"table")?s.GetSpliceNode(a,t.closest(d[0],"table")):s.GetSpliceNode(a,d[d.length>1&&"IMG"===d[0].nodeName?1:0]),1===d.length)o.setSelectionContents(e,p),a=o.getRange(e);else{for(var h=1,u=d[d.length-h];d.length<=h&&"BR"===d[d.length-h].nodeName;)h++,u=d[d.length-h];var m=s.GetSpliceNode(a,u);o.setSelectionText(e,p,m,0,3===m.nodeType?m.textContent.length:m.childNodes.length),a=o.getRange(e)}var g=o.getNodeCollection(a),f=g.slice();this.clearInlines(o.getSelectionNodes(f),f,o.getRange(e),s,n),this.reSelection(e,c,g),a=o.getRange(e);var b=(g=o.getNodeCollection(a)).slice();this.clearBlocks(e,b,n,s,o),I()&&B(n,r),this.reSelection(e,c,g)}},e.reSelection=function(e,t,n){var i=t.getInsertNodes(n);t.startContainer=t.getNodeArray(i[0],!0,e),t.startOffset=0,t.endContainer=t.getNodeArray(i[i.length-1],!1,e);var r=i[i.length-1];t.endOffset=3===r.nodeType?r.textContent.length:r.childNodes.length,t.restore()},e.clearBlocks=function(e,t,n,i,r){for(var o=[],s=0;s<t.length;s++)this.BLOCK_TAGS.indexOf(t[s].nodeName.toLocaleLowerCase())>-1&&-1===o.indexOf(t[s])?o.push(t[s]):this.BLOCK_TAGS.indexOf(t[s].parentNode.nodeName.toLocaleLowerCase())>-1&&-1===o.indexOf(t[s].parentNode)&&n!==t[s].parentNode&&o.push(t[s].parentNode);o=this.spliceParent(o,t)[0],o=this.removeParent(o),this.unWrap(e,o,i,r)},e.spliceParent=function(e,t){for(var n=0;n<e.length;n++)for(var i=e[n].childNodes.length,r=0;r<i;r++)if(t.indexOf(e[n].childNodes[r])>0&&e[n].childNodes[r].childNodes.length>0&&(t=this.spliceParent([e[n].childNodes[r]],t)[1]),t.indexOf(e[n].childNodes[r])<=-1&&""!==e[n].childNodes[r].textContent.trim()){for(var o=0;o<i;o++)t.indexOf(e[n].childNodes[o])>-1&&t.splice(t.indexOf(e[n].childNodes[o]),1);r=e[n].childNodes.length;var s=e.indexOf(e[n].parentNode),a=t.indexOf(e[n].parentNode);s>-1&&e.splice(s,1),a>-1&&t.splice(a,1);var l=t.indexOf(e[n]);l>-1&&t.splice(l,1),e.splice(n,1),n--}return[e,t]},e.removeChild=function(e,t){var n=t.childNodes.length;if(n>0)for(var i=0;i<n;i++)e.indexOf(t.childNodes[i])>-1&&(e=this.removeChild(e,t.childNodes[i])).splice(e.indexOf(t.childNodes[i]),1);return e},e.removeParent=function(e){for(var t=0;t<e.length;t++)e.indexOf(e[t].parentNode)>-1&&((e=this.removeChild(e,e[t])).splice(t,1),t--);return e},e.unWrap=function(e,t,n,i){for(var r=0;r<t.length;r++)if(this.NONVALID_TAGS.indexOf(t[r].nodeName.toLowerCase())>-1&&t[r].parentNode&&this.NONVALID_PARENT_TAGS.indexOf(t[r].parentNode.nodeName.toLowerCase())>-1&&(i.setSelectionText(e,t[r],t[r],0,t[r].childNodes.length),To.unwrap(n.GetSpliceNode(i.getRange(e),t[r].parentNode))),"p"!==t[r].nodeName.toLocaleLowerCase()){!(this.NONVALID_PARENT_TAGS.indexOf(t[r].nodeName.toLowerCase())<0&&"p"!==t[r].parentNode.nodeName.toLocaleLowerCase())||("blockquote"===t[r].nodeName.toLocaleLowerCase()||"li"===t[r].nodeName.toLocaleLowerCase())&&this.IGNORE_PARENT_TAGS.indexOf(t[r].childNodes[0].nodeName.toLocaleLowerCase())>-1||1===t[r].childNodes.length&&"p"===t[r].childNodes[0].nodeName.toLocaleLowerCase()||To.Wrap(t[r],e.createElement(this.defaultTag));var o=To.unwrap(t[r]);1===o.length&&"p"===o[0].parentNode.nodeName.toLocaleLowerCase()&&(To.Wrap(t[r],e.createElement(this.defaultTag)),To.unwrap(t[r]));for(var s=0;s<o.length;s++)if(this.NONVALID_TAGS.indexOf(o[s].nodeName.toLowerCase())>-1)this.unWrap(e,[o[s]],n,i);else if(this.BLOCK_TAGS.indexOf(o[s].nodeName.toLocaleLowerCase())>-1&&"p"!==o[s].nodeName.toLocaleLowerCase()){var a=this.removeParent([o[s]]);this.unWrap(e,a,n,i)}else this.BLOCK_TAGS.indexOf(o[s].nodeName.toLocaleLowerCase())>-1&&o[s].parentNode.nodeName.toLocaleLowerCase()===o[s].nodeName.toLocaleLowerCase()?To.unwrap(o[s]):this.BLOCK_TAGS.indexOf(o[s].nodeName.toLocaleLowerCase())>-1&&"p"===o[s].nodeName.toLocaleLowerCase()&&(To.Wrap(o[s],e.createElement(this.defaultTag)),To.unwrap(o[s]))}else To.Wrap(t[r],e.createElement(this.defaultTag)),To.unwrap(t[r])},e.clearInlines=function(e,t,n,i,r){for(var o=0;o<e.length;o++){for(var s=e[o],a=void 0;!this.domNode.isBlockNode(s)&&s.parentElement&&!s.parentElement.classList.contains("e-img-inner");)a=s,s=s.parentElement;a&&Fo.inlineTags.indexOf(a.nodeName.toLocaleLowerCase())>-1&&(i.GetSpliceNode(n,a),this.removeInlineParent(a))}},e.removeInlineParent=function(e){for(var t=To.unwrap(e),n=0;n<t.length;n++)1===t[n].parentNode.childNodes.length&&!t[n].parentNode.classList.contains("e-img-inner")&&Fo.inlineTags.indexOf(t[n].parentNode.nodeName.toLocaleLowerCase())>-1?this.removeInlineParent(t[n].parentNode):Fo.inlineTags.indexOf(t[n].nodeName.toLocaleLowerCase())>-1&&this.removeInlineParent(t[n])},e.BLOCK_TAGS=["address","article","aside","blockquote","details","dd","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","li","main","nav","noscript","ol","p","pre","section","ul"],e.NONVALID_PARENT_TAGS=["thead","tbody","ul","ol","table","tfoot","tr"],e.IGNORE_PARENT_TAGS=["ul","ol","table"],e.NONVALID_TAGS=["thead","tbody","figcaption","td","tr","th","tfoot","figcaption","li"],e.defaultTag="p",e}(),Qo=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(vo,this.applyClear,this),this.parent.observer.on(fr,this.onKeyDown,this)},e.prototype.onKeyDown=function(e){switch(e.event.action){case"clear-format":this.applyClear({subCommand:"ClearFormat",callBack:e.callBack,enterAction:e.enterAction}),e.event.preventDefault()}},e.prototype.applyClear=function(e){"ClearFormat"===e.subCommand&&(Wo.clear(this.parent.currentDocument,this.parent.editableElement,e.enterAction,e.selector),e.callBack&&e.callBack({requestType:e.subCommand,event:e.event,editorMode:"HTML",range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)}))},e}(),Vo=function(){function e(e,n){this.undoRedoStack=[],this.parent=e,this.undoRedoSteps=t.isNullOrUndefined(n)?30:n.undoRedoSteps,this.undoRedoTimer=t.isNullOrUndefined(n)?300:n.undoRedoTimer,this.addEventListener()}return e.prototype.addEventListener=function(){var e=t.debounce(this.keyUp,this.undoRedoTimer);this.parent.observer.on(br,e,this),this.parent.observer.on(fr,this.keyDown,this),this.parent.observer.on(mr,this.onAction,this),this.parent.observer.on(vr,this.onPropertyChanged,this)},e.prototype.onPropertyChanged=function(e){for(var t=0,n=Object.keys(e.newProp);t<n.length;t++){switch(n[t]){case"undoRedoSteps":this.undoRedoSteps=e.newProp.undoRedoSteps;break;case"undoRedoTimer":this.undoRedoTimer=e.newProp.undoRedoTimer}}},e.prototype.removeEventListener=function(){this.parent.observer.off(br,this.keyUp),this.parent.observer.off(fr,this.keyDown),this.parent.observer.off(mr,this.onAction)},e.prototype.onAction=function(e){"Undo"===e.subCommand?this.undo(e):this.redo(e)},e.prototype.destroy=function(){this.removeEventListener()},e.prototype.keyDown=function(e){var t=e.event;switch(t.action){case"undo":t.preventDefault(),this.undo(e);break;case"redo":t.preventDefault(),this.redo(e)}},e.prototype.keyUp=function(e){17===e.event.keyCode||e.event.ctrlKey||this.saveData(e)},e.prototype.saveData=function(e){for(var n=(new Co).getRange(this.parent.currentDocument),i=this.parent.editableElement===n.startContainer.parentElement?n.startContainer.parentElement:n.startContainer,r=i.childNodes.length-1;r>=0;r--)!t.isNullOrUndefined(i.childNodes[r])&&"#text"===i.childNodes[r].nodeName&&0===i.childNodes[r].textContent.length&&"IMG"!==i.childNodes[r].nodeName&&"BR"!==i.childNodes[r].nodeName&&i.childNodes[r].nodeName&&t.detach(i.childNodes[r]);n=(new Co).getRange(this.parent.currentDocument);var o=(new Co).save(n,this.parent.currentDocument),s={text:this.parent.editableElement.innerHTML,range:o};this.undoRedoStack.length>=this.steps&&(this.undoRedoStack=this.undoRedoStack.slice(0,this.steps+1)),this.undoRedoStack.length>1&&this.undoRedoStack[this.undoRedoStack.length-1].range.range.collapsed===n.collapsed&&this.undoRedoStack[this.undoRedoStack.length-1].range.startOffset===o.range.startOffset&&this.undoRedoStack[this.undoRedoStack.length-1].range.endOffset===o.range.endOffset&&this.undoRedoStack[this.undoRedoStack.length-1].range.range.startContainer===o.range.startContainer&&this.undoRedoStack[this.undoRedoStack.length-1].text.trim()===s.text.trim()||(this.undoRedoStack.push(s),this.steps=this.undoRedoStack.length-1,this.steps>this.undoRedoSteps&&(this.undoRedoStack.shift(),this.steps--),e&&e.callBack&&e.callBack())},e.prototype.undo=function(e){if(this.steps>0){var t=this.undoRedoStack[this.steps-1].range,n=this.undoRedoStack[this.steps-1].text;this.parent.editableElement.innerHTML=n,this.parent.editableElement.focus(),I()&&B(this.parent.editableElement,e.selector),t.restore(),this.steps--,e.callBack&&e.callBack({requestType:"Undo",editorMode:"HTML",range:t,elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument),event:e.event})}},e.prototype.redo=function(e){if(null!=this.undoRedoStack[this.steps+1]){var t=this.undoRedoStack[this.steps+1].range;this.parent.editableElement.innerHTML=this.undoRedoStack[this.steps+1].text,this.parent.editableElement.focus(),I()&&B(this.parent.editableElement,e.selector),t.restore(),this.steps++,e.callBack&&e.callBack({requestType:"Redo",editorMode:"HTML",range:t,elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument),event:e.event})}},e.prototype.getUndoStatus=function(){var e={undo:!1,redo:!1};return this.steps>0&&(e.undo=!0),null!=this.undoRedoStack[this.steps+1]&&(e.redo=!0),e},e}(),Go=function(){function e(e){this.olData=["decimal","lower-alpha","lower-roman","upper-alpha","upper-roman","lower-greek"],this.ulData=["disc","square","circle","disc","square","circle"],this.ignorableNodes=["A","APPLET","B","BLOCKQUOTE","BR","BUTTON","CENTER","CODE","COL","COLGROUP","DD","DEL","DFN","DIR","DIV","DL","DT","EM","FIELDSET","FONT","FORM","FRAME","FRAMESET","H1","H2","H3","H4","H5","H6","HR","I","IMG","IFRAME","INPUT","INS","LABEL","LI","OL","OPTION","P","PARAM","PRE","Q","S","SELECT","SPAN","STRIKE","STRONG","SUB","SUP","TABLE","TBODY","TD","TEXTAREA","TFOOT","TH","THEAD","TITLE","TR","TT","U","UL"],this.blockNode=["div","p","h1","h2","h3","h4","h5","h6","address","blockquote","button","center","dd","dir","dl","dt","fieldset","frameset","hr","iframe","isindex","li","map","menu","noframes","noscript","object","ol","pre","table","tbody","td","tfoot","th","thead","tr","ul","header","article","nav","footer","section","aside","main","figure","figcaption"],this.borderStyle=["border-top","border-right","border-bottom","border-left"],this.removableElements=["o:p","style"],this.listContents=[],this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(Cr,this.wordCleanup,this)},e.prototype.wordCleanup=function(e){var n=t.isNullOrUndefined(e.allowedStylePropertiesArray)?[]:e.allowedStylePropertiesArray,i=[],r=e.args.clipboardData.getData("text/HTML"),o=e.args.clipboardData.getData("text/rtf"),s=t.createElement("p");s.setAttribute("id","MSWord-Content"),s.innerHTML=r;var a=/style='mso-width-source:/i;/class='?Mso|style='[^ ]*\bmso-/i.test(r)||/class="?Mso|style="[^ ]*\bmso-/i.test(r)||/(class="?Mso|class='?Mso|class="?Xl|class='?Xl|class=Xl|style="[^"]*\bmso-|style='[^']*\bmso-|w:WordDocument)/gi.test(r)||a.test(r)?(this.imageConversion(s,o),r=r.replace(/<img[^>]+>/i,""),this.addListClass(s),i=this.cleanUp(s,i),t.isNullOrUndefined(i[0])||"UL"===i[0].parentElement.tagName||"OL"===i[0].parentElement.tagName||this.listConverter(i),this.styleCorrection(s,n),this.removingComments(s),this.removeUnwantedElements(s),this.removeEmptyElements(s),this.breakLineAddition(s),this.removeClassName(s),a.test(r)&&this.addTableBorderClass(s),e.callBack(s.innerHTML)):e.callBack(s.innerHTML)},e.prototype.addListClass=function(e){for(var n=e.querySelectorAll("*"),i=0;i<n.length;i++)!t.isNullOrUndefined(n[i].getAttribute("style"))&&n[i].getAttribute("style").replace(/ /g,"").replace("\n","").indexOf("mso-list:l")>=0&&-1===n[i].className.toLowerCase().indexOf("msolistparagraph")&&"H"!==n[i].tagName.charAt(0)&&n[i].classList.add("msolistparagraph")},e.prototype.addTableBorderClass=function(e){for(var t=e.querySelectorAll("table"),n=!1,i=0;i<t.length;i++){for(var r=0;r<this.borderStyle.length;r++)if(t[i].innerHTML.indexOf(this.borderStyle[r])>=0){n=!0;break}n&&(t[i].classList.add("e-rte-table-border"),n=!1)}},e.prototype.imageConversion=function(e,n){this.checkVShape(e);for(var i=e.querySelectorAll("img"),r=0;r<i.length;r++)!t.isNullOrUndefined(i[r].getAttribute("v:shapes"))&&i[r].getAttribute("v:shapes").indexOf("Picture")<0&&i[r].getAttribute("v:shapes").indexOf("Image")<0&&t.detach(i[r]);i=e.querySelectorAll("img");var o=[],s=[],a=[],l=new RegExp(/([^\S]|^)(((https?\:\/\/)|(www\.))(\S+))/gi);if(i.length>0){for(r=0;r<i.length;r++)o.push(i[r].getAttribute("src")),a.push(i[r].getAttribute("src").split("/")[i[r].getAttribute("src").split("/").length-1].split(".")[0]);var d=this.hexConversion(n);for(r=0;r<d.length;r++)s.push(this.convertToBase64(d[r]));for(r=0;r<i.length;r++)o[r].match(l)?i[r].setAttribute("src",o[r]):i[r].setAttribute("src",s[r]),i[r].setAttribute("id","msWordImg-"+a[r])}},e.prototype.checkVShape=function(e){for(var n=e.querySelectorAll("*"),i=0;i<n.length;i++)switch(n[i].nodeName){case"V:SHAPETYPE":t.detach(n[i]);break;case"V:SHAPE":if("V:IMAGEDATA"===n[i].firstElementChild.nodeName){var r=n[i].firstElementChild.getAttribute("src"),o=t.createElement("img");o.setAttribute("src",r),n[i].parentElement.insertBefore(o,n[i]),t.detach(n[i])}}},e.prototype.convertToBase64=function(e){var t=this.conHexStringToBytes(e.hex),n=this.conBytesToBase64(t);return e.type?"data:"+e.type+";base64,"+n:null},e.prototype.conBytesToBase64=function(e){for(var t="",n=e.length,i=0;i<n;i+=3){var r=e.slice(i,i+3),o=r.length,s=[];if(o<3)for(var a=o;a<3;a++)r[a]=0;s[0]=(252&r[0])>>2,s[1]=(3&r[0])<<4|r[1]>>4,s[2]=(15&r[1])<<2|(192&r[2])>>6,s[3]=63&r[2];for(a=0;a<4;a++)t+=a<=o?"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(s[a]):"="}return t},e.prototype.conHexStringToBytes=function(e){for(var t=[],n=e.length/2,i=0;i<n;i++)t.push(parseInt(e.substr(2*i,2),16));return t},e.prototype.hexConversion=function(e){var n,i=/\{\\pict[\s\S]+?\\bliptag\-?\d+(\\blipupi\-?\d+)?(\{\\\*\\blipuid\s?[\da-fA-F]+)?[\s\}]*?/,r=new RegExp("(?:("+i.source+"))([\\da-fA-F\\s]+)\\}","g"),o=e.match(r),s=[];if(!t.isNullOrUndefined(o))for(var a=0;a<o.length;a++)if(i.test(o[a])){if(-1!==o[a].indexOf("\\pngblip"))n="image/png";else{if(-1===o[a].indexOf("\\jpegblip"))continue;n="image/jpeg"}s.push({hex:n?o[a].replace(i,"").replace(/[^\da-fA-F]/g,""):null,type:n})}return s},e.prototype.removeClassName=function(e){for(var t=e.querySelectorAll("*[class]"),n=0;n<t.length;n++)t[n].removeAttribute("class")},e.prototype.breakLineAddition=function(e){for(var n=e.querySelectorAll("*"),i=0;i<n.length;i++)if(0===n[i].children.length&&"&nbsp;"===n[i].innerHTML&&"&nbsp;"===n[i].innerHTML&&!n[i].closest("li")&&!n[i].closest("td")){var r=this.findDetachElem(n[i]),o=t.createElement("br");t.isNullOrUndefined(r.parentElement)||(r.parentElement.insertBefore(o,r),t.detach(r))}},e.prototype.findDetachElem=function(e){return!t.isNullOrUndefined(e.parentElement)&&""===e.parentElement.textContent.trim()&&"TD"!==e.parentElement.tagName&&t.isNullOrUndefined(e.parentElement.querySelector("img"))?this.findDetachElem(e.parentElement):e},e.prototype.removeUnwantedElements=function(e){for(var t=e.innerHTML,n=0;n<this.removableElements.length;n++){var i=new RegExp("<"+this.removableElements[n]+">","g"),r=new RegExp("</"+this.removableElements[n]+">","g");t=(t=t.replace(i,"")).replace(r,"")}e.innerHTML=t,e.querySelectorAll(":empty")},e.prototype.findDetachEmptyElem=function(e){return t.isNullOrUndefined(e.parentElement)?null:""===e.parentElement.textContent.trim()&&"MSWord-Content"!==e.parentElement.getAttribute("id")&&t.isNullOrUndefined(e.parentElement.querySelector("img"))?this.findDetachEmptyElem(e.parentElement):e},e.prototype.removeEmptyElements=function(e){for(var n=e.querySelectorAll(":empty"),i=0;i<n.length;i++)if(t.isNullOrUndefined(n[i].closest("td"))||t.isNullOrUndefined(n[i].closest("td").querySelector(".MsoNormal"))||(n[i].innerHTML="-"),"IMG"!==n[i].tagName&&"BR"!==n[i].tagName&&"IFRAME"!==n[i].tagName&&"TD"!==n[i].tagName&&"HR"!==n[i].tagName){var r=this.findDetachEmptyElem(n[i]);t.isNullOrUndefined(r)||t.detach(r)}},e.prototype.styleCorrection=function(e,n){var i=e.querySelectorAll("style");if(i.length>0){var r=i[0].innerHTML.match(/[\S ]+\s+{[\s\S]+?}/gi),o=t.isNullOrUndefined(r)?null:this.findStyleObject(r),s=Object.keys(o),a=s.map(function(e){return o[e]});a=this.removeUnwantedStyle(a,n),this.filterStyles(e,n);for(var l=void 0,d=!1,c=0;c<s.length;c++){if(""===s[c].split(".")[0])l=e.getElementsByClassName(s[c].split(".")[1]),d=!0;else{if(1===s[c].split(".").length&&s[c].split(".")[0].indexOf("@")>=0)continue;l=1===s[c].split(".").length&&s[c].split(".")[0].indexOf("@")<0?e.getElementsByTagName(s[c]):e.querySelectorAll(s[c])}for(var p=0;p<l.length;p++){var h=l[p].getAttribute("style");if(t.isNullOrUndefined(h)||""===h.trim())a[c]=a[c].replace(/text-indent:-(.*?)(?=;|$)/gm,""),l[p].setAttribute("style",a[c]);else{var u=a[c].split(";");if(!d)for(var m=0;m<u.length;m++)h.indexOf(u[m].split(":")[0])>=0&&(u.splice(m,1),m--);a[c]=u.join(";")+";";var g=h+a[c];l[p].setAttribute("style",g)}}d=!1}}},e.prototype.filterStyles=function(e,t){for(var n=e.querySelectorAll("*[style]"),i=0;i<n.length;i++){for(var r=n[i].getAttribute("style").split(";"),o="",s=0;s<r.length;s++)t.indexOf(r[s].split(":")[0].trim())>=0&&(o+=r[s]+";");n[i].setAttribute("style",o)}},e.prototype.removeUnwantedStyle=function(e,t){for(var n=0;n<e.length;n++){var i=e[n].split(";");e[n]="";for(var r=0;r<i.length;r++)t.indexOf(i[r].split(":")[0])>=0&&(e[n]+=i[r]+";")}return e},e.prototype.findStyleObject=function(e){for(var t={},n=0;n<e.length;n++){var i=e[n],r=i.replace(/([\S ]+\s+){[\s\S]+?}/gi,"$1"),o=i.replace(/[\S ]+\s+{([\s\S]+?)}/gi,"$1");r=r.replace(/^[\s]|[\s]$/gm,""),o=o.replace(/^[\s]|[\s]$/gm,""),r=r.replace(/\n|\r|\n\r/g,""),o=o.replace(/\n|\r|\n\r/g,"");for(var s=r.split(", "),a=0;a<s.length;a++)t[s[a]]=o}return t},e.prototype.removingComments=function(e){var t=e.innerHTML;t=t.replace(/<!--[\s\S]*?-->/g,""),e.innerHTML=t},e.prototype.cleanUp=function(e,n){for(var i,r=[],o=e.querySelectorAll("*"),s=0;s<o.length;s++)-1===this.ignorableNodes.indexOf(o[s].nodeName)||3===o[s].nodeType&&""===o[s].textContent.trim()?r.push(o[s]):(o[s].className&&-1!==o[s].className.toLowerCase().indexOf("msolistparagraph")&&1!==o[s].childElementCount&&!t.isNullOrUndefined(o[s].getAttribute("style"))&&o[s].getAttribute("style").indexOf("mso-list:")>=0&&(o[s].className.indexOf("MsoListParagraphCxSpFirst")>=0&&n.length>0&&null!==n[n.length-1]&&n.push(null),n.push(o[s])),!i||-1===this.blockNode.indexOf(o[s].nodeName.toLowerCase())||o[s].className&&-1!==o[s].className.toLowerCase().indexOf("msolistparagraph")&&!t.isNullOrUndefined(o[s].getAttribute("style"))&&o[s].getAttribute("style").indexOf("mso-list:")>=0||n.push(null),-1!==this.blockNode.indexOf(o[s].nodeName.toLowerCase())&&(i=!!(o[s].className&&-1!==o[s].className.toLowerCase().indexOf("msolistparagraph")&&!t.isNullOrUndefined(o[s].getAttribute("style"))&&o[s].getAttribute("style").indexOf("mso-list:")>=0)));return n.length&&null!==n[n.length-1]&&n.push(null),n},e.prototype.listConverter=function(e){for(var n,i,r=[],o=[],s="",a="",l=0;l<e.length;l++)if(null!==e[l]){e[l].getAttribute("style")&&-1!==e[l].getAttribute("style").indexOf("mso-outline-level")&&e[l].setAttribute("style",e[l].getAttribute("style").replace("mso-outline-level","mso-outline")),n=(s=e[l].getAttribute("style"))&&-1!==s.indexOf("level")?parseInt(s.charAt(s.indexOf("level")+5),null):1,this.listContents=[],this.getListContent(e[l]);var d=void 0,c=void 0;if(!t.isNullOrUndefined(this.listContents[0])){d=this.listContents[0].trim().length>1?"ol":"ul",c=this.getlistStyleType(this.listContents[0],d);for(var p=[],h=1;h<this.listContents.length;h++)p.push(this.listContents[h]);var u=void 0;t.isNullOrUndefined(e[l].className)||(u=e[l].className),t.isNullOrUndefined(e[l].getAttribute("style"))||(e[l].setAttribute("style",e[l].getAttribute("style").replace("text-align:start;","")),""!==e[l].style.textAlign&&(e[l].setAttribute("style","text-align:"+e[l].style.textAlign),a=e[l].getAttribute("style"))),o.push({listType:d,content:p,nestedLevel:n,class:u,listStyle:a,listStyleTypeName:c})}}else r.push({content:this.makeConversion(o),node:e[l-1]}),o=[];for(i=e.shift();i;){for(var m=[],g=0;g<r.length;g++)if(r[g].node===i){for(var f=0;f<r[g].content.childNodes.length;f++)m.push(r[g].content.childNodes[f]);for(f=0;f<m.length;f++)i.parentElement.insertBefore(m[f],i);break}i.remove(),(i=e.shift())||(i=e.shift())}},e.prototype.getlistStyleType=function(e,t){var n;if("ol"===t)switch(e.split(".")[0]){case"A":n="upper-alpha";break;case"a":n="lower-alpha";break;case"I":n="upper-roman";break;case"i":n="lower-roman";break;case"α":n="lower-greek";break;default:n="decimal"}else switch(e.split(".")[0]){case"o":n="circle";break;case"§":n="square";break;default:n="disc"}return n},e.prototype.makeConversion=function(e){for(var n,i,r,o=t.createElement("div"),s=1,a=0,l=0;l<e.length;l++){var d=t.createElement("p");if(d.innerHTML=e[l].content.join(" "),1===e[l].nestedLevel&&0===a&&e[l].content)o.appendChild(n=t.createElement(e[l].listType)),(i=t.createElement("li")).appendChild(d),n.appendChild(i),n.setAttribute("level",e[l].nestedLevel.toString()),n.style.listStyleType=e[l].listStyleTypeName;else if(e[l].nestedLevel===s)i.parentElement.tagName.toLowerCase()===e[l].listType?(i.parentElement.appendChild(i=t.createElement("li")),i.appendChild(d)):((n=t.createElement(e[l].listType)).style.listStyleType=e[l].listStyleTypeName,i.parentElement.parentElement.appendChild(n),(i=t.createElement("li")).appendChild(d),n.appendChild(i),n.setAttribute("level",e[l].nestedLevel.toString()));else if(e[l].nestedLevel>s)if(t.isNullOrUndefined(i))o.appendChild(n=t.createElement(e[l].listType)),(i=t.createElement("li")).appendChild(d),n.appendChild(i),n.setAttribute("level",e[l].nestedLevel.toString()),n.style.listStyleType=e[l].listStyleTypeName;else{for(var c=0;c<e[l].nestedLevel-s;c++)i.appendChild(n=t.createElement(e[l].listType)),i=t.createElement("li"),c!=e[l].nestedLevel-s-1&&e[l].nestedLevel-s>1&&(i.style.listStyleType="none"),n.appendChild(i);i.appendChild(d),n.setAttribute("level",e[l].nestedLevel.toString()),n.style.listStyleType=e[l].listStyleTypeName}else if(1===e[l].nestedLevel)o.lastChild.tagName.toLowerCase()===e[l].listType?n=o.lastChild:(o.appendChild(n=t.createElement(e[l].listType)),n.style.listStyleType=e[l].listStyleTypeName),(i=t.createElement("li")).appendChild(d),n.appendChild(i),n.setAttribute("level",e[l].nestedLevel.toString());else for(r=i;r.parentElement;)if((r=r.parentElement).attributes.getNamedItem("level")){if(parseInt(r.attributes.getNamedItem("level").textContent,null)===e[l].nestedLevel){(i=t.createElement("li")).appendChild(d),r.appendChild(i);break}if(e[l].nestedLevel>parseInt(r.attributes.getNamedItem("level").textContent,null)){r.appendChild(n=t.createElement(e[l].listType)),(i=t.createElement("li")).appendChild(d),n.appendChild(i),n.setAttribute("level",e[l].nestedLevel.toString()),n.style.listStyleType=e[l].listStyleTypeName;break}}i.setAttribute("class",e[l].class);var p=i.getAttribute("style");i.setAttribute("style",t.isNullOrUndefined(p)?"":p),s=e[l].nestedLevel,a++}return o},e.prototype.getListContent=function(e){var n="",i=e.firstElementChild;if(""!==i.textContent.trim()||t.isNullOrUndefined(i.firstElementChild)||"IMG"!==i.firstElementChild.nodeName){var r=["b","em"];if(i.childNodes.length>0&&(i.querySelectorAll("b").length>0||i.querySelectorAll("em").length>0))for(var o=0;o<i.childNodes.length;o++){var s=i.childNodes[o].nodeName.toLowerCase();i.childNodes[o].textContent.trim().length>1&&-1!==r.indexOf(s)?(n="<"+s+">"+i.childNodes[o].textContent+"</"+s+">",this.listContents.push(n)):1===i.childNodes[o].textContent.trim().length&&this.listContents.push(i.childNodes[o].textContent.trim())}else n=i.textContent.trim(),this.listContents.push(n)}else n=e.innerHTML.trim(),this.listContents.push(""),this.listContents.push(n);t.detach(i),this.listContents.push(e.innerHTML)},e}(),Ko=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(bo,this.insertText,this)},e.prototype.insertText=function(e){var t=document.createTextNode(e.value);Lo.Insert(this.parent.currentDocument,t,this.parent.editableElement),e.callBack&&e.callBack({requestType:e.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})},e}(),Xo=function(){function e(e){this.currentDocument=e.document,this.editableElement=e.editableElement,this.nodeSelection=new Co,this.nodeCutter=new wo,this.domNode=new So(this.editableElement,this.currentDocument),this.observer=new t.Observer(this),this.listObj=new Eo(this),this.formatObj=new Oo(this),this.alignmentObj=new ko(this),this.indentsObj=new Do(this),this.linkObj=new xo(this),this.imgObj=new Uo(this),this.selectionObj=new zo(this),this.inserthtmlObj=new _o(this),this.insertTextObj=new Ko(this),this.clearObj=new Qo(this),this.tableObj=new Ho(this),this.undoRedoManager=new Vo(this,e.options),this.msWordPaste=new Go(this),this.wireEvents()}return e.prototype.wireEvents=function(){this.observer.on("keydown",this.editorKeyDown,this),this.observer.on("keyup",this.editorKeyUp,this),this.observer.on("keyup",this.editorKeyUp,this),this.observer.on(yr,this.onPropertyChanged,this),this.observer.on(Nr,this.onWordPaste,this),this.observer.on("onBegin",this.onBegin,this)},e.prototype.onWordPaste=function(e){this.observer.notify(Cr,e)},e.prototype.onPropertyChanged=function(e){this.observer.notify(vr,e)},e.prototype.editorKeyDown=function(e){this.observer.notify(fr,e)},e.prototype.editorKeyUp=function(e){this.observer.notify(br,e)},e.prototype.onBegin=function(e){this.observer.notify(Sr,e)},e.prototype.execCommand=function(e,t,n,i,r,o,s,a){switch(e.toLowerCase()){case"lists":this.observer.notify("list-type",{subCommand:t,event:n,callBack:i,selector:s,item:o,enterAction:a});break;case"formats":this.observer.notify(gr,{subCommand:t,event:n,callBack:i,selector:s,exeValue:o,enterAction:a});break;case"alignments":this.observer.notify(co,{subCommand:t,event:n,callBack:i,selector:s,value:o});break;case"indents":this.observer.notify(po,{subCommand:t,event:n,callBack:i,selector:s});break;case"links":this.observer.notify($r,{command:e,value:t,item:o,event:n,callBack:i});break;case"files":this.observer.notify(Yr,{command:e,value:"Image",item:o,event:n,callBack:i,selector:s});break;case"images":this.observer.notify(Yr,{command:e,value:t,item:o,event:n,callBack:i,selector:s});break;case"table":switch(t.toString().toLocaleLowerCase()){case"createtable":this.observer.notify(Jr,{item:o,event:n,callBack:i,enterAction:a});break;case"insertrowbefore":case"insertrowafter":this.observer.notify(Zr,{item:o,event:n,callBack:i});break;case"insertcolumnleft":case"insertcolumnright":this.observer.notify(eo,{item:o,event:n,callBack:i});break;case"deleterow":this.observer.notify(to,{item:o,event:n,callBack:i});break;case"deletecolumn":this.observer.notify(no,{item:o,event:n,callBack:i});break;case"tableremove":this.observer.notify(io,{item:o,event:n,callBack:i});break;case"tableheader":this.observer.notify(ro,{item:o,event:n,callBack:i});break;case"aligntop":case"alignmiddle":case"alignbottom":this.observer.notify(oo,{item:o,event:n,callBack:i});break;case"merge":this.observer.notify(so,{item:o,event:n,callBack:i});break;case"horizontalsplit":this.observer.notify(lo,{item:o,event:n,callBack:i});break;case"verticalsplit":this.observer.notify(ao,{item:o,event:n,callBack:i})}break;case"font":case"style":case"effects":case"casing":this.observer.notify(go,{subCommand:t,event:n,callBack:i,value:r,selector:s,enterAction:a});break;case"inserthtml":this.observer.notify(fo,{subCommand:t,callBack:i,value:r});break;case"inserttext":this.observer.notify(bo,{subCommand:t,callBack:i,value:r});break;case"clear":this.observer.notify(vo,{subCommand:t,event:n,callBack:i,selector:s,enterAction:a});break;case"actions":this.observer.notify(mr,{subCommand:t,event:n,callBack:i,selector:s})}},e}(),Yo=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Jo=function(e){function n(n){var i=e.call(this)||this;return i.initialize(),t.extend(i,i,n,!0),i.currentDocument&&i.element&&i.updateFormatter(i.element,i.currentDocument,n.options),i}return Yo(n,e),n.prototype.initialize=function(){this.keyConfig=Ar},n.prototype.updateFormatter=function(e,t,n){e&&t&&(this.editorManager=new Xo({document:t,editableElement:e,options:n}))},n}(Er),$o={bold:!1,italic:!1,subscript:!1,superscript:!1,strikethrough:!1,orderedlist:!1,unorderedlist:!1,underline:!1,alignments:null,backgroundcolor:null,fontcolor:null,fontname:null,fontsize:null,formats:null,createlink:!1,insertcode:!1},Zo=function(){function e(){}return e.get=function(e,t,n,i,r,o){for(var s=JSON.parse(JSON.stringify($o)),a=JSON.parse(JSON.stringify($o)),l=new Co,d=o?[o]:l.getNodeCollection(l.getRange(e)),c=d.length,p=!1,h=l.getRange(e),u=0;u<d.length;u++){for(;3===d[u].nodeType&&3===h.startContainer.nodeType&&d[u].parentNode&&d[u].parentNode.lastElementChild&&"BR"!==d[u].parentNode.lastElementChild.nodeName&&0===this.getImmediateBlockNode(d[u].parentNode).textContent.replace(/\u200B/g,"").length&&0===h.startContainer.textContent.replace(/\u200B/g,"").length&&0===l.get(e).toString().replace(/\u200B/g,"").length;)d[u]=d[u].parentNode.lastElementChild.firstChild,p=!0;p&&d[u]&&(l.setCursorPoint(e,d[u],d[u].textContent.length),p=!1),("BR"!==d[u].nodeName&&3!==d[u].nodeType||c>1&&3===d[u].nodeType&&""===d[u].textContent.trim())&&(d.splice(u,1),u--)}for(u=0;u<d.length;u++)s=this.getFormatParent(e,s,d[u],t,n,i,r),(0===u&&s.bold||!s.bold)&&(a.bold=s.bold),(0===u&&s.insertcode||!s.insertcode)&&(a.insertcode=s.insertcode),(0===u&&s.italic||!s.italic)&&(a.italic=s.italic),(0===u&&s.underline||!s.underline)&&(a.underline=s.underline),(0===u&&s.strikethrough||!s.strikethrough)&&(a.strikethrough=s.strikethrough),(0===u&&s.superscript||!s.superscript)&&(a.superscript=s.superscript),(0===u&&s.subscript||!s.subscript)&&(a.subscript=s.subscript),(0===u&&s.fontcolor||!s.fontcolor)&&(a.fontcolor=s.fontcolor),(0===u&&s.fontname||!s.fontname)&&(a.fontname=s.fontname),(0===u&&s.fontsize||!s.fontsize)&&(a.fontsize=s.fontsize),(0===u&&s.backgroundcolor||!s.backgroundcolor)&&(a.backgroundcolor=s.backgroundcolor),(0===u&&s.orderedlist||!s.orderedlist)&&(a.orderedlist=s.orderedlist),(0===u&&s.unorderedlist||!s.unorderedlist)&&(a.unorderedlist=s.unorderedlist),(0===u&&s.alignments||!s.alignments)&&(a.alignments=s.alignments),(0===u&&s.formats||!s.formats)&&(a.formats=s.formats),(0===u&&s.createlink||!s.createlink)&&(a.createlink=s.createlink),(0===u&&s.numberFormatList||!s.numberFormatList)&&(a.numberFormatList=s.numberFormatList),(0===u&&s.bulletFormatList||!s.bulletFormatList)&&(a.bulletFormatList=s.bulletFormatList),s=JSON.parse(JSON.stringify($o));return a},e.getImmediateBlockNode=function(e){do{e=e.parentNode}while(e&&ho.indexOf(e.nodeName.toLocaleLowerCase())<0);return e},e.getFormatParent=function(e,t,n,i,r,o,s){if(i.contains(n)||3===n.nodeType&&3!==i.nodeType&&i.contains(n.parentNode))do{t=this.isFormattedNode(e,t,n,r,o,s),n=n.parentNode}while(n&&n!==i);return t},e.isFormattedNode=function(e,t,n,i,r,o){return t.bold||(t.bold=Fo.isBold(n)),t.italic||(t.italic=Fo.isItalic(n)),t.underline||(t.underline=Fo.isUnderline(n)),t.strikethrough||(t.strikethrough=Fo.isStrikethrough(n)),t.superscript||(t.superscript=Fo.isSuperscript(n)),t.subscript||(t.subscript=Fo.isSubscript(n)),t.fontcolor||(t.fontcolor=this.isFontColor(e,n)),t.fontname||(t.fontname=this.isFontName(e,n,o)),t.fontsize||(t.fontsize=this.isFontSize(n,r)),t.backgroundcolor||(t.backgroundcolor=this.isBackgroundColor(n)),t.orderedlist||(t.orderedlist=this.isOrderedList(n)),t.unorderedlist||(t.unorderedlist=this.isUnorderedList(n)),t.alignments||(t.alignments=this.isAlignment(n)),t.formats||(t.formats=this.isFormats(n,i),"pre"===t.formats&&(t.insertcode=!0)),t.createlink||(t.createlink=this.isLink(n)),t.numberFormatList||(t.numberFormatList=this.isNumberFormatList(n)),t.bulletFormatList||(t.bulletFormatList=this.isBulletFormatList(n)),t},e.isFontColor=function(e,t){var n=t.style&&t.style.color;return null!==n&&void 0!==n&&""!==n||3===t.nodeType||(n=this.getComputedStyle(e,t,"color")),null!==n&&""!==n&&void 0!==n?n:null},e.isLink=function(e){return"a"===e.nodeName.toLocaleLowerCase()},e.isBackgroundColor=function(e){var t=e.style&&e.style.backgroundColor;return null!==t&&""!==t&&void 0!==t?t:null},e.isFontSize=function(e,t){var n=e.style&&e.style.fontSize;return null!==n&&""!==n&&void 0!==n&&(null===t||void 0===t||t.indexOf(n)>-1)?n:null},e.isFontName=function(e,t,n){var i=t.style&&t.style.fontFamily;null!==i&&void 0!==i&&""!==i||3===t.nodeType||(i=this.getComputedStyle(e,t,"font-family"));var r=null;return null!==i&&""!==i&&void 0!==i&&(null===n||void 0===n||n.filter(function(e,t){var n=new RegExp(i,"i");(e.replace(/"/g,"").replace(/ /g,"").toLowerCase()===i.replace(/"/g,"").replace(/ /g,"").toLowerCase()||e.search(n)>-1)&&(r=t)})&&null!==r)?null!==r?n[r]:i.replace(/"/g,""):null},e.isOrderedList=function(e){return"ol"===e.nodeName.toLocaleLowerCase()},e.isUnorderedList=function(e){return"ul"===e.nodeName.toLocaleLowerCase()},e.isAlignment=function(e){var t=e.style&&e.style.textAlign;return"left"===t?"justifyleft":"center"===t?"justifycenter":"right"===t?"justifyright":"justify"===t?"justifyfull":null},e.isFormats=function(e,t){return(void 0===t||null===t)&&ho.indexOf(e.nodeName.toLocaleLowerCase())>-1||null!==t&&void 0!==t&&t.indexOf(e.nodeName.toLocaleLowerCase())>-1?e.nodeName.toLocaleLowerCase():null},e.getComputedStyle=function(e,t,n){return e.defaultView.getComputedStyle(t,null).getPropertyValue(n)},e.isNumberFormatList=function(e){var t=e.style&&e.style.listStyleType;return"lower-alpha"===t?"Lower Alpha":"number"===t?"Number":"upper-alpha"===t?"Upper Alpha":"lower-roman"===t?"Lower Roman":"upper-roman"===t?"Upper Roman":"lower-greek"===t?"Lower Greek":"none"===t?"None":null},e.isBulletFormatList=function(e){var t=e.style&&e.style.listStyleType;return"circle"===t?"Circle":"square"===t?"Square":"none"===t?"None":"disc"===t?"Disc":null},e}(),es=function(){function e(e){this.parent=e,this.toolbarStatus=this.prevToolbarStatus={bold:!1,italic:!1,subscript:!1,superscript:!1,strikethrough:!1,orderedlist:!1,unorderedlist:!1,underline:!1,alignments:null,backgroundcolor:null,fontcolor:null,fontname:null,fontsize:null,formats:null,createlink:!1,insertcode:!1},this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.on(z,this.onRefreshHandler,this),this.parent.on(F,this.removeEventListener,this)},e.prototype.removeEventListener=function(){this.parent.off(z,this.onRefreshHandler),this.parent.off(F,this.removeEventListener)},e.prototype.onRefreshHandler=function(e){if(!this.parent.readonly){var t=[],n=[],i=[];this.parent.fontSize.items.forEach(function(e){t.push(e.value)}),this.parent.fontFamily.items.forEach(function(e){n.push(e.value)}),this.parent.format.types.forEach(function(e){i.push(e.value.toLocaleLowerCase())}),this.toolbarStatus=Zo.get(this.parent.contentModule.getDocument(),this.parent.contentModule.getEditPanel(),i,t,n,e.documentNode);var r=JSON.stringify(this.toolbarStatus);this.parent.notify(W,this.toolbarStatus),JSON.stringify(this.prevToolbarStatus)!==r&&(this.parent.notify(Et,{html:JSON.parse(r),markdown:null}),this.prevToolbarStatus=JSON.parse(r))}},e}(),ts=function(){function e(e,t){this.parent=e,this.serviceLocator=t}return e.prototype.renderPanel=function(){var e=this.parent,t=this.parent.createElement("div",{className:"e-rte-content",id:this.parent.getID()+"rte-view"}),n=T(e.value,e);this.editableElement=this.parent.createElement("div",{className:"e-content",id:this.parent.getID()+"_rte-edit-view",attrs:{contenteditable:"true"},innerHTML:n}),t.appendChild(this.editableElement),this.setPanel(t),e.element.appendChild(t)},e.prototype.getPanel=function(){return this.contentPanel},e.prototype.getEditPanel=function(){return this.editableElement},e.prototype.getText=function(){var e=this.getEditPanel().innerText;return"\n"===e?"":e},e.prototype.setPanel=function(e){this.contentPanel=e},e.prototype.getDocument=function(){return this.getEditPanel().ownerDocument},e}(),ns=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),is=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return ns(n,e),n.prototype.renderPanel=function(){var e=this.parent,t="\n<!DOCTYPE html> \n <html>\n <head>\n <meta charset='utf-8' /> \n <style>\n @charset \"UTF-8\";\n body {\n font-family: \"Roboto\", sans-serif;\n font-size: 14px;\n }\n html, body{height: 100%;margin: 0;}\n body.e-cursor{cursor:default}\n span.e-selected-node\t{background-color: #939393;color: white;}\n span.e-selected-node.e-highlight {background-color: #1d9dd8;}\n body{color:#333;word-wrap:break-word;padding: 8px;box-sizing: border-box;}\n .e-rte-image {border: 0;cursor: pointer;display:\n block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-image.e-imginline {display: inline-block;float: none;max-width: calc(100% - (2 * 5px));padding: 1px;vertical-align: bottom;}\n .e-rte-image.e-imgcenter {cursor: pointer;display: block;float: none;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-image.e-imgright { float: right; margin: 0 auto;margin-left: 5px;text-align: right;}\n .e-rte-image.e-imgleft {float: left;margin: 0 auto;margin-right: 5px;text-align: left;}\n .e-img-caption { display: inline-block; float: none; margin: 5px auto; max-width: 100%;position: relative;}\n .e-img-caption.e-caption-inline {display: inline-block;float: none;\n margin: 5px auto;margin-left: 5px;margin-right: 5px;max-width: calc(100% - (2 * 5px));\n position: relativetext-align: center;vertical-align: bottom;}\n .e-img-inner {box-sizing: border-box;display: block;font-size: 16px;font-weight: initial;\n margin: auto;opacity: .9;text-align: center;width: 100%;}\n .e-img-wrap {display: inline-block;margin: auto;padding: 0;text-align: center;width: 100%;}\n .e-imgleft {float: left;margin: 0 5px 0 0;text-align: left;}\n .e-imgright {float: right;margin: 0 0 0 5px;text-align: right;}\n .e-imgcenter {cursor: pointer;display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}\n .e-control img:not(.e-resize) {border: 2px solid transparent; z-index: 1000}\n .e-imginline {display: inline-block;float: none;margin-left: 5px;margin-right: 5px;\n max-width: calc(100% - (2 * 5px));vertical-align: bottom;}\n .e-imgbreak {border: 0;cursor: pointer;\n display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-image.e-img-focus:not(.e-resize) {border: solid 2px #4a90e2;}\n img.e-img-focus::selection { background: transparent;color: transparent;}\n span.e-rte-imageboxmark { width: 10px; height: 10px; position: absolute; display: block;\n background: #4a90e2; border: 1px solid #fff; z-index: 1000;}\n .e-mob-rte.e-mob-span span.e-rte-imageboxmark { background: #4a90e2; border: 1px solid #fff; }\n .e-mob-rte span.e-rte-imageboxmark { background: #fff; border: 1px solid #4a90e2;\n border-radius: 15px; height: 20px; width: 20px; }\n .e-mob-rte.e-mob-span span.e-rte-imageboxmark { background: #4a90e2; border: 1px solid #fff; }\n .e-rte-content .e-content img.e-resize { z-index: 1000; }\n .e-img-caption .e-img-inner { outline: 0; }\n .e-img-caption a:focus-visible { outline: none; }\n .e-img-caption .e-rte-image.e-imgright, .e-img-caption .e-rte-image.e-imgleft { float: none; margin: 0;}\n body{box-sizing: border-box;min-height: 100px;outline: 0 solid transparent;\n overflow-x: auto;padding: 16px;position: relative;text-align: inherit;z-index: 2;}\n p{margin: 0 0 10px;margin-bottom: 10px;}\n li{margin-bottom: 10px;}\n h1{font-size: 2.17em;font-weight: 400;line-height: 1;margin: 10px 0;}\n h2{font-size: 1.74em;font-weight: 400;margin: 10px 0;}\n h3{font-size: 1.31em;font-weight: 400;margin: 10px 0;}\n h4{font-size: 16px;font-weight: 400;line-height: 1.5;margin: 0;}\n h5{font-size: 00.8em;font-weight: 400;margin: 0;}\n h6{font-size: 00.65em;font-weight: 400;margin: 0;}\n blockquote{margin: 10px 0;margin-left: 0;padding-left: 5px;border-left: solid 2px #5c5c5c;}\n pre{background-color: inherit;border: 0;border-radius: 0;color: #333;\n font-size: inherit;line-height: inherit;margin: 0 0 10px;overflow: visible;padding: 0;\n white-space: pre-wrap;word-break: inherit;word-wrap: break-word;}\n strong, b{font-weight: 700;}\n a{text-decoration: none;user-select: auto;}\n a:hover{text-decoration: underline;};\n p:last-child, pre:last-child, blockquote:last-child{margin-bottom: 0;}\n h3+h4, h4+h5, h5+h6{margin-top: 00.6em;}\n ul:last-child{margin-bottom: 0;}\n table { border-collapse: collapse; empty-cells: show;}\n table td,table th {border: 1px solid #BDBDBD; height: 20px; padding: 2px 5px; vertical-align: middle;}\n table.e-alternate-border tbody tr:nth-child(2n) {background-color: #F5F5F5;}\n table th {background-color: #E0E0E0;}\n table.e-dashed-border td,table.e-dashed-border th { border: 1px dashed #BDBDBD} \n table .e-cell-select {border: 1px double #4a90e2;}\n span.e-table-box { cursor: nwse-resize; display: block; height: 10px; position: absolute; width: 10px; }\n span.e-table-box.e-rmob {height: 14px;width: 14px;}\n .e-row-resize, .e-column-resize { background-color: transparent; background-repeat: repeat;\n bottom: 0;cursor: col-resize;height: 1px;overflow: visible;position: absolute;width: 1px; }\n .e-row-resize { cursor: row-resize; height: 1px;}\n .e-table-rhelper { cursor: col-resize; opacity: .87;position: absolute;}\n .e-table-rhelper.e-column-helper { width: 1px; }\n .e-table-rhelper.e-row-helper {height: 1px;}\n .e-reicon::before { border-bottom: 6px solid transparent; border-right: 6px solid;\n border-top: 6px solid transparent; content: ''; display: block; height: 0;\n position: absolute; right: 4px; top: 4px; width: 20px; }\n .e-reicon::after { border-bottom: 6px solid transparent; border-left: 6px solid;\n border-top: 6px solid transparent; content: ''; display: block;\n height: 0; left: 4px; position: absolute; top: 4px; width: 20px; z-index: 3; }\n .e-row-helper.e-reicon::after { top: 10px; transform: rotate(90deg); }\n .e-row-helper.e-reicon::before { left: 4px; top: -20px; transform: rotate(90deg); }\n span.e-table-box { background-color: #ffffff; border: 1px solid #BDBDBD; }\n span.e-table-box.e-rbox-select { background-color: #BDBDBD; border: 1px solid #BDBDBD; }\n .e-table-rhelper { background-color: #4a90e2;}\n .e-rtl { direction: rtl; }\n </style>\n </head>"+('<body spellcheck="false" autocorrect="off" contenteditable="true">'+T(e.value,e)+"</body></html>"),n=this.parent.createElement("iframe",{id:this.parent.getID()+"_rte-view",className:"e-rte-content",styles:"display:block;",attrs:{srcdoc:t}});this.setPanel(n),e.element.appendChild(n),n.contentDocument.body.id=this.parent.getID()+"_rte-edit-view",n.contentDocument.body.setAttribute("aria-owns",this.parent.getID()),n.contentDocument.open(),t=this.setThemeColor(t,{color:"#333"}),n.contentDocument.write(t),n.contentDocument.close(),e.enableRtl&&this.contentPanel.contentDocument.body.setAttribute("class","e-rtl")},n.prototype.setThemeColor=function(e,t){var n=getComputedStyle(this.parent.element,".e-richtexteditor").getPropertyValue("color");return e.replace(t.color,n)},n.prototype.getEditPanel=function(){return t.isNullOrUndefined(this.contentPanel.contentDocument)?this.parent.inputElement:this.contentPanel.contentDocument.body},n.prototype.getDocument=function(){return this.getEditPanel().ownerDocument},n}(ts),rs=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.on(gt,this.enableXhtmlValidation,this),this.parent.on(F,this.removeEventListener,this)},e.prototype.removeEventListener=function(){this.parent.off(gt,this.enableXhtmlValidation),this.parent.off(F,this.removeEventListener)},e.prototype.enableXhtmlValidation=function(){this.parent.enableXhtml&&(t.isNullOrUndefined(this.parent.inputElement)?this.currentElement=this.parent.element:this.currentElement=this.parent.inputElement,this.clean(this.currentElement),this.AddRootElement(),this.ImageTags(),this.removeTags(),this.RemoveUnsupported(),this.currentElement.innerHTML=this.selfEncloseValidation(this.currentElement.innerHTML,"\n"===this.currentElement.innerText?this.currentElement.innerText.length:this.currentElement.innerText.trim().length),this.parent.setProperties({value:this.currentElement.innerHTML},!0))},e.prototype.selfEncloseValidation=function(e,t){if(0===t&&e.indexOf("table")<0&&e.indexOf("img")<0){var n=e.split("&nbsp;");n[n.length-1]="&#8203;"+n[n.length-1],e=n.join("")}e=e.replace(/<br>/g,"<br/>").replace(/<hr>/g,"<hr/>").replace(/ /g," ");for(var i,r=[],o=[],s=[/<img(.*?)>/gi,/<area(.*?)>/gi,/<base(.*?)>/gi,/<col (.*?)>/gi,/<embed(.*?)>/gi,/<input(.*?)>/gi,/<link(.*?)>/gi,/<meta(.*?)>/gi,/<param(.*?)>/gi,/<source(.*?)>/gi,/<track(.*?)>/gi,/<wbr(.*?)>/gi],a=0;a<s.length;a++){for(i=s[a].exec(e);null!==i;)r.push(i[0].toString()),i=s[a].exec(e);o=r.slice(0);for(var l=0;l<r.length;l++)-1!==r[l].indexOf("/")&&r[l].lastIndexOf("/")===r[l].length-2||(r[l]=r[l].substr(0,r[l].length-1)+" /"+r[l].substr(r[l].length-1,r[l].length));for(var d=0;d<=r.length-1;d++)e=e.replace(o[d],r[d])}return e},e.prototype.AddRootElement=function(){if(1===this.currentElement.childNodes.length&&"DIV"!==this.currentElement.firstChild.nodeName||this.currentElement.childNodes.length>1){for(var e=this.parent.createElement("div");this.currentElement.childNodes.length>0;)e.appendChild(this.currentElement.childNodes[0]);this.currentElement.appendChild(e)}},e.prototype.clean=function(e){for(var t=0;t<e.childNodes.length;t++){var n=e.childNodes[t];8===n.nodeType||"V:IMAGE"===n.nodeName?(e.removeChild(n),t--):1===n.nodeType&&this.clean(n)}return this.currentElement.innerHTML},e.prototype.ImageTags=function(){for(var e=this.currentElement.querySelectorAll("IMG"),t=e.length-1;t>=0;t--)if(!e[t].hasAttribute("alt")){e[t].setAttribute("alt","")}},e.prototype.removeTags=function(){for(var e=[["br","ul"],["br","ol"],["table","span"],["div","span"],["p","span"]],t=0;t<e.length;t++)this.RemoveElementNode(e[t][0],e[t][1])},e.prototype.RemoveElementNode=function(e,n){for(var i=this.currentElement.querySelectorAll(n),r=0;r<i.length;r++)for(var o=i[r].querySelectorAll(e),s=o.length;s>0;s--)t.detach(o[s-1])},e.prototype.RemoveUnsupported=function(){for(var e=this.currentElement.querySelectorAll("u"),n=e.length-1;n>=0;n--){var i=this.parent.createElement("span");i.style.textDecoration="underline",i.innerHTML=e[n].innerHTML,e[n].parentNode.insertBefore(i,e[n]),t.detach(e[n])}var r=this.currentElement.querySelectorAll("strong");for(n=r.length-1;n>=0;n--){var o=this.parent.createElement("b");o.innerHTML=r[n].innerHTML,r[n].parentNode.insertBefore(o,r[n]),t.detach(r[n])}var s=["language","role","target","contenteditable","cellspacing","cellpadding","border","valign","colspan"];for(n=0;n<=s.length;n++)this.RemoveAttributeByName(s[n])},e.prototype.RemoveAttributeByName=function(e){if(null!==this.currentElement.firstChild&&3!==this.currentElement.firstChild.nodeType)for(var t=0;t<this.currentElement.childNodes.length;t++){var n=this.currentElement.childNodes[t];if(3!==n.nodeType&&"TABLE"!==n.nodeName&&"TBODY"!==n.nodeName&&"THEAD"!==n.nodeName&&"TH"!==n.nodeName&&"TR"!==n.nodeName&&"TD"!==n.nodeName&&(n.hasAttribute(e)&&n.removeAttribute(e),n.hasChildNodes()))for(var i=0;i<n.childNodes.length;i++){var r=n.childNodes[i];if(3!==r.nodeType&&"TABLE"!==r.nodeName&&"TBODY"!==r.nodeName&&"THEAD"!==r.nodeName&&"TH"!==r.nodeName&&"TR"!==r.nodeName&&"TD"!==r.nodeName&&r.hasAttribute(e)&&r.removeAttribute(e),r.hasChildNodes())for(var o=0;o<r.childNodes.length;o++)3!==r.childNodes[o].nodeType&&"TABLE"!==r.childNodes[o].nodeName&&"TBODY"!==r.childNodes[o].nodeName&&"THEAD"!==r.childNodes[o].nodeName&&"TH"!==r.childNodes[o].nodeName&&"TR"!==r.childNodes[o].nodeName&&"TD"!==r.childNodes[o].nodeName&&r.childNodes[o].hasAttribute(e)&&r.childNodes[o].removeAttribute(e)}}},e}(),os=function(){function n(e,t){this.rangeCollection=[],this.isImageDelete=!1,this.parent=e,this.locator=t,this.renderFactory=this.locator.getService("rendererFactory"),this.xhtmlValidation=new rs(e),this.addEventListener()}return n.prototype.destroy=function(){this.removeEventListener()},n.prototype.sanitizeHelper=function(e){return e=k(e,this.parent)},n.prototype.addEventListener=function(){this.parent.isDestroyed||(this.nodeSelectionObj=new Co,this.colorPickerModule=new or(this.parent,this.locator),this.parent.on(A,this.instantiateRenderer,this),this.parent.on(G,this.onToolbarClick,this),this.parent.on($,this.onKeyDown,this),this.parent.on(J,this.onKeyUp,this),this.parent.on(V,this.renderColorPicker,this),this.parent.on(H,this.render,this),this.parent.on(Y,this.onPropertyChanged,this),this.parent.on(F,this.destroy,this),this.parent.on(_e,this.selectAll,this),this.parent.on(We,this.selectRange,this),this.parent.on(Qe,this.getSelectedHtml,this),this.parent.on(Me,this.onSelectionSave,this),this.parent.on(Re,this.onSelectionRestore,this),this.parent.on(Ze,this.updateReadOnly,this),this.parent.on(Ge,this.onPaste,this))},n.prototype.updateReadOnly=function(){this.parent.readonly?(t.attributes(this.parent.contentModule.getEditPanel(),{contenteditable:"false"}),t.addClass([this.parent.element],zn)):(t.attributes(this.parent.contentModule.getEditPanel(),{contenteditable:"true"}),t.removeClass([this.parent.element],zn))},n.prototype.onSelectionSave=function(){var e=this.contentRenderer.getDocument(),t=this.nodeSelectionObj.getRange(e);this.saveSelection=this.nodeSelectionObj.save(t,e)},n.prototype.onSelectionRestore=function(e){this.parent.isBlur=!1,this.contentRenderer.getEditPanel().focus(),(t.isNullOrUndefined(e.items)||e.items)&&this.saveSelection.restore()},n.prototype.onKeyUp=function(e){var n,i=e.args,r=this.parent.getRange(),o=new RegExp(String.fromCharCode(8203),"g");[8,9,13,16,17,18,20,27,37,38,39,40,44,45,46,91,112,113,114,115,116,117,118,119,120,121,122,123].indexOf(i.keyCode)<0&&!i.shiftKey&&!i.ctrlKey&&!i.altKey&&(8203===r.startContainer.textContent.charCodeAt(0)&&(n=r.startOffset-1,r.startContainer.textContent=r.startContainer.textContent.replace(o,""),this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.parent.contentModule.getDocument(),r.startContainer,n)),!t.isNullOrUndefined(r.startContainer.previousSibling)&&!t.isNullOrUndefined(r.startContainer.previousSibling.parentElement)&&r.startContainer.parentElement===r.startContainer.previousSibling.parentElement&&8203===r.startContainer.previousSibling.textContent.charCodeAt(0)&&r.startContainer.previousSibling.textContent.length<=1&&(r.startContainer.previousSibling.textContent=r.startContainer.previousSibling.textContent.replace(o,"")),8203===r.endContainer.textContent.charCodeAt(r.endOffset)&&(n=r.startOffset,r.endContainer.textContent=r.endContainer.textContent.replace(o,""),this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.parent.contentModule.getDocument(),r.startContainer,n)))},n.prototype.onKeyDown=function(e){var n,i=this,r=e.args;if("chrome"===t.Browser.info.name&&(n=this.parent.getRange(),this.backSpaceCleanup(e,n),this.deleteCleanup(e,n)),9===r.keyCode&&this.parent.enableTabKey&&!t.isNullOrUndefined(r.target)&&t.isNullOrUndefined(t.closest(r.target,".e-rte-toolbar"))){var o=this.nodeSelectionObj.getRange(this.contentRenderer.getDocument()),s=this.nodeSelectionObj.getParentNodeCollection(o);if("LI"!==s[0].nodeName&&!t.closest(s[0],"li")&&!t.closest(s[0],"table")||0!==o.startOffset)if(r.preventDefault(),r.shiftKey){if(this.rangeCollection.length>0&&4===this.rangeCollection[this.rangeCollection.length-1].startContainer.textContent.length){var a=this.rangeCollection[this.rangeCollection.length-1].startContainer;this.nodeSelectionObj.setSelectionText(this.contentRenderer.getDocument(),a,a,0,a.textContent.length),Lo.Insert(this.contentRenderer.getDocument(),document.createTextNode("")),this.rangeCollection.pop()}}else Lo.Insert(this.contentRenderer.getDocument(),"&nbsp;&nbsp;&nbsp;&nbsp;"),this.rangeCollection.push(this.nodeSelectionObj.getRange(this.contentRenderer.getDocument()))}if(("space"===e.args.action||"enter"===e.args.action||13===e.args.keyCode)&&(this.spaceLink(e.args),"HTML"===this.parent.editorMode&&!this.parent.readonly)){var l=this.parent.getText().trim().length-this.parent.getSelection().length+1;if(!(-1===this.parent.maxLength||l<=this.parent.maxLength||13!==e.args.keyCode))return void e.args.preventDefault();this.parent.notify(nt,{args:e.args})}if("space"===e.args.action){var d=this.parent.getRange(),c=d.startContainer.textContent.slice(0,d.startOffset),p=this.isOrderedList(c),h=this.isUnOrderedList(c);if(p&&!h||h&&!p){var u={callBack:null,event:e.args,name:"keydown-handler"},m={cancel:!1,item:{command:"Lists",subCommand:p?"OL":"UL"},name:"actionBegin",originalEvent:e.args,requestType:p?"OL":"UL"};this.parent.trigger(be,m,function(t){t.cancel||(i.parent.formatter.editorManager.observer.notify("onBegin",u),i.parent.trigger(ve,{editorMode:i.parent.editorMode,elements:i.parent.formatter.editorManager.domNode.blockNodes(),event:e.args,name:ve,range:i.parent.getRange(),requestType:p?"OL":"UL"}))})}}"chrome"!==t.Browser.info.name||(t.isNullOrUndefined(this.rangeElement)||t.isNullOrUndefined(this.oldRangeElement))&&(t.isNullOrUndefined(this.deleteRangeElement)||t.isNullOrUndefined(this.deleteOldRangeElement))||"TD"===n.startContainer.parentElement.tagName||"TH"===n.startContainer.parentElement.tagName||(this.rangeElement=null,this.oldRangeElement=null,this.deleteRangeElement=null,this.deleteOldRangeElement=null,this.isImageDelete||r.preventDefault(),r.preventDefault())},n.prototype.isOrderedList=function(e){e=e.replace(/\u200B/g,"");var n=[/^[1]+[.]+$/,/^[i]+[.]+$/,/^[a]+[.]+$/];if(!t.isNullOrUndefined(e))for(var i=0;i<n.length;i++)if(n[i].test(e))return!0;return!1},n.prototype.isUnOrderedList=function(e){e=e.replace(/\u200B/g,"");var n=[/^[*]$/,/^[-]$/];if(!t.isNullOrUndefined(e))for(var i=0;i<n.length;i++)if(n[i].test(e))return!0;return!1},n.prototype.backSpaceCleanup=function(e,n){var i=!1;if("Backspace"===e.args.code&&8===e.args.keyCode&&0===n.startOffset&&0===n.endOffset&&0===this.parent.getSelection().length&&n.startContainer.textContent.length>0&&"TD"!==n.startContainer.parentElement.tagName&&"TH"!==n.startContainer.parentElement.tagName){if(this.rangeElement=this.getRootBlockNode(n.startContainer),"OL"===this.rangeElement.tagName||"UL"===this.rangeElement.tagName){var r=this.getRangeLiNode(n.startContainer);r.previousElementSibling&&r.previousElementSibling.childElementCount>0&&(this.oldRangeElement="BR"===r.previousElementSibling.lastElementChild.nodeName?r.previousElementSibling:r.previousElementSibling.lastElementChild,t.isNullOrUndefined(r.lastElementChild)||"BR"===r.lastElementChild.nodeName?this.rangeElement=r:(this.rangeElement=r.lastElementChild,i=!0))}else{if(this.rangeElement===this.parent.inputElement||"TABLE"===this.rangeElement.tagName||!t.isNullOrUndefined(this.rangeElement.previousElementSibling)&&"TABLE"===this.rangeElement.previousElementSibling.tagName)return;this.oldRangeElement=this.rangeElement.previousElementSibling}if(t.isNullOrUndefined(this.oldRangeElement))return;if("OL"!==this.oldRangeElement.tagName&&"UL"!==this.oldRangeElement.tagName||(this.oldRangeElement=this.oldRangeElement.lastElementChild.lastElementChild?this.oldRangeElement.lastElementChild.lastElementChild:this.oldRangeElement.lastElementChild),this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.parent.contentModule.getDocument(),this.oldRangeElement,this.oldRangeElement.childNodes.length),this.oldRangeElement.querySelector("BR")&&t.detach(this.oldRangeElement.querySelector("BR")),!t.isNullOrUndefined(this.rangeElement)&&this.oldRangeElement!==this.rangeElement){for(;this.rangeElement.firstChild;)this.oldRangeElement.appendChild(this.rangeElement.childNodes[0]);i?t.detach(this.rangeElement.parentElement):t.detach(this.rangeElement),this.oldRangeElement.normalize()}}},n.prototype.deleteCleanup=function(e,n){var i,r,o=!1;if("Delete"===e.args.code&&46===e.args.keyCode&&0!==this.parent.contentModule.getText().trim().length&&0===this.parent.getSelection().length&&"TD"!==n.startContainer.parentElement.tagName&&"TH"!==n.startContainer.parentElement.tagName){if(this.deleteRangeElement=r=this.getRootBlockNode(n.startContainer),"OL"===this.deleteRangeElement.tagName||"UL"===this.deleteRangeElement.tagName)(i=this.getRangeLiNode(n.startContainer)).nextElementSibling&&i.nextElementSibling.childElementCount>0&&!i.nextElementSibling.querySelector("BR")?t.isNullOrUndefined(i.lastElementChild)?this.deleteRangeElement=i:(this.deleteRangeElement=i.lastElementChild,o=!0):this.deleteRangeElement=this.getRangeElement(i);else if(3===this.deleteRangeElement.nodeType||"TABLE"===this.deleteRangeElement.tagName||!t.isNullOrUndefined(this.deleteRangeElement.nextElementSibling)&&"TABLE"===this.deleteRangeElement.nextElementSibling.tagName)return;if(this.getCaretIndex(n,this.deleteRangeElement)===this.deleteRangeElement.textContent.length){if(t.isNullOrUndefined(i)?this.deleteOldRangeElement=this.deleteRangeElement.nextElementSibling:o||!t.isNullOrUndefined(i.nextElementSibling)?this.deleteOldRangeElement=this.getRangeElement(i.nextElementSibling):this.deleteOldRangeElement=r.nextElementSibling,t.isNullOrUndefined(this.deleteOldRangeElement))return;if(0===n.startOffset&&1===n.endOffset&&"IMG"===this.deleteRangeElement.childNodes[0].nodeName?(this.parent.formatter.editorManager.nodeSelection.setSelectionText(this.parent.contentModule.getDocument(),this.deleteRangeElement,this.deleteRangeElement,0,1),this.isImageDelete=!0):(this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.parent.contentModule.getDocument(),this.deleteRangeElement,this.deleteRangeElement.childNodes.length),this.isImageDelete=!1),this.deleteRangeElement.querySelector("BR")&&t.detach(this.deleteRangeElement.querySelector("BR")),t.isNullOrUndefined(this.deleteRangeElement)||"OL"===this.deleteOldRangeElement.tagName||"UL"===this.deleteOldRangeElement.tagName||this.deleteOldRangeElement===this.deleteRangeElement)this.deleteRangeElement=null,this.deleteOldRangeElement=null;else{for(;this.deleteOldRangeElement.firstChild;)this.deleteRangeElement.appendChild(this.deleteOldRangeElement.childNodes[0]);o?t.detach(this.deleteOldRangeElement.parentElement):t.detach(this.deleteOldRangeElement),this.deleteRangeElement.normalize()}}else this.deleteRangeElement=null}},n.prototype.getCaretIndex=function(e,t){var n=0;if(0!==this.parent.contentModule.getDocument().getSelection().rangeCount){var i=e.cloneRange();i.selectNodeContents(t),i.setEnd(e.endContainer,e.endOffset),n=i.toString().length}return n},n.prototype.getRangeElement=function(e){return e.lastElementChild?"BR"===e.lastElementChild.tagName?e.lastElementChild.previousElementSibling?e.lastElementChild.previousElementSibling:e:e.lastElementChild:e},n.prototype.getRootBlockNode=function(e){for(;e&&this.parent&&this.parent.inputElement!==e&&e.parentElement!==this.parent.inputElement;e=e)e=e.parentElement;return e},n.prototype.getRangeLiNode=function(e){for(var t=e.parentElement;t!==this.parent.inputElement&&(1!==t.nodeType||"LI"!==t.tagName);)t=t.parentElement;return t},n.prototype.onPaste=function(e){var n=new RegExp(/([^\S]|^)(((https?\:\/\/)|(www\.))(\S+))/gi);if(e.text.match(n)){if(e.isWordPaste)return;e.args.preventDefault();for(var i=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument()),r=(this.parent.formatter.editorManager.nodeSelection.save(i,this.parent.contentModule.getDocument()),new RegExp(/([^\S]|^)(((https?\:\/\/)))/gi)),o=new RegExp(/([^\S]|^)(((www\.))(\S+))/gi),s=e.text.split("\n"),a="",l=0;l<s.length;l++)if(""===s[l].trim())a+=O(this.parent);else{for(var d="",c=!0,p=s[l].split(" "),h=0;h<p.length;h++)""===p[h].trim()?d+=c?"&nbsp;":" ":(c=!1,d+=p[h]+" ");a+=0===l?"<span>"+d.trim()+"</span>":"<p>"+d.trim()+"</p>"}var u=this.parent.createElement("div");u.setAttribute("class","pasteContent"),u.style.display="inline",u.innerHTML=a.replace("&para","&amp;para");var m=u.querySelectorAll("span, p");for(l=0;l<m.length;l++){var g=m[l].innerHTML.split(" "),f="";for(h=0;h<g.length;h++)g[h].match(r)||g[h].match(o)?f+='<a className="e-rte-anchor" href="'+g[h]+'" title="'+g[h]+'"target="_blank">'+g[h]+" </a>":f+=g[h]+" ";m[l].innerHTML=f.trim()}t.isNullOrUndefined(this.parent.pasteCleanupModule)?this.parent.formatter.editorManager.execCommand("insertHTML",null,null,null,u):e.callBack(u.innerHTML)}},n.prototype.spaceLink=function(e){var t=this.nodeSelectionObj.getRange(this.contentRenderer.getDocument()),n=this.nodeSelectionObj.getParentNodeCollection(t),i=t.startContainer.textContent.substr(0,t.endOffset),r=i.split(" "),o=r[r.length-1],s=t.startOffset-(i.length-r[r.length-1].length);o=o.slice(0,s);var a=new RegExp(/([^\S]|^)(((https?\:\/\/)|(www\.))(\S+))/gi);if("A"!==n[0].nodeName&&o.match(a)){var l=this.nodeSelectionObj.save(t,this.parent.contentModule.getDocument()),d={url:o.indexOf("http")>-1?o:"http://"+o,selection:l,selectParent:this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(t),text:o,title:"",target:"_blank"};this.parent.formatter.process(this.parent,{item:{command:"Links",subCommand:"CreateLink"}},e,d)}},n.prototype.onToolbarClick=function(e){var n,i,r,o=e.item,s=t.closest(e.originalEvent.target,".e-rte-quick-popup");if(s&&!s.classList.contains("e-rte-inline-popup")){if("SourceCode"!==o.subCommand&&"Preview"!==o.subCommand&&"FontColor"!==o.subCommand&&"BackgroundColor"!==o.subCommand){I()&&"Images"===o.command&&this.nodeSelectionObj.restore();var a=this.nodeSelectionObj.getRange(this.parent.contentModule.getDocument());n=this.nodeSelectionObj.save(a,this.parent.contentModule.getDocument()),i=this.nodeSelectionObj.getNodeCollection(a),r=this.nodeSelectionObj.getParentNodeCollection(a)}"Images"===o.command&&this.parent.notify(ae,{member:"image",args:e,selectNode:i,selection:n,selectParent:r}),"Links"===o.command&&this.parent.notify(le,{member:"link",args:e,selectNode:i,selection:n,selectParent:r}),"Table"===o.command&&this.parent.notify(Je,{member:"table",args:e,selectNode:i,selection:n,selectParent:r})}else{var l=document.getElementById(this.parent.getID()+"_rtelink"),d=document.getElementById(this.parent.getID()+"_image");if("SourceCode"!==o.subCommand&&"Preview"!==o.subCommand&&"FontColor"!==o.subCommand&&"BackgroundColor"!==o.subCommand){a=this.nodeSelectionObj.getRange(this.parent.contentModule.getDocument());t.isNullOrUndefined(l)&&t.isNullOrUndefined(d)&&(n=this.nodeSelectionObj.save(a,this.parent.contentModule.getDocument())),i=this.nodeSelectionObj.getNodeCollection(a),r=this.nodeSelectionObj.getParentNodeCollection(a)}switch(o.subCommand){case"Maximize":this.parent.notify(ne,{args:e});break;case"Minimize":this.parent.notify(ie,{args:e});break;case"CreateLink":this.parent.notify(ue,{member:"link",args:e,selectNode:i,selection:n,selectParent:r});break;case"RemoveLink":this.parent.notify(me,{member:"link",args:e,selectNode:i,selection:n,selectParent:r});break;case"Print":this.parent.print();break;case"Image":this.parent.notify(Ne,{member:"image",args:e,selectNode:i,selection:n,selectParent:r});break;case"CreateTable":this.parent.notify(Xe,{member:"table",args:e,selection:n});break;case"SourceCode":this.parent.notify(xe,{member:"viewSource",args:e});break;case"Preview":this.parent.notify(ke,{member:"updateSource",args:e});break;case"FontColor":case"BackgroundColor":break;case"File":this.parent.notify(vt,{member:"fileManager",args:e,selectNode:i,selection:n,selectParent:r});break;default:this.parent.formatter.process(this.parent,e,e.originalEvent,null)}}},n.prototype.renderColorPicker=function(e){this.colorPickerModule.renderColorPickerInput(e)},n.prototype.instantiateRenderer=function(){this.parent.iframeSettings.enable?this.renderFactory.addRenderer(e.RenderType.Content,new is(this.parent,this.locator)):this.renderFactory.addRenderer(e.RenderType.Content,new ts(this.parent,this.locator))},n.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off(H,this.render),this.parent.off(Y,this.onPropertyChanged),this.parent.off(G,this.onToolbarClick),this.parent.off(V,this.renderColorPicker),this.parent.off(F,this.destroy),this.parent.off($,this.onKeyDown),this.parent.off(A,this.instantiateRenderer),this.parent.off(_e,this.selectAll),this.parent.off(We,this.selectRange),this.parent.off(Qe,this.getSelectedHtml),this.parent.off(Me,this.onSelectionSave),this.parent.off(Re,this.onSelectionRestore),this.parent.off(Ze,this.updateReadOnly),this.parent.off(Ge,this.onPaste))},n.prototype.render=function(){this.contentRenderer=this.renderFactory.getRenderer(e.RenderType.Content);var n=this.contentRenderer.getEditPanel(),i={undoRedoSteps:this.parent.undoRedoSteps,undoRedoTimer:this.parent.undoRedoTimer};if(t.isNullOrUndefined(this.parent.formatter)){var r=new Jo({currentDocument:this.contentRenderer.getDocument(),element:n,options:i});this.parent.setProperties({formatter:r},!0)}else this.parent.formatter.updateFormatter(n,this.contentRenderer.getDocument(),i);this.parent.enableXhtml&&this.parent.notify(gt,{}),this.parent.toolbarSettings.enable&&(this.toolbarUpdate=new es(this.parent)),this.parent.inlineMode.enable&&(t.isNullOrUndefined(this.parent.fontFamily.default)||(n.style.fontFamily=this.parent.fontFamily.default),t.isNullOrUndefined(this.parent.fontSize.default)||(n.style.fontSize=this.parent.fontSize.default)),this.parent.notify(Q,{})},n.prototype.onPropertyChanged=function(e){if(!t.isNullOrUndefined(e.newProp.formatter)){var n=this.contentRenderer.getEditPanel(),i={undoRedoSteps:this.parent.undoRedoSteps,undoRedoTimer:this.parent.undoRedoTimer};this.parent.formatter.updateFormatter(n,this.contentRenderer.getDocument(),i)}},n.prototype.getModuleName=function(){return"htmlEditor"},n.prototype.selectAll=function(){var e=S(this.parent.contentModule.getDocument(),this.parent.contentModule.getEditPanel());e.length>0&&this.parent.formatter.editorManager.nodeSelection.setSelectionText(this.parent.contentModule.getDocument(),e[0],e[e.length-1],0,e[e.length-1].textContent.length)},n.prototype.selectRange=function(e){this.parent.formatter.editorManager.nodeSelection.setRange(this.parent.contentModule.getDocument(),e.range)},n.prototype.getSelectedHtml=function(e){e.callBack(this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument()).toString())},n}(),ss=function(){function n(e,t){this.inlineNode=["a","abbr","acronym","audio","b","bdi","bdo","big","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","font","i","iframe","img","input","ins","kbd","label","map","mark","meter","noscript","object","output","picture","progress","q","ruby","s","samp","script","select","slot","small","span","strong","sub","sup","svg","template","textarea","time","u","tt","var","video","wbr"],this.blockNode=["div","h1","h2","h3","h4","h5","h6","address","blockquote","button","center","dd","dir","dl","dt","fieldset","frameset","hr","iframe","isindex","li","map","menu","noframes","noscript","object","ol","pre","td","tr","th","tbody","tfoot","thead","table","ul","header","article","nav","footer","section","aside","main","figure","figcaption"],this.isNotFromHtml=!1,this.containsHtml=!1,this.parent=e,this.locator=t,this.renderFactory=this.locator.getService("rendererFactory"),this.i10n=t.getService("rteLocale"),this.dialogRenderObj=t.getService("dialogRenderObject"),this.addEventListener()}return n.prototype.addEventListener=function(){this.nodeSelectionObj=new Co,this.parent.isDestroyed||(this.parent.on(tt,this.pasteClean,this),this.parent.on(Dt,this.setCssClass,this),this.parent.on(F,this.destroy,this))},n.prototype.destroy=function(){this.removeEventListener()},n.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off(tt,this.pasteClean),this.parent.off(Dt,this.setCssClass),this.parent.off(F,this.destroy))},n.prototype.pasteClean=function(n){var i,r=this,o={requestType:"Paste",editorMode:this.parent.editorMode,event:n},s=null;if(n.args&&!t.isNullOrUndefined(n.args.clipboardData)&&(s=n.args.clipboardData.getData("text/html")),this.parent.trigger(Nt,{value:s}),n.args&&null!==s&&"HTML"===this.parent.editorMode){if(0===s.length){var a=new RegExp(/<\/[a-z][\s\S]*>/i);s=n.args.clipboardData.getData("text/plain"),this.isNotFromHtml=""!==s,s=(s=s.replace(/</g,"&lt;")).replace(/>/g,"&gt;"),this.containsHtml=a.test(s);var l=n&&n.args.clipboardData&&n.args.clipboardData.items.length>0?null===n.args.clipboardData.items[0].getAsFile()?t.isNullOrUndefined(n.args.clipboardData.items[1])?null:n.args.clipboardData.items[1].getAsFile():n.args.clipboardData.items[0].getAsFile():null;if(this.parent.notify(Ge,{file:l,args:n.args,text:s,callBack:function(e){"object"==typeof(i=e)?r.parent.formatter.editorManager.execCommand("Images","Image",n.args,r.imageFormatting.bind(r,o),"pasteCleanup",i,"pasteCleanupModule"):s=i}}),!a.test(s)){var d=this.parent.createElement("div");d.innerHTML=this.splitBreakLine(s),s=d.innerHTML}}else s.length>0&&this.parent.formatter.editorManager.observer.notify(Nr,{args:n.args,text:n.text,allowedStylePropertiesArray:this.parent.pasteCleanupSettings.allowedStyleProps,callBack:function(e){s=e.trim()}});this.contentRenderer=this.renderFactory.getRenderer(e.RenderType.Content);var c=this.contentRenderer.getDocument(),p=this.nodeSelectionObj.getRange(c);if(this.saveSelection=this.nodeSelectionObj.save(p,c),this.parent.trigger(St,{value:s},function(e){s=e.value}),this.parent.pasteCleanupSettings.prompt){n.args.preventDefault();var h=this.parent.createElement("div");h.innerHTML=s,""===h.textContent&&t.isNullOrUndefined(h.querySelector("img"))&&t.isNullOrUndefined(h.querySelector("table"))||this.pasteDialog(s,o)}else this.parent.pasteCleanupSettings.plainText?(n.args.preventDefault(),this.plainFormatting(s,o)):this.parent.pasteCleanupSettings.keepFormat?(n.args.preventDefault(),this.formatting(s,!1,o)):(n.args.preventDefault(),this.formatting(s,!0,o))}},n.prototype.splitBreakLine=function(e){for(var t=e.split("\n"),n="",i=0;i<t.length;i++)if(""===t[i].trim())n+=O(this.parent);else{n+="<p>"+this.makeSpace(t[i]).trim()+"</p>"}return n},n.prototype.makeSpace=function(e){for(var t="",n=!0,i=e.split(" "),r=0;r<i.length;r++)""===i[r].trim()?t+=n?"&nbsp;":" ":(n=!1,t+=i[r]+" ");return t},n.prototype.imgUploading=function(e){var n=e.querySelectorAll(".pasteContent_Img");if(this.parent.insertImageSettings.saveUrl&&n.length>0){for(var i=[],r=[],o=[],s=0;s<n.length;s++)n[s].getAttribute("src").split(",")[0].indexOf("base64")>=0&&(i.push(n[s].getAttribute("src")),r.push(t.getUniqueID("rte_image")),o.push(n[s]));var a=[];for(s=0;s<i.length;s++)a.push(this.base64ToFile(i[s],r[s]));for(s=0;s<a.length;s++)this.uploadMethod(a[s],o[s]);t.isNullOrUndefined(this.parent.insertImageSettings.path)&&"Blob"===this.parent.insertImageSettings.saveFormat&&this.getBlob(n)}else"Blob"===this.parent.insertImageSettings.saveFormat&&this.getBlob(n);var l=e.querySelectorAll(".pasteContent_Img");for(s=0;s<l.length;s++)l[s].classList.remove("pasteContent_Img"),""===l[s].getAttribute("class").trim()&&n[s].removeAttribute("class")},n.prototype.getBlob=function(e){for(var n=0;n<e.length;n++)if(!t.isNullOrUndefined(e[n].getAttribute("src"))&&e[n].getAttribute("src").split(",")[0].indexOf("base64")>=0){var i=URL.createObjectURL(D(e[n].getAttribute("src")));e[n].setAttribute("src",i)}},n.prototype.toolbarEnableDisable=function(e){this.parent.inlineMode.enable||this.parent.toolbarModule.baseToolbar.toolbarObj.disable(e)},n.prototype.uploadMethod=function(e,n){var i=this,s=document.createElement("div");document.body.appendChild(s),s.setAttribute("display","none"),n.style.opacity="0.5";var a=this.parent.createElement("div");this.parent.element.appendChild(a);var l=this.parent.createElement("input",{id:this.parent.element.id+"_upload",attrs:{type:"File",name:"UploadFiles"}}),d=this.parent.iframeSettings.enable?-50:-90;this.popupObj=new r.Popup(a,{relateTo:n,height:"85px",width:"300px",offsetY:d,content:l,viewPortElement:this.parent.element,position:{X:"center",Y:"top"},enableRtl:this.parent.enableRtl,zIndex:10001,close:function(e){i.parent.isBlur=!1,i.popupObj.destroy(),t.detach(i.popupObj.element)}}),this.popupObj.element.style.display="none",t.addClass([this.popupObj.element],[si,oi]),t.isNullOrUndefined(this.parent.cssClass)||t.addClass([this.popupObj.element],this.parent.cssClass);var c=e.size>1e6?300:100;setTimeout(function(){i.refreshPopup(n,i.popupObj)},c);var p,h;this.uploadObj=new o.Uploader({asyncSettings:{saveUrl:this.parent.insertImageSettings.saveUrl,removeUrl:this.parent.insertImageSettings.removeUrl},cssClass:li,dropArea:this.parent.inputElement,allowedExtensions:this.parent.insertImageSettings.allowedTypes.toString(),success:function(e){setTimeout(function(){i.popupClose(i.popupObj,i.uploadObj,n,e)},900)},uploading:function(e){i.parent.isServerRendered||i.parent.trigger(ct,e,function(e){e.cancel?(t.isNullOrUndefined(n)||t.detach(n),t.isNullOrUndefined(i.popupObj.element)||t.detach(i.popupObj.element)):i.parent.inputElement.contentEditable="false"})},beforeUpload:function(e){i.parent.isServerRendered?((h=JSON.parse(JSON.stringify(e))).filesData=p,e.cancel=!0,i.parent.trigger(ct,h,function(e){e.cancel||(i.toolbarEnableDisable(!0),i.uploadObj.currentRequestHeader=e.currentRequest?e.currentRequest:i.uploadObj.currentRequestHeader,i.uploadObj.customFormDatas=e.customFormData&&e.customFormData.length>0?e.customFormData:i.uploadObj.customFormDatas,i.uploadObj.uploadFiles(p,null))})):(i.parent.trigger(ft,e),i.toolbarEnableDisable(!0))},failure:function(e){setTimeout(function(){i.uploadFailure(n,i.uploadObj,i.popupObj,e)},900)},canceling:function(){i.parent.inputElement.contentEditable="true"," "===n.nextSibling.textContent&&t.detach(n.nextSibling),t.detach(n),i.popupObj.close()},selected:function(e){e.cancel=!0,i.parent.isServerRendered&&(p=e.filesData)},removing:function(){i.parent.inputElement.contentEditable="true"," "===n.nextSibling.textContent&&t.detach(n.nextSibling),t.detach(n),i.popupObj.close()}}),this.uploadObj.appendTo(this.popupObj.element.childNodes[0]);var u=[{name:e.name,rawFile:e,size:e.size,type:e.type,validationMessages:{minSize:"",maxSize:""},statusCode:"1"}];this.uploadObj.createFileList(u),this.uploadObj.filesData.push(u[0]),p=u,this.uploadObj.upload(u),this.popupObj.element.getElementsByClassName("e-file-select-wrap")[0].style.display="none",t.detach(this.popupObj.element.querySelector(".e-rte-dialog-upload .e-file-select-wrap"))},n.prototype.uploadFailure=function(e,n,i,r){this.parent.inputElement.contentEditable="true",t.detach(e),i&&i.close(),this.parent.trigger(ht,r),n.destroy()},n.prototype.popupClose=function(e,n,i,r){var o=this;this.parent.inputElement.contentEditable="true",r.element=i,this.parent.trigger(pt,r,function(e){if(!t.isNullOrUndefined(o.parent.insertImageSettings.path)){var n=o.parent.insertImageSettings.path+e.file.name;i.src=n,i.setAttribute("alt",e.file.name)}}),e.close(),i.style.opacity="1",n.destroy(),this.toolbarEnableDisable(!1)},n.prototype.refreshPopup=function(e,t){(this.parent.iframeSettings.enable?this.parent.element.offsetTop+e.offsetTop:e.offsetTop)>this.parent.element.offsetTop+this.parent.element.offsetHeight?(t.relateTo=this.parent.inputElement,t.offsetY=this.parent.iframeSettings.enable?-30:-65,t.element.style.display="block"):t&&(t.refreshPosition(e),t.element.style.display="block")},n.prototype.base64ToFile=function(e,n){for(var i=e.split(","),r=i[0].match(/:(.*?);/)[1].split("/")[1],o=atob(i[1]),s=o.length,a=new Uint8Array(s);s--;)a[s]=o.charCodeAt(s);if(t.Browser.isIE||navigator.appVersion.indexOf("Edge")>-1){var l=new Blob([a],{type:r});return t.extend(l,{name:n+"."+(t.isNullOrUndefined(r)?"":r)}),l}return new File([a],n+"."+(t.isNullOrUndefined(r)?"":r),{type:r})},n.prototype.imageFormatting=function(t,n){var i=this.parent.createElement("span");i.appendChild(n.elements[0]);var r=i.innerHTML;this.contentRenderer=this.renderFactory.getRenderer(e.RenderType.Content);var o=this.contentRenderer.getDocument(),s=this.nodeSelectionObj.getRange(o);this.saveSelection=this.nodeSelectionObj.save(s,o),this.parent.pasteCleanupSettings.prompt?this.pasteDialog(r,t):this.parent.pasteCleanupSettings.plainText?this.plainFormatting(r,t):this.parent.pasteCleanupSettings.keepFormat?this.formatting(r,!1,t):this.formatting(r,!0,t)},n.prototype.radioRender=function(){this.keepRadioButton=new s.RadioButton({label:this.i10n.getConstant("keepFormat"),name:"pasteOption",checked:!0}),this.keepRadioButton.isStringTemplate=!0;var e=this.parent.element.querySelector("#keepFormating");this.keepRadioButton.appendTo(e),this.cleanRadioButton=new s.RadioButton({label:this.i10n.getConstant("cleanFormat"),name:"pasteOption"}),this.cleanRadioButton.isStringTemplate=!0;var t=this.parent.element.querySelector("#cleanFormat");this.cleanRadioButton.appendTo(t),this.plainTextRadioButton=new s.RadioButton({label:this.i10n.getConstant("plainText"),name:"pasteOption"}),this.plainTextRadioButton.isStringTemplate=!0;var n=this.parent.element.querySelector("#plainTextFormat");this.plainTextRadioButton.appendTo(n)},n.prototype.selectFormatting=function(e,t,n,i){n?this.formatting(e,!1,t):i?this.formatting(e,!0,t):this.plainFormatting(e,t)},n.prototype.pasteDialog=function(e,t){var n=this,i=!1,r=this.parent.height,o={buttons:[{click:function(){if(!n.dialogObj.isDestroyed){var o=n.parent.element.querySelector("#keepFormating").checked,s=n.parent.element.querySelector("#cleanFormat").checked;n.dialogObj.hide(),n.parent.height=i?r:n.parent.height,i=!1;var a=n.dialogObj;n.dialogRenderObj.close(a),n.dialogObj.destroy(),n.selectFormatting(e,t,o,s)}},buttonModel:{isPrimary:!0,cssClass:"e-flat "+Zn,content:this.i10n.getConstant("pasteDialogOk")}},{click:function(){if(!n.dialogObj.isDestroyed){n.dialogObj.hide(),n.parent.height=i?r:n.parent.height,i=!1;var e=n.dialogObj;n.dialogRenderObj.close(e),n.dialogObj.destroy()}},buttonModel:{cssClass:"e-flat "+ei,content:this.i10n.getConstant("pasteDialogCancel")}}],header:this.i10n.getConstant("pasteFormat"),content:this.i10n.getConstant("pasteFormatContent")+'<br/><div><div style="padding-top:24px;"><input type="radio" class="'+Yn+'" id="keepFormating"/></div><div style="padding-top:20px;"><input type="radio" class="'+Jn+'" id="cleanFormat"/></div><div style="padding-top:20px;"><input type="radio" class="'+$n+'" id="plainTextFormat"/></div></div>',target:this.parent.element,width:"300px",height:"265px",cssClass:ti,isModal:!0,visible:!1};this.dialogObj=this.dialogRenderObj.render(o);var s=this.parent.element.querySelector("#"+this.parent.getID()+"_pasteCleanupDialog");null!==s&&""!==s.innerHTML&&this.destroyDialog(s),null===s&&(s=this.parent.createElement("div",{id:this.parent.getID()+"_pasteCleanupDialog"}),this.parent.element.appendChild(s)),this.dialogObj.appendTo(s),this.radioRender(),this.parent.element.offsetHeight<parseInt(this.dialogObj.height.split("px")[0],null)&&(this.parent.height=parseInt(this.dialogObj.height.split("px")[0],null)+40,i=!0),this.dialogObj.show(),this.setCssClass({cssClass:this.parent.cssClass})},n.prototype.updateCss=function(e,n){e&&n.cssClass&&(t.isNullOrUndefined(n.oldCssClass)?e.setProperties({cssClass:(e.cssClass+" "+n.cssClass).trim()}):e.setProperties({cssClass:(e.cssClass.replace(n.oldCssClass,"").trim()+" "+n.cssClass).trim()}))},n.prototype.setCssClass=function(e){this.popupObj&&e.cssClass&&(t.isNullOrUndefined(e.oldCssClass)?t.addClass([this.popupObj.element],e.cssClass):(t.removeClass([this.popupObj.element],e.oldCssClass),t.addClass([this.popupObj.element],e.cssClass))),this.updateCss(this.dialogObj,e),this.updateCss(this.uploadObj,e),this.updateCss(this.plainTextRadioButton,e),this.updateCss(this.cleanRadioButton,e),this.updateCss(this.keepRadioButton,e)},n.prototype.destroyDialog=function(e){var n=this.parent.element.querySelector(".e-dlg-container");t.detach(n);for(var i=e.children.length,r=0;r<i;r++)t.detach(e.children[0])},n.prototype.cleanAppleClass=function(e){for(var n=e.querySelectorAll("br.Apple-interchange-newline"),i=0;i<n.length;i++)t.detach(n[i]);return e},n.prototype.formatting=function(e,n,i){var r=this,o=this.parent.createElement("div",{className:"pasteContent",styles:"display:inline;"});this.isNotFromHtml&&this.containsHtml&&(e=this.splitBreakLine(e)),o.innerHTML=e,o=this.cleanAppleClass(o),null!==this.parent.pasteCleanupSettings.deniedTags&&(o=this.deniedTags(o)),n?o=this.deniedAttributes(o,n):null!==this.parent.pasteCleanupSettings.deniedAttrs&&(o=this.deniedAttributes(o,n)),null!==this.parent.pasteCleanupSettings.allowedStyleProps&&(o=this.allowedStyle(o)),this.saveSelection.restore(),o.innerHTML=this.sanitizeHelper(o.innerHTML);for(var s=o.querySelectorAll("img"),a=0;a<s.length;a++)s[a].classList.add("pasteContent_Img"),"auto"!==this.parent.insertImageSettings.width&&s[a].setAttribute("width",this.parent.insertImageSettings.width),"0"!==this.parent.insertImageSettings.minWidth&&0!==this.parent.insertImageSettings.minWidth&&(s[a].style.minWidth=this.parent.insertImageSettings.minWidth.toString()),null!==this.parent.insertImageSettings.maxWidth&&(s[a].style.maxWidth=this.parent.getInsertImgMaxWidth().toString()),"auto"!==this.parent.insertImageSettings.height&&s[a].setAttribute("height",this.parent.insertImageSettings.height),"0"!==this.parent.insertImageSettings.minHeight&&0!==this.parent.insertImageSettings.minHeight&&(s[a].style.minHeight=this.parent.insertImageSettings.minHeight.toString()),null!==this.parent.insertImageSettings.maxHeight&&(s[a].style.maxHeight=this.parent.insertImageSettings.maxHeight.toString());this.addTempClass(o),""===o.textContent&&t.isNullOrUndefined(o.querySelector("img"))&&t.isNullOrUndefined(o.querySelector("table"))||(this.parent.formatter.editorManager.execCommand("inserthtml","pasteCleanup",i,function(e){t.extend(i,{elements:e.elements,imageElements:e.imgElem},!0),r.parent.formatter.onSuccess(r.parent,i)},o),this.removeTempClass(),this.parent.notify(z,{}),this.imgUploading(this.parent.inputElement),this.parent.iframeSettings.enable&&this.parent.updateValue())},n.prototype.addTempClass=function(e){for(var t=e.children,n=0;n<t.length;n++)t[n].classList.add("pasteContent_RTE")},n.prototype.removeTempClass=function(){for(var e=this.parent.inputElement.querySelectorAll(".pasteContent_RTE"),t=0;t<e.length;t++)e[t].classList.remove("pasteContent_RTE"),""===e[t].getAttribute("class")&&e[t].removeAttribute("class")},n.prototype.sanitizeHelper=function(e){return e=k(e,this.parent)},n.prototype.plainFormatting=function(e,n){var i=this,r=this.parent.createElement("div",{className:"pasteContent",styles:"display:inline;"});if(r.innerHTML=e,this.detachInlineElements(r),this.getTextContent(r),""!==r.textContent.trim()){if(!t.isNullOrUndefined(r.firstElementChild)&&"BR"!==r.firstElementChild.tagName){var o=r.firstElementChild;if(!t.isNullOrUndefined(r.firstElementChild)){for(var s=this.parent.createElement("span"),a=0,l=0;a<o.childNodes.length;a++,l++)if("#text"===o.childNodes[a].nodeName)s.appendChild(o.childNodes[a]),r.insertBefore(s,r.firstElementChild),a--;else{if("#text"===o.childNodes[a].nodeName||0!==l)break;for(var d=0;d<o.childNodes[a].childNodes.length;d++)s.appendChild(o.childNodes[a].childNodes[d]),r.insertBefore(s,r.firstElementChild),d--;a--}o.hasChildNodes()||t.detach(o)}}this.removeEmptyElements(r),this.saveSelection.restore(),r.innerHTML=this.sanitizeHelper(r.innerHTML),this.addTempClass(r),this.parent.formatter.editorManager.execCommand("inserthtml","pasteCleanup",n,function(e){t.extend(n,{elements:e.elements,imageElements:e.imgElem},!0),i.parent.formatter.onSuccess(i.parent,n)},r),this.removeTempClass()}else this.saveSelection.restore(),t.extend(n,{elements:[]},!0),this.parent.formatter.onSuccess(this.parent,n)},n.prototype.getTextContent=function(e){for(var n=0;n<this.blockNode.length;n++)for(var i=e.querySelectorAll(this.blockNode[n]),r=0;r<i.length;r++){for(var o=void 0,s=0,a=0,l=void 0;s<i[r].childNodes.length;s++,a++)if("DIV"===i[r].childNodes[s].nodeName||"P"===i[r].childNodes[s].nodeName||"#text"===i[r].childNodes[s].nodeName&&"&nbsp;"!==i[r].childNodes[s].nodeValue.replace(/\u00a0/g,"&nbsp;")&&""===i[r].childNodes[s].textContent.trim())o=i[r].childNodes[s].parentElement,i[r].childNodes[s].parentElement.parentElement.insertBefore(i[r].childNodes[s],i[r].childNodes[s].parentElement),s--;else{if(o=i[r].childNodes[s].parentElement,"text"===l){o.previousElementSibling.appendChild(i[r].childNodes[s])}else{var d=this.parent.createElement("div",{id:"newDiv"});d.appendChild(i[r].childNodes[s]),o.parentElement.insertBefore(d,o)}s--,l="text"}t.isNullOrUndefined(o)||t.detach(o)}var c=e.querySelectorAll("*");for(n=0;n<c.length;n++){var p=c[n].attributes;for(r=0;r<p.length;r++)c[n].removeAttribute(p[r].name),r--}},n.prototype.detachInlineElements=function(e){for(var n=0;n<this.inlineNode.length;n++)for(var i=e.querySelectorAll(this.inlineNode[n]),r=0;r<i.length;r++){for(var o=void 0,s=0;s<i[r].childNodes.length;s++)o=i[r].childNodes[s].parentElement,i[r].childNodes[s].parentElement.parentElement.insertBefore(i[r].childNodes[s],i[r].childNodes[s].parentElement),s--;t.isNullOrUndefined(o)||t.detach(o)}},n.prototype.findDetachEmptyElem=function(e){return t.isNullOrUndefined(e.parentElement)?null:""===e.parentElement.textContent.trim()&&"pasteContent"!==e.parentElement.getAttribute("class")?this.findDetachEmptyElem(e.parentElement):e},n.prototype.removeEmptyElements=function(e){for(var n=e.querySelectorAll(":empty"),i=0;i<n.length;i++)if("BR"!==n[i].tagName){var r=this.findDetachEmptyElem(n[i]);t.isNullOrUndefined(r)||t.detach(r)}},n.prototype.tagGrouping=function(e){for(var t=e.slice(),n=Object.keys(Hr),i=n.map(function(e){return Hr[e]}),r=[],o=0;o<t.length;o++)if(t[o].split("[").length>1&&(t[o]=t[o].split("[")[0].trim()),n.indexOf(t[o])>-1)for(var s=0;s<i[n.indexOf(t[o])].length;s++)t.indexOf(i[n.indexOf(t[o])][s])<0&&r.indexOf(i[n.indexOf(t[o])][s])<0&&r.push(i[n.indexOf(t[o])][s]);return e=e.concat(r)},n.prototype.attributesfilter=function(e){for(var t=0;t<e.length;t++)if(e[t].split("[").length>1){for(var n=e[t].split("[")[1].split("]")[0].split(","),i=[],r=[],o=0;o<n.length;o++)n[o].indexOf("!")<0?i.push(n[o].trim()):r.push(n[o].split("!")[1].trim());var s=i.length>1?i.join("]["):i.join(),a=r.length>1?r.join("]["):r.join();if(a.length>0){var l=""!==s?e[t].split("[")[0]+"["+s+"]":e[t].split("[")[0];e[t]=l+":not(["+a+"])"}else e[t]=e[t].split("[")[0]+"["+s+"]"}return e},n.prototype.deniedTags=function(e){var n=t.isNullOrUndefined(this.parent.pasteCleanupSettings.deniedTags)?[]:this.parent.pasteCleanupSettings.deniedTags.slice();n=this.attributesfilter(n),n=this.tagGrouping(n);for(var i=0;i<n.length;i++)for(var r=e.querySelectorAll(n[i]),o=r.length-1;o>=0;o--){for(var s=r[o].parentNode;r[o].firstChild;)s.insertBefore(r[o].firstChild,r[o]);s.removeChild(r[o])}return e},n.prototype.deniedAttributes=function(e,n){var i=t.isNullOrUndefined(this.parent.pasteCleanupSettings.deniedAttrs)?[]:this.parent.pasteCleanupSettings.deniedAttrs.slice();n&&i.push("style");for(var r=0;r<i.length;r++)for(var o=e.querySelectorAll("["+i[r]+"]"),s=0;s<o.length;s++)o[s].removeAttribute(i[r]);return e},n.prototype.allowedStyle=function(e){var n=t.isNullOrUndefined(this.parent.pasteCleanupSettings.allowedStyleProps)?[]:this.parent.pasteCleanupSettings.allowedStyleProps.slice();n.push("list-style-type","list-style");for(var i=e.querySelectorAll("[style]"),r=0;r<i.length;r++){for(var o="",s=[],a=i[r].getAttribute("style").split(";"),l=0;l<a.length;l++)n.indexOf(a[l].split(":")[0].trim())>=0&&s.push(a[l]);i[r].removeAttribute("style"),(o=""===s.join(";").trim()?s.join(";"):s.join(";")+";")&&i[r].setAttribute("style",o)}return e},n.prototype.getModuleName=function(){return"pasteCleanup"},n}(),as=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.isDestroyed||(this.parent.on(H,this.renderResizable,this),this.parent.on(F,this.destroy,this))},e.prototype.renderResizable=function(){var e=this.parent.enableRtl?"e-south-west":"e-south-east";this.resizer=this.parent.createElement("div",{id:this.parent.getID()+"-resizable",className:"e-icons "+ni+" "+e}),this.parent.element.classList.add(di),this.parent.element.appendChild(this.resizer),this.touchStartEvent="msie"===t.Browser.info.name?"pointerdown":"touchstart",t.EventHandler.add(this.resizer,"mousedown",this.resizeStart,this),t.EventHandler.add(this.resizer,this.touchStartEvent,this.resizeStart,this)},e.prototype.resizeStart=function(e){var t=this;e.cancelable&&e.preventDefault(),this.wireResizeEvents(),this.parent.notify(bt,{});var n={event:e,requestType:"editor"};this.parent.trigger(ce,n,function(e){e.cancel&&t.unwireResizeEvents()})},e.prototype.performResize=function(e){var n=this,i={event:e,requestType:"editor"};this.parent.trigger(pe,i,function(e){e.cancel&&n.unwireResizeEvents()});var r=this.parent.element.getBoundingClientRect();if(this.isMouseEvent(e))this.parent.element.style.height=e.clientY-r.top+"px",this.parent.element.style.width=this.parent.enableRtl?r.right-e.clientX+"px":e.clientX-r.left+"px";else{var o="msie"!==t.Browser.info.name?e.touches[0]:e;this.parent.element.style.height=o.clientY-r.top+"px",this.parent.element.style.width=this.parent.enableRtl?r.right-e.clientX+"px":e.clientX-r.left+"px"}this.parent.toolbarSettings.enable||this.parent.setContentHeight("",!1),this.parent.refreshUI()},e.prototype.stopResize=function(e){this.parent.refreshUI(),this.unwireResizeEvents();var t={event:e,requestType:"editor"};this.parent.trigger(he,t)},e.prototype.getEventType=function(e){return e.indexOf("mouse")>-1?"mouse":"touch"},e.prototype.isMouseEvent=function(e){var n=!1;return("mouse"===this.getEventType(e.type)||!t.isNullOrUndefined(e.pointerType)&&"mouse"===this.getEventType(e.pointerType))&&(n=!0),n},e.prototype.wireResizeEvents=function(){t.EventHandler.add(document,"mousemove",this.performResize,this),t.EventHandler.add(document,"mouseup",this.stopResize,this),this.touchMoveEvent="msie"===t.Browser.info.name?"pointermove":"touchmove",this.touchEndEvent="msie"===t.Browser.info.name?"pointerup":"touchend",t.EventHandler.add(document,this.touchMoveEvent,this.performResize,this),t.EventHandler.add(document,this.touchEndEvent,this.stopResize,this)},e.prototype.unwireResizeEvents=function(){t.EventHandler.remove(document,"mousemove",this.performResize),t.EventHandler.remove(document,"mouseup",this.stopResize),t.EventHandler.remove(document,this.touchMoveEvent,this.performResize),t.EventHandler.remove(document,this.touchEndEvent,this.stopResize)},e.prototype.destroy=function(){this.removeEventListener()},e.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off(H,this.renderResizable),this.parent.element.classList.remove(di),t.EventHandler.remove(this.resizer,"mousedown",this.resizeStart),t.EventHandler.remove(this.resizer,this.touchStartEvent,this.resizeStart),this.resizer&&t.detach(this.resizer),this.parent.off(F,this.destroy))},e.prototype.getModuleName=function(){return"resize"},e}(),ls=function(){function n(e,t){a.FileManager.Inject(a.ContextMenu,a.DetailsView,a.NavigationPane,a.Toolbar),this.parent=e,this.i10n=t.getService("rteLocale"),this.dialogRenderObj=t.getService("dialogRenderObject"),this.rendererFactory=t.getService("rendererFactory"),this.addEventListener()}return n.prototype.initialize=function(){this.parent.fileManagerModule=this,this.contentModule=this.rendererFactory.getRenderer(e.RenderType.Content)},n.prototype.render=function(e){var n,i=this;n=e.selectNode&&"IMG"===e.selectNode[0].nodeName?this.parent.localeObj.getConstant("dialogUpdate"):this.i10n.getConstant("dialogInsert");var r=this.parent.localeObj.getConstant("fileDialogHeader"),o=this.i10n.getConstant("dialogCancel");this.dlgButtons=[{click:this.insertImageUrl.bind(this),buttonModel:{content:n,cssClass:"e-flat e-insertImage",isPrimary:!0}},{click:function(e){i.cancelDialog()},buttonModel:{cssClass:"e-flat e-cancel",content:o}}],this.dlgButtons[0].buttonModel.disabled=!0,this.selectObj={selection:e.selection,args:e.args,selectParent:e.selectParent};var s=this.parent.createElement("div",{className:"e-rte-file-manager-dialog",id:this.parent.getID()+"_file-manager-dialog",attrs:{"aria-owns":this.parent.getID()}});document.body.appendChild(s),this.fileWrap=this.parent.createElement("div",{id:this.parent.getID()+"_rte-file-manager",className:"e-img-file-wrap"}),s.appendChild(this.fileWrap),s.appendChild(this.getInputUrlElement());var a={visible:!1,isModal:!0,header:r,target:document.body,locale:this.parent.locale,enableRtl:this.parent.enableRtl,cssClass:En,animationSettings:{effect:"None"},showCloseIcon:!0,closeOnEscape:!0,width:"720px",height:"auto",position:{X:"center",Y:"center"},buttons:this.dlgButtons,created:this.renderFileManager.bind(this),close:function(e){i.parent.isBlur=!1,e&&e.event.returnValue&&i.selectObj.selection.restore(),i.destroyComponents(),i.dialogRenderObj.close(e)}};this.dialogObj=this.dialogRenderObj.render(a),this.dialogObj.createElement=this.parent.createElement,this.dialogObj.appendTo(s),this.dialogObj.show(!!t.Browser.isDevice),this.setCssClass({cssClass:this.parent.cssClass})},n.prototype.setCssClass=function(e){this.dialogObj&&e.cssClass&&(t.isNullOrUndefined(e.oldCssClass)?this.dialogObj.setProperties({cssClass:(this.dialogObj.cssClass+" "+e.cssClass).trim()}):this.dialogObj.setProperties({cssClass:(this.dialogObj.cssClass.replace(e.oldCssClass,"").trim()+" "+e.cssClass).trim()}))},n.prototype.renderFileManager=function(){var e=this,n=this;this.fileObj=new a.FileManager({allowMultiSelection:!1,locale:this.parent.locale,enableRtl:this.parent.enableRtl,path:this.parent.fileManagerSettings.path,view:this.parent.fileManagerSettings.view,enablePersistence:this.parent.enablePersistence,cssClass:this.parent.fileManagerSettings.cssClass,sortOrder:this.parent.fileManagerSettings.sortOrder,ajaxSettings:this.parent.fileManagerSettings.ajaxSettings,showThumbnail:this.parent.fileManagerSettings.showThumbnail,rootAliasName:this.parent.fileManagerSettings.rootAliasName,uploadSettings:this.parent.fileManagerSettings.uploadSettings,searchSettings:this.parent.fileManagerSettings.searchSettings,toolbarSettings:this.parent.fileManagerSettings.toolbarSettings,showHiddenItems:this.parent.fileManagerSettings.showHiddenItems,allowDragAndDrop:this.parent.fileManagerSettings.allowDragAndDrop,showFileExtension:this.parent.fileManagerSettings.showFileExtension,detailsViewSettings:this.parent.fileManagerSettings.detailsViewSettings,contextMenuSettings:this.parent.fileManagerSettings.contextMenuSettings,navigationPaneSettings:this.parent.fileManagerSettings.navigationPaneSettings,fileSelect:function(t){var i=t.fileDetails;i.isFile&&n.parent.insertImageSettings.allowedTypes.indexOf(i.type)>-1?(n.inputUrl.value=n.parent.fileManagerSettings.ajaxSettings.getImageUrl+"?path="+(i.filterPath&&i.filterPath.replace(/\\/g,"/"))+i.name,e.dlgButtons[0].buttonModel.disabled=!1):(n.inputUrl.value="",e.dlgButtons[0].buttonModel.disabled=!0),e.dialogObj.buttons=e.dlgButtons},created:function(){e.inputUrl.removeAttribute("disabled")},success:function(){e.fileObj.refreshLayout()}}),t.Browser.isDevice&&(this.fileObj.height="85%"),this.fileObj.appendTo(this.fileWrap),t.EventHandler.add(this.parent.element.ownerDocument,"mousedown",this.onDocumentClick,this)},n.prototype.getInputUrlElement=function(){var e=this.parent.createElement("div",{className:"imgUrl"}),t=this.parent.createElement("div",{className:"e-rte-label"});t.innerHTML='<label for="rteSample_img_url">'+this.i10n.getConstant("linkWebUrl")+"</label>",e.appendChild(t);var n=this.i10n.getConstant("imageUrl");return this.inputUrl=this.parent.createElement("input",{className:"e-input e-img-url",attrs:{placeholder:n,spellcheck:"false",disabled:"true"}}),e.appendChild(this.inputUrl),e},n.prototype.insertImageUrl=function(e){var n=this.inputUrl.value;if(0===this.parent.formatter.getUndoRedoStack().length&&this.parent.formatter.saveData(),""!==n){if("HTML"===this.parent.editorMode&&t.isNullOrUndefined(t.closest(this.selectObj.selection.range.startContainer.parentNode,"#"+this.contentModule.getPanel().id))){this.contentModule.getEditPanel().focus();var i=this.parent.formatter.editorManager.nodeSelection.getRange(this.contentModule.getDocument());this.selectObj.selection=this.parent.formatter.editorManager.nodeSelection.save(i,this.contentModule.getDocument()),this.selectObj.selectParent=this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(i)}var r=/[\w-]+.(jpg|png|jpeg|gif)/g,o=t.isNullOrUndefined(n.match(r))||"HTML"!==this.parent.editorMode?"":n.match(r)[0],s={cssClass:"inline"===this.parent.insertImageSettings.display?fn:hn,url:n,selection:this.selectObj.selection,altText:o,selectParent:this.selectObj.selectParent,width:{width:this.parent.insertImageSettings.width,minWidth:this.parent.insertImageSettings.minWidth,maxWidth:this.parent.getInsertImgMaxWidth()},height:{height:this.parent.insertImageSettings.height,minHeight:this.parent.insertImageSettings.minHeight,maxHeight:this.parent.insertImageSettings.maxHeight}};this.parent.formatter.process(this.parent,this.selectObj.args,this.selectObj.args.originalEvent,s),this.dialogObj.hide({returnValue:!1})}},n.prototype.cancelDialog=function(){this.parent.isBlur=!1,this.dialogObj.hide({returnValue:!0})},n.prototype.onDocumentClick=function(e){var n=e.target,i="#document"!==n.nodeName&&!t.isNullOrUndefined(n.previousElementSibling)&&n.previousElementSibling;t.isNullOrUndefined(this.dialogObj)||t.closest(n,"#"+this.parent.getID()+"_file-manager-dialog")||t.closest(n,"#"+this.parent.getID()+"_rte-file-manager_tb_sortby-popup")||t.closest(n,"#"+this.parent.getID()+"_rte-file-manager_tb_view-popup")||t.closest(n,"#"+this.parent.getID()+"_rte-file-manager_contextmenu")||!t.isNullOrUndefined(t.closest(n,".e-contextmenu-wrapper"))&&t.closest(n,".e-contextmenu-wrapper").querySelector("#"+this.parent.getID()+"_rte-file-manager_contextmenu")||t.isNullOrUndefined(i)||i.classList.contains("e-rte-file-manager-dialog")||t.isNullOrUndefined(i)||i.id===this.parent.getID()+"_rte-file-manager_contextmenu"?this.parent.isRTE=!0:(this.dialogObj.hide({returnValue:!0}),this.parent.isBlur=!0,C(this.parent.element,"focusout"))},n.prototype.addEventListener=function(){this.parent.on(H,this.initialize,this),this.parent.on(vt,this.render,this),this.parent.on(Dt,this.setCssClass,this),this.parent.on(F,this.destroy,this)},n.prototype.removeEventListener=function(){t.EventHandler.remove(this.parent.element.ownerDocument,"mousedown",this.onDocumentClick),this.parent.off(H,this.initialize),this.parent.off(vt,this.render),this.parent.off(Dt,this.setCssClass),this.parent.off(F,this.destroy)},n.prototype.destroyComponents=function(){this.fileObj&&(this.fileObj.destroy(),this.fileObj=null),this.dialogObj&&(this.dialogObj.destroy(),t.detach(this.dialogObj.element),this.dialogObj=null)},n.prototype.destroy=function(){this.parent.isDestroyed||(this.destroyComponents(),this.removeEventListener())},n.prototype.getModuleName=function(){return"fileManager"},n}(),ds=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.showFullScreen=function(e){var n=this;if(!0!==this.parent.toolbarSettings.enable||"Markdown"===this.parent.editorMode||t.isNullOrUndefined(this.parent.quickToolbarModule)||this.parent.quickToolbarModule.hideQuickToolbars(),this.scrollableParent=r.getScrollableParent(this.parent.element),!this.parent.element.classList.contains(_t)){var i={cancel:!1,requestType:"Maximize",targetItem:"Maximize",args:e};this.parent.trigger(be,i,function(i){if(!i.cancel){n.parent.toolbarSettings.enableFloating&&!n.parent.inlineMode.enable&&n.parent.toolbarSettings.enable&&(n.parent.getToolbarElement().style.width="100%",n.parent.getToolbarElement().style.top="0px"),n.parent.element.classList.add(_t),n.toggleParentOverflow(!0);var r=n.parent.element.querySelectorAll(".e-toolbar-extended.e-popup-open").length>0;n.parent.setContentHeight(null,r),n.parent.toolbarModule&&(n.parent.getBaseToolbarObject().toolbarObj.items[0].properties||n.parent.getBaseToolbarObject().toolbarObj.removeItems(0),t.Browser.isDevice&&n.parent.toolbarModule.removeFixedTBarClass(),n.parent.toolbarModule.updateItem({targetItem:"Maximize",updateItem:"Minimize",baseToolbar:n.parent.getBaseToolbarObject()})),n.parent.refreshUI(),n.parent.trigger(ve,{requestType:"Maximize",targetItem:"Maximize",args:e})}})}},e.prototype.hideFullScreen=function(e){var n=this;if(!0!==this.parent.toolbarSettings.enable||"Markdown"===this.parent.editorMode||t.isNullOrUndefined(this.parent.quickToolbarModule)||this.parent.quickToolbarModule.hideQuickToolbars(),this.parent.element.classList.contains(_t)){var i={cancel:!1,requestType:"Minimize",targetItem:"Minimize",args:e};this.parent.trigger(be,i,function(i){if(!i.cancel){n.parent.element.classList.remove(_t);for(var r=document.querySelectorAll(".e-rte-overflow"),o=0;o<r.length;o++)t.removeClass([r[o]],["e-rte-overflow"]);var s=n.parent.element.querySelectorAll(".e-toolbar-extended.e-popup-open").length>0;n.parent.setContentHeight(null,s),n.parent.toolbarModule&&(n.parent.getBaseToolbarObject().toolbarObj.items[0].properties||n.parent.getBaseToolbarObject().toolbarObj.removeItems(0),n.parent.toolbarModule.updateItem({targetItem:"Minimize",updateItem:"Maximize",baseToolbar:n.parent.getBaseToolbarObject()}),t.Browser.isDevice&&n.parent.inlineMode.enable&&n.parent.toolbarModule.addFixedTBarClass()),n.parent.trigger(ve,{requestType:"Minimize",targetItem:"Minimize",args:e})}})}},e.prototype.toggleParentOverflow=function(e){if(!t.isNullOrUndefined(this.scrollableParent))for(var n=0;n<this.scrollableParent.length;n++)if("#document"===this.scrollableParent[n].nodeName){var i=document.querySelector("body");t.addClass([i],["e-rte-overflow"])}else{i=this.scrollableParent[n];t.addClass([i],["e-rte-overflow"])}},e.prototype.onKeyDown=function(e){var t=e.args;switch(t.action){case"full-screen":this.showFullScreen(e.args),t.preventDefault();break;case"escape":this.hideFullScreen(e.args),t.preventDefault()}},e.prototype.addEventListener=function(){this.parent.on($,this.onKeyDown,this),this.parent.on(F,this.destroy,this),this.parent.on(et,this.moduleDestroy,this)},e.prototype.removeEventListener=function(){this.parent.off($,this.onKeyDown),this.parent.off(F,this.destroy),this.parent.off(et,this.moduleDestroy)},e.prototype.destroy=function(){this.parent.element.classList.contains(_t)&&this.toggleParentOverflow(!1);for(var e=document.querySelectorAll(".e-rte-overflow"),n=0;n<e.length;n++)t.removeClass([e[n]],["e-rte-overflow"]);this.removeEventListener()},e.prototype.moduleDestroy=function(){this.parent=null},e}(),cs=function(){function t(e,t){this.parent=e,this.locator=t,this.renderer=this.locator.getService("rendererFactory"),this.addEventListener()}return t.prototype.render=function(){this.parent;this.contentRenderer=this.renderer.getRenderer(e.RenderType.Content),this.contentRenderer.renderPanel()},t.prototype.refresh=function(e){void 0===e&&(e={requestType:"refresh"}),this.parent.notify(e.requestType+"-begin",e)},t.prototype.destroy=function(){this.removeEventListener()},t.prototype.moduleDestroy=function(){this.parent=null},t.prototype.addEventListener=function(){this.parent.isDestroyed||(this.parent.on(Y,this.refresh,this),this.parent.on(J,this.keyUp,this),this.parent.on(et,this.moduleDestroy,this))},t.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off(Y,this.refresh),this.parent.off(J,this.keyUp),this.parent.off(et,this.moduleDestroy))},t.prototype.keyUp=function(e){if("HTML"===this.parent.editorMode)switch(e.args.which){case 46:case 8:var t=this.parent.contentModule.getEditPanel().childNodes;if(0===t.length||1===t.length&&0===t[0].childNodes.length&&("BR"===t[0].tagName||("P"===t[0].tagName||"DIV"===t[0].tagName)&&""===t[0].textContent)){var n=this.parent.contentModule.getEditPanel();"DIV"===this.parent.enterKey?n.innerHTML="<div><br/></div>":"BR"===this.parent.enterKey?n.innerHTML="<br/>":n.innerHTML="<p><br/></p>",this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.parent.contentModule.getDocument(),n.childNodes[0],0)}}},t}(),ps=function(){function n(e,t){this.parent=e,this.rteID=e.element.id,this.i10n=t.getService("rteLocale"),this.addEventListener(),this.serviceLocator=t,this.rendererFactory=t.getService("rendererFactory"),this.dialogRenderObj=t.getService("dialogRenderObject")}return n.prototype.addEventListener=function(){this.parent.isDestroyed||(this.parent.on(ue,this.linkDialog,this),this.parent.on(Tt,this.showDialog,this),this.parent.on(wt,this.closeDialog,this),this.parent.on($,this.onKeyDown,this),this.parent.on(Se,this.showLinkQuickToolbar,this),this.parent.on(rt,this.clearDialogObj,this),this.parent.on(le,this.onToolbarAction,this),this.parent.on(j,this.onIframeMouseDown,this),this.parent.on(me,this.removeLink,this),this.parent.on(ge,this.editLink,this),this.parent.on(fe,this.openLink,this),this.parent.on(Ue,this.editAreaClickHandler,this),this.parent.on(Dt,this.setCssClass,this),this.parent.on(F,this.destroy,this),this.parent.on(et,this.moduleDestroy,this))},n.prototype.onToolbarAction=function(e){switch(e.args.item.subCommand){case"OpenLink":this.parent.notify(fe,e);break;case"EditLink":this.parent.notify(ge,e);break;case"RemoveLink":this.parent.notify(me,e)}},n.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off(ue,this.linkDialog),this.parent.off(Tt,this.showDialog),this.parent.off(wt,this.closeDialog),this.parent.off($,this.onKeyDown),this.parent.off(Se,this.showLinkQuickToolbar),this.parent.off(rt,this.clearDialogObj),this.parent.off(le,this.onToolbarAction),this.parent.off(me,this.removeLink),this.parent.off(j,this.onIframeMouseDown),this.parent.off(ge,this.editLink),this.parent.off(fe,this.openLink),this.parent.off(Ue,this.editAreaClickHandler),this.parent.off(Dt,this.setCssClass),this.parent.off(F,this.destroy),this.parent.off(et,this.moduleDestroy))},n.prototype.onIframeMouseDown=function(){this.dialogObj&&this.dialogObj.hide({returnValue:!0})},n.prototype.updateCss=function(e,n){e&&n.cssClass&&(t.isNullOrUndefined(n.oldCssClass)?e.setProperties({cssClass:(e.cssClass+" "+n.cssClass).trim()}):e.setProperties({cssClass:(e.cssClass.replace(n.oldCssClass,"").trim()+" "+n.cssClass).trim()}))},n.prototype.setCssClass=function(e){this.updateCss(this.checkBoxObj,e),this.updateCss(this.dialogObj,e)},n.prototype.showLinkQuickToolbar=function(e){if(!t.isNullOrUndefined(e.args)&&"enter"!==e.args.action&&"space"!==e.args.action){var n=void 0,i=void 0;if("Links"!==e.type||t.isNullOrUndefined(this.parent.quickToolbarModule)||t.isNullOrUndefined(this.parent.quickToolbarModule.linkQTBar))return;this.quickToolObj=this.parent.quickToolbarModule;var r,o=this.parent.element.getBoundingClientRect().top,s=this.parent.element.getBoundingClientRect().left,a=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument());if([].forEach.call(e.elements,function(e,t){0===t&&(r="#text"===e.nodeName?e.parentNode:e)}),e.isNotify){var l=this.parent.toolbarModule.getToolbarElement(),d=r.getBoundingClientRect().top,c=r.getBoundingClientRect().left,p=d-o,h=l?l.offsetHeight+this.parent.toolbarModule.getExpandTBarPopHeight():0;n=this.parent.iframeSettings.enable?s+c:r.getBoundingClientRect().left,i=window.pageYOffset+(this.parent.iframeSettings.enable?o+h+d:o+p)}else{var u=void 0;u=e.args.touches?e.args.changedTouches[0]:u=e.args,n=this.parent.iframeSettings.enable?window.pageXOffset+s+u.clientX:u.pageX,i=this.parent.iframeSettings.enable?window.pageYOffset+o+u.clientY:u.pageY}this.quickToolObj.linkQTBar&&this.quickToolObj.linkQTBar.showPopup(n,i,a.endContainer)}},n.prototype.hideLinkQuickToolbar=function(){this.quickToolObj&&this.quickToolObj.linkQTBar&&document.body.contains(this.quickToolObj.linkQTBar.element)&&this.quickToolObj.linkQTBar.hidePopup()},n.prototype.editAreaClickHandler=function(n){if(this.parent.readonly)this.hideLinkQuickToolbar();else{var i=n.args,r=this.parent.quickToolbarSettings.showOnRightClick;if(!(2===i.which||r&&1===i.which||!r&&3===i.which)&&"HTML"===this.parent.editorMode&&this.parent.quickToolbarModule&&this.parent.quickToolbarModule.linkQTBar){this.quickToolObj=this.parent.quickToolbarModule;var o=i.target;o=this.getAnchorNode(o),this.contentModule=this.rendererFactory.getRenderer(e.RenderType.Content);var s=this.quickToolObj.linkQTBar.element.classList.contains("e-rte-pop");if("A"===o.nodeName&&o.childNodes.length>0&&"IMG"!==o.childNodes[0].nodeName&&"IMG"!==n.args.target.nodeName&&!t.isNullOrUndefined(t.closest(this.parent.getRange().startContainer.parentElement,"A"))&&!t.isNullOrUndefined(t.closest(this.parent.getRange().endContainer.parentElement,"A"))){if(s)return;this.showLinkQuickToolbar({args:i,isNotify:!1,type:"Links",elements:[i.target]})}else this.hideLinkQuickToolbar()}}},n.prototype.onKeyDown=function(e){var n=e.args;switch(n.action){case"escape":t.isNullOrUndefined(this.dialogObj)||this.dialogObj.close();break;case"insert-link":this.openDialog(!0,e),n.preventDefault()}},n.prototype.openDialog=function(e,t){if(e||this.parent.contentModule.getEditPanel().focus(),"HTML"===this.parent.editorMode){var n=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument()),i=this.parent.formatter.editorManager.nodeSelection.save(n,this.parent.contentModule.getDocument()),r=this.parent.formatter.editorManager.nodeSelection.getNodeCollection(n),o=this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(n),s={args:t?t.args:{item:{command:"Links",subCommand:"CreateLink"},originalEvent:void 0},selectNode:r,selection:i,selectParent:o};this.linkDialog(s)}else{var a=this.parent.contentModule.getEditPanel();this.parent.formatter.editorManager.markdownSelection.save(a.selectionStart,a.selectionEnd),this.linkDialog({args:{item:{command:"Links",subCommand:"Link"},originalEvent:t&&t.args},member:"link",text:this.parent.formatter.editorManager.markdownSelection.getSelectedText(this.parent.contentModule.getEditPanel()),module:"Markdown",name:"insertLink"})}},n.prototype.showDialog=function(){this.openDialog(!1),this.setCssClass({cssClass:this.parent.cssClass})},n.prototype.closeDialog=function(){this.dialogObj&&this.dialogObj.hide({returnValue:!0})},n.prototype.clearDialogObj=function(){this.dialogObj&&(this.dialogObj.destroy(),t.detach(this.dialogObj.element),this.dialogObj=null)},n.prototype.linkDialog=function(e,n){var i=this;if(this.dialogObj)this.dialogObj.hide({returnValue:!0});else if("HTML"===this.parent.editorMode&&e.selectParent.length>0&&!t.isNullOrUndefined(e.selectParent[0].classList)&&e.selectParent[0].classList.contains("e-rte-anchor")&&t.isNullOrUndefined(n))this.editLink(e);else{var r=this.i10n.getConstant("linkWebUrl"),o=this.i10n.getConstant("linkText"),a=this.i10n.getConstant("linkTooltipLabel"),l=this.i10n.getConstant("linkurl"),d=this.i10n.getConstant("textPlaceholder"),c=this.i10n.getConstant("linkTitle"),p=this.parent.createElement("div",{className:"e-rte-link-dialog "+this.parent.cssClass,id:this.rteID+"_rtelink"});this.parent.element.appendChild(p);var h=this.parent.createElement("div",{className:"e-rte-linkcontent "+this.parent.cssClass,id:this.rteID+"_linkContent"}),u="HTML"===this.parent.editorMode?"<label>"+a+'</label></div><div class="e-rte-field '+this.parent.cssClass+'"><input type="text" data-role ="none" spellcheck="false" placeholder = "'+c+'" class="e-input e-rte-linkTitle '+this.parent.cssClass+'"></div><div class="e-rte-label '+this.parent.cssClass+'"></div><div class="e-rte-field '+this.parent.cssClass+'"><input type="checkbox" class="e-rte-linkTarget '+this.parent.cssClass+'" data-role ="none"></div>':"",m=N('<div class="e-rte-label '+this.parent.cssClass+'"><label>'+r+'</label></div><div class="e-rte-field '+this.parent.cssClass+'"><input type="text" data-role ="none" spellcheck="false" placeholder="'+l+'" class="e-input e-rte-linkurl '+this.parent.cssClass+'"/></div><div class="e-rte-label '+this.parent.cssClass+'"><label>'+o+'</label></div><div class="e-rte-field '+this.parent.cssClass+'"> <input type="text" data-role ="none" spellcheck="false" class="e-input e-rte-linkText '+this.parent.cssClass+'" placeholder="'+d+'"></div><div class="e-rte-label '+this.parent.cssClass+'">'+u);h.appendChild(m);var g=h.querySelector(".e-rte-linkTarget"),f=h.querySelector(".e-rte-linkurl"),b=h.querySelector(".e-rte-linkText"),v=h.querySelector(".e-rte-linkTitle"),y=this.i10n.getConstant("linkOpenInNewWindow");this.checkBoxObj=new s.CheckBox({label:y,checked:!0,enableRtl:this.parent.enableRtl,cssClass:this.parent.cssClass}),this.checkBoxObj.isStringTemplate=!0,this.checkBoxObj.createElement=this.parent.createElement,this.checkBoxObj.appendTo(g);var C="HTML"===this.parent.editorMode?e.selection.getRange(this.parent.contentModule.getDocument()).toString():e.text,S=this.i10n.getConstant("dialogInsert"),E=this.i10n.getConstant("dialogCancel"),T=e.selection,w={selfLink:this,selection:e.selection,selectParent:e.selectParent,args:e.args},O={header:this.i10n.getConstant("linkHeader"),content:h,cssClass:En+" "+this.parent.cssClass,enableRtl:this.parent.enableRtl,locale:this.parent.locale,showCloseIcon:!0,closeOnEscape:!0,width:t.Browser.isDevice?"290px":"310px",height:"inherit",isModal:t.Browser.isDevice,buttons:[{click:this.insertlink.bind(w),buttonModel:{content:S,cssClass:"e-flat e-insertLink "+this.parent.cssClass,isPrimary:!0}},{click:this.cancelDialog.bind(w),buttonModel:{cssClass:"e-flat "+this.parent.cssClass,content:E}}],target:t.Browser.isDevice?document.body:this.parent.element,animationSettings:{effect:"None"},close:function(e){i.parent.isBlur=!1,e&&e.event.returnValue&&("HTML"===i.parent.editorMode?T.restore():i.parent.formatter.editorManager.markdownSelection.restore(i.parent.contentModule.getEditPanel())),i.dialogObj.destroy(),t.detach(i.dialogObj.element);var n=i.dialogObj;i.dialogRenderObj.close(n),i.dialogObj=null}};this.dialogObj=this.dialogRenderObj.render(O),this.dialogObj.createElement=this.parent.createElement,this.dialogObj.appendTo(p),p.style.maxHeight="inherit",t.isNullOrUndefined(this.dialogObj)||(t.isNullOrUndefined(n)||(f.value=n.url,b.value=n.text,v.value=n.title,n.target?this.checkBoxObj.checked=!0:this.checkBoxObj.checked=!1,this.dialogObj.header=n.header,this.dialogObj.element.querySelector(".e-insertLink").textContent=n.btnText),this.checkUrl(!1),("HTML"===this.parent.editorMode&&t.isNullOrUndefined(n)&&(!t.isNullOrUndefined(C)&&""!==C&&0===e.selection.range.startOffset||e.selection.range.startOffset!==e.selection.range.endOffset)||"Markdown"===e.module)&&(b.value=C),t.EventHandler.add(this.parent.element.ownerDocument,"mousedown",this.onDocumentClick,this),this.quickToolObj&&(this.hideLinkQuickToolbar(),this.quickToolObj.inlineQTBar&&document.body.contains(this.quickToolObj.inlineQTBar.element)&&this.quickToolObj.inlineQTBar.hidePopup()))}},n.prototype.insertlink=function(e){var n,i=this.selfLink.dialogObj.element,r=i.querySelector(".e-rte-linkurl").value,o=i.querySelector(".e-rte-linkText").value;"HTML"===this.selfLink.parent.editorMode&&(n=i.querySelector(".e-rte-linkTitle").value);var s=this.selfLink.checkBoxObj.checked?"_blank":null;if(""!==r){this.selfLink.isUrl(r)?this.selfLink.checkUrl(!1):(o=""===o?r:o,r=this.selfLink.parent.enableAutoUrl?r:r.indexOf("http")>-1?r:"http://"+r);var a=this.selfLink;if("HTML"===a.parent.editorMode&&t.isNullOrUndefined(t.closest(this.selection.range.startContainer.parentNode,"[id='"+a.parent.contentModule.getPanel().id+"']"))){a.parent.contentModule.getEditPanel().focus(),t.Browser.isIE&&a.parent.iframeSettings.enable&&this.selection.restore();var l=a.parent.formatter.editorManager.nodeSelection.getRange(a.parent.contentModule.getDocument());this.selection=a.parent.formatter.editorManager.nodeSelection.save(l,a.parent.contentModule.getDocument()),this.selectParent=a.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(l)}var d={url:r,text:o,title:n,target:s,selection:this.selection,selectParent:this.selectParent};document.body.contains(a.dialogObj.element)&&this.selfLink.dialogObj.hide({returnValue:!1}),I()&&a.parent.iframeSettings.enable&&t.select("iframe",a.parent.element).contentWindow.focus(),"HTML"===a.parent.editorMode&&this.selection.restore(),0===a.parent.formatter.getUndoRedoStack().length&&a.parent.formatter.saveData();var c;if(t.isNullOrUndefined(this.args)||"KeyK"!==this.args.code)c=this.args;else{var p=this.args;t.extend(this.args,{item:{command:"Links",subCommand:"CreateLink"},originalEvent:p},!0);c={item:{command:"Links",subCommand:"CreateLink"},originalEvent:p}}this.selfLink.parent.formatter.process(this.selfLink.parent,c,!t.isNullOrUndefined(this.args)&&this.args.originalEvent,d),this.selfLink.parent.contentModule.getEditPanel().focus()}else this.selfLink.checkUrl(!0)},n.prototype.isUrl=function(e){return/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/gi.test(e)},n.prototype.checkUrl=function(e){var n=this.dialogObj.element.querySelector(".e-rte-linkurl");e?(t.addClass([n],"e-error"),n.setSelectionRange(0,n.value.length),n.focus()):t.removeClass([n],"e-error")},n.prototype.removeLink=function(e){0===this.parent.formatter.getUndoRedoStack().length&&this.parent.formatter.saveData();var n=this.getAnchorNode(e.selectParent[0]);this.parent.formatter.process(this.parent,e.args,e.args,{selectNode:e.selectNode,selectParent:e.selectParent,selection:e.selection,text:n.innerText,subCommand:e.args.item.subCommand}),I()&&this.parent.iframeSettings.enable?t.select("iframe",this.parent.element).contentWindow.focus():this.parent.contentModule.getEditPanel().focus(),this.hideLinkQuickToolbar()},n.prototype.openLink=function(e){var t=this.getAnchorNode(e.selectParent[0]);(t.classList.contains("e-rte-anchor")||"A"===t.tagName)&&this.parent.formatter.process(this.parent,e.args,e.args,{url:t.href,text:t.innerText,target:""===t.target?"_self":"_blank",selectNode:e.selectNode,subCommand:e.args.item.subCommand})},n.prototype.getAnchorNode=function(e){var n=t.closest(e,"a");return n||e},n.prototype.editLink=function(e){var t=this.getAnchorNode(e.selectNode[0]),n=this.getAnchorNode(e.selectParent[0]);if((n="A"===t.nodeName?t:n).classList.contains("e-rte-anchor")||"A"===n.tagName){var i=this.i10n.getConstant("dialogUpdate"),r={url:n.getAttribute("href"),text:n.innerText,title:n.title,target:n.target,header:this.i10n.getConstant("editLink"),btnText:i};this.linkDialog(e,r)}},n.prototype.cancelDialog=function(e){this.selfLink.parent.isBlur=!1,this.selfLink.dialogObj.hide({returnValue:!0}),I()?this.selection.restore():this.selfLink.parent.contentModule.getEditPanel().focus()},n.prototype.onDocumentClick=function(e){var n=e.target;!t.isNullOrUndefined(this.dialogObj)&&(!t.closest(n,"[id='"+this.dialogObj.element.id+"']")&&this.parent.toolbarSettings.enable&&this.parent.getToolbarElement()&&!this.parent.getToolbarElement().contains(e.target)||(this.parent.getToolbarElement()&&this.parent.getToolbarElement().contains(e.target)||this.parent.inlineMode.enable&&!t.closest(n,"#"+this.dialogObj.element.id))&&!t.closest(n,"#"+this.parent.getID()+"_toolbar_CreateLink")&&!n.querySelector("#"+this.parent.getID()+"_toolbar_CreateLink"))&&(this.dialogObj.hide({returnValue:!0}),t.EventHandler.remove(this.parent.element.ownerDocument,"mousedown",this.onDocumentClick),this.parent.isBlur=!0,C(this.parent.element,"focusout"))},n.prototype.destroy=function(){this.removeEventListener()},n.prototype.moduleDestroy=function(){this.parent=null},n.prototype.getModuleName=function(){return"link"},n}(),hs=function(){function n(e,t){this.isImgUploaded=!1,this.isAllowedTypes=!0,this.pageX=null,this.pageY=null,this.mouseX=null,this.deletedImg=[],this.parent=e,this.rteID=e.element.id,this.i10n=t.getService("rteLocale"),this.rendererFactory=t.getService("rendererFactory"),this.dialogRenderObj=t.getService("dialogRenderObject"),this.addEventListener()}return n.prototype.addEventListener=function(){this.parent.isDestroyed||(this.parent.on($,this.onKeyDown,this),this.parent.on(J,this.onKeyUp,this),this.parent.on(Ne,this.insertImage,this),this.parent.on(Ot,this.showDialog,this),this.parent.on(Lt,this.closeDialog,this),this.parent.on(de,this.onWindowResize,this),this.parent.on(Se,this.showImageQuickToolbar,this),this.parent.on(rt,this.clearDialogObj,this),this.parent.on(ae,this.onToolbarAction,this),this.parent.on(Oe,this.caption,this),this.parent.on(we,this.deleteImg,this),this.parent.on(Ee,this.insertImgLink,this),this.parent.on(Te,this.insertAltText,this),this.parent.on(Ue,this.editAreaClickHandler,this),this.parent.on(j,this.onIframeMouseDown,this),this.parent.on(Le,this.imageSize,this),this.parent.on(re,this.alignmentSelect,this),this.parent.on(H,this.afterRender,this),this.parent.on(Ct,this.afterRender,this),this.parent.on(Ge,this.imagePaste,this),this.parent.on(Dt,this.setCssClass,this),this.parent.on(F,this.removeEventListener,this),this.parent.on(et,this.moduleDestroy,this))},n.prototype.removeEventListener=function(){if(!this.parent.isDestroyed){this.parent.off($,this.onKeyDown),this.parent.off(J,this.onKeyUp),this.parent.off(de,this.onWindowResize),this.parent.off(Ne,this.insertImage),this.parent.off(Ot,this.showDialog),this.parent.off(Lt,this.closeDialog),this.parent.off(Se,this.showImageQuickToolbar),this.parent.off(rt,this.clearDialogObj),this.parent.off(Oe,this.caption),this.parent.off(ae,this.onToolbarAction),this.parent.off(we,this.deleteImg),this.parent.off(Ee,this.insertImgLink),this.parent.off(Te,this.insertAltText),this.parent.off(Ue,this.editAreaClickHandler),this.parent.off(j,this.onIframeMouseDown),this.parent.off(Le,this.imageSize),this.parent.off(re,this.alignmentSelect),this.parent.off(H,this.afterRender),this.parent.off(Ct,this.afterRender),this.parent.off(Ge,this.imagePaste),this.parent.off(Dt,this.setCssClass),this.parent.off(F,this.removeEventListener),this.parent.off(et,this.moduleDestroy);var e=this.parent.iframeSettings.enable?this.parent.inputElement.ownerDocument:this.parent.inputElement;e.removeEventListener("drop",this.dragDrop.bind(this),!0),e.removeEventListener("dragstart",this.dragStart.bind(this),!0),e.removeEventListener("dragenter",this.dragEnter.bind(this),!0),e.removeEventListener("dragover",this.dragOver.bind(this),!0),t.isNullOrUndefined(this.contentModule)||(t.EventHandler.remove(this.contentModule.getEditPanel(),t.Browser.touchEndEvent,this.imageClick),this.parent.formatter.editorManager.observer.off($e,this.undoStack),this.parent.insertImageSettings.resize&&(t.EventHandler.remove(this.parent.contentModule.getEditPanel(),t.Browser.touchStartEvent,this.resizeStart),t.EventHandler.remove(this.parent.element.ownerDocument,"mousedown",this.onDocumentClick),t.EventHandler.remove(this.contentModule.getEditPanel(),"cut",this.onCutHandler)))}},n.prototype.updateCss=function(e,n){e&&n.cssClass&&(t.isNullOrUndefined(n.oldCssClass)?e.setProperties({cssClass:(e.cssClass+" "+n.cssClass).trim()}):e.setProperties({cssClass:(e.cssClass.replace(n.oldCssClass,"").trim()+" "+n.cssClass).trim()}))},n.prototype.setCssClass=function(e){this.popupObj&&e.cssClass&&(t.isNullOrUndefined(e.oldCssClass)?t.addClass([this.popupObj.element],e.cssClass):(t.removeClass([this.popupObj.element],e.oldCssClass),t.addClass([this.popupObj.element],e.cssClass))),this.updateCss(this.checkBoxObj,e),this.updateCss(this.widthNum,e),this.updateCss(this.heightNum,e),this.updateCss(this.uploadObj,e),this.updateCss(this.dialogObj,e)},n.prototype.onIframeMouseDown=function(){this.dialogObj&&this.dialogObj.hide({returnValue:!0})},n.prototype.afterRender=function(){this.contentModule=this.rendererFactory.getRenderer(e.RenderType.Content),t.EventHandler.add(this.contentModule.getEditPanel(),t.Browser.touchEndEvent,this.imageClick,this),this.parent.insertImageSettings.resize&&(t.EventHandler.add(this.parent.contentModule.getEditPanel(),t.Browser.touchStartEvent,this.resizeStart,this),t.EventHandler.add(this.parent.element.ownerDocument,"mousedown",this.onDocumentClick,this),t.EventHandler.add(this.contentModule.getEditPanel(),"cut",this.onCutHandler,this));var n=this.parent.iframeSettings.enable?this.parent.inputElement.ownerDocument:this.parent.inputElement;n.addEventListener("drop",this.dragDrop.bind(this),!0),n.addEventListener("dragstart",this.dragStart.bind(this),!0),n.addEventListener("dragenter",this.dragOver.bind(this),!0),n.addEventListener("dragover",this.dragOver.bind(this),!0)},n.prototype.undoStack=function(e){if("undo"===e.subCommand.toLowerCase()||"redo"===e.subCommand.toLowerCase())for(var n=0;n<this.parent.formatter.getUndoRedoStack().length;n++){var i=this.parent.createElement("div"),r=N(this.parent.formatter.getUndoRedoStack()[n].text);i.appendChild(r);var o=i.querySelectorAll("img");if(i.querySelector(".e-img-resize")&&o.length>0){for(var s=0;s<o.length;s++)o[s].style.outline="";t.detach(i.querySelector(".e-img-resize")),this.parent.formatter.getUndoRedoStack()[n].text=i.innerHTML}}},n.prototype.resizeEnd=function(e){this.resizeBtnInit(),this.imgEle.parentElement.style.cursor="auto",t.Browser.isDevice&&t.removeClass([e.target.parentElement],"e-mob-span");var n={event:e,requestType:"images"};this.parent.trigger(he,n);this.getPointX(e),this.parent.iframeSettings.enable?(window.pageYOffset,this.parent.element.getBoundingClientRect().top,e.clientY):e.pageY;this.parent.formatter.editorManager.observer.on($e,this.undoStack,this),this.parent.formatter.saveData()},n.prototype.resizeStart=function(e,n){var i=this;if(!this.parent.readonly){var r=n||e.target;if(this.prevSelectedImgEle=this.imgEle,"IMG"===r.tagName){this.parent.preventDefaultResize(e);var o=r;this.imgResizeDiv&&this.contentModule.getEditPanel().contains(this.imgResizeDiv)&&t.detach(this.imgResizeDiv),this.imageResize(o)}if(r.classList.contains("e-rte-imageboxmark")){if(0===this.parent.formatter.getUndoRedoStack().length&&this.parent.formatter.saveData(),this.pageX=this.getPointX(e),this.pageY=this.getPointY(e),e.preventDefault(),e.stopImmediatePropagation(),this.resizeBtnInit(),this.quickToolObj&&this.quickToolObj.imageQTBar.hidePopup(),r.classList.contains("e-rte-topLeft")&&(this.resizeBtnStat.topLeft=!0),r.classList.contains("e-rte-topRight")&&(this.resizeBtnStat.topRight=!0),r.classList.contains("e-rte-botLeft")&&(this.resizeBtnStat.botLeft=!0),r.classList.contains("e-rte-botRight")&&(this.resizeBtnStat.botRight=!0),t.Browser.isDevice&&this.contentModule.getEditPanel().contains(this.imgResizeDiv)&&!this.imgResizeDiv.classList.contains("e-mob-span"))t.addClass([this.imgResizeDiv],"e-mob-span");else{var s={event:e,requestType:"images"};this.parent.trigger(ce,s,function(e){e.cancel&&i.cancelResizeAction()})}t.EventHandler.add(this.contentModule.getDocument(),t.Browser.touchEndEvent,this.resizeEnd,this)}}},n.prototype.imageClick=function(e){t.Browser.isDevice&&("IMG"===e.target.tagName&&"A"===e.target.parentElement.tagName||"IMG"===e.target.tagName?(this.contentModule.getEditPanel().setAttribute("contenteditable","false"),e.target.focus()):this.parent.readonly||this.contentModule.getEditPanel().setAttribute("contenteditable","true")),"IMG"===e.target.tagName&&"A"===e.target.parentElement.tagName&&e.preventDefault()},n.prototype.onCutHandler=function(){this.imgResizeDiv&&this.contentModule.getEditPanel().contains(this.imgResizeDiv)&&this.cancelResizeAction()},n.prototype.imageResize=function(e){this.resizeBtnInit(),this.imgEle=e,t.addClass([this.imgEle],"e-resize"),this.imgResizeDiv=this.parent.createElement("span",{className:"e-img-resize "+this.parent.cssClass,id:this.rteID+"_imgResize"}),this.imgResizeDiv.appendChild(this.parent.createElement("span",{className:"e-rte-imageboxmark e-rte-topLeft "+this.parent.cssClass,styles:"cursor: nwse-resize"})),this.imgResizeDiv.appendChild(this.parent.createElement("span",{className:"e-rte-imageboxmark e-rte-topRight "+this.parent.cssClass,styles:"cursor: nesw-resize"})),this.imgResizeDiv.appendChild(this.parent.createElement("span",{className:"e-rte-imageboxmark e-rte-botLeft "+this.parent.cssClass,styles:"cursor: nesw-resize"})),this.imgResizeDiv.appendChild(this.parent.createElement("span",{className:"e-rte-imageboxmark e-rte-botRight "+this.parent.cssClass,styles:"cursor: nwse-resize"})),t.Browser.isDevice&&t.addClass([this.imgResizeDiv],"e-mob-rte"),e.style.outline="2px solid #4a90e2",this.imgResizePos(e,this.imgResizeDiv),this.resizeImgDupPos(e),this.contentModule.getEditPanel().appendChild(this.imgResizeDiv),t.EventHandler.add(this.contentModule.getDocument(),t.Browser.touchMoveEvent,this.resizing,this)},n.prototype.getPointX=function(e){return e.touches&&e.touches.length?e.touches[0].pageX:e.pageX},n.prototype.getPointY=function(e){return e.touches&&e.touches.length?e.touches[0].pageY:e.pageY},n.prototype.imgResizePos=function(e,n){var i=this.calcPos(e),r=i.top,o=i.left,s=e.width,a=e.height,l=t.Browser.isDevice?4*parseInt(e.style.outline.slice(-3),10)+2:2*parseInt(e.style.outline.slice(-3),10)+2,d=t.Browser.isDevice?0:2;n.querySelector(".e-rte-botLeft").style.left=o-l+"px",n.querySelector(".e-rte-botLeft").style.top=a-l+r+"px",n.querySelector(".e-rte-botRight").style.left=s-(l-d)+o+"px",n.querySelector(".e-rte-botRight").style.top=a-l+r+"px",n.querySelector(".e-rte-topRight").style.left=s-(l-d)+o+"px",n.querySelector(".e-rte-topRight").style.top=r-l+"px",n.querySelector(".e-rte-topLeft").style.left=o-l+"px",n.querySelector(".e-rte-topLeft").style.top=r-l+"px"},n.prototype.calcPos=function(e){for(var n,i={top:0,left:0},r=e.ownerDocument,o=(e.offsetParent&&(e.offsetParent.classList.contains("e-img-caption")||["TD","TH","TABLE","A"].indexOf(e.offsetParent.tagName)>-1)?t.closest(e,"#"+this.parent.getID()+"_rte-edit-view"):e.offsetParent)||r.documentElement;o&&(o===r.body||o===r.documentElement)&&"static"===o.style.position;)o=o.parentNode;return o&&o!==e&&1===o.nodeType&&(i=o.getBoundingClientRect()),e.offsetParent&&e.offsetParent.classList.contains("e-img-caption")?(n=e.getBoundingClientRect(),{top:n.top-i.top,left:n.left-i.left}):{top:e.offsetTop,left:e.offsetLeft}},n.prototype.setAspectRatio=function(e,n,i,r){if(!t.isNullOrUndefined(e.width)){var o=""!==e.style.width?e.style.width.match(/^\d+(\.\d*)?%$/g)?parseFloat(e.style.width):parseInt(e.style.width,10):e.width,s=""!==e.style.height?parseInt(e.style.height,10):e.height;if(o>s)if(e.style.minWidth=0===this.parent.insertImageSettings.minWidth?"20px":t.formatUnit(this.parent.insertImageSettings.minWidth),this.parent.insertImageSettings.resizeByPercent){if(0!==parseInt(""+e.getBoundingClientRect().width,10)&&0!==parseInt(""+o,10)){var a=(e.offsetWidth+this.mouseX)/e.offsetWidth*("NaN"==parseFloat(e.style.width).toString()?e.offsetWidth/parseFloat(getComputedStyle(this.parent.element).width)*100:parseFloat(e.style.width));e.style.width=(a>3?a:3)+"%"}else e.style.width=this.pixToPerc(o/s*i,e.previousElementSibling||e.parentElement)+"%";e.style.height=null,e.removeAttribute("height")}else if(""===e.style.width&&""!==e.style.height)e.style.height=i+"px";else if(""!==e.style.width&&""===e.style.height){var l=o/s*i+o/s<this.parent.inputElement.getBoundingClientRect().right-32?o/s*i+o/s:this.parent.inputElement.getBoundingClientRect().right-32;e.style.width=l.toString()+"px"}else if(""!==e.style.width){l=o/s*i<this.parent.inputElement.getBoundingClientRect().right-32?o/s*i:this.parent.inputElement.getBoundingClientRect().right-32;e.style.width=l+"px",e.style.height=i+"px"}else this.parent.iframeSettings.enable?e.setAttribute("width",(e.width+this.mouseX).toString()):e.setAttribute("width",(e.offsetWidth+this.mouseX).toString());else if(s>o)if(this.parent.insertImageSettings.resizeByPercent){if(0!==parseInt(""+e.getBoundingClientRect().width,10)&&0!==parseInt(""+o,10)){a=(e.offsetWidth+this.mouseX)/e.offsetWidth*("NaN"==parseFloat(e.style.width).toString()?e.offsetWidth/parseFloat(getComputedStyle(this.parent.element).width)*100:parseFloat(e.style.width));e.style.width=(a>3?a:3)+"%"}else e.style.width=this.pixToPerc(n/s*i,e.previousElementSibling||e.parentElement)+"%";e.style.height=null,e.removeAttribute("height")}else""!==e.style.width?(e.style.width=n+"px",e.style.height=s/o*n+"px"):e.setAttribute("width",this.resizeBtnStat.botRight?(this.getPointX(r.event)-e.getBoundingClientRect().left).toString():n.toString());else this.parent.insertImageSettings.resizeByPercent?(e.style.width=this.pixToPerc(n,e.previousElementSibling||e.parentElement)+"%",e.style.height=null,e.removeAttribute("height")):(e.style.width=n+"px",e.style.height=n+"px")}},n.prototype.pixToPerc=function(e,t){return e/parseFloat(getComputedStyle(t).width)*100},n.prototype.imgDupMouseMove=function(e,n,i){var r=this,o={event:i,requestType:"images"};this.parent.trigger(pe,o,function(i){if(i.cancel)r.cancelResizeAction();else{if(parseInt(r.parent.insertImageSettings.minWidth,10)>=parseInt(e,10)||parseInt(r.parent.getInsertImgMaxWidth(),10)<=parseInt(e,10)&&t.isNullOrUndefined(r.imgEle.style.width))return;if(!r.parent.insertImageSettings.resizeByPercent&&(parseInt(r.parent.insertImageSettings.minHeight,10)>=parseInt(n,10)||parseInt(r.parent.insertImageSettings.maxHeight,10)<=parseInt(n,10)))return;r.imgEle.parentElement.style.cursor="pointer",r.setAspectRatio(r.imgEle,parseInt(e,10),parseInt(n,10),o),r.resizeImgDupPos(r.imgEle),r.imgResizePos(r.imgEle,r.imgResizeDiv),r.parent.setContentHeight("",!1)}})},n.prototype.resizing=function(e){this.imgEle.offsetWidth>=this.parent.getInsertImgMaxWidth()?this.imgEle.style.maxHeight=this.imgEle.offsetHeight+"px":t.isNullOrUndefined(this.parent.insertImageSettings.maxHeight)&&(this.imgEle.style.maxHeight=""),this.imgEle.style.maxWidth=this.parent.getInsertImgMaxWidth()+"px";var n=this.getPointX(e),i=this.getPointY(e),r=this.resizeBtnStat.botLeft||this.resizeBtnStat.topLeft?-(n-this.pageX):n-this.pageX,o=this.resizeBtnStat.topLeft||this.resizeBtnStat.topRight?-(i-this.pageY):i-this.pageY,s=parseInt(this.imgDupPos.width,10)+r,a=parseInt(this.imgDupPos.height,10)+o;this.mouseX=r,this.pageX=n,this.pageY=i,this.resizeBtnStat.botRight?this.imgDupMouseMove(s+"px",a+"px",e):this.resizeBtnStat.botLeft?this.imgDupMouseMove(s+"px",a+"px",e):this.resizeBtnStat.topRight?this.imgDupMouseMove(s+"px",a+"px",e):this.resizeBtnStat.topLeft&&this.imgDupMouseMove(s+"px",a+"px",e)},n.prototype.cancelResizeAction=function(){t.EventHandler.remove(this.contentModule.getDocument(),t.Browser.touchMoveEvent,this.resizing),t.EventHandler.remove(this.contentModule.getDocument(),t.Browser.touchEndEvent,this.resizeEnd),this.imgEle&&this.imgResizeDiv&&this.contentModule.getEditPanel().contains(this.imgResizeDiv)&&(t.detach(this.imgResizeDiv),this.imgEle.style.outline="",this.imgResizeDiv=null,this.pageX=null,this.pageY=null)},n.prototype.resizeImgDupPos=function(e){this.imgDupPos={width:""!==e.style.width&&this.parent.insertImageSettings&&!this.parent.insertImageSettings.resizeByPercent?this.imgEle.style.width:e.width+"px",height:""!==e.style.height?this.imgEle.style.height:e.height+"px"}},n.prototype.resizeBtnInit=function(){return this.resizeBtnStat={botLeft:!1,botRight:!1,topRight:!1,topLeft:!1}},n.prototype.onToolbarAction=function(e){I()&&this.parent.notify(Re,{});switch(e.args.item.subCommand){case"Replace":this.parent.fileManagerSettings.enable?this.parent.notify(vt,e):this.parent.notify(Ne,e);break;case"Caption":this.parent.notify(Oe,e);break;case"InsertLink":this.parent.notify(Ee,e);break;case"AltText":this.parent.notify(Te,e);break;case"Remove":this.parent.notify(we,e);break;case"Dimension":this.parent.notify(Le,e);break;case"OpenImageLink":this.openImgLink(e);break;case"EditImageLink":this.editImgLink(e);break;case"RemoveImageLink":this.removeImgLink(e)}},n.prototype.openImgLink=function(e){var t=""===e.selectParent[0].parentNode.target?"_self":"_blank";this.parent.formatter.process(this.parent,e.args,e.args,{url:e.selectParent[0].parentNode.href,target:t,selectNode:e.selectNode,subCommand:e.args.item.subCommand})},n.prototype.editImgLink=function(e){var t=e.selectParent[0].parentNode,n=this.i10n.getConstant("dialogUpdate"),i={url:t.href,target:t.target,header:"Edit Link",btnText:n};this.insertImgLink(e,i)},n.prototype.removeImgLink=function(e){t.Browser.isIE&&this.contentModule.getEditPanel().focus(),e.selection.restore();var n=!(!this.contentModule.getEditPanel().contains(this.captionEle)||!t.select("a",this.captionEle)),i=n?[this.captionEle]:[e.selectNode[0].parentElement];this.parent.formatter.process(this.parent,e.args,e.args,{insertElement:e.selectNode[0],selectParent:i,selection:e.selection,subCommand:e.args.item.subCommand}),this.quickToolObj&&document.body.contains(this.quickToolObj.imageQTBar.element)&&(this.quickToolObj.imageQTBar.hidePopup(),t.isNullOrUndefined(e.selectParent)||t.removeClass([e.selectParent[0]],"e-img-focus")),n&&t.select(".e-img-inner",this.captionEle).focus()},n.prototype.onKeyDown=function(e){var n,i,r,o,s=e.args;this.deletedImg=[];var a;if("HTML"===this.parent.editorMode&&(a=(n=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument())).startContainer===n.endContainer&&n.startOffset===n.endOffset),!a&&"HTML"===this.parent.editorMode&&[27,112,113,114,115,116,117,118,119,120,121,122,123,44,45,9,16,17,18,19,20,33,34,35,36,37,38,39,40,91,92,93,144,145,182,183].indexOf(s.which)<0)for(var l=this.parent.formatter.editorManager.nodeSelection.getNodeCollection(n),d=0;d<l.length;d++)"IMG"===l[d].nodeName&&this.deletedImg.push(l[d]);if("HTML"===this.parent.editorMode&&(8===s.which&&"Backspace"===s.code||46===s.which&&"Delete"===s.code)){var c=n.startContainer===n.endContainer&&n.startOffset===n.endOffset;8===s.which&&"Backspace"===s.code&&c?this.checkImageBack(n):46===s.which&&"Delete"===s.code&&c&&this.checkImageDel(n)}if(!t.isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection)&&"KeyK"!==s.code&&(n=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument()),i=this.parent.formatter.editorManager.nodeSelection.save(n,this.parent.contentModule.getDocument()),r=this.parent.formatter.editorManager.nodeSelection.getNodeCollection(n),o=this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(n),!s.ctrlKey&&s.key&&(1===s.key.length||"enter"===s.action)&&"IMG"===o[0].tagName&&o[0].parentElement)){var p=o[0].parentElement.childNodes[0];this.contentModule.getEditPanel().querySelector(".e-img-resize")&&this.removeResizeEle(),this.parent.formatter.editorManager.nodeSelection.setSelectionText(this.contentModule.getDocument(),p,p,p.textContent.length,p.textContent.length),t.removeClass([o[0]],"e-img-focus"),this.quickToolObj.imageQTBar.hidePopup()}if(!s.ctrlKey||89!==s.keyCode&&90!==s.keyCode||this.undoStack({subCommand:90===s.keyCode?"undo":"redo"}),8===s.keyCode||46===s.keyCode){if(r&&"IMG"===r[0].nodeName&&r.length<1){s.preventDefault();var h={selectNode:r,selection:i,selectParent:o,args:{item:{command:"Images",subCommand:"Remove"},originalEvent:s}};this.deleteImg(h,s.keyCode)}this.parent.contentModule.getEditPanel().querySelector(".e-img-resize")&&this.removeResizeEle()}switch("Backspace"===s.code&&(s.action="backspace"),s.action){case"escape":t.isNullOrUndefined(this.dialogObj)||this.dialogObj.close();break;case"backspace":case"delete":for(d=0;d<this.deletedImg.length;d++){var u=this.deletedImg[d].src;this.imageRemovePost(u)}"Markdown"!==this.parent.editorMode&&(3===n.startContainer.nodeType?"Backspace"===s.code?n.startContainer.previousElementSibling&&0===n.startOffset&&n.startContainer.previousElementSibling.classList.contains(un)&&n.startContainer.previousElementSibling.classList.contains(gn)&&t.detach(n.startContainer.previousElementSibling):n.startContainer.nextElementSibling&&n.endContainer.textContent.length===n.endOffset&&n.startContainer.nextElementSibling.classList.contains(un)&&n.startContainer.nextElementSibling.classList.contains(gn)&&t.detach(n.startContainer.nextElementSibling):1===n.startContainer.nodeType&&n.startContainer.querySelector("."+un+"."+gn)?t.detach(n.startContainer.querySelector("."+un+"."+gn)):1===n.startContainer.nodeType&&n.startContainer.querySelector("."+un+"."+hn)&&t.detach(n.startContainer.querySelector("."+un+"."+hn)));break;case"insert-image":this.openDialog(!0,s,i,r,o),s.preventDefault()}},n.prototype.openDialog=function(e,n,i,r,o){var s,a,l,d;e||t.isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection)?(a=i,l=r,d=o):(s=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument()),a=this.parent.formatter.editorManager.nodeSelection.save(s,this.parent.contentModule.getDocument()),l=this.parent.formatter.editorManager.nodeSelection.getNodeCollection(s),d=this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(s)),"HTML"===this.parent.editorMode?this.insertImage({args:{item:{command:"Images",subCommand:"Image"},originalEvent:n},selectNode:l,selection:a,selectParent:d}):this.insertImage({args:{item:{command:"Images",subCommand:"Image"},originalEvent:n},member:"image",text:this.parent.formatter.editorManager.markdownSelection.getSelectedText(this.parent.contentModule.getEditPanel()),module:"Markdown",name:"insertImage"})},n.prototype.showDialog=function(){this.openDialog(!1),this.setCssClass({cssClass:this.parent.cssClass})},n.prototype.closeDialog=function(){this.dialogObj&&this.dialogObj.hide({returnValue:!0})},n.prototype.onKeyUp=function(e){if(!t.isNullOrUndefined(this.deletedImg)&&this.deletedImg.length>0)for(var n=0;n<this.deletedImg.length;n++){var i={element:this.deletedImg[n],src:this.deletedImg[n].getAttribute("src")};this.parent.trigger(mt,i)}},n.prototype.checkImageBack=function(e){"#text"!==e.startContainer.nodeName||0!==e.startOffset||t.isNullOrUndefined(e.startContainer.previousSibling)||"IMG"!==e.startContainer.previousSibling.nodeName?"#text"===e.startContainer.nodeName||t.isNullOrUndefined(e.startContainer.childNodes[e.startOffset-1])||"IMG"!==e.startContainer.childNodes[e.startOffset-1].nodeName||this.deletedImg.push(e.startContainer.childNodes[e.startOffset-1]):this.deletedImg.push(e.startContainer.previousSibling)},n.prototype.checkImageDel=function(e){"#text"!==e.startContainer.nodeName||e.startOffset!==e.startContainer.textContent.length||t.isNullOrUndefined(e.startContainer.nextSibling)||"IMG"!==e.startContainer.nextSibling.nodeName?"#text"===e.startContainer.nodeName||t.isNullOrUndefined(e.startContainer.childNodes[e.startOffset])||"IMG"!==e.startContainer.childNodes[e.startOffset].nodeName||this.deletedImg.push(e.startContainer.childNodes[e.startOffset]):this.deletedImg.push(e.startContainer.nextSibling)},n.prototype.alignmentSelect=function(e){var n=e.item;if(document.body.contains(document.body.querySelector(".e-rte-quick-toolbar"))&&"Images"===n.command){var i=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument()),r=this.parent.formatter.editorManager.nodeSelection.getNodeCollection(i),o={args:e,selectNode:r="IMG"===r[0].nodeName?r:[this.imgEle]};switch(0===this.parent.formatter.getUndoRedoStack().length&&this.parent.formatter.saveData(),n.subCommand){case"JustifyLeft":this.alignImage(o,"JustifyLeft");break;case"JustifyCenter":this.alignImage(o,"JustifyCenter");break;case"JustifyRight":this.alignImage(o,"JustifyRight");break;case"Inline":this.inline(o);break;case"Break":this.break(o)}this.quickToolObj&&document.body.contains(this.quickToolObj.imageQTBar.element)&&(this.quickToolObj.imageQTBar.hidePopup(),t.removeClass([r[0]],"e-img-focus")),this.cancelResizeAction()}},n.prototype.imageWithLinkQTBarItemUpdate=function(){for(var e=this.quickToolObj.imageQTBar.toolbarElement.querySelectorAll(".e-toolbar-item"),n=0;n<e.length;n++)e[n].getAttribute("title")===this.i10n.getConstant("openLink")||e[n].getAttribute("title")===this.i10n.getConstant("editLink")||e[n].getAttribute("title")===this.i10n.getConstant("removeLink")?(t.addClass([e[n]],"e-link-groups"),e[n].style.display="none"):"Insert Link"===e[n].getAttribute("title")?e[n].style.display="":e[n].classList.contains("e-rte-horizontal-separator")&&(e[n],t.detach(e[n]));var i=this.quickToolObj.imageQTBar.toolbarElement.querySelectorAll(".e-toolbar-item:not(.e-link-groups)");this.quickToolObj.imageQTBar.addQTBarItem(["-"],Math.round(i.length/2))},n.prototype.showImageQuickToolbar=function(e){var n=this;if(!("Images"!==e.type||t.isNullOrUndefined(this.parent.quickToolbarModule)||t.isNullOrUndefined(this.parent.quickToolbarModule.imageQTBar)||t.isNullOrUndefined(e.args))){this.quickToolObj=this.parent.quickToolbarModule;var i=e.args,r=e.elements;[].forEach.call(e.elements,function(e,t){0===t&&(r=e)}),r&&!t.closest(r,"a")&&this.imageWithLinkQTBarItemUpdate(),"IMG"===r.nodeName&&t.addClass([r],["e-img-focus"]);var o=this.parent.iframeSettings.enable?window.pageYOffset+this.parent.element.getBoundingClientRect().top+i.clientY:i.pageY;this.parent.quickToolbarModule.imageQTBar&&(e.isNotify?setTimeout(function(){n.parent.formatter.editorManager.nodeSelection.Clear(n.contentModule.getDocument()),n.parent.formatter.editorManager.nodeSelection.setSelectionContents(n.contentModule.getDocument(),r),n.quickToolObj.imageQTBar.showPopup(i.pageX,o,r)},400):this.quickToolObj.imageQTBar.showPopup(i.pageX,o,r))}},n.prototype.hideImageQuickToolbar=function(){t.isNullOrUndefined(this.contentModule.getEditPanel().querySelector(".e-img-focus"))||(t.removeClass([this.contentModule.getEditPanel().querySelector(".e-img-focus")],"e-img-focus"),this.quickToolObj&&this.quickToolObj.imageQTBar&&document.body.contains(this.quickToolObj.imageQTBar.element)&&this.quickToolObj.imageQTBar.hidePopup())},n.prototype.editAreaClickHandler=function(n){if(this.parent.readonly)this.hideImageQuickToolbar();else{var i=n.args,r=this.parent.quickToolbarSettings.showOnRightClick;if(2===i.which||r&&1===i.which||!r&&3===i.which)r&&1===i.which&&!t.isNullOrUndefined(i.target)&&"IMG"===i.target.tagName&&(this.parent.formatter.editorManager.nodeSelection.Clear(this.contentModule.getDocument()),this.parent.formatter.editorManager.nodeSelection.setSelectionContents(this.contentModule.getDocument(),i.target));else if("HTML"===this.parent.editorMode&&this.parent.quickToolbarModule&&this.parent.quickToolbarModule.imageQTBar){this.quickToolObj=this.parent.quickToolbarModule;var o=i.target;this.contentModule=this.rendererFactory.getRenderer(e.RenderType.Content);var s=this.quickToolObj.imageQTBar.element.classList.contains("e-rte-pop");if("IMG"===o.nodeName&&this.parent.quickToolbarModule){if(s)return;this.parent.formatter.editorManager.nodeSelection.Clear(this.contentModule.getDocument()),this.parent.formatter.editorManager.nodeSelection.setSelectionContents(this.contentModule.getDocument(),o),I()&&this.parent.notify(Me,n),t.addClass([o],"e-img-focus");var a=this.quickToolObj.imageQTBar.toolbarElement.querySelectorAll(".e-toolbar-item");if(t.closest(o,"a")){for(var l=0;l<a.length;l++)a[l].getAttribute("title")===this.i10n.getConstant("openLink")||a[l].getAttribute("title")===this.i10n.getConstant("editLink")||a[l].getAttribute("title")===this.i10n.getConstant("removeLink")?(a[l].style.display="",t.removeClass([a[l]],"e-link-groups")):"Insert Link"===a[l].getAttribute("title")?a[l].style.display="none":a[l].classList.contains("e-rte-horizontal-separator")&&(a[l],t.detach(a[l]));var d=this.quickToolObj.imageQTBar.toolbarElement.querySelectorAll(".e-toolbar-item:not(.e-link-groups)");this.quickToolObj.imageQTBar.addQTBarItem(["-"],Math.round(d.length/2))}else t.closest(o,"a")||this.imageWithLinkQTBarItemUpdate();this.showImageQuickToolbar({args:i,type:"Images",elements:[i.target]})}else this.hideImageQuickToolbar()}}},n.prototype.insertImgLink=function(e,n){var i=this;if("IMG"===e.selectNode[0].nodeName&&(this.imagDialog(e),!t.isNullOrUndefined(this.dialogObj))){var r=this.parent.createElement("div",{className:"e-img-linkwrap "+this.parent.cssClass}),o=this.i10n.getConstant("linkurl"),a=N('<div class="e-rte-field '+this.parent.cssClass+'"><input type="text" data-role ="none" class="e-input e-img-link '+this.parent.cssClass+'" spellcheck="false" placeholder="'+o+'"/></div><div class="e-rte-label"></div><div class="e-rte-field"><input type="checkbox" class="e-rte-linkTarget '+this.parent.cssClass+'" data-role ="none"></div>');r.appendChild(a);var l=r.querySelector(".e-rte-linkTarget"),d=r.querySelector(".e-img-link"),c=this.i10n.getConstant("linkOpenInNewWindow");this.checkBoxObj=new s.CheckBox({label:c,checked:!0,enableRtl:this.parent.enableRtl,cssClass:this.parent.cssClass,change:function(e){p=e.checked?"_blank":null}}),this.checkBoxObj.isStringTemplate=!0,this.checkBoxObj.createElement=this.parent.createElement,this.checkBoxObj.appendTo(l);var p=this.checkBoxObj.checked?"_blank":null,h=this.i10n.getConstant("dialogUpdate"),u={args:e.args,selfImage:this,selection:e.selection,selectNode:e.selectNode,selectParent:e.selectParent,link:d,target:p};this.dialogObj.setProperties({height:"inherit",width:"290px",header:this.parent.localeObj.getConstant("imageInsertLinkHeader"),content:r,position:{X:"center",Y:"center"},buttons:[{click:function(e){i.insertlink(u)},buttonModel:{content:h,cssClass:"e-flat e-update-link "+this.parent.cssClass,isPrimary:!0}}],cssClass:this.dialogObj.cssClass+" e-rte-img-link-dialog"}),t.isNullOrUndefined(this.parent.cssClass)||this.dialogObj.setProperties({cssClass:this.parent.cssClass}),t.isNullOrUndefined(n)||(d.value=n.url,n.target?this.checkBoxObj.checked=!0:this.checkBoxObj.checked=!1,this.dialogObj.header=n.header),this.dialogObj.element.style.maxHeight="inherit",this.dialogObj.content.querySelector("input").focus()}},n.prototype.insertAltText=function(e){var n=this;if("IMG"===e.selectNode[0].nodeName){this.imagDialog(e);var i=this.i10n.getConstant("altText");if(!t.isNullOrUndefined(this.dialogObj)){var r=this.parent.createElement("div",{className:"e-img-altwrap "+this.parent.cssClass}),o=this.i10n.getConstant("alternateHeader"),s=this.i10n.getConstant("dialogUpdate"),a=null===e.selectNode[0].getAttribute("alt")?"":e.selectNode[0].getAttribute("alt"),l=N('<div class="e-rte-field '+this.parent.cssClass+'"><input type="text" spellcheck="false" value="'+a+'" class="e-input e-img-alt '+this.parent.cssClass+'" placeholder="'+i+'"/></div>');r.appendChild(l);var d=r.querySelector(".e-img-alt"),c={args:e.args,selfImage:this,selection:e.selection,selectNode:e.selectNode,alt:d};this.dialogObj.setProperties({height:"inherit",width:"290px",header:o,content:r,position:{X:"center",Y:"center"},buttons:[{click:function(e){n.insertAlt(c)},buttonModel:{content:s,cssClass:"e-flat e-update-alt "+this.parent.cssClass,isPrimary:!0}}],cssClass:this.dialogObj.cssClass+" e-rte-img-alt-dialog"}),t.isNullOrUndefined(this.parent.cssClass)||this.dialogObj.setProperties({cssClass:this.parent.cssClass}),this.dialogObj.element.style.maxHeight="inherit",this.dialogObj.content.querySelector("input").focus()}}},n.prototype.insertAlt=function(e){if(!t.isNullOrUndefined(e.alt)){e.selection.restore(),0===this.parent.formatter.getUndoRedoStack().length&&this.parent.formatter.saveData();var n=e.alt.value;this.parent.formatter.process(this.parent,e.args,e.args,{altText:n,selectNode:e.selectNode,subCommand:e.args.item.subCommand}),this.dialogObj.hide({returnValue:!1})}},n.prototype.insertlink=function(e){if("IMG"===e.selectNode[0].nodeName){var n=e.link.value;if(""===n)return t.addClass([e.link],"e-error"),e.link.setSelectionRange(0,n.length),void e.link.focus();this.isUrl(n)?t.removeClass([e.link],"e-error"):n="http://"+n;var i=e.selfImage;if("HTML"===i.parent.editorMode&&e.selection.restore(),0===i.parent.formatter.getUndoRedoStack().length&&i.parent.formatter.saveData(),"A"===e.selectNode[0].parentElement.nodeName)return i.parent.formatter.process(i.parent,e.args,e.args,{url:n,target:i.checkBoxObj.checked?"_blank":null,selectNode:e.selectNode,subCommand:e.args.item.subCommand}),void i.dialogObj.hide({returnValue:!0});i.parent.formatter.process(i.parent,e.args,e.args,{url:n,target:i.checkBoxObj.checked?"_blank":null,selectNode:e.selectNode,subCommand:e.args.item.subCommand,selection:e.selection});var r=t.closest(e.selectNode[0],".e-img-caption");r&&t.select(".e-img-inner",r).focus(),r&&t.select(".e-img-inner",r).focus(),i.dialogObj.hide({returnValue:!1})}},n.prototype.isUrl=function(e){return/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/gi.test(e)},n.prototype.deleteImg=function(e,n){if("IMG"===e.selectNode[0].nodeName){var i={element:e.selectNode[0],src:e.selectNode[0].getAttribute("src")};0===this.parent.formatter.getUndoRedoStack().length&&this.parent.formatter.saveData(),e.selection.restore(),this.contentModule.getEditPanel().querySelector(".e-img-resize")&&this.removeResizeEle(),this.parent.formatter.process(this.parent,e.args,e.args,{selectNode:e.selectNode,captionClass:un,subCommand:e.args.item.subCommand}),this.imageRemovePost(i.src),this.quickToolObj&&document.body.contains(this.quickToolObj.imageQTBar.element)&&this.quickToolObj.imageQTBar.hidePopup(),this.cancelResizeAction(),t.isNullOrUndefined(n)&&this.parent.trigger(mt,i)}},n.prototype.imageRemovePost=function(e){var n=this,i="";if(!t.isNullOrUndefined(this.parent.insertImageSettings.removeUrl)&&""!==this.parent.insertImageSettings.removeUrl){i=e.indexOf("http://")>-1||e.indexOf("https://")>-1?e:new URL(e,document.baseURI).href,this.removingImgName=i.replace(/^.*[\\\/]/,"");var r=new XMLHttpRequest;r.addEventListener("readystatechange",function(){4==this.readyState&&200==this.status&&n.triggerPost(this.response)}),r.open("GET",i),r.responseType="blob",r.send()}},n.prototype.triggerPost=function(e){var n=this.parent.insertImageSettings.removeUrl;if(!t.isNullOrUndefined(n)&&""!==n){var i=new File([e],this.removingImgName),r=new t.Ajax(n,"POST",!0,null),o=new FormData;o.append("UploadFiles",i),r.send(o)}},n.prototype.caption=function(e){var n=e.selectNode[0];if("IMG"===n.nodeName){e.selection.restore(),0===this.parent.formatter.getUndoRedoStack().length&&this.parent.formatter.saveData(),this.cancelResizeAction(),t.addClass([n],"e-rte-image");var i=e.args.item?e.args.item.subCommand:"Caption";if(t.isNullOrUndefined(t.closest(n,"."+un))){this.captionEle=this.parent.createElement("span",{className:un+" "+mn+" "+this.parent.cssClass,attrs:{contenteditable:"false",draggable:"false",style:"width:"+this.parent.insertImageSettings.width}});var r=this.parent.createElement("span",{className:"e-img-wrap "+this.parent.cssClass}),o=this.parent.createElement("span",{className:"e-img-inner "+this.parent.cssClass,attrs:{contenteditable:"true"}}),s=e.selectNode[0].parentElement;"A"===s.tagName&&s.setAttribute("contenteditable","true"),r.appendChild("A"===s.tagName?s:e.selectNode[0]),r.appendChild(o);var a=this.i10n.getConstant("imageCaption");o.innerHTML=a,this.captionEle.appendChild(r),n.classList.contains(fn)&&t.addClass([this.captionEle],gn),n.classList.contains(hn)&&t.addClass([this.captionEle],hn),n.classList.contains(cn)&&t.addClass([this.captionEle],cn),n.classList.contains(dn)&&t.addClass([this.captionEle],dn),n.classList.contains(pn)&&t.addClass([this.captionEle],pn),this.parent.formatter.process(this.parent,e.args,e.args,{insertElement:this.captionEle,selectNode:e.selectNode,subCommand:i}),this.parent.formatter.editorManager.nodeSelection.setSelectionText(this.contentModule.getDocument(),o.childNodes[0],o.childNodes[0],0,o.childNodes[0].textContent.length)}else t.detach(t.closest(n,"."+un)),t.Browser.isIE&&(this.contentModule.getEditPanel().focus(),e.selection.restore()),"A"===n.parentElement.tagName?this.parent.formatter.process(this.parent,e.args,e.args,{insertElement:n.parentElement,selectNode:e.selectNode,subCommand:i}):this.parent.formatter.process(this.parent,e.args,e.args,{insertElement:n,selectNode:e.selectNode,subCommand:i});this.quickToolObj&&document.body.contains(this.quickToolObj.imageQTBar.element)&&(this.quickToolObj.imageQTBar.hidePopup(),t.removeClass([n],"e-img-focus"))}},n.prototype.imageSize=function(e){var n=this;if("IMG"===e.selectNode[0].nodeName&&(this.imagDialog(e),!t.isNullOrUndefined(this.dialogObj))){var i=this.i10n.getConstant("imageSizeHeader"),r=this.i10n.getConstant("dialogUpdate"),o=this.imgsizeInput(e),s={args:e.args,selfImage:this,selection:e.selection,selectNode:e.selectNode};this.dialogObj.setProperties({height:"inherit",width:"290px",header:i,content:o,position:{X:"center",Y:"center"},buttons:[{click:function(e){n.insertSize(s)},buttonModel:{content:r,cssClass:"e-flat e-update-size "+this.parent.cssClass,isPrimary:!0}}],cssClass:this.dialogObj.cssClass+" e-rte-img-size-dialog"}),t.isNullOrUndefined(this.parent.cssClass)||this.dialogObj.setProperties({cssClass:this.parent.cssClass}),this.dialogObj.element.style.maxHeight="inherit",this.dialogObj.content.querySelector("input").focus()}},n.prototype.break=function(e){if("IMG"===e.selectNode[0].nodeName){var t=e.args.item?e.args.item.subCommand:"Break";this.parent.formatter.process(this.parent,e.args,e.args,{selectNode:e.selectNode,subCommand:t})}},n.prototype.inline=function(e){if("IMG"===e.selectNode[0].nodeName){var t=e.args.item?e.args.item.subCommand:"Inline";this.parent.formatter.process(this.parent,e.args,e.args,{selectNode:e.selectNode,subCommand:t})}},n.prototype.alignImage=function(e,t){var n=e.args.item?e.args.item.subCommand:t;this.parent.formatter.process(this.parent,e.args,e.args,{selectNode:e.selectNode,subCommand:n})},n.prototype.clearDialogObj=function(){this.dialogObj&&(this.dialogObj.destroy(),t.detach(this.dialogObj.element),this.dialogObj=null)},n.prototype.imagDialog=function(e){var n=this;if(this.dialogObj)this.dialogObj.hide({returnValue:!0});else{var i=this.parent.createElement("div",{className:"e-rte-img-dialog "+this.parent.cssClass,id:this.rteID+"_image"});this.parent.element.appendChild(i);var r=this.i10n.getConstant("dialogInsert"),o=this.i10n.getConstant("dialogCancel"),s=this.i10n.getConstant("imageHeader"),a=e.selection,l={selfImage:this,selection:e.selection,args:e.args,selectParent:e.selectParent},d={header:s,cssClass:En+" "+this.parent.cssClass,enableRtl:this.parent.enableRtl,locale:this.parent.locale,showCloseIcon:!0,closeOnEscape:!0,width:t.Browser.isDevice?"290px":"340px",height:"inherit",position:{X:"center",Y:t.Browser.isDevice?"center":"top"},isModal:t.Browser.isDevice,buttons:[{click:this.insertImageUrl.bind(l),buttonModel:{content:r,cssClass:"e-flat e-insertImage "+this.parent.cssClass,isPrimary:!0,disabled:!0}},{click:function(e){n.cancelDialog(e)},buttonModel:{cssClass:"e-flat e-cancel "+this.parent.cssClass,content:o}}],target:t.Browser.isDevice?document.body:this.parent.element,animationSettings:{effect:"None"},close:function(e){n.isImgUploaded&&n.uploadObj.removing(),n.parent.isBlur=!1,e&&e.event.returnValue&&("HTML"===n.parent.editorMode?a.restore():n.parent.formatter.editorManager.markdownSelection.restore(n.parent.contentModule.getEditPanel())),n.dialogObj.destroy(),t.detach(n.dialogObj.element),n.dialogRenderObj.close(e),n.dialogObj=null}},c=this.parent.createElement("div",{className:"e-img-content "+this.parent.cssClass});(!t.isNullOrUndefined(this.parent.insertImageSettings.path)&&"Markdown"===this.parent.editorMode||"HTML"===this.parent.editorMode)&&c.appendChild(this.imgUpload(e));var p=this.parent.createElement("div",{className:"e-linkheader "+this.parent.cssClass}),h=this.i10n.getConstant("imageLinkHeader");"HTML"===this.parent.editorMode?p.innerHTML=h:p.innerHTML=this.i10n.getConstant("mdimageLink"),c.appendChild(p),c.appendChild(this.imageUrlPopup(e)),e.selectNode&&"IMG"===e.selectNode[0].nodeName?(d.header=this.parent.localeObj.getConstant("editImageHeader"),d.content=c):d.content=c,this.dialogObj=this.dialogRenderObj.render(d),this.dialogObj.createElement=this.parent.createElement,this.dialogObj.appendTo(i),t.isNullOrUndefined(this.dialogObj)||(e.selectNode&&"IMG"===e.selectNode[0].nodeName&&"insertImage"===e.name&&(this.dialogObj.element.querySelector(".e-insertImage").textContent=this.parent.localeObj.getConstant("dialogUpdate")),i.style.maxHeight="inherit",this.quickToolObj&&(this.quickToolObj.imageQTBar&&document.body.contains(this.quickToolObj.imageQTBar.element)&&(this.quickToolObj.imageQTBar.hidePopup(),t.isNullOrUndefined(e.selectParent)||t.removeClass([e.selectParent[0]],"e-img-focus")),this.quickToolObj.inlineQTBar&&document.body.contains(this.quickToolObj.inlineQTBar.element)&&this.quickToolObj.inlineQTBar.hidePopup()))}},n.prototype.cancelDialog=function(e){this.parent.isBlur=!1,this.dialogObj.hide({returnValue:!0}),this.isImgUploaded&&this.uploadObj.removing()},n.prototype.onDocumentClick=function(e){var n=e.target;"IMG"===n.nodeName&&(this.imgEle=n),this.parent&&("#document"!==n.nodeName&&(this.parent.currentTarget=e.target),!t.isNullOrUndefined(this.dialogObj)&&(!t.closest(n,"[id='"+this.dialogObj.element.id+"']")&&this.parent.toolbarSettings.enable&&this.parent.getToolbarElement()&&!this.parent.getToolbarElement().contains(e.target)||this.parent.getToolbarElement()&&this.parent.getToolbarElement().contains(e.target)&&!t.closest(n,"#"+this.parent.getID()+"_toolbar_Image")&&!n.querySelector("#"+this.parent.getID()+"_toolbar_Image"))&&(e.offsetX>e.target.clientWidth||e.offsetY>e.target.clientHeight||(this.dialogObj.hide({returnValue:!0}),this.parent.isBlur=!0,C(this.parent.element,"focusout"))),this.parent.iframeSettings.enable&&!t.isNullOrUndefined(this.parent.currentTarget)&&"IMG"===this.parent.currentTarget.nodeName||"IMG"===e.target.tagName||!this.imgResizeDiv||this.quickToolObj&&this.quickToolObj.imageQTBar&&this.quickToolObj.imageQTBar.element.contains(e.target)||!this.contentModule.getEditPanel().contains(this.imgResizeDiv)||this.cancelResizeAction(),!this.contentModule.getEditPanel().querySelector(".e-img-resize")||this.parent.iframeSettings.enable&&"IMG"===this.parent.currentTarget.nodeName||("IMG"!==n.tagName&&this.removeResizeEle(),"IMG"===n.tagName||t.isNullOrUndefined(this.imgEle)?t.isNullOrUndefined(this.prevSelectedImgEle)||this.prevSelectedImgEle===n||(this.prevSelectedImgEle.style.outline=""):this.imgEle.style.outline=""))},n.prototype.removeResizeEle=function(){t.EventHandler.remove(this.contentModule.getDocument(),t.Browser.touchMoveEvent,this.resizing),t.EventHandler.remove(this.contentModule.getDocument(),t.Browser.touchEndEvent,this.resizeEnd),t.detach(this.contentModule.getEditPanel().querySelector(".e-img-resize"))},n.prototype.onWindowResize=function(){t.isNullOrUndefined(this.contentModule)||t.isNullOrUndefined(this.contentModule.getEditPanel().querySelector(".e-img-resize"))||this.cancelResizeAction()},n.prototype.imageUrlPopup=function(e){var n=this,i=this.parent.createElement("div",{className:"imgUrl "+this.parent.cssClass}),r=this.i10n.getConstant("imageUrl");return this.inputUrl=this.parent.createElement("input",{className:"e-input e-img-url "+this.parent.cssClass,attrs:{placeholder:r,spellcheck:"false"}}),this.inputUrl.addEventListener("input",function(){t.isNullOrUndefined(n.inputUrl)||(0===n.inputUrl.value.length?n.dialogObj.getButtons(0).element.disabled=!0:n.dialogObj.getButtons(0).element.removeAttribute("disabled"))}),i.appendChild(this.inputUrl),i},n.prototype.insertImageUrl=function(e){var n=this.selfImage;n.isImgUploaded=!1;var i=n.inputUrl.value;if(0===n.parent.formatter.getUndoRedoStack().length&&n.parent.formatter.saveData(),t.isNullOrUndefined(n.uploadUrl)||""===n.uploadUrl.url){if(""!==i){if("HTML"===n.parent.editorMode&&t.isNullOrUndefined(t.closest(this.selection.range.startContainer.parentNode,"[id='"+n.contentModule.getPanel().id+"']"))){n.contentModule.getEditPanel().focus();var r=n.parent.formatter.editorManager.nodeSelection.getRange(n.contentModule.getDocument());this.selection=n.parent.formatter.editorManager.nodeSelection.save(r,n.contentModule.getDocument()),this.selectParent=n.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(r)}var o=/[\w-]+.(jpg|png|jpeg|gif)/g,s=t.isNullOrUndefined(i.match(o))||"HTML"!==n.parent.editorMode?"":i.match(o)[0],a={cssClass:"inline"===n.parent.insertImageSettings.display?fn:hn,url:i,selection:this.selection,altText:s,selectParent:this.selectParent,width:{width:n.parent.insertImageSettings.width,minWidth:n.parent.insertImageSettings.minWidth,maxWidth:n.parent.getInsertImgMaxWidth()},height:{height:n.parent.insertImageSettings.height,minHeight:n.parent.insertImageSettings.minHeight,maxHeight:n.parent.insertImageSettings.maxHeight}};n.parent.formatter.process(n.parent,this.args,this.args.originalEvent,a),n.dialogObj.hide({returnValue:!1})}}else n.uploadUrl.cssClass="inline"===n.parent.insertImageSettings.display?fn:hn,n.dialogObj.hide({returnValue:!1}),n.parent.formatter.process(n.parent,this.args,this.args.originalEvent,n.uploadUrl),n.uploadUrl.url="",n.contentModule.getEditPanel().querySelector(".e-img-resize")&&(n.imgEle.style.outline="",n.removeResizeEle())},n.prototype.imgsizeInput=function(e){var n=this,i=e.selectNode[0],r=this.i10n.getConstant("imageHeight"),s=this.i10n.getConstant("imageWidth"),a=this.parent.createElement("div",{className:"e-img-sizewrap "+this.parent.cssClass}),l=!t.isNullOrUndefined(this.changedWidthValue)||"auto"!==i.style.width.toString()&&""===i.style.width?t.isNullOrUndefined(this.changedWidthValue)?parseInt(i.getClientRects()[0].width.toString(),10).toString():this.changedWidthValue:i.style.width,d=!t.isNullOrUndefined(this.changedHeightValue)||"auto"!==i.style.height.toString()&&""===i.style.height?t.isNullOrUndefined(this.changedHeightValue)?parseInt(i.getClientRects()[0].height.toString(),10).toString():this.changedHeightValue:i.style.height;this.changedWidthValue=null,this.changedHeightValue=null;var c=N('<div class="e-rte-label '+this.parent.cssClass+'"><label>'+s+'</label></div><div class="e-rte-field '+this.parent.cssClass+'"><input type="text" id="imgwidth" class="e-img-width '+this.parent.cssClass+'" value='+l+' /></div><div class="e-rte-label '+this.parent.cssClass+'"><label>'+r+'</label></div><div class="e-rte-field '+this.parent.cssClass+'"> <input type="text" id="imgheight" class="e-img-height '+this.parent.cssClass+'" value='+d+" /></div>");return a.appendChild(c),this.widthNum=new o.TextBox({value:t.formatUnit(l),enableRtl:this.parent.enableRtl,cssClass:this.parent.cssClass,input:function(e){n.inputWidthValue=t.formatUnit(n.inputValue(e.value))}}),this.widthNum.createElement=this.parent.createElement,this.widthNum.appendTo(a.querySelector("#imgwidth")),this.heightNum=new o.TextBox({value:t.formatUnit(d),enableRtl:this.parent.enableRtl,cssClass:this.parent.cssClass,input:function(e){n.inputHeightValue=t.formatUnit(n.inputValue(e.value))}}),this.heightNum.createElement=this.parent.createElement,this.heightNum.appendTo(a.querySelector("#imgheight")),a},n.prototype.inputValue=function(e){return"auto"===e||-1!==e.indexOf("%")||-1!==e.indexOf("px")||e.match(/(\d+)/)?e:"auto"},n.prototype.insertSize=function(e){e.selection.restore();var t=e.selfImage;0===t.parent.formatter.getUndoRedoStack().length&&t.parent.formatter.saveData();var n=t.dialogObj.element;this.changedWidthValue=this.inputWidthValue,this.changedHeightValue=this.inputHeightValue;var i=n.querySelector(".e-img-width").value,r=n.parentElement.querySelector(".e-img-height").value;t.parent.formatter.process(this.parent,e.args,e.args,{width:i,height:r,selectNode:e.selectNode,subCommand:e.args.item.subCommand}),this.imgResizeDiv&&t.imgResizePos(e.selectNode[0],this.imgResizeDiv),t.dialogObj.hide({returnValue:!0})},n.prototype.insertImage=function(e){if(this.imagDialog(e),!t.isNullOrUndefined(this.dialogObj)){this.dialogObj.element.style.maxHeight="inherit";var n=this.dialogObj.element.querySelector(".e-img-content");!t.isNullOrUndefined(this.parent.insertImageSettings.path)&&"Markdown"===this.parent.editorMode||"HTML"===this.parent.editorMode?document.getElementById(this.rteID+"_insertImage").focus():n.querySelector(".e-img-url").focus()}},n.prototype.imgUpload=function(e){var n,i,r=this,a=this,l=a.parent.iframeSettings.enable;if("HTML"===a.parent.editorMode&&(!l&&t.isNullOrUndefined(t.closest(e.selection.range.startContainer.parentNode,"[id='"+this.parent.contentModule.getPanel().id+"']"))||l&&!c(e.selection.range.startContainer.parentNode.ownerDocument.querySelector("body"),"e-lib"))){this.contentModule.getEditPanel().focus();var d=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument());n=this.parent.formatter.editorManager.nodeSelection.save(d,this.parent.contentModule.getDocument()),i=this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(d)}else n=e.selection,i=e.selectParent;var p=this.parent.createElement("div",{className:"e-img-uploadwrap e-droparea "+this.parent.cssClass}),h=this.i10n.getConstant("imageDeviceUploadMessage"),u=this.i10n.getConstant("imageUploadMessage"),m=this.parent.createElement("span",{className:"e-droptext "+this.parent.cssClass}),g=this.parent.createElement("span",{className:"e-rte-upload-text "+this.parent.cssClass,innerHTML:t.Browser.isDevice?h:u});m.appendChild(g);var f=this.parent.createElement("button",{className:"e-browsebtn "+this.parent.cssClass,id:this.rteID+"_insertImage",attrs:{autofocus:"true",type:"button"}});m.appendChild(f),p.appendChild(m);var b=this.i10n.getConstant("browse");this.browseButton=new s.Button({content:b,enableRtl:this.parent.enableRtl}),this.browseButton.isStringTemplate=!0,this.browseButton.createElement=this.parent.createElement,this.browseButton.appendTo(f);var v=t.Browser.isDevice?m:f;t.EventHandler.add(v,"click",this.fileSelect,this);var y=this.parent.createElement("input",{id:this.rteID+"_upload",attrs:{type:"File",name:"UploadFiles"},className:this.parent.cssClass});p.appendChild(y);var C,N,S,E,T;return this.uploadObj=new o.Uploader({asyncSettings:{saveUrl:this.parent.insertImageSettings.saveUrl,removeUrl:this.parent.insertImageSettings.removeUrl},dropArea:m,multiple:!1,enableRtl:this.parent.enableRtl,cssClass:this.parent.cssClass,allowedExtensions:this.parent.insertImageSettings.allowedTypes.toString(),selected:function(e){a.isImgUploaded=!0,S=e,E=e.filesData,r.parent.isServerRendered&&(S=JSON.parse(JSON.stringify(e)),e.cancel=!0,N=e.filesData,S.filesData=N),r.parent.trigger(dt,S,function(e){if(!e.cancel){if(r.checkExtension(e.filesData[0]),C=e.filesData[0].name,"HTML"===r.parent.editorMode&&t.isNullOrUndefined(r.parent.insertImageSettings.path)){var o=new FileReader;o.addEventListener("load",function(e){var s="Base64"===r.parent.insertImageSettings.saveFormat?o.result:URL.createObjectURL(D(o.result));a.uploadUrl={url:s,selection:n,altText:C,selectParent:i,width:{width:a.parent.insertImageSettings.width,minWidth:a.parent.insertImageSettings.minWidth,maxWidth:a.parent.getInsertImgMaxWidth()},height:{height:a.parent.insertImageSettings.height,minHeight:a.parent.insertImageSettings.minHeight,maxHeight:a.parent.insertImageSettings.maxHeight}},a.inputUrl.setAttribute("disabled","true"),t.isNullOrUndefined(a.parent.insertImageSettings.saveUrl)&&r.isAllowedTypes&&!t.isNullOrUndefined(r.dialogObj)&&r.dialogObj.getButtons(0).element.removeAttribute("disabled")}),o.readAsDataURL(e.filesData[0].rawFile)}r.parent.isServerRendered&&r.uploadObj._internalRenderSelect(e,N)}})},beforeUpload:function(e){r.parent.isServerRendered?((T=JSON.parse(JSON.stringify(e))).filesData=E,e.cancel=!0,r.parent.trigger(ct,T,function(e){e.cancel||(r.uploadObj.currentRequestHeader=e.currentRequest?e.currentRequest:r.uploadObj.currentRequestHeader,r.uploadObj.customFormDatas=e.customFormData&&e.customFormData.length>0?e.customFormData:r.uploadObj.customFormDatas,r.uploadObj.uploadFiles(N,null))})):r.parent.trigger(ft,e)},uploading:function(e){r.parent.isServerRendered||r.parent.trigger(ct,e)},success:function(e){r.parent.trigger(pt,e,function(e){if(!t.isNullOrUndefined(r.parent.insertImageSettings.path)){var o=r.parent.insertImageSettings.path+e.file.name;a.uploadUrl={url:o,selection:n,altText:C,selectParent:i,width:{width:a.parent.insertImageSettings.width,minWidth:a.parent.insertImageSettings.minWidth,maxWidth:a.parent.getInsertImgMaxWidth()},height:{height:a.parent.insertImageSettings.height,minHeight:a.parent.insertImageSettings.minHeight,maxHeight:a.parent.insertImageSettings.maxHeight}},a.inputUrl.setAttribute("disabled","true")}"upload"!==e.operation||t.isNullOrUndefined(r.dialogObj)||r.dialogObj.getButtons(0).element.removeAttribute("disabled")})},failure:function(e){r.parent.trigger(ht,e)},removing:function(){r.parent.trigger(ut,e,function(e){a.isImgUploaded=!1,r.dialogObj.getButtons(0).element.disabled=!0,a.inputUrl.removeAttribute("disabled"),a.uploadUrl&&(a.uploadUrl.url="")})}}),this.uploadObj.isStringTemplate=!0,this.uploadObj.createElement=this.parent.createElement,this.uploadObj.appendTo(y),p},n.prototype.checkExtension=function(e){this.uploadObj.allowedExtensions&&(-1===this.uploadObj.allowedExtensions.toLocaleLowerCase().indexOf(("."+e.type).toLocaleLowerCase())?(this.dialogObj.getButtons(0).element.setAttribute("disabled","disabled"),this.isAllowedTypes=!1):this.isAllowedTypes=!0)},n.prototype.fileSelect=function(){return this.dialogObj.element.getElementsByClassName("e-file-select-wrap")[0].querySelector("button").click(),!1},n.prototype.dragStart=function(e){if("IMG"!==e.target.nodeName)return!0;this.parent.trigger(be,e,function(t){t.cancel?e.preventDefault():(e.dataTransfer.effectAllowed="copyMove",e.target.classList.add(ri))})},n.prototype.dragEnter=function(e){e.dataTransfer.dropEffect="copy",e.preventDefault()},n.prototype.dragOver=function(e){if(!("edge"===t.Browser.info.name&&e.dataTransfer.items[0].type.split("/")[0].indexOf("image")>-1||t.Browser.isIE&&"Files"===e.dataTransfer.types[0]))return!0;e.preventDefault()},n.prototype.dragDrop=function(e){var n=this;this.parent.trigger(yt,e,function(e){var i=n.parent.inputElement.ownerDocument.querySelector("."+ri),r=i&&"IMG"===i.tagName||e.dataTransfer.files.length>0;!e.cancel&&r?n.parent.trigger(be,e,function(i){if(i.cancel)e.preventDefault();else{if(t.closest(e.target,"#"+n.parent.getID()+"_toolbar")||"false"===n.parent.inputElement.contentEditable)return void e.preventDefault();n.parent.element.querySelector(".e-img-resize")&&t.detach(n.imgResizeDiv),e.preventDefault();var r=void 0;n.contentModule.getDocument().caretRangeFromPoint?r=n.contentModule.getDocument().caretRangeFromPoint(e.clientX,e.clientY):e.rangeParent?(r=n.contentModule.getDocument().createRange()).setStart(e.rangeParent,e.rangeOffset):r=n.getDropRange(e.clientX,e.clientY),n.parent.notify(We,{range:r});if(n.parent.element.querySelector(".e-droparea"))return;n.insertDragImage(e)}}):r&&e.preventDefault()})},n.prototype.getDropRange=function(e,t){var n=this.contentModule.getDocument().createRange();this.parent.formatter.editorManager.nodeSelection.setRange(this.contentModule.getDocument(),n);var i=this.contentModule.getDocument().elementFromPoint(e,t),r=i.childNodes.length>0?i.childNodes[0]:i,o=0;if("<br>"===this.parent.inputElement.firstChild.innerHTML)n.setStart(r,o),n.setEnd(r,o);else{var s=void 0;do{o++,n.setStart(r,o),n.setEnd(r,o+1),s=n.getBoundingClientRect()}while(s.left<e&&o<r.length-1)}return n},n.prototype.insertDragImage=function(e){var t=this;e.preventDefault();var n=this.parent.element.querySelector(""+si);this.parent.notify("drop",{args:e}),n&&n.classList.add(on);var i=this.parent.inputElement.ownerDocument.querySelector("."+ri);if(e.dataTransfer.files.length>0&&null===i){if(e.dataTransfer.files.length>1)return;for(var r=e.dataTransfer.files,o=r[0].name,s=o.substring(o.lastIndexOf(".")),a=this.parent.insertImageSettings.allowedTypes,l=0;l<a.length;l++)if(s.toLocaleLowerCase()===a[l].toLowerCase())if(this.parent.insertImageSettings.saveUrl)this.onSelect(e);else{var d={args:e,text:"",file:r[0]};e.preventDefault(),this.imagePaste(d)}}else{var c=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument());if(i&&"IMG"===i.tagName){i.nextElementSibling&&i.nextElementSibling.classList.contains("e-img-inner")?c.insertNode(i.parentElement.parentElement):c.insertNode(i),i.classList.remove(ri);var p={elements:[i]};i.addEventListener("load",function(){t.parent.trigger(ve,p)}),this.parent.formatter.editorManager.nodeSelection.Clear(this.contentModule.getDocument());d=e;this.resizeStart(d,i),this.hideImageQuickToolbar()}}},n.prototype.onSelect=function(e){var n=this,i=this,r=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument()),o=this.parent.createElement("ul",{className:ai});this.parent.element.appendChild(o);var s={name:"",size:0,status:"",statusCode:"",type:"",rawFile:e.dataTransfer.files[0],validationMessages:{}},a=this.parent.createElement("IMG");a.style.opacity="0.5",a.classList.add(ii),a.classList.add(fn),a.classList.add("e-resize");var l=s.rawFile,d=new FileReader;d.addEventListener("load",function(){var e=URL.createObjectURL(D(d.result));a.src="Blob"===i.parent.insertImageSettings.saveFormat?e:d.result}),l&&d.readAsDataURL(l),r.insertNode(a),this.uploadMethod(e,a);var c={elements:[a]};a.addEventListener("load",function(){n.parent.trigger(ve,c)}),t.detach(o)},n.prototype.uploadMethod=function(e,n){var i=this,s=!1,a=this,l=this.parent.createElement("div");this.parent.element.appendChild(l);var d=this.parent.createElement("input",{id:this.rteID+"_upload",attrs:{type:"File",name:"UploadFiles"}}),c=this.parent.iframeSettings.enable?-50:-90;this.popupObj=new r.Popup(l,{relateTo:n,height:"85px",width:"300px",offsetY:c,content:d,viewPortElement:this.parent.element,position:{X:"center",Y:"top"},enableRtl:this.parent.enableRtl,zIndex:10001,close:function(e){i.parent.isBlur=!1,i.popupObj.destroy(),t.detach(i.popupObj.element),i.popupObj=null,i.parent.inlineMode.enable||i.parent.toolbarModule.baseToolbar.toolbarObj.disable(!1)}}),this.popupObj.element.style.display="none",t.addClass([this.popupObj.element],si),t.addClass([this.popupObj.element],oi),t.isNullOrUndefined(this.parent.cssClass)||t.addClass([this.popupObj.element],this.parent.cssClass);var p=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument()),h=e.dataTransfer.files[0].size>1e6?300:100;setTimeout(function(){a.refreshPopup(n)},h);var u,m;this.uploadObj=new o.Uploader({asyncSettings:{saveUrl:this.parent.insertImageSettings.saveUrl,removeUrl:this.parent.insertImageSettings.removeUrl},cssClass:li+" "+this.parent.cssClass,dropArea:this.parent.element,allowedExtensions:this.parent.insertImageSettings.allowedTypes.toString(),removing:function(){i.parent.inputElement.contentEditable="true",s=!1,t.detach(n),i.popupObj.close()},canceling:function(){i.parent.inputElement.contentEditable="true",s=!1,t.detach(n),i.popupObj.close(),i.quickToolObj.imageQTBar.hidePopup(),setTimeout(function(){i.uploadObj.destroy()},900)},beforeUpload:function(e){i.parent.isServerRendered?((m=JSON.parse(JSON.stringify(e))).filesData=u,s=!0,e.cancel=!0,i.parent.trigger(ct,m,function(e){e.cancel||(i.parent.inlineMode.enable||i.parent.toolbarModule.baseToolbar.toolbarObj.disable(!0),i.uploadObj.currentRequestHeader=e.currentRequest?e.currentRequest:i.uploadObj.currentRequestHeader,i.uploadObj.customFormDatas=e.customFormData&&e.customFormData.length>0?e.customFormData:i.uploadObj.customFormDatas,i.uploadObj.uploadFiles(u,null),i.parent.inputElement.contentEditable="false")})):(i.parent.trigger(ft,e),i.parent.inlineMode.enable||i.parent.toolbarModule.baseToolbar.toolbarObj.disable(!0))},uploading:function(e){i.parent.isServerRendered||(s=!0,i.parent.trigger(ct,e,function(e){e.cancel?(t.isNullOrUndefined(n)||t.detach(n),t.isNullOrUndefined(i.popupObj.element)||t.detach(i.popupObj.element)):i.parent.inputElement.contentEditable="false"}))},selected:function(e){s&&(e.cancel=!0),i.parent.isServerRendered&&(u=e.filesData)},failure:function(t){s=!1,i.parent.inputElement.contentEditable="true";var r={args:e,type:"Images",isNotify:void 0,elements:n};setTimeout(function(){i.uploadFailure(n,r,t)},900)},success:function(t){if("cancel"!==t.operation){s=!1,i.parent.inputElement.contentEditable="true";var r={args:e,type:"Images",isNotify:void 0,elements:n};setTimeout(function(){i.uploadSuccess(n,e,r,t)},900)}}}),this.uploadObj.appendTo(this.popupObj.element.childNodes[0]),this.popupObj.element.querySelector(".e-rte-dialog-upload .e-file-select-wrap").style.display="none",p.selectNodeContents(n),this.parent.formatter.editorManager.nodeSelection.setRange(this.contentModule.getDocument(),p)},n.prototype.refreshPopup=function(e){(this.parent.iframeSettings.enable?this.parent.element.offsetTop+e.offsetTop:e.offsetTop)>this.parent.element.offsetTop+this.parent.element.offsetHeight?(this.popupObj.relateTo=this.parent.inputElement,this.popupObj.offsetY=this.parent.iframeSettings.enable?-30:-65,this.popupObj.element.style.display="block"):this.popupObj&&(this.popupObj.refreshPosition(e),this.popupObj.element.style.display="block")},n.prototype.uploadFailure=function(e,n,i){t.detach(e),this.popupObj&&this.popupObj.close(),this.parent.trigger(ht,i),this.uploadObj.destroy()},n.prototype.uploadSuccess=function(e,n,i,r){var o=this;e.style.opacity="1",e.classList.add("e-img-focus"),r.element=e,this.parent.trigger(pt,r,function(n){if(!t.isNullOrUndefined(o.parent.insertImageSettings.path)){var i=o.parent.insertImageSettings.path+n.file.name;e.src=i,e.setAttribute("alt",n.file.name)}}),this.popupObj&&(this.popupObj.close(),this.uploadObj.destroy()),this.showImageQuickToolbar(i),this.resizeStart(n,e)},n.prototype.imagePaste=function(e){var n=this;if(0===e.text.length&&!t.isNullOrUndefined(e.file)){var i=this,r=new FileReader;e.args.preventDefault(),r.addEventListener("load",function(o){var s={cssClass:"inline"===i.parent.insertImageSettings.display?fn:hn,url:"Base64"!==n.parent.insertImageSettings.saveFormat&&t.isNullOrUndefined(e.callBack)?URL.createObjectURL(D(r.result)):r.result,width:{width:i.parent.insertImageSettings.width,minWidth:i.parent.insertImageSettings.minWidth,maxWidth:i.parent.getInsertImgMaxWidth()},height:{height:i.parent.insertImageSettings.height,minHeight:i.parent.insertImageSettings.minHeight,maxHeight:i.parent.insertImageSettings.maxHeight}};t.isNullOrUndefined(e.callBack)?(i.parent.formatter.process(i.parent,{item:{command:"Images",subCommand:"Image"}},e.args,s),n.showPopupToolBar(e,s)):e.callBack(s)}),r.readAsDataURL(e.file)}},n.prototype.showPopupToolBar=function(t,n){var i=this,r='img[src="'+n.url+'"]',o=this.parent.inputElement.querySelector(r);this.parent.quickToolbarModule.createQTBar("Image","MultiRow",this.parent.quickToolbarSettings.image,e.RenderType.ImageToolbar);var s={args:t.args,type:"Images",isNotify:void 0,elements:o};o&&setTimeout(function(){i.showImageQuickToolbar(s),i.resizeStart(t.args,o)},0)},n.prototype.destroy=function(){this.prevSelectedImgEle=void 0,this.removeEventListener()},n.prototype.moduleDestroy=function(){this.parent=null},n.prototype.getModuleName=function(){return"image"},n}(),us=function(){function n(e,t){this.parent=e;var n=t;this.rendererFactory=n.getService("rendererFactory"),this.addEventListener()}return n.prototype.addEventListener=function(){this.parent.on(xe,this.sourceCode,this),this.parent.on(H,this.onInitialEnd,this),this.parent.on(ke,this.updateSourceCode,this),this.parent.on(F,this.destroy,this),this.parent.on(et,this.moduleDestroy,this)},n.prototype.onInitialEnd=function(){this.parent.formatter.editorManager.observer.on(fr,this.onKeyDown,this)},n.prototype.removeEventListener=function(){this.unWireEvent(),this.parent.off(xe,this.sourceCode),this.parent.off(ke,this.updateSourceCode),this.parent.off(H,this.onInitialEnd),this.parent.off(F,this.destroy),this.parent.off(et,this.moduleDestroy),this.parent.formatter.editorManager.observer.off(fr,this.onKeyDown)},n.prototype.getSourceCode=function(){return this.parent.createElement("textarea",{className:"e-rte-srctextarea "+this.parent.cssClass})},n.prototype.wireEvent=function(e){this.keyboardModule=new rr(e,{keyAction:this.previewKeyDown.bind(this),keyConfigs:this.parent.formatter.keyConfig,eventName:"keydown"}),t.EventHandler.add(this.previewElement,"mousedown",this.mouseDownHandler,this)},n.prototype.unWireEvent=function(){this.keyboardModule&&this.keyboardModule.destroy(),this.previewElement&&t.EventHandler.remove(this.previewElement,"mousedown",this.mouseDownHandler)},n.prototype.wireBaseKeyDown=function(){this.parent.keyboardModule=new rr(this.contentModule.getEditPanel(),{keyAction:this.parent.keyDown.bind(this.parent),keyConfigs:this.parent.formatter.keyConfig,eventName:"keydown"})},n.prototype.unWireBaseKeyDown=function(){this.parent.keyboardModule.destroy()},n.prototype.mouseDownHandler=function(e){this.parent.notify(Ae,{args:e})},n.prototype.previewKeyDown=function(e){switch(e.action){case"html-source":this.updateSourceCode(e),e.preventDefault();break;case"toolbar-focus":if(this.parent.toolbarSettings.enable){this.parent.toolbarModule.baseToolbar.toolbarObj.element.querySelector('.e-toolbar-item[aria-disabled="false"][title] [tabindex]').focus()}}},n.prototype.onKeyDown=function(e){switch(e.event.action){case"html-source":e.event.preventDefault(),this.sourceCode(e),e.callBack({requestType:"SourceCode",editorMode:"HTML",event:e.event})}},n.prototype.sourceCode=function(n){this.parent.isBlur=!1,this.parent.trigger(be,{requestType:"SourceCode",targetItem:"SourceCode",args:n});var i=t.selectAll("."+nn,this.parent.element);if(this.contentModule=this.rendererFactory.getRenderer(e.RenderType.Content),this.parent.notify(Ce,{targetItem:"SourceCode",updateItem:"Preview",baseToolbar:this.parent.getBaseToolbarObject()}),t.isNullOrUndefined(this.previewElement)&&(this.previewElement=this.getSourceCode()),this.parent.updateValueData(),this.parent.iframeSettings.enable){var r=void 0;(r=t.isNullOrUndefined(this.parent.element.querySelector("#"+this.parent.element.id+"_source-view"))?this.parent.createElement("div",{className:"e-source-content",id:this.parent.element.id+"_source-view"}):this.parent.element.querySelector("#"+this.parent.element.id+"_source-view")).appendChild(this.previewElement),this.parent.element.appendChild(r),r.style.height=this.contentModule.getPanel().style.height,r.style.marginTop=this.contentModule.getPanel().style.marginTop,this.getPanel().value=this.getTextAreaValue(),this.contentModule.getPanel().style.display="none",r.style.display="block",this.getPanel().style.display="block"}else this.contentModule.getPanel().appendChild(this.previewElement),this.getPanel().value=this.getTextAreaValue(),this.contentModule.getEditPanel().style.display="none",this.previewElement.style.display="block";if(this.parent.isBlur=!1,this.parent.disableToolbarItem(this.parent.toolbarSettings.items),this.parent.enableToolbarItem("SourceCode"),this.parent.getToolbar()&&t.removeClass([this.parent.getToolbar()],[Sn]),t.removeClass(i,[Nn]),this.parent.setContentHeight("sourceCode",!0),this.wireEvent(this.previewElement),this.unWireBaseKeyDown(),this.previewElement.focus(),this.parent.updateValue(),!t.isNullOrUndefined(this.parent.placeholder)&&!this.parent.iframeSettings.enable){this.parent.element.querySelector(".rte-placeholder.e-rte-placeholder").style.display="none"}this.parent.trigger(ve,{requestType:"SourceCode",targetItem:"SourceCode",args:n}),this.parent.invokeChangeEvent()},n.prototype.updateSourceCode=function(e){this.parent.isBlur=!1,this.parent.trigger(be,{requestType:"Preview",targetItem:"Preview",args:e});var n=this.getPanel();this.parent.notify(Ce,{targetItem:"Preview",updateItem:"SourceCode",baseToolbar:this.parent.getBaseToolbarObject()});var i,r=this.parent.serializeValue(n.value);if(i=null===r||""===r?"DIV"===this.parent.enterKey?"<div><br/></div>":"BR"===this.parent.enterKey?"<br/>":"<p><br/></p>":r,this.parent.iframeSettings.enable?(n.parentElement.style.display="none",n.style.display="none",this.contentModule.getPanel().style.display="block",this.contentModule.getEditPanel().innerHTML=i):(n.style.display="none",this.contentModule.getEditPanel().style.display="block",this.contentModule.getEditPanel().innerHTML=i),this.parent.isBlur=!1,this.parent.enableToolbarItem(this.parent.toolbarSettings.items),this.parent.getToolbar()&&t.removeClass([this.parent.getToolbar()],[Sn]),this.parent.setContentHeight("preview",!0),this.unWireEvent(),this.wireBaseKeyDown(),this.contentModule.getEditPanel().focus(),this.parent.updateValue(),!t.isNullOrUndefined(this.parent.placeholder)&&0===this.contentModule.getEditPanel().innerText.length){this.parent.element.querySelector(".rte-placeholder.e-rte-placeholder").style.display="block"}this.parent.trigger(ve,{requestType:"Preview",targetItem:"Preview",args:e}),this.parent.formatter.enableUndo(this.parent),this.parent.invokeChangeEvent()},n.prototype.getTextAreaValue=function(){return"<p><br></p>"===this.contentModule.getEditPanel().innerHTML||"<div><br></div>"===this.contentModule.getEditPanel().innerHTML||"<br>"===this.contentModule.getEditPanel().innerHTML||1===this.contentModule.getEditPanel().childNodes.length&&"P"===this.contentModule.getEditPanel().childNodes[0].tagName&&7===this.contentModule.getEditPanel().innerHTML.length||"DIV"===this.contentModule.getEditPanel().childNodes[0].tagName&&11===this.contentModule.getEditPanel().innerHTML.length?"":this.parent.value},n.prototype.getPanel=function(){return this.parent.element&&this.parent.element.querySelector(".e-rte-srctextarea")},n.prototype.getViewPanel=function(){return this.parent.iframeSettings.enable&&this.getPanel()?this.getPanel().parentElement:this.getPanel()},n.prototype.destroy=function(){this.removeEventListener()},n.prototype.moduleDestroy=function(){this.parent=null},n}(),ms=function(){function n(e,t){this.ensureInsideTableList=!0,this.pageX=null,this.pageY=null,this.moveEle=null,this.currentColumnResize="",this.currentMarginLeft=0,this.parent=e,this.rteID=e.element.id,this.l10n=t.getService("rteLocale"),this.rendererFactory=t.getService("rendererFactory"),this.dialogRenderObj=t.getService("dialogRenderObject"),this.addEventListener()}return n.prototype.addEventListener=function(){this.parent.isDestroyed||(this.parent.on(Xe,this.renderDlgContent,this),this.parent.on(H,this.afterRender,this),this.parent.on(Ct,this.afterRender,this),this.parent.on(xt,this.showDialog,this),this.parent.on(kt,this.closeDialog,this),this.parent.on(Ye,this.docClick,this),this.parent.on(Ue,this.editAreaClickHandler,this),this.parent.on(rt,this.clearDialogObj,this),this.parent.on(Je,this.onToolbarAction,this),this.parent.on(re,this.dropdownSelect,this),this.parent.on($,this.keyDown,this),this.parent.on(Z,this.selectionTable,this),this.parent.on(Dt,this.setCssClass,this),this.parent.on(F,this.destroy,this),this.parent.on(et,this.moduleDestroy,this))},n.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off(Xe,this.renderDlgContent),this.parent.off(H,this.afterRender),this.parent.off(Ct,this.afterRender),this.parent.off(Ye,this.docClick),this.parent.off(xt,this.showDialog),this.parent.off(kt,this.closeDialog),this.parent.off(Ue,this.editAreaClickHandler),this.parent.off(rt,this.clearDialogObj),this.parent.off(Je,this.onToolbarAction),this.parent.off(re,this.dropdownSelect),this.parent.off(Pe,this.cellSelect),this.parent.off(qe,this.setBGColor),this.parent.off($,this.keyDown),this.parent.off(Z,this.selectionTable),this.parent.off(Dt,this.setCssClass),this.parent.off(F,this.destroy),this.parent.off(et,this.moduleDestroy))},n.prototype.updateCss=function(e,n){e&&n.cssClass&&(t.isNullOrUndefined(n.oldCssClass)?e.setProperties({cssClass:(e.cssClass+" "+n.cssClass).trim()}):e.setProperties({cssClass:(e.cssClass.replace(n.oldCssClass,"").trim()+" "+n.cssClass).trim()}))},n.prototype.setCssClass=function(e){this.popupObj&&e.cssClass&&(t.isNullOrUndefined(e.oldCssClass)?t.addClass([this.popupObj.element],e.cssClass):(t.removeClass([this.popupObj.element],e.oldCssClass),t.addClass([this.popupObj.element],e.cssClass))),this.updateCss(this.createTableButton,e),this.updateCss(this.editdlgObj,e);for(var n=[this.columnTextBox,this.rowTextBox,this.tableWidthNum,this.tableCellPadding,this.tableCellSpacing],i=0;i<n.length;i++)this.updateCss(n[i],e)},n.prototype.selectionTable=function(e){var n=e.args.target;"mozilla"!==t.Browser.info.name||t.isNullOrUndefined(t.closest(n,"table"))||"TABLE"!==t.closest(n,"table").tagName||this.parent.contentModule.getEditPanel().setAttribute("contenteditable","true")},n.prototype.afterRender=function(){t.isNullOrUndefined(this.contentModule)&&(this.contentModule=this.rendererFactory.getRenderer(e.RenderType.Content),this.parent.on(qe,this.setBGColor,this),this.parent.on(Pe,this.cellSelect,this),this.parent.tableSettings.resize&&t.EventHandler.add(this.parent.contentModule.getEditPanel(),t.Browser.touchStartEvent,this.resizeStart,this),!t.Browser.isDevice&&this.parent.tableSettings.resize&&t.EventHandler.add(this.contentModule.getEditPanel(),"mouseover",this.resizeHelper,this))},n.prototype.dropdownSelect=function(e){var t=e.item;if(document.body.contains(document.body.querySelector(".e-rte-quick-toolbar"))&&"Table"===t.command){var n=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument()),i={args:e,selection:this.parent.formatter.editorManager.nodeSelection.save(n,this.contentModule.getDocument()),selectParent:this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(n)};switch(t.subCommand){case"InsertRowBefore":case"InsertRowAfter":this.addRow(i.selection,e);break;case"InsertColumnLeft":case"InsertColumnRight":this.addColumn(i.selection,e);break;case"DeleteColumn":case"DeleteRow":this.removeRowColumn(i.selection,e);break;case"AlignTop":case"AlignMiddle":case"AlignBottom":this.verticalAlign(i,e);break;case"Dashed":case"Alternate":case"Custom":this.tableStyles(i,t.subCommand);break;case"Merge":case"VerticalSplit":case"HorizontalSplit":this.UpdateCells(i.selection,e)}}},n.prototype.UpdateCells=function(e,t){this.parent.formatter.process(this.parent,t,t,{selection:e,subCommand:t.item.subCommand}),this.hideTableQuickToolbar()},n.prototype.keyDown=function(e){var n=e.args;switch(n.action){case"escape":break;case"insert-table":this.openDialog(!0,e),n.preventDefault()}if(!t.isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection)&&this.contentModule&&"KeyK"!==n.code){var i=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument()),r=this.parent.formatter.editorManager.nodeSelection.save(i,this.contentModule.getDocument()),o=this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(i)[0];if(o=o&&"TD"!==o.tagName&&"TH"!==o.tagName?o.parentElement:o,(8===n.keyCode||46===n.keyCode||n.ctrlKey&&88===n.keyCode)&&(o&&"TBODY"===o.tagName?(n.preventDefault(),this.removeTable(r,n,!0)):o&&o.querySelectorAll("table").length>0&&(this.removeResizeElement(),this.hideTableQuickToolbar())),o&&"TD"!==o.tagName&&"TH"!==o.tagName){var s=t.closest(o,"td");o=!t.isNullOrUndefined(s)&&this.parent.inputElement.contains(s)?s:o}if(o&&("TD"===o.tagName||"TH"===o.tagName))switch(n.keyCode){case 9:case 37:case 39:this.tabSelection(n,r,o);break;case 40:case 38:this.tableArrowNavigation(n,r,o)}}},n.prototype.openDialog=function(e,t){if(e||this.parent.contentModule.getEditPanel().focus(),"HTML"===this.parent.editorMode){var n=this.parent.contentModule.getDocument(),i=this.parent.formatter.editorManager.nodeSelection.getRange(n),r=this.parent.formatter.editorManager.nodeSelection.save(i,n),o={originalEvent:t?t.args:{action:"insert-table"},item:{command:"Table",subCommand:"CreateTable"}};this.insertTableDialog({self:this,args:o,selection:r})}},n.prototype.showDialog=function(){this.openDialog(!1),this.setCssClass({cssClass:this.parent.cssClass})},n.prototype.closeDialog=function(){this.editdlgObj&&this.editdlgObj.hide({returnValue:!0})},n.prototype.onToolbarAction=function(e){switch(e.args.item.subCommand){case"TableHeader":this.tableHeader(e.selection,e.args);break;case"TableRemove":this.removeTable(e.selection,e.args);break;case"TableEditProperties":this.editTable(e)}},n.prototype.verticalAlign=function(e,n){var i=t.closest(e.selectParent[0],"td")||t.closest(e.selectParent[0],"th");i&&this.parent.formatter.process(this.parent,n,n,{tableCell:i,subCommand:n.item.subCommand})},n.prototype.tableStyles=function(e,n){var i=t.closest(e.selectParent[0],"table");if("Dashed"===n&&(this.parent.element.classList.contains(Wn)?this.parent.element.classList.remove(Wn):this.parent.element.classList.add(Wn),i.classList.contains(Wn)?i.classList.remove(Wn):i.classList.add(Wn)),"Alternate"===n&&(this.parent.element.classList.contains(Qn)?this.parent.element.classList.remove(Qn):this.parent.element.classList.add(Qn),i.classList.contains(Qn)?i.classList.remove(Qn):i.classList.add(Qn)),e.args&&e.args.item.cssClass)for(var r=e.args.item.cssClass.split(" "),o=0;o<r.length;o++)i.classList.contains(r[o])?i.classList.remove(r[o]):i.classList.add(r[o]);this.parent.formatter.saveData(),this.parent.formatter.editorManager.nodeSelection.restore()},n.prototype.insideList=function(e){for(var t=this.parent.formatter.editorManager.domNode.blockNodes(),n=[],i=0;i<t.length;i++)"LI"===t[i].parentNode.tagName?n.push(t[i].parentNode):"LI"===t[i].tagName&&"P"!==t[i].childNodes[0].tagName&&"OL"!==t[i].childNodes[0].tagName&&"UL"!==t[i].childNodes[0].tagName&&n.push(t[i]);return n.length>1||n.length&&0===e.startOffset&&0===e.endOffset?(this.ensureInsideTableList=!0,!0):(this.ensureInsideTableList=!1,!1)},n.prototype.tabSelection=function(e,n,i){var r=this.insideList(n.range);if((37!==e.keyCode&&39!==e.keyCode||3!==n.range.startContainer.nodeType)&&!r)if(e.preventDefault(),i.classList.remove(_n),e.shiftKey||37===e.keyCode){var o=t.isNullOrUndefined(i.previousSibling)?t.isNullOrUndefined(t.closest(i,"tr").previousSibling)?t.isNullOrUndefined(t.closest(i,"table").previousSibling)?i:"td"===t.closest(i,"table").previousSibling.nodeName.toLowerCase()?t.closest(i,"table").previousSibling:i:t.closest(i,"tr").previousSibling.childNodes[t.closest(i,"tr").previousSibling.childNodes.length-1]:i.previousSibling;if(i===o&&0===i.cellIndex&&t.closest(i,"table").tHead){var s=t.closest(i,"table");o=s.rows[0].cells[s.rows[0].cells.length-1]}37===e.keyCode&&i===o&&(o=t.closest(i,"table").previousSibling),o&&(""!==o.textContent.trim()&&t.closest(o,"td")?n.setSelectionNode(this.contentModule.getDocument(),o):n.setSelectionText(this.contentModule.getDocument(),o,o,0,0))}else{var a=t.isNullOrUndefined(i.nextSibling)?t.isNullOrUndefined(t.closest(i,"tr").nextSibling)?t.isNullOrUndefined(t.closest(i,"table").nextSibling)?i:"td"===t.closest(i,"table").nextSibling.nodeName.toLowerCase()?t.closest(i,"table").nextSibling:i:t.closest(i,"tr").nextSibling.childNodes[0]:i.nextSibling;i===a&&"TH"===i.nodeName&&(a=t.closest(i,"table").rows[1].cells[0]),39===e.keyCode&&i===a&&(a=t.closest(i,"table").nextSibling),a&&(""!==a.textContent.trim()&&t.closest(a,"td")?n.setSelectionNode(this.contentModule.getDocument(),a):n.setSelectionText(this.contentModule.getDocument(),a,a,0,0)),i===a&&39!==e.keyCode&&a&&(i.classList.add(_n),this.addRow(n,e,!0),i.classList.remove(_n),""!==(a=a.parentElement.nextSibling?a.parentElement.nextSibling.firstChild:a.parentElement.firstChild).textContent.trim()&&t.closest(a,"td")?n.setSelectionNode(this.contentModule.getDocument(),a):n.setSelectionText(this.contentModule.getDocument(),a,a,0,0))}},n.prototype.tableArrowNavigation=function(e,n,i){var r=n.range.startContainer;40===e.keyCode&&3===r.nodeType&&(r.nextSibling&&"BR"===r.nextSibling.nodeName||r.parentNode&&"TD"!==r.parentNode.nodeName)||38===e.keyCode&&3===r.nodeType&&(r.previousSibling&&"BR"===r.previousSibling.nodeName||r.parentNode&&"TD"!==r.parentNode.nodeName)||(e.preventDefault(),i.classList.remove(_n),(i=40===e.keyCode?t.isNullOrUndefined(t.closest(i,"tr").nextElementSibling)?t.closest(i,"table").tHead&&"TH"===i.nodeName?t.closest(i,"table").rows[1].cells[i.cellIndex]:t.isNullOrUndefined(t.closest(i,"table").nextSibling)?i:t.closest(i,"table").nextSibling:t.closest(i,"tr").nextElementSibling.children[i.cellIndex]:t.isNullOrUndefined(t.closest(i,"tr").previousElementSibling)?t.closest(i,"table").tHead&&"TH"!==i.nodeName?t.closest(i,"table").tHead.rows[0].cells[i.cellIndex]:t.isNullOrUndefined(t.closest(i,"table").previousSibling)?i:t.closest(i,"table").previousSibling:t.closest(i,"tr").previousElementSibling.children[i.cellIndex])&&n.setSelectionText(this.contentModule.getDocument(),i,i,0,0))},n.prototype.setBGColor=function(e){for(var t=this.parent.formatter.editorManager.nodeSelection.getRange(this.contentModule.getDocument()),n=(this.parent.formatter.editorManager.nodeSelection.save(t,this.contentModule.getDocument()),this.curTable.querySelectorAll(".e-cell-select")),i=0;i<n.length;i++)n[i].style.backgroundColor=e.item.value;this.parent.formatter.saveData()},n.prototype.hideTableQuickToolbar=function(){this.quickToolObj&&this.quickToolObj.tableQTBar&&document.body.contains(this.quickToolObj.tableQTBar.element)&&this.quickToolObj.tableQTBar.hidePopup()},n.prototype.tableHeader=function(e,t){this.parent.formatter.process(this.parent,t,t.originalEvent,{selection:e,subCommand:t.item.subCommand})},n.prototype.editAreaClickHandler=function(n){if(!this.parent.readonly&&t.isNullOrUndefined(t.closest(n.args.target,".e-img-caption"))){var i=n.args,r=this.parent.quickToolbarSettings.showOnRightClick;if(!(2===i.which||r&&1===i.which||!r&&3===i.which)&&"HTML"===this.parent.editorMode&&this.parent.quickToolbarModule&&this.parent.quickToolbarModule.tableQTBar){this.quickToolObj=this.parent.quickToolbarModule;var o=i.target;this.contentModule=this.rendererFactory.getRenderer(e.RenderType.Content);if(this.quickToolObj.tableQTBar.element.classList.contains("e-rte-pop"))return;var s=this.parent.formatter.editorManager.nodeSelection.getRange(this.contentModule.getDocument()),a=t.closest(o,"table"),l=this.parent.getRange().startContainer.parentElement,d=this.parent.getRange().endContainer.parentElement;if(o&&"A"!==o.nodeName&&"IMG"!==o.nodeName&&l===d&&("TD"===o.nodeName||"TH"===o.nodeName||"TABLE"===o.nodeName||a&&this.parent.contentModule.getEditPanel().contains(a))&&(3!==s.startContainer.nodeType||s.collapsed)){var c=this.parent.formatter.editorManager.nodeSelection.getRange(this.contentModule.getDocument());this.parent.formatter.editorManager.nodeSelection.save(c,this.contentModule.getDocument()),this.parent.formatter.editorManager.nodeSelection.Clear(this.contentModule.getDocument());var p=this.parent.iframeSettings.enable?window.pageYOffset+this.parent.element.getBoundingClientRect().top+i.clientY:i.pageY;this.quickToolObj.tableQTBar.showPopup(i.pageX,p,o),this.parent.formatter.editorManager.nodeSelection.restore()}else this.hideTableQuickToolbar()}}},n.prototype.tableCellSelect=function(e){var n=e.target,i=Array.prototype.slice.call(n.parentElement.parentElement.children).indexOf(n.parentElement),r=Array.prototype.slice.call(n.parentElement.children).indexOf(n),o=this.dlgDiv.querySelectorAll(".e-rte-tablecell");Array.prototype.forEach.call(o,function(e){var n=Array.prototype.slice.call(e.parentElement.parentElement.children).indexOf(e.parentElement),o=Array.prototype.slice.call(e.parentElement.children).indexOf(e);t.removeClass([e],"e-active"),n<=i&&o<=r&&t.addClass([e],"e-active")}),this.tblHeader.innerHTML=r+1+"x"+(i+1)},n.prototype.tableMouseUp=function(e){t.EventHandler.remove(this.curTable,"mousemove",this.tableMove)},n.prototype.tableCellLeave=function(e){t.removeClass(this.dlgDiv.querySelectorAll(".e-rte-tablecell"),"e-active"),t.addClass([this.dlgDiv.querySelector(".e-rte-tablecell")],"e-active"),this.tblHeader.innerHTML="1x1"},n.prototype.tableCellClick=function(e){var t=e.target,n=Array.prototype.slice.call(t.parentElement.parentElement.children).indexOf(t.parentElement)+1,i=Array.prototype.slice.call(t.parentElement.children).indexOf(t)+1;this.self.tableInsert(n,i,e,this)},n.prototype.tableInsert=function(e,n,i,r){var o=r.self?r.self:this,s=r.selection.range.startContainer;"P"!==s.nodeName||""!==s.textContent.trim()||s.childNodes.length>0||(s.innerHTML="<br />");var a=s.parentNode;if("HTML"===o.parent.editorMode&&(o.parent.iframeSettings.enable&&!c(a.ownerDocument.querySelector("body"),"e-lib")||!o.parent.iframeSettings.enable&&t.isNullOrUndefined(t.closest(a,"[id='"+o.contentModule.getPanel().id+"']")))){o.contentModule.getEditPanel().focus();var l=o.parent.formatter.editorManager.nodeSelection.getRange(o.contentModule.getDocument());r.selection=o.parent.formatter.editorManager.nodeSelection.save(l,o.contentModule.getDocument())}var d={rows:e,columns:n,width:{minWidth:o.parent.tableSettings.minWidth,maxWidth:o.parent.tableSettings.maxWidth,width:o.parent.tableSettings.width},selection:r.selection};o.popupObj&&o.popupObj.hide(),o.editdlgObj&&o.editdlgObj.hide(),o.parent.formatter.process(o.parent,r.args,r.args.originalEvent,d),o.contentModule.getEditPanel().focus(),o.parent.on(Pe,o.cellSelect,o)},n.prototype.cellSelect=function(e){var n=e.args.target,i=t.closest(n,"td,th");n="TD"!==n.nodeName&&i&&this.parent.contentModule.getEditPanel().contains(i)?i:n,t.removeClass(this.contentModule.getEditPanel().querySelectorAll("table td, table th"),_n),!n||"TD"!==n.tagName&&"TH"!==n.tagName||(t.addClass([n],_n),this.activeCell=n,this.curTable=this.curTable?this.curTable:t.closest(n,"table"),t.EventHandler.add(this.curTable,"mousemove",this.tableMove,this),t.EventHandler.add(this.curTable,"mouseup",this.tableMouseUp,this),this.removeResizeElement(),this.helper&&this.contentModule.getEditPanel().contains(this.helper)&&t.detach(this.helper)),"mozilla"!==t.Browser.info.name||t.isNullOrUndefined(t.closest(n,"table"))||"TABLE"!==t.closest(n,"table").tagName||this.parent.contentModule.getEditPanel().setAttribute("contenteditable","false")},n.prototype.tableMove=function(e){this.parent.formatter.editorManager.observer.notify("TABLE_MOVE",{event:e,selectNode:[this.activeCell]})},n.prototype.resizeHelper=function(e){if(!this.parent.readonly){var n=e.target||e.targetTouches[0].target,i=t.closest(n,"table.e-rte-table");t.isNullOrUndefined(this.curTable)||t.isNullOrUndefined(i)||i===this.curTable||!this.parent.contentModule.getEditPanel().contains(i)||(this.removeResizeElement(),this.removeHelper(e),this.cancelResizeAction()),"TABLE"!==n.nodeName&&"TD"!==n.nodeName&&"TH"!==n.nodeName||(this.curTable=i&&this.parent.contentModule.getEditPanel().contains(i)&&("TD"===n.nodeName||"TH"===n.nodeName)?i:n,this.removeResizeElement(),this.tableResizeEleCreation(this.curTable,e))}},n.prototype.tableResizeEleCreation=function(e,n){this.parent.preventDefaultResize(n);for(var i=e.rows[this.calMaxCol(e)].cells,r=[],o=0;o<e.rows.length;o++)r.push(Array.prototype.slice.call(e.rows[o].cells,0,1)[0]);var s=parseInt(getComputedStyle(e).height,10),a=parseInt(getComputedStyle(e).width,10),l=this.calcPos(e);for(o=0;i.length>=o;o++){var d=this.parent.createElement("span",{attrs:{"data-col":o.toString(),unselectable:"on",contenteditable:"false"}});d.classList.add(ui,Vn),i.length===o?d.style.cssText="height: "+s+"px; width: 4px; top: "+l.top+"px; left:"+(l.left+this.calcPos(i[o-1]).left+i[o-1].offsetWidth)+"px;":d.style.cssText="height: "+s+"px; width: 4px; top: "+l.top+"px; left:"+(l.left+this.calcPos(i[o]).left)+"px;",this.contentModule.getEditPanel().appendChild(d)}for(o=0;r.length>o;o++){var c=this.parent.createElement("span",{attrs:{"data-row":o.toString(),unselectable:"on",contenteditable:"false"}});c.classList.add(ui,Gn);var p=t.isNullOrUndefined(e.getAttribute("cellspacing"))&&""===e.getAttribute("cellspacing")?this.calcPos(r[o]).left:0;c.style.cssText="width: "+a+"px; height: 4px; top: "+(this.calcPos(r[o]).top+l.top+r[o].offsetHeight-2)+"px; left:"+(p+l.left)+"px;",this.contentModule.getEditPanel().appendChild(c)}var h=this.parent.createElement("span",{className:Kn+" "+this.parent.cssClass,attrs:{"data-col":i.length.toString(),unselectable:"on",contenteditable:"false"}});h.style.cssText="top: "+(l.top+s-4)+"px; left:"+(l.left+a-4)+"px;",t.Browser.isDevice&&h.classList.add("e-rmob"),this.contentModule.getEditPanel().appendChild(h)},n.prototype.removeResizeElement=function(){var e=this.parent.contentModule.getEditPanel().querySelectorAll(".e-column-resize, .e-row-resize, .e-table-box");if(e.length>0)for(var n=0;n<e.length;n++)t.detach(e[n])},n.prototype.calcPos=function(e){for(var n={top:0,left:0},i=e.getBoundingClientRect(),r=e.ownerDocument,o=e.offsetParent||r.documentElement,s=!1;o&&(o===r.body||o===r.documentElement)&&"static"===o.style.position;)o=o.parentNode;if("TD"===o.nodeName&&"TABLE"===e.nodeName&&(o=t.closest(o,".e-rte-content"),s=!0),o&&o!==e&&1===o.nodeType&&(n=o.getBoundingClientRect()),s){s=!1;return{top:this.parent.inputElement&&this.parent.inputElement.scrollTop>0?this.parent.inputElement.scrollTop+i.top-n.top:i.top-n.top,left:this.parent.inputElement&&this.parent.inputElement.scrollLeft>0?this.parent.inputElement.scrollLeft+i.left-n.left:i.left-n.left}}return{top:e.offsetTop,left:e.offsetLeft}},n.prototype.getPointX=function(e){return e.touches&&e.touches.length?e.touches[0].pageX:e.pageX},n.prototype.getPointY=function(e){return e.touches&&e.touches.length?e.touches[0].pageY:e.pageY},n.prototype.resizeStart=function(e){var n=this;if(!this.parent.readonly){t.Browser.isDevice&&this.resizeHelper(e);var i=e.target;if(i.classList.contains(Vn)||i.classList.contains(Gn)||i.classList.contains(Kn)){if(e.preventDefault(),this.parent.preventDefaultResize(e),t.removeClass(this.curTable.querySelectorAll("td,th"),_n),this.parent.formatter.editorManager.nodeSelection.Clear(this.contentModule.getDocument()),this.pageX=this.getPointX(e),this.pageY=this.getPointY(e),this.resizeBtnInit(),this.hideTableQuickToolbar(),i.classList.contains(Vn)&&(this.resizeBtnStat.column=!0,parseInt(i.getAttribute("data-col"),10)===this.curTable.rows[this.calMaxCol(this.curTable)].cells.length?(this.currentColumnResize="last",this.columnEle=this.curTable.rows[this.calMaxCol(this.curTable)].cells[parseInt(i.getAttribute("data-col"),10)-1]):(0===parseInt(i.getAttribute("data-col"),10)?this.currentColumnResize="first":this.currentColumnResize="middle",this.columnEle=this.curTable.rows[this.calMaxCol(this.curTable)].cells[parseInt(i.getAttribute("data-col"),10)]),this.colIndex=this.columnEle.cellIndex,this.moveEle=e.target,this.appendHelper()),i.classList.contains(Gn)&&(this.rowEle=this.curTable.rows[parseInt(i.getAttribute("data-row"),10)],this.resizeBtnStat.row=!0,this.appendHelper()),i.classList.contains(Kn)&&(this.resizeBtnStat.tableBox=!0),t.Browser.isDevice&&this.helper&&!this.helper.classList.contains("e-reicon"))this.helper.classList.add("e-reicon"),t.EventHandler.add(document,t.Browser.touchStartEvent,this.removeHelper,this),t.EventHandler.add(this.helper,t.Browser.touchStartEvent,this.resizeStart,this);else{var r={event:e,requestType:"Table"};this.parent.trigger(ce,r,function(e){e.cancel&&n.cancelResizeAction()})}t.EventHandler.add(this.contentModule.getDocument(),t.Browser.touchMoveEvent,this.resizing,this),t.EventHandler.add(this.contentModule.getDocument(),t.Browser.touchEndEvent,this.resizeEnd,this)}}},n.prototype.removeHelper=function(e){!e.target.classList.contains("e-reicon")&&this.helper&&(t.EventHandler.remove(document,t.Browser.touchStartEvent,this.removeHelper),t.EventHandler.remove(this.helper,t.Browser.touchStartEvent,this.resizeStart),this.helper&&this.contentModule.getEditPanel().contains(this.helper)&&t.detach(this.helper),this.pageX=null,this.helper=null)},n.prototype.appendHelper=function(){this.helper=this.parent.createElement("div",{className:"e-table-rhelper "+this.parent.cssClass}),t.Browser.isDevice&&this.helper.classList.add("e-reicon"),this.contentModule.getEditPanel().appendChild(this.helper),this.setHelperHeight()},n.prototype.setHelperHeight=function(){var e=this.calcPos(this.curTable);this.resizeBtnStat.column?(this.helper.classList.add("e-column-helper"),this.helper.style.cssText="height: "+getComputedStyle(this.curTable).height+"; top: "+e.top+"px; left:"+(e.left+this.calcPos(this.columnEle).left+("last"===this.currentColumnResize?this.columnEle.offsetWidth+2:0)-1)+"px;"):(this.helper.classList.add("e-row-helper"),this.helper.style.cssText="width: "+getComputedStyle(this.curTable).width+"; top: "+(this.calcPos(this.rowEle).top+e.top+this.rowEle.offsetHeight)+"px; left:"+(this.calcPos(this.rowEle).left+e.left)+"px;")},n.prototype.updateHelper=function(){var e=this.calcPos(this.curTable);if(this.resizeBtnStat.column){var t=e.left+this.calcPos(this.columnEle).left+("last"===this.currentColumnResize?this.columnEle.offsetWidth+2:0)-1;this.helper.style.left=t+"px"}else{var n=this.calcPos(this.rowEle).top+e.top+this.rowEle.offsetHeight;this.helper.style.top=n+"px"}},n.prototype.calMaxCol=function(e){for(var t,n=0,i=0;i<e.rows.length;i++)n<e.rows[i].cells.length&&(t=i,n=e.rows[i].cells.length);return t},n.prototype.resizing=function(e){var n=this,i=this.getPointX(e),r=this.getPointY(e),o=this.parent.enableRtl?-(i-this.pageX):i-this.pageX,s=this.parent.enableRtl?-(r-this.pageY):r-this.pageY;this.pageX=i,this.pageY=r;var a={event:e,requestType:"table"};this.parent.trigger(pe,a,function(i){if(i.cancel)n.cancelResizeAction();else{var r=n.contentModule.getEditPanel().querySelector(".e-table-box"),a=parseInt(getComputedStyle(n.curTable).width,10),l=parseInt(getComputedStyle(n.curTable).height,10),d=+getComputedStyle(n.contentModule.getEditPanel()).paddingRight.match(/\d/g).join(""),c=n.contentModule.getEditPanel().offsetWidth-(n.contentModule.getEditPanel().offsetWidth-n.contentModule.getEditPanel().clientWidth)-2*d,p=void 0;if(t.isNullOrUndefined(n.curTable.parentElement.closest("table"))||t.isNullOrUndefined(n.curTable.closest("td"))||!n.contentModule.getEditPanel().contains(n.curTable.closest("td")))p=c;else{var h=n.curTable.closest("td"),u=+getComputedStyle(h).paddingRight.match(/\d/g).join("");p=h.offsetWidth-(h.offsetWidth-h.clientWidth)-2*u}if(n.resizeBtnStat.column){var m=parseFloat(n.columnEle.offsetWidth.toString()),g="TH"===n.curTable.rows[0].cells[0].nodeName?1:0,f=parseFloat(n.curTable.style.width.split("%")[0]),b=parseFloat(n.curTable.rows[g].cells[n.colIndex].style.width.split("%")[0]);if("first"===n.currentColumnResize){if(o-=.75,n.removeResizeElement(),(0!==o&&5<b||o<0)&&f<=100&&n.convertPixelToPercentage(a-o,p)<=100){var v=n.findFirstLastColCells(n.curTable,!0);n.curTable.style.width=n.convertPixelToPercentage(a-o,p)>100?"100%":n.convertPixelToPercentage(a-o,p)+"%";var y=f-n.convertPixelToPercentage(a-o,p);n.currentMarginLeft=n.currentMarginLeft+y,n.curTable.style.marginLeft="calc("+("100%"===n.curTable.style.width?0:n.currentMarginLeft)+"%)";for(var C=0;C<v.length;C++)n.curTable.rows[C].cells[n.colIndex].style.width=b-y+"%"}}else if("last"===n.currentColumnResize){if(o+=.75,n.removeResizeElement(),(0!==o&&5<b||o>0)&&f<=100&&n.convertPixelToPercentage(a+o,p)<=100){var N=n.findFirstLastColCells(n.curTable,!1);n.curTable.style.width=n.convertPixelToPercentage(a+o,p)>100?"100%":n.convertPixelToPercentage(a+o,p)+"%";for(y=f-n.convertPixelToPercentage(a+o,p),C=0;C<N.length;C++)n.curTable.rows[C].cells[n.colIndex].style.width=b-y+"%"}}else{var S=n.curTable.rows[n.calMaxCol(n.curTable)].cells,E=m-o,T=parseFloat(n.columnEle.offsetWidth.toString())+parseFloat(S[n.colIndex-1].offsetWidth.toString());for(C=0;C<n.curTable.rows.length;C++)if(T-E>20&&E>20){var w=T-E,O=E;t.isNullOrUndefined(n.curTable.rows[C].cells[n.colIndex-1])||(n.curTable.rows[C].cells[n.colIndex-1].style.width=n.convertPixelToPercentage(w,a)+"%"),t.isNullOrUndefined(n.curTable.rows[C].cells[n.colIndex])||(n.curTable.rows[C].cells[n.colIndex].style.width=n.convertPixelToPercentage(O,a)+"%")}}n.updateHelper()}else if(n.resizeBtnStat.row){n.parent.preventDefaultResize(e);var L=parseFloat(n.rowEle.clientHeight.toString())+s;L>20&&(n.rowEle.style.height=L+"px"),n.curTable.style.height="",t.isNullOrUndefined(r)||(r.style.cssText="top: "+(n.calcPos(n.curTable).top+l-4)+"px; left:"+(n.calcPos(n.curTable).left+a-4)+"px;"),n.updateHelper()}else if(n.resizeBtnStat.tableBox){t.Browser.isDevice||t.EventHandler.remove(n.contentModule.getEditPanel(),"mouseover",n.resizeHelper);var x=n.curTable.style.width.indexOf("%")>-1;n.curTable.style.width=x?n.convertPixelToPercentage(a+o,p)+"%":a+o+"px",n.curTable.style.height=l+s+"px",r.classList.add("e-rbox-select"),r.style.cssText="top: "+(n.calcPos(n.curTable).top+l-4)+"px; left:"+(n.calcPos(n.curTable).left+a-4)+"px;"}}})},n.prototype.findFirstLastColCells=function(e,t){for(var n=[],i=e.querySelectorAll("tr"),r=0;r<i.length;r++)if(i[r].closest("table")===e){var o=i[r].querySelectorAll("th, td");n.push(t?o[0]:o[o.length-1])}return n},n.prototype.convertPixelToPercentage=function(e,t){return e/t*100},n.prototype.cancelResizeAction=function(){t.EventHandler.remove(this.contentModule.getDocument(),t.Browser.touchMoveEvent,this.resizing),t.EventHandler.remove(this.contentModule.getDocument(),t.Browser.touchEndEvent,this.resizeEnd),this.removeResizeElement()},n.prototype.resizeEnd=function(e){this.resizeBtnInit(),t.EventHandler.remove(this.contentModule.getDocument(),t.Browser.touchMoveEvent,this.resizing),t.EventHandler.remove(this.contentModule.getDocument(),t.Browser.touchEndEvent,this.resizeEnd),this.contentModule.getEditPanel().querySelector(".e-table-box")&&this.contentModule.getEditPanel().contains(this.contentModule.getEditPanel().querySelector(".e-table-box"))&&(t.Browser.isDevice||t.EventHandler.add(this.contentModule.getEditPanel(),"mouseover",this.resizeHelper,this),this.removeResizeElement()),this.helper&&this.contentModule.getEditPanel().contains(this.helper)&&(t.detach(this.helper),this.helper=null),this.pageX=null,this.pageY=null,this.moveEle=null;var n={event:e,requestType:"table"};this.parent.trigger(he,n),this.parent.formatter.saveData()},n.prototype.resizeBtnInit=function(){return this.resizeBtnStat={column:!1,row:!1,tableBox:!1}},n.prototype.addRow=function(e,t,n){var i;n&&(i={item:{command:"Table",subCommand:"InsertRowAfter"}});var r={selection:e,subCommand:n?i.item.subCommand:t.item.subCommand};this.parent.formatter.process(this.parent,n?i:t,t,r)},n.prototype.addColumn=function(e,t){this.parent.formatter.process(this.parent,t,t,{selection:e,width:this.parent.tableSettings.width,subCommand:t.item.subCommand})},n.prototype.removeRowColumn=function(e,t){this.parent.formatter.process(this.parent,t,t,{selection:e,subCommand:t.item.subCommand}),this.hideTableQuickToolbar()},n.prototype.removeTable=function(e,t,n){var i;n&&(i={item:{command:"Table",subCommand:"TableRemove"}});var r={selection:e,subCommand:n?i.item.subCommand:t.item.subCommand};this.parent.formatter.process(this.parent,n?i:t,t.originalEvent,r),this.contentModule.getEditPanel().focus(),this.removeResizeElement(),this.hideTableQuickToolbar()},n.prototype.renderDlgContent=function(e){var n=this;if(t.Browser.isDevice||this.parent.inlineMode.enable)this.insertTableDialog(e);else if(this.popupObj)this.popupObj.hide();else{this.hideTableQuickToolbar();var i=this.l10n.getConstant("inserttablebtn");this.dlgDiv=this.parent.createElement("div",{className:"e-rte-table-popup "+this.parent.cssClass,id:this.rteID+"_table"}),this.tblHeader=this.parent.createElement("div",{className:"e-rte-popup-header "+this.parent.cssClass}),this.tblHeader.innerHTML="1X1",this.dlgDiv.appendChild(this.tblHeader);var o=this.parent.createElement("div",{className:"e-rte-table-span "+this.parent.cssClass});this.drawTable(o,e),this.dlgDiv.appendChild(o),this.dlgDiv.appendChild(this.parent.createElement("span",{className:"e-span-border "+this.parent.cssClass}));var a=this.parent.createElement("button",{className:"e-insert-table-btn "+this.parent.cssClass,id:this.rteID+"_insertTable",attrs:{type:"button",tabindex:"0"}});t.isNullOrUndefined(this.parent.getToolbarElement().querySelector(".e-expended-nav"))||this.parent.getToolbarElement().querySelector(".e-expended-nav").setAttribute("tabindex","1"),this.dlgDiv.appendChild(a),this.createTableButton=new s.Button({iconCss:"e-icons e-create-table",content:i,cssClass:"e-flat "+this.parent.cssClass,enableRtl:this.parent.enableRtl,locale:this.parent.locale}),this.createTableButton.isStringTemplate=!0,this.createTableButton.appendTo(a),t.EventHandler.add(a,"click",this.insertTableDialog,{self:this,args:e.args,selection:e.selection}),this.parent.getToolbar().appendChild(this.dlgDiv);var l=e.args.originalEvent.target;l=l.classList.contains("e-toolbar-item")?l.firstChild:l.parentElement,this.popupObj=new r.Popup(this.dlgDiv,{targetType:"relative",relateTo:l,collision:{X:"fit",Y:"none"},offsetY:8,viewPortElement:this.parent.element,position:{X:"left",Y:"bottom"},enableRtl:this.parent.enableRtl,zIndex:10001,close:function(e){n.parent.isBlur=!1,n.popupObj.destroy(),t.detach(n.popupObj.element),n.popupObj=null}}),t.addClass([this.popupObj.element],"e-popup-open"),t.isNullOrUndefined(this.parent.cssClass)||t.addClass([this.popupObj.element],this.parent.cssClass),this.popupObj.refreshPosition(l)}},n.prototype.docClick=function(e){var n=e.args.target;n&&n.classList&&(this.popupObj&&!t.closest(n,"[id='"+this.popupObj.element.id+"']")||this.editdlgObj&&!t.closest(n,"#"+this.editdlgObj.element.id))&&!n.classList.contains("e-create-table")&&n.offsetParent&&!n.offsetParent.classList.contains("e-rte-backgroundcolor-dropdown")&&(this.popupObj&&this.popupObj.hide(),this.editdlgObj&&this.editdlgObj.hide(),this.parent.isBlur=!0,C(this.parent.element,"focusout"));var i=t.closest(n,"td"),r=!(!i||!this.parent.contentModule.getEditPanel().contains(i));!n||"TD"===n.tagName||"TH"===n.tagName||r||null!==t.closest(n,".e-rte-quick-popup")||!n.offsetParent||n.offsetParent.classList.contains("e-quick-dropdown")||n.offsetParent.classList.contains("e-rte-backgroundcolor-dropdown")||t.closest(n,".e-rte-dropdown-popup")||t.closest(n,".e-rte-elements")||(t.removeClass(this.parent.inputElement.querySelectorAll("table td"),_n),t.Browser.isIE||this.hideTableQuickToolbar()),!n||!n.classList||n.classList.contains(Vn)||n.classList.contains(Gn)||n.classList.contains(Kn)||this.removeResizeElement()},n.prototype.drawTable=function(e,n){for(var i,r,o=0;o<3;o++){i=this.parent.createElement("div",{className:"e-rte-table-row "+this.parent.cssClass,attrs:{"data-column":""+o}});for(var s=0;s<10;s++){var a=o>2?"none":"inline-block";r=this.parent.createElement("div",{className:"e-rte-tablecell e-default "+this.parent.cssClass,attrs:{"data-cell":""+s}}),i.appendChild(r),r.style.display=a,0===s&&0===o&&t.addClass([r],"e-active"),t.EventHandler.add(r,"mousemove",this.tableCellSelect,this),t.EventHandler.add(i,"mouseleave",this.tableCellLeave,this),t.EventHandler.add(r,"mouseup",this.tableCellClick,{self:this,args:n.args,selection:n.selection})}e.appendChild(i)}},n.prototype.editTable=function(e){var t=this;this.createDialog(e);var n=this.tableDlgContent(e),i=this.l10n.getConstant("dialogUpdate"),r=this.l10n.getConstant("dialogCancel"),o=this.l10n.getConstant("tableEditHeader");this.editdlgObj.setProperties({height:"initial",width:"290px",content:n,header:o,buttons:[{click:this.applyProperties.bind(this,e),buttonModel:{content:i,cssClass:"e-flat e-size-update "+this.parent.cssClass,isPrimary:!0}},{click:function(e){t.cancelDialog(e)},buttonModel:{cssClass:"e-flat e-cancel "+this.parent.cssClass,content:r}}],cssClass:this.editdlgObj.cssClass+" e-rte-edit-table-prop-dialog"}),this.editdlgObj.element.style.maxHeight="none",this.editdlgObj.content.querySelector("input").focus(),this.hideTableQuickToolbar()},n.prototype.insertTableDialog=function(e){var n=this.self?this.self:this;n.popupObj&&n.popupObj.hide(),n.createDialog(e);var i=n.tableCellDlgContent(),r=n.l10n.getConstant("dialogInsert"),o=n.l10n.getConstant("dialogCancel");t.isNullOrUndefined(n.editdlgObj)||(n.editdlgObj.setProperties({height:"initial",width:"290px",content:i,buttons:[{click:n.customTable.bind(this,e),buttonModel:{content:r,cssClass:"e-flat e-insert-table "+n.parent.cssClass,isPrimary:!0}},{click:function(e){n.cancelDialog(e)},buttonModel:{cssClass:"e-flat e-cancel "+n.parent.cssClass,content:o}}]}),t.isNullOrUndefined(n.parent.cssClass)||n.editdlgObj.setProperties({cssClass:n.parent.cssClass}),n.editdlgObj.element.style.maxHeight="none",n.editdlgObj.content.querySelector("input").focus())},n.prototype.tableCellDlgContent=function(){var e=this.l10n.getConstant("columns"),t=this.l10n.getConstant("rows"),n=this.parent.createElement("div",{className:"e-cell-wrap "+this.parent.cssClass}),i=N('<div class="e-rte-field '+this.parent.cssClass+'"><input type="text" data-role ="none" id="tableColumn" class="e-table-column '+this.parent.cssClass+'"/></div><div class="e-rte-field '+this.parent.cssClass+'"><input type="text" data-role ="none" id="tableRow" class="e-table-row '+this.parent.cssClass+'" /></div>');return n.appendChild(i),this.columnTextBox=new o.NumericTextBox({format:"n0",min:1,value:3,placeholder:e,floatLabelType:"Auto",max:50,enableRtl:this.parent.enableRtl,locale:this.parent.locale,cssClass:this.parent.cssClass}),this.columnTextBox.isStringTemplate=!0,this.columnTextBox.appendTo(n.querySelector("#tableColumn")),this.rowTextBox=new o.NumericTextBox({format:"n0",min:1,value:3,placeholder:t,floatLabelType:"Auto",max:50,enableRtl:this.parent.enableRtl,locale:this.parent.locale,cssClass:this.parent.cssClass}),this.rowTextBox.isStringTemplate=!0,this.rowTextBox.appendTo(n.querySelector("#tableRow")),n},n.prototype.clearDialogObj=function(){this.editdlgObj&&(this.editdlgObj.destroy(),t.detach(this.editdlgObj.element),this.editdlgObj=null)},n.prototype.createDialog=function(e){var n=this;if(this.editdlgObj)this.editdlgObj.hide({returnValue:!0});else{var i=this.parent.createElement("div",{className:"e-rte-edit-table "+this.parent.cssClass,id:this.rteID+"_tabledialog"});this.parent.element.appendChild(i);var r=this.l10n.getConstant("dialogInsert"),o=this.l10n.getConstant("dialogCancel"),s={header:this.l10n.getConstant("tabledialogHeader"),cssClass:En+" "+this.parent.cssClass,enableRtl:this.parent.enableRtl,locale:this.parent.locale,showCloseIcon:!0,closeOnEscape:!0,width:t.Browser.isDevice?"290px":"340px",height:"initial",position:{X:"center",Y:t.Browser.isDevice?"center":"top"},isModal:t.Browser.isDevice,buttons:[{buttonModel:{content:r,cssClass:"e-flat e-insert-table "+this.parent.cssClass,isPrimary:!0}},{click:function(e){n.cancelDialog(e)},buttonModel:{cssClass:"e-flat e-cancel "+this.parent.cssClass,content:o}}],target:t.Browser.isDevice?document.body:this.parent.element,animationSettings:{effect:"None"},close:function(e){n.parent.isBlur=!1,n.editdlgObj.destroy(),t.detach(n.editdlgObj.element),n.dialogRenderObj.close(e),n.editdlgObj=null}};this.editdlgObj=this.dialogRenderObj.render(s),this.editdlgObj.appendTo(i),this.quickToolObj&&this.quickToolObj.inlineQTBar&&document.body.contains(this.quickToolObj.inlineQTBar.element)&&this.quickToolObj.inlineQTBar.hidePopup()}},n.prototype.customTable=function(e,n){var i=this.self?this.self:this;if(i.rowTextBox.value&&i.columnTextBox.value){var r=t.Browser.isDevice||!t.isNullOrUndefined(e.args)&&!t.isNullOrUndefined(e.args.originalEvent)&&"insert-table"===e.args.originalEvent.action||i.parent.inlineMode.enable?e:this;i.tableInsert(i.rowTextBox.value,i.columnTextBox.value,n,r)}},n.prototype.cancelDialog=function(e){this.parent.isBlur=!1,this.editdlgObj.hide({returnValue:!0})},n.prototype.applyProperties=function(e,n){var i=this.editdlgObj.element,r=t.closest(e.selectNode[0],"table");if(r.style.width=i.querySelector(".e-table-width").value+"px",""!==i.querySelector(".e-cell-padding").value)for(var o=r.querySelectorAll("td"),s=0;s<o.length;s++){var a="";""===o[s].style.padding?a=o[s].getAttribute("style")+" padding:"+i.querySelector(".e-cell-padding").value+"px;":(o[s].style.padding=i.querySelector(".e-cell-padding").value+"px",a=o[s].getAttribute("style")),o[s].setAttribute("style",a)}r.cellSpacing=i.querySelector(".e-cell-spacing").value,t.isNullOrUndefined(r.cellSpacing)&&"0"===r.cellSpacing?t.removeClass([r],hi):t.addClass([r],hi),this.parent.formatter.saveData(),this.editdlgObj.hide({returnValue:!0})},n.prototype.tableDlgContent=function(e){var n=e.selectParent[0],i=this.l10n.getConstant("tableWidth"),r=this.l10n.getConstant("cellpadding"),s=this.l10n.getConstant("cellspacing"),a=this.parent.createElement("div",{className:"e-table-sizewrap "+this.parent.cssClass}),l=t.closest(n,"table").getClientRects()[0].width,d=t.closest(n,"td").style.padding,c=t.closest(n,"table").getAttribute("cellspacing"),p=N('<div class="e-rte-field '+this.parent.cssClass+'"><input type="text" data-role ="none" id="tableWidth" class="e-table-width '+this.parent.cssClass+'" /></div><div class="e-rte-field '+this.parent.cssClass+'"><input type="text" data-role ="none" id="cellPadding" class="e-cell-padding '+this.parent.cssClass+'" /> </div><div class="e-rte-field '+this.parent.cssClass+'"><input type="text" data-role ="none" id="cellSpacing" class="e-cell-spacing '+this.parent.cssClass+'" /></div>');return a.appendChild(p),this.tableWidthNum=new o.NumericTextBox({format:"n0",min:0,value:l,placeholder:i,floatLabelType:"Auto",enableRtl:this.parent.enableRtl,locale:this.parent.locale}),this.tableWidthNum.isStringTemplate=!0,this.tableWidthNum.appendTo(a.querySelector("#tableWidth")),this.tableCellPadding=new o.NumericTextBox({format:"n0",min:0,value:""!==d?parseInt(d,null):0,placeholder:r,floatLabelType:"Auto",enableRtl:this.parent.enableRtl,locale:this.parent.locale}),this.tableCellPadding.isStringTemplate=!0,this.tableCellPadding.appendTo(a.querySelector("#cellPadding")),this.tableCellSpacing=new o.NumericTextBox({format:"n0",min:0,value:""===c||t.isNullOrUndefined(c)?0:parseInt(c,null),placeholder:s,floatLabelType:"Auto",enableRtl:this.parent.enableRtl,locale:this.parent.locale}),this.tableCellSpacing.isStringTemplate=!0,this.tableCellSpacing.appendTo(a.querySelector("#cellSpacing")),a},n.prototype.destroy=function(){this.removeEventListener()},n.prototype.moduleDestroy=function(){this.parent=null},n.prototype.getModuleName=function(){return"table"},n}(),gs=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.isDestroyed||(this.parent.on(et,this.moduleDestroy,this),this.parent.on(F,this.removeEventListener,this))},e.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off(F,this.removeEventListener),this.parent.off(et,this.moduleDestroy))},e.prototype.render=function(e){var n;return e.beforeOpen=this.beforeOpen.bind(this),e.open=this.open.bind(this),t.isNullOrUndefined(e.close)&&(e.close=this.close.bind(this)),e.beforeClose=this.beforeClose.bind(this),n=new r.Dialog(e),n.isStringTemplate=!0,n},e.prototype.beforeOpen=function(e){this.parent.trigger(it,e,this.beforeOpenCallback.bind(this,e))},e.prototype.beforeOpenCallback=function(e){e.cancel&&this.parent.notify(rt,null)},e.prototype.open=function(e){this.parent.trigger("dialogOpen",e)},e.prototype.beforeClose=function(e){this.parent.trigger(ot,e,function(e){e.cancel||e.container.classList.contains("e-popup-close")&&(e.cancel=!0)})},e.prototype.close=function(e){this.parent.trigger("dialogClose",e)},e.prototype.moduleDestroy=function(){this.parent=null},e}(),fs={bold:{command:"Style",subCommand:"Bold",value:"strong"},italic:{command:"Style",subCommand:"Italic",value:"em"},underline:{command:"Style",subCommand:"Underline",value:"span"},strikeThrough:{command:"Style",subCommand:"StrikeThrough",value:"span"},insertCode:{command:"Formats",subCommand:"Pre",value:"pre"},superscript:{command:"Effects",subCommand:"SuperScript",value:"sup"},subscript:{command:"Effects",subCommand:"SubScript",value:"sub"},uppercase:{command:"Casing",subCommand:"UpperCase"},lowercase:{command:"Casing",subCommand:"LowerCase"},fontColor:{command:"font",subCommand:"fontcolor",value:"#ff0000"},fontName:{command:"font",subCommand:"fontname",value:"Segoe UI"},fontSize:{command:"font",subCommand:"fontsize",value:"10pt"},backColor:{command:"font",subCommand:"backgroundcolor",value:"#ffff00"},justifyCenter:{command:"Alignments",subCommand:"JustifyCenter"},justifyFull:{command:"Alignments",subCommand:"JustifyFull"},justifyLeft:{command:"Alignments",subCommand:"JustifyLeft"},justifyRight:{command:"Alignments",subCommand:"JustifyRight"},undo:{command:"Actions",subCommand:"Undo"},redo:{command:"Actions",subCommand:"Redo"},createLink:{command:"Links",subCommand:"createLink"},editLink:{command:"Links",subCommand:"createLink"},createImage:{command:"Images",subCommand:"Images"},formatBlock:{command:"Formats",value:"P"},heading:{command:"Formats",value:"H1"},indent:{command:"Indents",subCommand:"Indent"},outdent:{command:"Indents",subCommand:"Outdent"},insertHTML:{command:"InsertHTML",subCommand:"InsertHTML",value:""},insertText:{command:"InsertText",subCommand:"InsertText",value:""},insertHorizontalRule:{command:"InsertHTML",subCommand:"InsertHTML",value:"<hr/>"},insertImage:{command:"Images",subCommand:"Image"},editImage:{command:"Images",subCommand:"Image"},insertTable:{command:"Table",subCommand:"CreateTable"},insertBrOnReturn:{command:"InsertHTML",subCommand:"InsertHTML",value:"<br/>"},insertOrderedList:{command:"Lists",value:"OL"},insertUnorderedList:{command:"Lists",value:"UL"},insertParagraph:{command:"Formats",value:"P"},removeFormat:{command:"Clear",subCommand:"ClearFormat"}},bs=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),vs=function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},ys=function(n){function i(){return null!==n&&n.apply(this,arguments)||this}return bs(i,n),vs([t.Property(!0)],i.prototype,"enable",void 0),vs([t.Property(!0)],i.prototype,"enableFloating",void 0),vs([t.Property(e.ToolbarType.Expand)],i.prototype,"type",void 0),vs([t.Property(Ri)],i.prototype,"items",void 0),vs([t.Property({})],i.prototype,"itemConfigs",void 0),i}(t.ChildProperty),Cs=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return bs(n,e),vs([t.Property([".jpeg",".jpg",".png"])],n.prototype,"allowedTypes",void 0),vs([t.Property("inline")],n.prototype,"display",void 0),vs([t.Property("Blob")],n.prototype,"saveFormat",void 0),vs([t.Property("auto")],n.prototype,"width",void 0),vs([t.Property("auto")],n.prototype,"height",void 0),vs([t.Property(null)],n.prototype,"saveUrl",void 0),vs([t.Property(null)],n.prototype,"path",void 0),vs([t.Property(!0)],n.prototype,"resize",void 0),vs([t.Property(null)],n.prototype,"removeUrl",void 0),vs([t.Property(0)],n.prototype,"minWidth",void 0),vs([t.Property(null)],n.prototype,"maxWidth",void 0),vs([t.Property(0)],n.prototype,"minHeight",void 0),vs([t.Property(null)],n.prototype,"maxHeight",void 0),vs([t.Property(!1)],n.prototype,"resizeByPercent",void 0),n}(t.ChildProperty),Ns=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return bs(n,e),vs([t.Complex({getImageUrl:null,url:null,uploadUrl:null},a.AjaxSettings)],n.prototype,"ajaxSettings",void 0),vs([t.Property(!1)],n.prototype,"allowDragAndDrop",void 0),vs([t.Complex({visible:!0,file:["Open","|","Cut","Copy","|","Delete","Rename","|","Details"],folder:["Open","|","Cut","Copy","Paste","|","Delete","Rename","|","Details"],layout:["SortBy","View","Refresh","|","Paste","|","NewFolder","Upload","|","Details","|","SelectAll"]},a.ContextMenuSettings)],n.prototype,"contextMenuSettings",void 0),vs([t.Property("")],n.prototype,"cssClass",void 0),vs([t.Complex({},a.DetailsViewSettings)],n.prototype,"detailsViewSettings",void 0),vs([t.Property(!1)],n.prototype,"enable",void 0),vs([t.Complex({maxWidth:"650px",minWidth:"240px",visible:!0},a.NavigationPaneSettings)],n.prototype,"navigationPaneSettings",void 0),vs([t.Property("/")],n.prototype,"path",void 0),vs([t.Property(null)],n.prototype,"rootAliasName",void 0),vs([t.Complex({},a.SearchSettings)],n.prototype,"searchSettings",void 0),vs([t.Property(!0)],n.prototype,"showFileExtension",void 0),vs([t.Property(!1)],n.prototype,"showHiddenItems",void 0),vs([t.Property(!0)],n.prototype,"showThumbnail",void 0),vs([t.Property("Ascending")],n.prototype,"sortOrder",void 0),vs([t.Complex({visible:!0,items:["NewFolder","Upload","Cut","Copy","Paste","Delete","Download","Rename","SortBy","Refresh","Selection","View","Details"]},a.ToolbarSettings)],n.prototype,"toolbarSettings",void 0),vs([t.Complex({autoUpload:!0,minFileSize:0,maxFileSize:3e7,allowedExtensions:"",autoClose:!1},a.UploadSettings)],n.prototype,"uploadSettings",void 0),vs([t.Property("LargeIcons")],n.prototype,"view",void 0),n}(t.ChildProperty),Ss=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return bs(n,e),vs([t.Property("100%")],n.prototype,"width",void 0),vs([t.Property(Mi)],n.prototype,"styles",void 0),vs([t.Property(!0)],n.prototype,"resize",void 0),vs([t.Property(0)],n.prototype,"minWidth",void 0),vs([t.Property(null)],n.prototype,"maxWidth",void 0),n}(t.ChildProperty),Es=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return bs(n,e),vs([t.Property(!0)],n.prototype,"enable",void 0),vs([t.Property(!1)],n.prototype,"showOnRightClick",void 0),vs([t.Property("hide")],n.prototype,"actionOnScroll",void 0),vs([t.Property(["Open","Edit","UnLink"])],n.prototype,"link",void 0),vs([t.Property(["Replace","Align","Caption","Remove","-","InsertLink","OpenImageLink","EditImageLink","RemoveImageLink","Display","AltText","Dimension"])],n.prototype,"image",void 0),vs([t.Property(["Cut","Copy","Paste"])],n.prototype,"text",void 0),vs([t.Property(["TableHeader","TableRows","TableColumns","BackgroundColor","-","TableRemove","Alignments","TableCellVerticalAlign","Styles"])],n.prototype,"table",void 0),n}(t.ChildProperty),Ts=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return bs(n,e),vs([t.Property(!1)],n.prototype,"prompt",void 0),vs([t.Property(null)],n.prototype,"deniedAttrs",void 0),vs([t.Property(["background","background-color","border","border-bottom","border-left","border-radius","border-right","border-style","border-top","border-width","clear","color","cursor","direction","display","float","font","font-family","font-size","font-weight","font-style","height","left","line-height","list-style-type","margin","margin-top","margin-left","margin-right","margin-bottom","max-height","max-width","min-height","min-width","overflow","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","position","right","table-layout","text-align","text-decoration","text-indent","top","vertical-align","visibility","white-space","width"])],n.prototype,"allowedStyleProps",void 0),vs([t.Property(null)],n.prototype,"deniedTags",void 0),vs([t.Property(!0)],n.prototype,"keepFormat",void 0),vs([t.Property(!1)],n.prototype,"plainText",void 0),n}(t.ChildProperty),ws=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return bs(n,e),vs([t.Property(null)],n.prototype,"default",void 0),vs([t.Property("65px")],n.prototype,"width",void 0),vs([t.Property(Ii)],n.prototype,"items",void 0),n}(t.ChildProperty),Os=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return bs(n,e),vs([t.Property(null)],n.prototype,"default",void 0),vs([t.Property("35px")],n.prototype,"width",void 0),vs([t.Property(Bi)],n.prototype,"items",void 0),n}(t.ChildProperty),Ls=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return bs(n,e),vs([t.Property(null)],n.prototype,"default",void 0),vs([t.Property("65px")],n.prototype,"width",void 0),vs([t.Property(Pi)],n.prototype,"types",void 0),n}(t.ChildProperty),xs=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return bs(n,e),vs([t.Property("#ff0000")],n.prototype,"default",void 0),vs([t.Property("Palette")],n.prototype,"mode",void 0),vs([t.Property(10)],n.prototype,"columns",void 0),vs([t.Property(Ai)],n.prototype,"colorCode",void 0),vs([t.Property(!1)],n.prototype,"modeSwitcher",void 0),n}(t.ChildProperty),ks=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return bs(n,e),vs([t.Property("#ffff00")],n.prototype,"default",void 0),vs([t.Property("Palette")],n.prototype,"mode",void 0),vs([t.Property(10)],n.prototype,"columns",void 0),vs([t.Property(Ui)],n.prototype,"colorCode",void 0),vs([t.Property(!1)],n.prototype,"modeSwitcher",void 0),n}(t.ChildProperty),Ds=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return bs(n,e),vs([t.Property(Hi)],n.prototype,"types",void 0),n}(t.ChildProperty),Ms=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return bs(n,e),vs([t.Property(ji)],n.prototype,"types",void 0),n}(t.ChildProperty),Rs=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Is=function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Bs=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return Rs(n,e),Is([t.Property([])],n.prototype,"styles",void 0),Is([t.Property([])],n.prototype,"scripts",void 0),n}(t.ChildProperty),Ps=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return Rs(n,e),Is([t.Property(!1)],n.prototype,"enable",void 0),Is([t.Property(null)],n.prototype,"attributes",void 0),Is([t.Complex({},Bs)],n.prototype,"resources",void 0),n}(t.ChildProperty),As=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Us=function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Hs=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return As(n,e),Us([t.Property(!1)],n.prototype,"enable",void 0),Us([t.Property(!0)],n.prototype,"onSelection",void 0),n}(t.ChildProperty),js=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.on(nt,this.enterHandler,this),this.parent.on(F,this.destroy,this),this.parent.on(et,this.moduleDestroy,this)},e.prototype.destroy=function(){this.removeEventListener()},e.prototype.moduleDestroy=function(){this.parent=null},e.prototype.removeEventListener=function(){this.parent.off(nt,this.enterHandler),this.parent.off(F,this.destroy),this.parent.off(et,this.moduleDestroy)},e.prototype.getRangeNode=function(){this.range=this.parent.getRange(),this.startNode="#text"===this.range.startContainer.nodeName?this.range.startContainer.parentElement:this.range.startContainer,this.endNode="#text"===this.range.endContainer.nodeName?this.range.endContainer.parentElement:this.range.endContainer},e.prototype.enterHandler=function(e){var n=this;this.getRangeNode();var i=!0;if(!t.isNullOrUndefined(this.startNode.closest("TABLE"))&&!t.isNullOrUndefined(this.endNode.closest("TABLE"))){i=!1;for(var r=this.startNode,o=r;!this.parent.formatter.editorManager.domNode.isBlockNode(r);)o=r,r=r.parentElement;i="TD"!==o.tagName&&"TBODY"!==o.tagName}if(13===e.args.which&&"Enter"===e.args.code&&t.isNullOrUndefined(this.startNode.closest("LI"))&&t.isNullOrUndefined(this.endNode.closest("LI"))&&i&&t.isNullOrUndefined(this.startNode.closest("PRE"))&&t.isNullOrUndefined(this.endNode.closest("PRE"))){var s=e.args.shiftKey,a={cancel:!1,name:be,requestType:s?"ShiftEnterAction":"EnterAction",originalEvent:e.args};this.parent.trigger(be,a,function(r){if(!r.cancel){if(n.range.startOffset!==n.range.endOffset||n.range.startContainer!==n.range.endContainer)if(n.range.deleteContents(),"#text"===n.range.startContainer.nodeName&&0===n.range.startContainer.textContent.length&&n.range.startContainer.parentElement!==n.parent.inputElement)"BR"===n.parent.enterKey?n.range.startContainer.parentElement.innerHTML="&#8203;":n.range.startContainer.parentElement.innerHTML="<br>";else if(n.range.startContainer===n.parent.inputElement&&""===n.range.startContainer.innerHTML){n.range.startContainer.innerHTML="<br>";var o=n.range.startContainer.childNodes[n.range.startOffset];n.parent.formatter.editorManager.nodeSelection.setCursorPoint(n.parent.contentModule.getDocument(),o,0)}else if(n.parent.inputElement===n.range.startContainer){if("#text"===(o=n.range.startContainer.childNodes[n.range.startOffset]).nodeName&&0===o.textContent.length)n.parent.formatter.editorManager.nodeSelection.setCursorPoint(n.parent.contentModule.getDocument(),o,o.previousSibling.textContent.length);else if(n.parent.formatter.editorManager.nodeSelection.setCursorPoint(n.parent.contentModule.getDocument(),o,o.textContent.length>=0?0:1),0===o.previousSibling.textContent.length)t.detach(o.previousSibling);else if(0===o.textContent.length){for(var a=o.previousSibling.lastChild;"#text"!==a.nodeName;)a=a.lastChild;n.parent.formatter.editorManager.nodeSelection.setCursorPoint(n.parent.contentModule.getDocument(),a,a.textContent.length),t.detach(o)}else if("BR"!==n.parent.enterKey&&0!==o.previousSibling.textContent.length&&0!==o.textContent.length)return void e.args.preventDefault();n.getRangeNode()}if(n.range.startContainer===n.range.endContainer&&n.range.startOffset===n.range.endOffset&&n.range.startContainer===n.parent.inputElement&&(n.parent.formatter.editorManager.nodeSelection.setCursorPoint(n.parent.contentModule.getDocument(),n.range.startContainer.childNodes[n.range.startOffset],0),n.getRangeNode()),"P"===n.parent.enterKey&&!s||"DIV"===n.parent.enterKey&&!s||"P"===n.parent.shiftEnterKey&&s||"DIV"===n.parent.shiftEnterKey&&s){var l=void 0;l=i&&n.parent.formatter.editorManager.domNode.isBlockNode(n.startNode)?n.startNode:n.parent.formatter.editorManager.domNode.blockParentNode(n.startNode);var d=!1,c=!1;if(0==n.range.startOffset||0==n.range.endOffset||n.range.startContainer!==n.range.endContainer||!t.isNullOrUndefined(l.childNodes[0])&&"IMG"===l.childNodes[0].nodeName)0===n.range.startOffset&&0===n.range.endOffset&&(c=!0);else{var p=n.range.startContainer.textContent.substring(0,n.range.startOffset);160!=p.charCodeAt(n.range.startOffset-1)&&0===p.trim().length&&(c=!0)}n.removeBRElement(l);if(!(-1!=t.Browser.userAgent.indexOf("Firefox")&&0===n.range.startOffset&&n.range.startContainer===n.range.endContainer&&"#text"===n.range.startContainer.nodeName&&!n.parent.formatter.editorManager.domNode.isBlockNode(n.range.startContainer.previousSibling)&&n.range.startContainer.parentElement===n.range.startContainer.previousSibling.parentElement)&&(0===n.range.startOffset&&0===n.range.endOffset||c)&&(t.isNullOrUndefined(n.range.startContainer.previousSibling)||"IMG"!==n.range.startContainer.previousSibling.nodeName&&"BR"!==n.range.startContainer.previousSibling.nodeName)){var h=void 0,u=void 0;"IMG"===n.range.startContainer.nodeName?(u=n.createInsertElement(s),d=!0,h=!1):0!==l.textContent.trim().length||"IMG"===l.childNodes[0].nodeName?(u=n.parent.formatter.editorManager.nodeCutter.SplitNode(n.range,l,!1).cloneNode(!0),h=!1):(u=n.parent.formatter.editorManager.nodeCutter.SplitNode(n.range,l,!0).cloneNode(!0),h=!0);for(var m=n.createInsertElement(s);u.firstChild;)m.appendChild(u.firstChild);if(l.parentElement.insertBefore(m,l),!h){a=m;for(var g=void 0;!t.isNullOrUndefined(a)&&"#text"!==a.nodeName;)g=a,a=a.lastChild;g.innerHTML="<br>",d||t.detach(l)}n.parent.formatter.editorManager.nodeSelection.setCursorPoint(n.parent.contentModule.getDocument(),m.nextElementSibling,0)}else if(0!==l.textContent.length||!t.isNullOrUndefined(l.childNodes[0])&&"IMG"===l.childNodes[0].nodeName){u=n.parent.formatter.editorManager.nodeCutter.SplitNode(n.range,l,!0);if(t.isNullOrUndefined(u.childNodes[0])||"#text"!==u.childNodes[0].nodeName||0!==u.childNodes[0].textContent.length||t.detach(u.childNodes[0]),0===u.textContent.trim().length){var f=n.parent.createElement("br");if("A"===n.startNode.nodeName){var b=n.startNode.parentElement;n.startNode.parentElement.insertBefore(f,n.startNode),t.detach(n.startNode),n.startNode=b}else n.startNode.appendChild(f);"\n"===u.childNodes[0].textContent&&t.detach(u.childNodes[0]),n.parent.formatter.editorManager.nodeSelection.setCursorPoint(n.parent.contentModule.getDocument(),n.startNode,0)}if(("P"===n.parent.enterKey||"DIV"===n.parent.enterKey)&&!s||("DIV"===n.parent.shiftEnterKey||"P"===n.parent.shiftEnterKey)&&s){for(var v=n.createInsertElement(s);u.firstChild;)v.appendChild(u.firstChild);n.parent.formatter.editorManager.domNode.insertAfter(v,u),t.detach(u),n.parent.formatter.editorManager.nodeSelection.setCursorPoint(n.parent.contentModule.getDocument(),n.parent.formatter.editorManager.domNode.isBlockNode(n.startNode)?v:n.startNode,0)}}else if(t.isNullOrUndefined(l.children[0])||"BR"===l.children[0].tagName){(m=n.createInsertElement(s)).innerHTML="<br>",n.parent.formatter.editorManager.domNode.insertAfter(m,l),n.parent.formatter.editorManager.nodeSelection.setCursorPoint(n.parent.contentModule.getDocument(),m,0)}else{var u=n.parent.formatter.editorManager.nodeCutter.SplitNode(n.range,l,!1).cloneNode(!0);n.parent.formatter.editorManager.domNode.insertAfter(u,l),n.parent.formatter.editorManager.nodeSelection.setCursorPoint(n.parent.contentModule.getDocument(),u,u.textContent.length>=0?0:1)}e.args.preventDefault()}if("BR"===n.parent.enterKey&&!s||"BR"===n.parent.shiftEnterKey&&s){var y=void 0;if(n.parent.formatter.editorManager.domNode.isBlockNode(n.startNode))y=n.startNode;else{for(var C=n.startNode,N=C;!n.parent.formatter.editorManager.domNode.isBlockNode(C);)N=C,C=C.parentElement;y=C===n.parent.inputElement?N:C}n.removeBRElement(y);for(var S=y.lastChild;!t.isNullOrUndefined(S)&&"#text"!==S.nodeName&&"BR"!==S.nodeName;)S=S.lastChild;var E=n.range.startContainer===S?n.range.startContainer.textContent.length:y.textContent.length;if(y!==n.parent.inputElement&&n.parent.formatter.editorManager.domNode.isBlockNode(y)&&n.range.startOffset===n.range.endOffset&&n.range.startOffset===E){var T=n.parent.createElement("br");if("BR"===S.nodeName&&0===y.textContent.length)n.parent.formatter.editorManager.domNode.insertAfter(T,S);else{var w=n.parent.createElement("br");n.parent.formatter.editorManager.domNode.insertAfter(T,n.range.startContainer),n.parent.formatter.editorManager.domNode.insertAfter(w,n.range.startContainer)}n.parent.formatter.editorManager.nodeSelection.setCursorPoint(n.parent.contentModule.getDocument(),T,0)}else if(t.isNullOrUndefined(y)||y===n.parent.inputElement||"BR"===y.nodeName)n.insertBRElement();else if(0===y.textContent.trim().length||1===y.textContent.trim().length&&8203===y.textContent.charCodeAt(0)){u=n.parent.formatter.editorManager.nodeCutter.SplitNode(n.range,y,!0).cloneNode(!0);n.parent.formatter.editorManager.domNode.insertAfter(u,y);var O=n.parent.createElement("br");u.parentElement.insertBefore(O,u),n.parent.formatter.editorManager.nodeSelection.setCursorPoint(n.parent.contentModule.getDocument(),u,0)}else{u=void 0,O=n.parent.createElement("br");if(0!==n.range.startOffset||0!==n.range.endOffset||t.isNullOrUndefined(y.previousSibling)||"BR"!==y.previousSibling.nodeName)n.insertBRElement();else{u=n.parent.formatter.editorManager.nodeCutter.SplitNode(n.range,y,!1).cloneNode(!0),n.parent.formatter.editorManager.domNode.insertAfter(O,y),n.insertFocusContent();for(a=O.nextSibling;!t.isNullOrUndefined(a)&&"#text"!==a.nodeName;)a=a.lastChild;n.parent.formatter.editorManager.nodeSelection.setCursorPoint(n.parent.contentModule.getDocument(),a,0)}}e.args.preventDefault()}n.parent.trigger(ve,{requestType:s?"ShiftEnterAction":"EnterAction",args:e.args})}})}},e.prototype.removeBRElement=function(e){-1!=t.Browser.userAgent.indexOf("Firefox")&&this.range.endOffset===e.textContent.length&&(0!==e.textContent.length||e.querySelectorAll("BR").length>1)&&!t.isNullOrUndefined(e.lastChild)&&"BR"===e.lastChild.nodeName&&t.detach(e.lastChild)},e.prototype.insertBRElement=function(){var e=!1,n=this.parent.createElement("br");if("BR"===this.startNode.nodeName&&"BR"===this.endNode.nodeName&&0===this.range.startOffset&&this.range.startOffset===this.range.endOffset?(this.parent.formatter.editorManager.domNode.insertAfter(n,this.startNode),e=!0):(this.startNode!==this.parent.inputElement||t.isNullOrUndefined(this.range.startContainer.previousSibling)||"BR"!==this.range.startContainer.previousSibling.nodeName||0!==this.range.startContainer.textContent.length||(e=!0),this.range.insertNode(n)),e||!t.isNullOrUndefined(n.nextElementSibling)&&"BR"===n.nextElementSibling.tagName||!t.isNullOrUndefined(n.nextSibling)&&n.nextSibling.textContent.length>0)this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.parent.contentModule.getDocument(),t.isNullOrUndefined(n.nextSibling)?n:n.nextSibling,0),e=!1;else{var i=this.parent.createElement("br");this.range.insertNode(i),this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.parent.contentModule.getDocument(),n,0)}},e.prototype.insertFocusContent=function(){0===this.range.startContainer.textContent.length&&("#text"===this.range.startContainer.nodeName?this.range.startContainer.parentElement.innerHTML="&#8203;":this.range.startContainer.innerHTML="&#8203;")},e.prototype.createInsertElement=function(e){var t;return"DIV"===this.parent.enterKey&&!e||"DIV"===this.parent.shiftEnterKey&&e?t=this.parent.createElement("div"):("P"===this.parent.enterKey&&!e||"P"===this.parent.shiftEnterKey&&e)&&(t=this.parent.createElement("p")),t},e}(),Fs=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),qs=function(){return(qs=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++){t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e}).apply(this,arguments)},zs=function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},_s=function(n){function i(e,t){return n.call(this,e,t)||this}return Fs(i,n),i.prototype.requiredModules=function(){var e=[];return this.toolbarSettings.enable&&(e.push({member:"toolbar",args:[this,this.serviceLocator]}),e.push({member:"link",args:[this,this.serviceLocator]}),e.push({member:"table",args:[this,this.serviceLocator]}),e.push({member:"image",args:[this,this.serviceLocator]}),this.quickToolbarSettings.enable&&e.push({member:"quickToolbar",args:[this,this.serviceLocator]})),this.showCharCount&&e.push({member:"count",args:[this,this.serviceLocator]}),"Markdown"===this.editorMode&&e.push({member:"markdownEditor",args:[this,this.serviceLocator]}),"HTML"===this.editorMode&&(e.push({member:"htmlEditor",args:[this,this.serviceLocator]}),e.push({member:"pasteCleanup",args:[this,this.serviceLocator]})),this.fileManagerSettings.enable&&e.push({member:"fileManager",args:[this,this.serviceLocator]}),this.enableResize&&e.push({member:"resize",args:[this]}),e},i.prototype.updateEnable=function(){this.enabled?(t.removeClass([this.element],Bt),this.element.setAttribute("aria-disabled","false"),t.isNullOrUndefined(this.htmlAttributes.tabindex)?this.inputElement.setAttribute("tabindex","0"):this.inputElement.setAttribute("tabindex",this.htmlAttributes.tabindex)):(this.getToolbar()&&(t.removeClass(this.getToolbar().querySelectorAll("."+Nn),Nn),t.removeClass([this.getToolbar()],[jt,Ft])),t.addClass([this.element],Bt),this.element.tabIndex=-1,this.element.setAttribute("aria-disabled","true"),this.inputElement.setAttribute("tabindex","-1"))},i.prototype.setEnable=function(){this.updateEnable(),this.enabled?this.eventInitializer():this.unWireEvents()},i.prototype.initializeValue=function(){this.isFocusOut=!1,this.isRTE=!1,this.isBlur=!0,this.needsID=!0,this.defaultResetValue=null,this.isResizeInitialized=!1},i.prototype.preRender=function(){this.initializeValue(),this.onBlurHandler=this.blurHandler.bind(this),this.onFocusHandler=this.focusHandler.bind(this),this.onResizeHandler=this.resizeHandler.bind(this),this.clickPoints={clientX:0,clientY:0},this.initialValue=this.value,this.serviceLocator=new Ji,this.initializeServices(),this.setContainer(),this.persistData(),t.setStyleAttribute(this.element,{width:t.formatUnit(this.width)}),t.attributes(this.element,{role:"application"})},i.prototype.persistData=function(){if(this.enablePersistence&&"TEXTAREA"===this.originalElement.tagName){this.element.id=this.originalElement.id+"_wrapper";var e=window.localStorage.getItem(this.getModuleName()+this.element.id);t.isNullOrUndefined(e)||""===e||this.setProperties(JSON.parse(e),!0)}},i.prototype.setContainer=function(){this.originalElement=this.element.cloneNode(!0),null!==this.value&&null===this.valueTemplate||this.setValue(),this.element.hasAttribute("tabindex")&&(this.htmlAttributes={tabindex:this.element.getAttribute("tabindex")},this.element.removeAttribute("tabindex")),this.element.innerHTML="";for(var e=["class","style","id","ejs-for"],n={},i=0;i<this.element.attributes.length;i++)-1!==e.indexOf(this.element.attributes[i].name)||/^data-val/.test(this.element.attributes[i].name)||(n[this.element.attributes[i].name]=this.element.getAttribute(this.element.attributes[i].name));if(t.extend(n,this.htmlAttributes,n),this.setProperties({htmlAttributes:n},!0),t.isNullOrUndefined(this.htmlAttributes.id)||(this.element.id=this.htmlAttributes.id),"TEXTAREA"===this.element.tagName){var r=this.createElement("div",{className:this.element.getAttribute("class")});this.element.innerHTML="",this.element.parentElement.insertBefore(r,this.element),this.valueContainer=this.element,t.removeClass([this.valueContainer],this.element.getAttribute("class").split(" ")),this.element=r}else this.valueContainer=this.createElement("textarea",{id:this.getID()+"-value",attrs:{"aria-labelledby":this.getID()}});if(this.valueContainer.name=this.getID(),t.addClass([this.valueContainer],Xn),!t.isNullOrUndefined(this.cssClass))for(var o=this.cssClass.split(" "),s=0;s<o.length;s++)t.addClass([this.valueContainer],o[s]);this.element.appendChild(this.valueContainer)},i.prototype.getPersistData=function(){return this.addOnPersist(["value"])},i.prototype.focusIn=function(){this.enabled&&(this.inputElement.focus(),this.focusHandler({}))},i.prototype.focusOut=function(){this.enabled&&(this.inputElement.blur(),this.blurHandler({}))},i.prototype.selectAll=function(){this.notify(_e,{})},i.prototype.selectRange=function(e){this.notify(We,{range:e})},i.prototype.getSelection=function(){var e="";return this.notify(Qe,{callBack:function(t){e=t}}),e},i.prototype.executeCommand=function(e,n,i){if(n=this.htmlPurifier(e,n),"HTML"===this.editorMode){var r=this.getRange();this.iframeSettings.enable&&this.formatter.editorManager.nodeSelection.Clear(this.element.ownerDocument);(!(!this.iframeSettings.enable||r.startContainer!==this.inputElement)||!this.inputElement.contains(r.startContainer))&&this.focusIn()}var o=fs[e];if(i&&i.undo&&i.undo&&0===this.formatter.getUndoRedoStack().length&&this.formatter.saveData(),-1!==this.maxLength&&!t.isNullOrUndefined(o.command)){var s=0;if("Links"===o.command&&(s=0===n.text.length?n.url.length:n.text.length),"Images"!==o.command&&"Table"!==o.command&&"Files"!==o.command||(s=1),"InsertHTML"===o.command)if(t.isNullOrUndefined(n))t.isNullOrUndefined(o.value)||"<hr/>"!==o.value&&"<br/>"!==o.value||(s=1);else{var a=this.createElement("div");a.innerHTML=n,s=a.textContent.length}"InsertText"===o.command&&(s=n.length);var l=this.getText().trim().length-this.getSelection().length+s;if(!(-1===this.maxLength||l<=this.maxLength))return}this.formatter.editorManager.execCommand(o.command,o.subCommand?o.subCommand:n||o.value,null,null,n||o.value,n||o.value),i&&i.undo&&(this.formatter.saveData(),this.formatter.enableUndo(this)),this.setPlaceHolder(),this.notify(U,{})},i.prototype.htmlPurifier=function(e,n){if("HTML"===this.editorMode)switch(e){case"insertHTML":this.enableHtmlSanitizer&&(n="string"==typeof n?this.htmlEditorModule.sanitizeHelper(n):this.htmlEditorModule.sanitizeHelper(n.outerHTML));break;case"insertTable":t.isNullOrUndefined(n.width)&&(n.width={minWidth:this.tableSettings.minWidth,maxWidth:this.tableSettings.maxWidth,width:this.tableSettings.width});break;case"insertImage":var i=this.createElement("img",{attrs:{src:n.url}}),r=i.outerHTML;this.enableHtmlSanitizer&&(r=this.htmlEditorModule.sanitizeHelper(i.outerHTML));var o=""!==r&&this.createElement("div",{innerHTML:r}).firstElementChild.getAttribute("src")||null;o=t.isNullOrUndefined(o)?"":o,n.url=o,t.isNullOrUndefined(n.width)&&(n.width={minWidth:this.insertImageSettings.minWidth,maxWidth:this.insertImageSettings.maxWidth,width:this.insertImageSettings.width}),t.isNullOrUndefined(n.height)&&(n.height={minHeight:this.insertImageSettings.minHeight,maxHeight:this.insertImageSettings.maxHeight,height:this.insertImageSettings.height});break;case"createLink":var s=this.createElement("a",{attrs:{href:n.url}}),a=s.outerHTML;this.enableHtmlSanitizer&&(a=this.htmlEditorModule.sanitizeHelper(s.outerHTML));var l=""!==a&&this.createElement("div",{innerHTML:a}).firstElementChild.getAttribute("href")||null;l=t.isNullOrUndefined(l)?"":l,n.url=l}return n},i.prototype.encode=function(e){var t=this.createElement("div");return t.innerText=e.trim(),t.innerHTML.replace(/<br\s*[\/]?>/gi,"\n")},i.prototype.render=function(){this.value&&!this.valueTemplate&&this.setProperties({value:this.serializeValue(this.value)},!0),this.renderModule=new cs(this,this.serviceLocator),this.sourceCodeModule=new us(this,this.serviceLocator),this.notify(A,{}),this.trigger("load"),this.RTERender();new ur(this);this.notify(H,{}),this.enableXhtml&&this.setProperties({value:this.getXhtml()},!0),this.toolbarSettings.enable&&"Expand"===this.toolbarSettings.type&&!t.isNullOrUndefined(this.getToolbar())&&this.toolbarSettings.items.indexOf("Undo")>-1&&this.toolbarSettings.items.indexOf("Redo")>-1&&this.disableToolbarItem(["Undo","Redo"]),this.setContentHeight(),null!==this.value&&(this.valueContainer.defaultValue=this.value),this.enabled?this.eventInitializer():this.unWireEvents(),this.notify(Dt,{cssClass:this.cssClass}),this.renderComplete()},i.prototype.eventInitializer=function(){this.wireEvents()},i.prototype.cleanList=function(e){var n=this.getRange(),i=n.startContainer,r=n.endContainer,o=n.startOffset,s=i===r,a=r.textContent.length,l="#text"===n.endContainer.nodeName?n.endContainer.parentElement:n.endContainer,d=t.closest(l,"LI");if(!t.isNullOrUndefined(d)&&l.textContent.length===n.endOffset&&!n.collapsed&&t.isNullOrUndefined(l.nextElementSibling)){for(var c=0;c<d.childNodes.length;c++)"#text"===d.childNodes[c].nodeName&&0===d.childNodes[c].textContent.trim().length&&(t.detach(d.childNodes[c]),c--);for(var p=d;null!==p.lastChild&&"#text"!==p.nodeName;)p=p.lastChild;this.formatter.editorManager.nodeSelection.setSelectionText(this.contentModule.getDocument(),s?i:"BR"!==p.nodeName||t.isNullOrUndefined(p.previousSibling)?i:p.previousSibling,r,o,"BR"===p.nodeName?0:a)}},i.prototype.keyDown=function(e){if(this.notify($,{member:"keydown",args:e}),this.restrict(e),"HTML"===this.editorMode&&this.cleanList(e),"HTML"===this.editorMode&&(8===e.which&&"Backspace"===e.code||46===e.which&&"Delete"===e.code)){var n=this.getRange(),i="#text"===n.startContainer.nodeName?n.startContainer.parentElement:n.startContainer;if(t.closest(i,"pre")&&8===e.which&&8203===n.startContainer.textContent.charCodeAt(n.startOffset-1)||46===e.which&&8203===n.startContainer.textContent.charCodeAt(n.startOffset)){var r=new RegExp(String.fromCharCode(8203),"g"),o=8===e.which?n.startOffset-1:n.startOffset;n.startContainer.textContent=n.startContainer.textContent.replace(r,""),this.formatter.editorManager.nodeSelection.setCursorPoint(this.contentModule.getDocument(),n.startContainer,o)}else if("Backspace"===e.code&&8===e.which&&8203===n.startContainer.textContent.charCodeAt(0)&&n.collapsed){var s=n.startContainer.parentElement,a=void 0,l=void 0;for(l=0;l<s.childNodes.length;l++)s.childNodes[l]===n.startContainer&&(a=l);var d=!0,c=[];for(l=a;l>=0;l--)3===s.childNodes[l].nodeType&&8203===s.childNodes[l].textContent.charCodeAt(0)&&d?c.push(l):d=!1;if(c.length>0)for(l=c.length-1;l>0;l--)s.childNodes[c[l]].textContent="";this.formatter.editorManager.nodeSelection.setCursorPoint(this.contentModule.getDocument(),n.startContainer,n.startOffset)}}if(0===this.formatter.getUndoRedoStack().length&&this.formatter.saveData(),"insert-link"!==e.action&&(e.action&&"paste"!==e.action&&"space"!==e.action||9===e.which||"Backspace"===e.code&&8===e.which))switch(this.formatter.process(this,null,e),e.action){case"toolbar-focus":if(this.toolbarSettings.enable){this.toolbarModule.baseToolbar.toolbarObj.element.querySelector('.e-toolbar-item[aria-disabled="false"][title] [tabindex]').focus()}break;case"escape":this.contentModule.getEditPanel().focus()}t.isNullOrUndefined(this.placeholder)||(t.isNullOrUndefined(this.placeHolderWrapper)||1===this.inputElement.textContent.length?this.setPlaceHolder():this.placeHolderWrapper.style.display="none"),this.autoResize()},i.prototype.keyUp=function(e){if("HTML"===this.editorMode){var n=this.getRange();if(-1!=t.Browser.userAgent.indexOf("Firefox")&&"#text"===n.startContainer.nodeName&&n.startContainer.parentElement===this.inputElement&&"BR"!==this.enterKey){var i=this.getRange(),r=this.createElement(this.enterKey);i.startContainer.parentElement.insertBefore(r,i.startContainer),r.appendChild(i.startContainer),this.formatter.editorManager.nodeSelection.setSelectionText(this.contentModule.getDocument(),r.childNodes[0],r.childNodes[0],r.childNodes[0].textContent.length,r.childNodes[0].textContent.length)}}this.notify(J,{member:"keyup",args:e}),"KeyX"!==e.code||88!==e.which||88!==e.keyCode||!e.ctrlKey||""!==this.inputElement.innerHTML&&"<br>"!==this.inputElement.innerHTML||(this.inputElement.innerHTML=T(O(this),this));var o=32===e.which||13===e.which||8===e.which||46===e.which;("shift"!==e.key&&!e.ctrlKey&&e.key&&1===e.key.length||o||"Markdown"===this.editorMode&&("shift"!==e.key&&!e.ctrlKey&&e.key&&1===e.key.length||o)&&!this.inlineMode.enable)&&this.formatter.onKeyHandler(this,e),(this.inputElement&&0!==this.inputElement.textContent.length||this.element.querySelectorAll(".e-toolbar-item.e-active").length>0)&&this.notify(z,{args:e}),t.isNullOrUndefined(this.placeholder)||"Enter"===e.key&&13===e.keyCode||"<p><br></p>"!==this.inputElement.innerHTML&&"<div><br></div>"!==this.inputElement.innerHTML&&"<br>"!==this.inputElement.innerHTML||this.setPlaceHolder()},i.prototype.serializeValue=function(e){return"HTML"!==this.editorMode||t.isNullOrUndefined(e)||(this.enableHtmlEncode?(e=this.htmlEditorModule.sanitizeHelper(x(e)),e=this.encode(e)):e=this.htmlEditorModule.sanitizeHelper(e)),e},i.prototype.sanitizeHtml=function(e){return this.serializeValue(e)},i.prototype.updateValue=function(e){if(t.isNullOrUndefined(e)){var n=this.inputElement.innerHTML;this.setProperties({value:L(n)?null:n})}else this.setProperties({value:e})},i.prototype.triggerEditArea=function(e){if(h()){var t=e.touches?e.changedTouches[0]:e;this.clickPoints.clientX===t.clientX&&this.clickPoints.clientY===t.clientY&&this.notify(Ue,{member:"editAreaClick",args:e})}else this.notify(Ue,{member:"editAreaClick",args:e})},i.prototype.notifyMouseUp=function(e){var t=e.touches?e.changedTouches[0]:e;this.notify(Z,{member:"mouseUp",args:e,touchData:{prevClientX:this.clickPoints.clientX,prevClientY:this.clickPoints.clientY,clientX:t.clientX,clientY:t.clientY}}),this.inputElement&&("HTML"===this.editorMode&&0!==this.inputElement.textContent.length||"Markdown"===this.editorMode&&0!==this.inputElement.value.length)&&this.notify(z,{args:e}),this.triggerEditArea(e)},i.prototype.mouseUp=function(e){if(this.quickToolbarSettings.showOnRightClick&&t.Browser.isDevice){var n=e.target,i=t.closest(n,"table");if(n&&"A"===n.nodeName||"IMG"===n.nodeName||"TD"===n.nodeName||"TH"===n.nodeName||"TABLE"===n.nodeName||i&&this.contentModule.getEditPanel().contains(i))return}if(this.notifyMouseUp(e),3===e.detail){var r=this.getRange(),o=this.formatter.editorManager.domNode.getSelection();/\s+$/.test(o.toString())&&((t.isNullOrUndefined(r.startContainer.parentElement)||(t.isNullOrUndefined(r.startContainer.parentElement.nextSibling)||3===r.startContainer.parentElement.nextSibling.nodeType&&!/\s+$/.test(r.startContainer.parentElement.nextSibling.textContent))&&r.startOffset!==r.endOffset)&&"li"!==r.startContainer.parentElement.tagName.toLocaleLowerCase()||(r.setStart(r.startContainer,r.startOffset),r.setEnd(r.startContainer,r.startContainer.textContent.length)))}},i.prototype.ensureModuleInjected=function(e){return this.getInjectedModules().indexOf(e)>=0},i.prototype.onCopy=function(){this.contentModule.getDocument().execCommand("copy",!1,null)},i.prototype.onCut=function(){this.contentModule.getDocument().execCommand("cut",!1,null)},i.prototype.onPaste=function(e){var n=this,i={originalEvent:e,cancel:!1,requestType:"Paste"};this.trigger(be,i,function(i){var r=n.inputElement.textContent.length-n.getSelection().length+(t.isNullOrUndefined(e)||t.isNullOrUndefined(e.clipboardData)?0:e.clipboardData.getData("text/plain").length);if("Markdown"===n.editorMode){var o={requestType:"Paste",editorMode:n.editorMode,event:e};return setTimeout(function(){n.formatter.onSuccess(n,o)},0),void(-1===n.maxLength||r<=n.maxLength||e.preventDefault())}if(!i.cancel&&"true"===n.inputElement.contentEditable&&(-1===n.maxLength||r<=n.maxLength))if(t.isNullOrUndefined(n.pasteCleanupModule)){var s={requestType:"Paste",editorMode:n.editorMode,event:e},a=null,l=!1;e&&!t.isNullOrUndefined(e.clipboardData)&&(a=e.clipboardData.getData("text/plain"),l=e.clipboardData.getData("text/html").indexOf("MsoNormal")>0);var d=e&&e.clipboardData&&e.clipboardData.items.length>0?e.clipboardData.items[0].getAsFile():null;null!==a&&n.notify(Ge,{file:d,args:e,text:a,isWordPaste:l}),setTimeout(function(){n.formatter.onSuccess(n,s)},0)}else n.notify(tt,{args:e});else e.preventDefault()})},i.prototype.clipboardAction=function(e,t){switch(e.toLowerCase()){case"cut":this.onCut(),this.formatter.onSuccess(this,{requestType:"Cut",editorMode:this.editorMode,event:t});break;case"copy":this.onCopy(),this.formatter.onSuccess(this,{requestType:"Copy",editorMode:this.editorMode,event:t});break;case"paste":this.onPaste(t)}},i.prototype.destroy=function(){if(!this.isDestroyed&&this.isRendered){if(null===this.element.offsetParent)return t.isNullOrUndefined(this.toolbarModule)||this.toolbarModule.destroy(),void this.notify(et,{});if(this.notify(F,{}),this.destroyDependentModules(),t.isNullOrUndefined(this.timeInterval)||(clearInterval(this.timeInterval),this.timeInterval=null),this.unWireEvents(),"TEXTAREA"===this.originalElement.tagName){this.element.parentElement.insertBefore(this.valueContainer,this.element),this.valueContainer.id=this.getID(),this.valueContainer.removeAttribute("name"),t.detach(this.element),""!==this.originalElement.innerHTML.trim()?(this.valueContainer.value=this.originalElement.innerHTML.trim(),this.setProperties({value:t.isNullOrUndefined(this.initialValue)?null:this.initialValue},!0)):this.valueContainer.value=this.valueContainer.defaultValue,this.element=this.valueContainer;for(var e=0;e<this.originalElement.classList.length;e++)t.addClass([this.element],this.originalElement.classList[e]);if(!t.isNullOrUndefined(this.cssClass)){var i=this.cssClass.split(" ");for(e=0;e<i.length;e++)t.addClass([this.element],i[e])}t.removeClass([this.element],Xn)}else""!==this.originalElement.innerHTML.trim()?(this.element.innerHTML=this.originalElement.innerHTML.trim(),this.setProperties({value:t.isNullOrUndefined(this.initialValue)?null:this.initialValue},!0)):this.element.innerHTML="";if(this.placeholder&&this.placeHolderWrapper&&(this.placeHolderWrapper=null),!t.isNullOrUndefined(this.cssClass)){var r=this.cssClass.split(" ");for(e=0;e<r.length;e++)""!==r[e].trim()&&t.removeClass([this.element],r[e])}this.removeHtmlAttributes(),this.removeAttributes(),n.prototype.destroy.call(this),this.isRendered=!1,this.enablePersistence&&window.localStorage.removeItem(this.getModuleName()+this.element.id)}},i.prototype.removeHtmlAttributes=function(){if(this.htmlAttributes)for(var e=Object.keys(this.htmlAttributes),t=0;t<e.length&&this.element.hasAttribute(e[t]);t++)this.element.removeAttribute(e[t])},i.prototype.removeAttributes=function(){this.enabled||t.removeClass([this.element],Bt),this.enableRtl&&t.removeClass([this.element],"e-rtl"),this.readonly&&t.removeClass([this.element],zn),""!==this.element.style.width&&""===this.originalElement.style.width&&this.element.style.removeProperty("width"),""!==this.element.style.height&&""===this.originalElement.style.height&&this.element.style.removeProperty("height"),this.element.removeAttribute("aria-disabled"),this.element.removeAttribute("role"),this.element.removeAttribute("tabindex")},i.prototype.destroyDependentModules=function(){this.renderModule.destroy(),this.formatter.editorManager.undoRedoManager.destroy(),this.sourceCodeModule.destroy()},i.prototype.getContent=function(){return this.contentModule.getPanel()},i.prototype.getText=function(){return this.contentModule.getText()},i.prototype.getSelectedHtml=function(){var e=this.createElement("div"),t=this.contentModule.getDocument().getSelection();if(t.rangeCount>0){var n=t.getRangeAt(0).cloneContents();e.appendChild(n)}return e.innerHTML},i.prototype.showInlineToolbar=function(){if(this.inlineMode.enable){var e=this.getRange(),t="#text"===e.endContainer.nodeName?e.endContainer.parentElement:e.endContainer,n=e.getClientRects()[0].left,i=e.getClientRects()[0].top;this.quickToolbarModule.showInlineQTBar(n,i,t)}},i.prototype.hideInlineToolbar=function(){this.quickToolbarModule.hideInlineQTBar()},i.prototype.getModuleName=function(){return"richtexteditor"},i.prototype.onPropertyChanged=function(e,i){for(var r=0,o=Object.keys(e);r<o.length;r++){var s=o[r];switch(s){case"enterKey":case"value":var a=void 0;a="enterKey"===s?null===this.value||"<div><br></div>"===this.value||"<p><br></p>"===this.value||"<br>"===this.value?null:this.value:e[s];var l="HTML"===this.editorMode?T(a,this):a;(!t.isNullOrUndefined(a)&&""!==a||"enterKey"===s)&&(this.value=this.serializeValue(this.enableHtmlEncode?this.encode(x(l)):l)),this.updatePanelValue(),this.setPlaceHolder(),this.notify(gt,{module:"XhtmlValidation",newProp:e,oldProp:i}),this.enableXhtml&&this.setProperties({value:this.getXhtml()},!0),this.showCharCount&&this.countModule.refresh();break;case"valueTemplate":this.setValue(),this.showCharCount&&this.countModule.refresh();break;case"width":this.setWidth(e[s]),this.toolbarSettings.enable&&!this.inlineMode.enable&&(this.toolbarModule.refreshToolbarOverflow(),this.resizeHandler());break;case"height":this.setHeight(e[s]),this.setContentHeight(),this.autoResize();break;case"readonly":this.setReadOnly(!1);break;case"cssClass":this.element.classList.remove(i[s]),this.setCssClass(e[s]),this.notify(Dt,{cssClass:e[s],oldCssClass:i[s]});break;case"enabled":this.setEnable();break;case"enableRtl":this.updateRTL();break;case"placeholder":this.placeholder=e[s],this.setPlaceHolder();break;case"htmlAttributes":P(this.htmlAttributes,this,!1,!1);break;case"iframeSettings":var d=i[s];if(d.resources){var c=this.contentModule.getDocument().querySelector("head"),p=void 0;d.resources.scripts&&(p=c.querySelectorAll("."+Pt),this.removeSheets(p)),d.resources.styles&&(p=c.querySelectorAll("."+At),this.removeSheets(p))}this.setIframeSettings();break;case"locale":n.prototype.refresh.call(this);break;case"inlineMode":this.notify(Y,{module:"quickToolbar",newProp:e,oldProp:i}),this.setContentHeight();break;case"toolbarSettings":this.notify(Y,{module:"toolbar",newProp:e,oldProp:i}),this.setContentHeight();break;case"maxLength":this.showCharCount&&this.countModule.refresh();break;case"showCharCount":e[s]&&this.countModule?this.countModule.renderCount():!1===e[s]&&this.countModule&&this.countModule.destroy();break;case"enableHtmlEncode":this.updateValueData(),this.updatePanelValue(),this.setPlaceHolder(),this.showCharCount&&this.countModule.refresh();break;case"undoRedoSteps":case"undoRedoTimer":this.formatter.editorManager.observer.notify(yr,{newProp:e,oldProp:i});break;case"enableXhtml":this.notify(gt,{module:"XhtmlValidation",newProp:e,oldProp:i});break;case"quickToolbarSettings":e.quickToolbarSettings.showOnRightClick?this.wireContextEvent():this.unWireContextEvent(),this.notify(Y,{newProp:e,oldProp:i});break;default:this.notify(Y,{newProp:e,oldProp:i})}}},i.prototype.updateValueData=function(){this.enableHtmlEncode?this.setProperties({value:this.encode(x(this.inputElement.innerHTML))},!0):this.setProperties({value:/<[a-z][\s\S]*>/i.test(this.inputElement.innerHTML)?this.inputElement.innerHTML:x(this.inputElement.innerHTML)})},i.prototype.removeSheets=function(e){var n;for(n=0;n<e.length;n++)t.detach(e[n])},i.prototype.updatePanelValue=function(){var e=this.value;e=this.enableHtmlEncode&&this.value?x(e):e;var t=this.element.querySelector(".e-rte-srctextarea");e?(t&&"block"===t.style.display&&(t.value=this.value),this.valueContainer&&(this.valueContainer.value=this.enableHtmlEncode?this.value:e),"HTML"===this.editorMode&&this.inputElement&&this.inputElement.innerHTML.replace("&amp;","&").trim()!==e.trim()?this.inputElement.innerHTML=e:"Markdown"===this.editorMode&&this.inputElement&&this.inputElement.value.trim()!==e.trim()&&(this.inputElement.value=e)):(t&&"block"===t.style.display&&(t.value=""),"HTML"===this.editorMode?"DIV"===this.enterKey?this.inputElement.innerHTML="<div><br/></div>":"BR"===this.enterKey?this.inputElement.innerHTML="<br/>":(this.inputElement.innerHTML="<p><br/></p>",""===e&&this.formatter&&this.inputElement&&this.formatter.editorManager.nodeSelection.setCursorPoint(this.contentModule.getDocument(),this.inputElement.firstElementChild,this.inputElement.firstElementChild.childElementCount)):this.inputElement.value="",this.valueContainer&&(this.valueContainer.value="")),this.showCharCount&&this.countModule.refresh()},i.prototype.setHeight=function(e){this.element.style.height="auto"!==e?t.formatUnit(e):"auto","Expand"===this.toolbarSettings.type&&("string"==typeof this.height&&this.height.indexOf("px")>-1||"number"==typeof this.height)?this.element.classList.add(mi):this.element.classList.remove(mi)},i.prototype.setPlaceHolder=function(){this.inputElement&&this.placeholder&&!0!==this.iframeSettings.enable&&("Markdown"!==this.editorMode?(this.placeHolderWrapper||(this.placeHolderWrapper=this.createElement("span",{className:"rte-placeholder e-rte-placeholder "+this.cssClass}),this.inputElement&&this.inputElement.parentElement.insertBefore(this.placeHolderWrapper,this.inputElement),t.attributes(this.placeHolderWrapper,{style:"font-size: 14px; margin-left: 0px; margin-right: 0px;"})),this.placeHolderWrapper.innerHTML=this.placeholder,0!==this.inputElement.textContent.length||t.isNullOrUndefined(this.inputElement.firstChild)||"BR"!==this.inputElement.firstChild.nodeName&&("P"!==this.inputElement.firstChild.nodeName&&"DIV"!==this.inputElement.firstChild.nodeName||t.isNullOrUndefined(this.inputElement.firstChild.firstChild)||"BR"!==this.inputElement.firstChild.firstChild.nodeName)?this.placeHolderWrapper.style.display="none":this.placeHolderWrapper.style.display="block"):this.inputElement.setAttribute("placeholder",this.placeholder))},i.prototype.setWidth=function(e){"auto"!==e?t.setStyleAttribute(this.element,{width:t.formatUnit(this.width)}):this.element.style.width="auto"},i.prototype.setCssClass=function(e){if(!t.isNullOrUndefined(e))for(var n=e.split(" "),i=0;i<n.length;i++)""!==n[i].trim()&&this.element.classList.add(n[i])},i.prototype.updateRTL=function(){this.notify(Ke,{enableRtl:this.enableRtl}),this.enableRtl?this.element.classList.add("e-rtl"):this.element.classList.remove("e-rtl")},i.prototype.updateReadOnly=function(){this.notify(Ze,{editPanel:this.inputElement,mode:this.readonly})},i.prototype.setReadOnly=function(e){this.updateReadOnly(),e||(this.readonly&&this.enabled?this.unbindEvents():this.enabled&&this.bindEvents())},i.prototype.print=function(){var e,n=this,i={element:this.inputElement,requestType:"print",cancel:!1};this.trigger(be,i,function(i){if(e=window.open("","print","height="+window.outerHeight+",width="+window.outerWidth),"msie"===t.Browser.info.name&&e.resizeTo(screen.availWidth,screen.availHeight),e=t.print(n.inputElement,e),!i.cancel){n.trigger(ve,{requestType:"print"})}})},i.prototype.refreshUI=function(){this.renderModule.refresh()},i.prototype.showFullScreen=function(){this.fullScreenModule.showFullScreen()},i.prototype.enableToolbarItem=function(e,t){this.toolbarModule.enableTBarItems(this.getBaseToolbarObject(),e,!0,t)},i.prototype.disableToolbarItem=function(e,t){this.toolbarModule.enableTBarItems(this.getBaseToolbarObject(),e,!1,t)},i.prototype.removeToolbarItem=function(e){this.toolbarModule.removeTBarItems(e)},i.prototype.getRange=function(){return this.formatter.editorManager.nodeSelection.getRange(this.contentModule.getDocument())},i.prototype.initializeServices=function(){this.serviceLocator.register("rendererFactory",new $i),this.serviceLocator.register("rteLocale",this.localeObj=new t.L10n(this.getModuleName(),Fi,this.locale)),this.serviceLocator.register("dialogRenderObject",new gs(this))},i.prototype.RTERender=function(){var n=this.serviceLocator.getService("rendererFactory");this.contentModule=n.getRenderer(e.RenderType.Content),this.fullScreenModule=new ds(this),this.enterKeyModule=new js(this),this.renderModule.render(),this.inputElement=this.contentModule.getEditPanel(),this.setHeight(this.height),P(this.htmlAttributes,this,!1,!0),this.iframeSettings&&this.setIframeSettings(),this.setCssClass(this.cssClass),this.updateEnable(),this.setPlaceHolder(),this.updateRTL(),this.updateReadOnly(),this.updatePanelValue(),this.enableHtmlEncode&&!t.isNullOrUndefined(this.value)&&this.setProperties({value:this.encode(x(this.value))})},i.prototype.setIframeSettings=function(){if(this.iframeSettings.resources){var e=this.iframeSettings.resources.styles,t=this.iframeSettings.resources.scripts;this.iframeSettings.resources.scripts.length>0&&this.InjectSheet(!0,t),this.iframeSettings.resources.styles.length>0&&this.InjectSheet(!1,e)}this.iframeSettings.attributes&&P(this.iframeSettings.attributes,this,!0,!1)},i.prototype.InjectSheet=function(e,t){try{if(t&&t.length>0)for(var n=this.contentModule.getDocument().querySelector("head"),i=0;i<t.length;i++)if(e){var r=this.createScriptElement();r.src=t[i],n.appendChild(r)}else{var o=this.createStyleElement();o.href=t[i],n.appendChild(o)}}catch(e){return}},i.prototype.createScriptElement=function(){var e=this.createElement("script",{className:Pt});return e.type="text/javascript",e},i.prototype.createStyleElement=function(){var e=this.createElement("link",{className:At});return e.rel="stylesheet",e},i.prototype.setValue=function(){if(this.valueTemplate){if(new RegExp(/<(?=.*? .*?\/ ?>|br|hr|input|!--|wbr)[a-z]+.*?>|<([a-z]+).*?<\/\1>/i).test(this.valueTemplate))this.setProperties({value:this.valueTemplate});else{for(var e=t.compile(this.valueTemplate)("",this,"valueTemplate"),n=0;n<e.length;n++){var i=e[n];t.append([i],this.element)}this.setProperties({value:this.element.innerHTML.trim()})}}else{var r=!t.isNullOrUndefined(this.element.innerHTML)&&this.element.innerHTML.replace(/<(\/?|\!?)(!--!--)>/g,"").trim();""!==r&&("TEXTAREA"===this.element.tagName?this.setProperties({value:x(r)}):this.setProperties({value:r}))}},i.prototype.updateResizeFlag=function(){this.isResizeInitialized=!0},i.prototype.getInsertImgMaxWidth=function(){var e=this.insertImageSettings.maxWidth,n=this.contentModule.getEditPanel(),i=window.getComputedStyle(n),r=n.offsetWidth-(14+parseFloat(i.paddingLeft.split("px")[0])+parseFloat(i.paddingRight.split("px")[0])+parseFloat(i.marginLeft.split("px")[0])+parseFloat(i.marginRight.split("px")[0]));return t.isNullOrUndefined(e)?r:e},i.prototype.setContentHeight=function(n,i){var r,o,s=0,a="string"==typeof this.height&&this.height.indexOf("%")>-1,l=this.sourceCodeModule.getPanel()&&"block"===this.sourceCodeModule.getPanel().parentElement.style.display?this.sourceCodeModule.getPanel().parentElement:this.contentModule.getPanel(),d=this.element.offsetHeight;0!==d||"auto"===this.height||this.getToolbar()||(d=parseInt(this.height,10),a&&(o=this.height));var c=this.getToolbar()?this.toolbarModule.getToolbarHeight():0,p=this.element.querySelector("."+ni),h=this.enableResize?t.isNullOrUndefined(p)?0:p.offsetHeight+8:0,u=this.getToolbar()?this.toolbarModule.getExpandTBarPopHeight():0;if(this.toolbarSettings.type===e.ToolbarType.Expand&&i&&"preview"!==n?(r="auto"===this.height&&0===h?"auto":d-(c+u+h)+"px",s=this.toolbarSettings.enableFloating?0:u):r="auto"!==this.height||this.element.classList.contains("e-rte-full-screen")||this.isResizeInitialized?a&&o?o:d-(c+h)+"px":"auto","windowResize"!==n&&(this.iframeSettings.enable?"auto"!==r&&t.setStyleAttribute(l,{height:r,marginTop:s+"px"}):t.setStyleAttribute(l,{height:r,marginTop:s+"px"})),this.iframeSettings.enable&&"sourceCode"===n){var m=t.select("."+tn,this.element);t.setStyleAttribute(m,{height:r,marginTop:s+"px"})}if(this.toolbarSettings.enableFloating&&this.getToolbar()&&!this.inlineMode.enable){var g=(i?c+u:c)+"px";t.setStyleAttribute(this.getToolbar().parentElement,{height:g})}0===h&&this.autoResize()},i.prototype.getHtml=function(){return this.serializeValue(this.contentModule.getEditPanel().innerHTML)},i.prototype.getXhtml=function(){var e=this.value;return!t.isNullOrUndefined(e)&&this.enableXhtml&&(e=this.htmlEditorModule.xhtmlValidation.selfEncloseValidation(e)),e},i.prototype.showSourceCode=function(){this.readonly||this.notify(xe,{})},i.prototype.getCharCount=function(){var e="Markdown"===this.editorMode?this.inputElement.value.trim():this.inputElement.textContent.trim();return"Markdown"!==this.editorMode&&-1!==e.indexOf("​")?e.replace(/\u200B/g,"").length:e.length},i.prototype.showDialog=function(t){t===e.DialogType.InsertLink?this.notify(Tt,{}):t===e.DialogType.InsertImage?this.notify(Ot,{}):t===e.DialogType.InsertTable&&this.notify(xt,{})},i.prototype.closeDialog=function(t){t===e.DialogType.InsertLink?this.notify(wt,{}):t===e.DialogType.InsertImage?this.notify(Lt,{}):t===e.DialogType.InsertTable&&this.notify(kt,{})},i.prototype.getBaseToolbarObject=function(){return!this.inlineMode.enable||t.Browser.isDevice&&!h()?this.toolbarModule&&this.toolbarModule.getBaseToolbar():this.quickToolbarModule&&this.quickToolbarModule.getInlineBaseToolbar()},i.prototype.getToolbar=function(){return this.toolbarModule?this.toolbarModule.getToolbarElement():null},i.prototype.getToolbarElement=function(){return this.toolbarModule&&this.toolbarModule.getToolbarElement()},i.prototype.getID=function(){return"TEXTAREA"===this.originalElement.tagName?this.valueContainer.id:this.element.id},i.prototype.mouseDownHandler=function(e){var n=e.touches?e.changedTouches[0]:e;t.addClass([this.element],[an]),this.preventDefaultResize(e),this.notify(Pe,{args:e}),this.clickPoints={clientX:n.clientX,clientY:n.clientY}},i.prototype.preventImgResize=function(e){"img"===e.target.nodeName.toLocaleLowerCase()&&e.preventDefault()},i.prototype.preventDefaultResize=function(e){"msie"===t.Browser.info.name?this.contentModule.getEditPanel().addEventListener("mscontrolselect",this.preventImgResize):"mozilla"===t.Browser.info.name&&(this.contentModule.getDocument().execCommand("enableObjectResizing",!1,"false"),this.contentModule.getDocument().execCommand("enableInlineTableEditing",!1,"false"))},i.prototype.defaultResize=function(e){"msie"===t.Browser.info.name?this.contentModule.getEditPanel().removeEventListener("mscontrolselect",this.preventImgResize):"mozilla"===t.Browser.info.name&&(this.contentModule.getDocument().execCommand("enableObjectResizing",!0,"true"),this.contentModule.getDocument().execCommand("enableInlineTableEditing",!0,"true"))},i.prototype.resizeHandler=function(){var e=!1;document.body.contains(this.element)?(this.toolbarSettings.enable&&!this.inlineMode.enable&&(this.toolbarModule.refreshToolbarOverflow(),e=this.toolbarModule.baseToolbar.toolbarObj.element.classList.contains(Sn)),this.setContentHeight("windowResize",e),this.notify(de,null)):document.defaultView.removeEventListener("resize",this.onResizeHandler,!0)},i.prototype.scrollHandler=function(e){this.notify(He,{args:e})},i.prototype.contentScrollHandler=function(e){this.notify(je,{args:e})},i.prototype.focusHandler=function(e){if(!this.isRTE||this.isFocusOut){this.isRTE=!this.isFocusOut,this.isFocusOut=!1,t.addClass([this.element],[an]),"HTML"===this.editorMode?this.cloneValue="<p><br></p>"===this.inputElement.innerHTML||"<div><br></div>"===this.inputElement.innerHTML||"<br>"===this.inputElement.innerHTML?null:this.enableHtmlEncode?this.encode(x(this.inputElement.innerHTML)):this.inputElement.innerHTML:this.cloneValue=""===this.inputElement.value?null:this.inputElement.value;var n=document.activeElement;if((n===this.element||n===this.getToolbarElement()||n===this.contentModule.getEditPanel()||this.iframeSettings.enable&&n===this.contentModule.getPanel()&&e.target&&!e.target.classList.contains("e-img-inner")&&e.target&&e.target.parentElement&&!e.target.parentElement.classList.contains("e-img-wrap")||t.closest(n,".e-rte-toolbar")===this.getToolbarElement())&&(this.contentModule.getEditPanel().focus(),!t.isNullOrUndefined(this.getToolbarElement()))){this.getToolbarElement().setAttribute("tabindex","-1");for(var i=this.getToolbarElement().querySelectorAll('[tabindex="0"]'),r=0;r<i.length;r++)i[r].setAttribute("tabindex","-1")}this.preventDefaultResize(e),this.trigger("focus",{event:e,isInteracted:0!==Object.keys(e).length}),!t.isNullOrUndefined(this.saveInterval)&&this.saveInterval>0&&!this.autoSaveOnIdle&&(this.timeInterval=setInterval(this.updateValueOnIdle.bind(this),this.saveInterval)),t.EventHandler.add(document,"mousedown",this.onDocumentClick,this)}if(!t.isNullOrUndefined(this.getToolbarElement())){var o=this.getToolbarElement().querySelectorAll("input,select,button,a,[tabindex]");for(r=0;r<o.length;r++)o[r].classList.contains("e-rte-dropdown-btn")||o[r].classList.contains("e-insert-table-btn")||o[r].hasAttribute("tabindex")&&"-1"===o[r].getAttribute("tabindex")||o[r].setAttribute("tabindex","-1")}},i.prototype.getUpdatedValue=function(){var e;t.isNullOrUndefined(this.tableModule)||this.tableModule.removeResizeElement();var n=this.element.querySelector(".e-rte-srctextarea");return"HTML"===this.editorMode?(e="<p><br></p>"===this.inputElement.innerHTML||"<div><br></div>"===this.inputElement.innerHTML||"<br>"===this.inputElement.innerHTML?null:this.enableHtmlEncode?this.encode(x(this.inputElement.innerHTML)):this.inputElement.innerHTML,n&&"block"===n.style.display&&(e=n.value)):e=""===this.inputElement.value?null:this.inputElement.value,e},i.prototype.updateValueOnIdle=function(){(t.isNullOrUndefined(this.tableModule)||t.isNullOrUndefined(this.inputElement.querySelector(".e-table-box.e-rbox-select")))&&(this.setProperties({value:this.getUpdatedValue()},!0),this.valueContainer.value=this.value,this.invokeChangeEvent())},i.prototype.updateIntervalValue=function(){clearTimeout(this.idleInterval),this.idleInterval=setTimeout(this.updateValueOnIdle.bind(this),0)},i.prototype.updateStatus=function(e){if(!t.isNullOrUndefined(e.html)||!t.isNullOrUndefined(e.markdown)){var n=this.formatter.editorManager.undoRedoManager.getUndoStatus(),i={undo:n.undo,redo:n.redo,html:e.html,markdown:e.markdown};this.trigger(ye,i)}},i.prototype.onDocumentClick=function(e){var n=e.target,i=t.closest(n,"."+It);this.element.contains(e.target)||document===e.target||i===this.element||t.closest(n,'[aria-owns="'+this.getID()+'"]')||(this.isBlur=!0,this.isRTE=!1),this.notify(Ye,{args:e}),"msie"!==t.Browser.info.name&&e.detail>3&&e.preventDefault()},i.prototype.blurHandler=function(e){var n=e.relatedTarget;if(n){var i=t.closest(n,"."+It);i&&i===this.element?(this.isBlur=!1,n===this.getToolbarElement()&&n.setAttribute("tabindex","-1")):t.closest(n,'[aria-owns="'+this.getID()+'"]')?this.isBlur=!1:(this.isBlur=!0,n=null)}if(this.isBlur&&t.isNullOrUndefined(n)){t.removeClass([this.element],[an]),this.notify(ze,{});var r=this.getUpdatedValue();this.setProperties({value:r}),this.notify(z,{args:e,documentNode:document}),this.invokeChangeEvent(),this.isFocusOut=!0,this.isBlur=!1,C(this.valueContainer,"focusout"),this.defaultResize(e),this.trigger("blur",{event:e,isInteracted:0!==Object.keys(e).length}),t.isNullOrUndefined(this.timeInterval)||(clearInterval(this.timeInterval),this.timeInterval=null),t.EventHandler.remove(document,"mousedown",this.onDocumentClick)}else this.isRTE=!0},i.prototype.contentChanged=function(){this.autoSaveOnIdle&&(t.isNullOrUndefined(this.saveInterval)||(clearTimeout(this.timeInterval),this.timeInterval=setTimeout(this.updateIntervalValue.bind(this),this.saveInterval)))},i.prototype.invokeChangeEvent=function(){var e={value:this.enableXhtml?this.getXhtml():this.value};this.value!==this.cloneValue&&(this.trigger("change",e),this.cloneValue=this.value)},i.prototype.wireScrollElementsEvents=function(){this.scrollParentElements=r.getScrollableParent(this.element);for(var e=0,n=this.scrollParentElements;e<n.length;e++){var i=n[e];t.EventHandler.add(i,"scroll",this.scrollHandler,this)}this.iframeSettings.enable||t.EventHandler.add(this.contentModule.getPanel(),"scroll",this.contentScrollHandler,this)},i.prototype.wireContextEvent=function(){this.quickToolbarSettings.showOnRightClick&&(t.EventHandler.add(this.inputElement,"contextmenu",this.contextHandler,this),t.Browser.isDevice&&(this.touchModule=new t.Touch(this.inputElement,{tapHold:this.touchHandler.bind(this),tapHoldThreshold:500})))},i.prototype.unWireContextEvent=function(){t.EventHandler.remove(this.inputElement,"contextmenu",this.contextHandler),t.Browser.isDevice&&this.touchModule&&this.touchModule.destroy()},i.prototype.unWireScrollElementsEvents=function(){this.scrollParentElements=r.getScrollableParent(this.element);for(var e=0,n=this.scrollParentElements;e<n.length;e++){var i=n[e];t.EventHandler.remove(i,"scroll",this.scrollHandler)}this.iframeSettings.enable||t.EventHandler.remove(this.contentModule.getPanel(),"scroll",this.contentScrollHandler)},i.prototype.touchHandler=function(e){this.notifyMouseUp(e.originalEvent),this.triggerEditArea(e.originalEvent)},i.prototype.contextHandler=function(e){var n=t.closest(e.target,"a, table, img");!1!==this.inlineMode.onSelection&&(t.isNullOrUndefined(n)||!this.inputElement.contains(n)||"IMG"!==n.tagName&&"TABLE"!==n.tagName&&"A"!==n.tagName)||e.preventDefault()},i.prototype.resetHandler=function(){var e=this.valueContainer.defaultValue.trim();this.setProperties({value:""===e?null:e})},i.prototype.autoResize=function(){var e=this;if("auto"===this.height){if("Markdown"===this.editorMode)setTimeout(function(){e.setAutoHeight(e.inputElement)},0);else if(this.iframeSettings.enable){var t=this.element.querySelector("#"+this.getID()+"_rte-view");setTimeout(function(){e.setAutoHeight(t)},100),this.inputElement.style.overflow="hidden"}}else this.inputElement.style.overflow=null},i.prototype.setAutoHeight=function(e){t.isNullOrUndefined(e)||(e.style.height="",e.style.height=this.inputElement.scrollHeight+"px",e.style.overflow="hidden")},i.prototype.wireEvents=function(){this.element.addEventListener("focusin",this.onFocusHandler,!0),this.element.addEventListener("focusout",this.onBlurHandler,!0),this.on(U,this.contentChanged,this),this.on(bt,this.updateResizeFlag,this),this.on(Et,this.updateStatus,this),this.readonly&&this.enabled||this.bindEvents()},i.prototype.restrict=function(e){if(this.maxLength>=0){var t="Markdown"===this.editorMode?this.contentModule.getText():e&&e.currentTarget.textContent;if(!t)return;for(var n=[8,16,17,37,38,39,40,46,65],i=void 0,r=0;r<=n.length-1;r++)if(e.which===n[r]){if(e.ctrlKey&&65===e.which)return;if(65!==e.which)return void(i=n[r])}t.length>=this.maxLength&&-1!==this.maxLength&&e.which!==i&&e.preventDefault()}},i.prototype.bindEvents=function(){this.keyboardModule=new rr(this.inputElement,{keyAction:this.keyDown.bind(this),keyConfigs:qs({},this.formatter.keyConfig,this.keyConfig),eventName:"keydown"});var e=t.closest(this.valueContainer,"form");e&&t.EventHandler.add(e,"reset",this.resetHandler,this),t.EventHandler.add(this.inputElement,"keyup",this.keyUp,this),t.EventHandler.add(this.inputElement,"paste",this.onPaste,this),t.EventHandler.add(this.inputElement,t.Browser.touchEndEvent,t.debounce(this.mouseUp,30),this),t.EventHandler.add(this.inputElement,t.Browser.touchStartEvent,this.mouseDownHandler,this),this.wireContextEvent(),this.formatter.editorManager.observer.on(fr,this.editorKeyDown,this),this.element.ownerDocument.defaultView.addEventListener("resize",this.onResizeHandler,!0),this.iframeSettings.enable&&(t.EventHandler.add(this.inputElement,"focusin",this.focusHandler,this),t.EventHandler.add(this.inputElement,"focusout",this.blurHandler,this),t.EventHandler.add(this.inputElement.ownerDocument,"scroll",this.contentScrollHandler,this),t.EventHandler.add(this.inputElement.ownerDocument,t.Browser.touchStartEvent,this.onIframeMouseDown,this)),this.wireScrollElementsEvents()},i.prototype.onIframeMouseDown=function(e){this.isBlur=!1,this.currentTarget=e.target,this.notify(j,e)},i.prototype.editorKeyDown=function(e){switch(e.event.action){case"copy":this.onCopy();break;case"cut":this.onCut();break;case"tab":this.iframeSettings.enable&&(this.isBlur=!0)}!e.callBack||"copy"!==e.event.action&&"cut"!==e.event.action&&"delete"!==e.event.action||e.callBack({requestType:e.event.action,editorMode:"HTML",event:e.event})},i.prototype.unWireEvents=function(){this.element.removeEventListener("focusin",this.onFocusHandler,!0),this.element.removeEventListener("focusout",this.onBlurHandler,!0),this.off(U,this.contentChanged),this.off(bt,this.updateResizeFlag),this.off(Et,this.updateStatus),this.readonly&&this.enabled||this.unbindEvents()},i.prototype.unbindEvents=function(){this.keyboardModule&&this.keyboardModule.destroy();var e=t.closest(this.valueContainer,"form");e&&t.EventHandler.remove(e,"reset",this.resetHandler),t.EventHandler.remove(this.inputElement,"keyup",this.keyUp),t.EventHandler.remove(this.inputElement,"paste",this.onPaste),t.EventHandler.remove(this.inputElement,t.Browser.touchEndEvent,t.debounce(this.mouseUp,30)),t.EventHandler.remove(this.inputElement,t.Browser.touchStartEvent,this.mouseDownHandler),this.unWireContextEvent(),this.formatter&&this.formatter.editorManager.observer.off(fr,this.editorKeyDown),this.element.ownerDocument.defaultView.removeEventListener("resize",this.onResizeHandler,!0),this.iframeSettings.enable&&(t.EventHandler.remove(this.inputElement,"focusin",this.focusHandler),t.EventHandler.remove(this.inputElement,"focusout",this.blurHandler),t.EventHandler.remove(this.inputElement.ownerDocument,"scroll",this.contentScrollHandler),t.EventHandler.remove(this.inputElement.ownerDocument,t.Browser.touchStartEvent,this.onIframeMouseDown)),this.unWireScrollElementsEvents()},zs([t.Complex({},ys)],i.prototype,"toolbarSettings",void 0),zs([t.Complex({},Es)],i.prototype,"quickToolbarSettings",void 0),zs([t.Complex({},Ts)],i.prototype,"pasteCleanupSettings",void 0),zs([t.Complex({},Ps)],i.prototype,"iframeSettings",void 0),zs([t.Complex({},Cs)],i.prototype,"insertImageSettings",void 0),zs([t.Complex({},Ss)],i.prototype,"tableSettings",void 0),zs([t.Property(0)],i.prototype,"floatingToolbarOffset",void 0),zs([t.Complex({},Hs)],i.prototype,"inlineMode",void 0),zs([t.Complex({},Ns)],i.prototype,"fileManagerSettings",void 0),zs([t.Property("100%")],i.prototype,"width",void 0),zs([t.Property(!1)],i.prototype,"enablePersistence",void 0),zs([t.Property(!1)],i.prototype,"enableResize",void 0),zs([t.Property({})],i.prototype,"htmlAttributes",void 0),zs([t.Property(null)],i.prototype,"placeholder",void 0),zs([t.Property(!1)],i.prototype,"autoSaveOnIdle",void 0),zs([t.Property(!1)],i.prototype,"readonly",void 0),zs([t.Property(!0)],i.prototype,"enabled",void 0),zs([t.Property(!0)],i.prototype,"enableHtmlSanitizer",void 0),zs([t.Property(!1)],i.prototype,"enableHtmlEncode",void 0),zs([t.Property(!1)],i.prototype,"enableXhtml",void 0),zs([t.Property("auto")],i.prototype,"height",void 0),zs([t.Property(null)],i.prototype,"cssClass",void 0),zs([t.Property(null)],i.prototype,"value",void 0),zs([t.Property("P")],i.prototype,"enterKey",void 0),zs([t.Property("BR")],i.prototype,"shiftEnterKey",void 0),zs([t.Property(30)],i.prototype,"undoRedoSteps",void 0),zs([t.Property(300)],i.prototype,"undoRedoTimer",void 0),zs([t.Property("HTML")],i.prototype,"editorMode",void 0),zs([t.Property(null)],i.prototype,"keyConfig",void 0),zs([t.Property(!1)],i.prototype,"showCharCount",void 0),zs([t.Property(!1)],i.prototype,"enableTabKey",void 0),zs([t.Property(!1)],i.prototype,"enableAutoUrl",void 0),zs([t.Property(-1)],i.prototype,"maxLength",void 0),zs([t.Complex({},Ls)],i.prototype,"format",void 0),zs([t.Complex({},Ds)],i.prototype,"numberFormatList",void 0),zs([t.Complex({},Ms)],i.prototype,"bulletFormatList",void 0),zs([t.Complex({},ws)],i.prototype,"fontFamily",void 0),zs([t.Complex({},Os)],i.prototype,"fontSize",void 0),zs([t.Complex({},xs)],i.prototype,"fontColor",void 0),zs([t.Complex({},ks)],i.prototype,"backgroundColor",void 0),zs([t.Property(null)],i.prototype,"valueTemplate",void 0),zs([t.Property(1e4)],i.prototype,"saveInterval",void 0),zs([t.Event()],i.prototype,"actionBegin",void 0),zs([t.Event()],i.prototype,"actionComplete",void 0),zs([t.Event()],i.prototype,"beforeDialogOpen",void 0),zs([t.Event()],i.prototype,"dialogOpen",void 0),zs([t.Event()],i.prototype,"beforeDialogClose",void 0),zs([t.Event()],i.prototype,"dialogClose",void 0),zs([t.Event()],i.prototype,"beforeQuickToolbarOpen",void 0),zs([t.Event()],i.prototype,"quickToolbarOpen",void 0),zs([t.Event()],i.prototype,"quickToolbarClose",void 0),zs([t.Event()],i.prototype,"toolbarStatusUpdate",void 0),zs([t.Event()],i.prototype,"updatedToolbarStatus",void 0),zs([t.Event()],i.prototype,"imageSelected",void 0),zs([t.Event()],i.prototype,"beforeImageUpload",void 0),zs([t.Event()],i.prototype,"imageUploading",void 0),zs([t.Event()],i.prototype,"imageUploadSuccess",void 0),zs([t.Event()],i.prototype,"imageUploadFailed",void 0),zs([t.Event()],i.prototype,"imageRemoving",void 0),zs([t.Event()],i.prototype,"afterImageDelete",void 0),zs([t.Event()],i.prototype,"created",void 0),zs([t.Event()],i.prototype,"destroyed",void 0),zs([t.Event()],i.prototype,"beforeSanitizeHtml",void 0),zs([t.Event()],i.prototype,"blur",void 0),zs([t.Event()],i.prototype,"toolbarClick",void 0),zs([t.Event()],i.prototype,"focus",void 0),zs([t.Event()],i.prototype,"change",void 0),zs([t.Event()],i.prototype,"resizing",void 0),zs([t.Event()],i.prototype,"resizeStart",void 0),zs([t.Event()],i.prototype,"resizeStop",void 0),zs([t.Event()],i.prototype,"beforePasteCleanup",void 0),zs([t.Event()],i.prototype,"afterPasteCleanup",void 0),zs([t.Event()],i.prototype,"beforeImageDrop",void 0),zs([t.Property(null)],i.prototype,"formatter",void 0),i=zs([t.NotifyPropertyChanges],i)}(t.Component);e.Toolbar=er,e.KeyboardEvents=rr,e.BaseToolbar=Xi,e.BaseQuickToolbar=sr,e.QuickToolbar=lr,e.Count=dr,e.ColorPickerInput=or,e.MarkdownToolbarStatus=hr,e.ExecCommandCallBack=ur,e.ToolbarAction=Zi,e.MarkdownEditor=Xr,e.HtmlEditor=os,e.PasteCleanup=ss,e.Resize=as,e.DropDownButtons=Yi,e.FileManager=ls,e.FullScreen=ds,e.setAttributes=P,e.HtmlToolbarStatus=es,e.XhtmlValidation=rs,e.HTMLFormatter=Jo,e.Formatter=Er,e.MarkdownFormatter=Gr,e.ContentRender=ts,e.Render=cs,e.ToolbarRenderer=Ki,e.Link=ps,e.Image=hs,e.ViewSource=us,e.Table=ms,e.DialogRenderer=gs,e.IframeContentRender=is,e.MarkdownRender=Kr,e.PopupRenderer=ar,e.RichTextEditor=_s,e.executeGroup=fs,e.created="create",e.destroyed="destroy",e.load="load",e.initialLoad=A,e.contentChanged=U,e.initialEnd=H,e.iframeMouseDown=j,e.destroy=F,e.toolbarClick=q,e.toolbarRefresh=z,e.refreshBegin=_,e.toolbarUpdated=W,e.bindOnEnd=Q,e.renderColorPicker=V,e.htmlToolbarClick=G,e.markdownToolbarClick=K,e.destroyColorPicker=X,e.modelChanged=Y,e.keyUp=J,e.keyDown=$,e.mouseUp=Z,e.toolbarCreated=ee,e.toolbarRenderComplete=te,e.enableFullScreen=ne,e.disableFullScreen=ie,e.dropDownSelect=re,e.beforeDropDownItemRender=oe,e.execCommandCallBack=se,e.imageToolbarAction=ae,e.linkToolbarAction=le,e.windowResize=de,e.resizeStart=ce,e.onResize=pe,e.resizeStop=he,e.undo="undo",e.redo="redo",e.insertLink=ue,e.unLink=me,e.editLink=ge,e.openLink=fe,e.actionBegin=be,e.actionComplete=ve,e.updatedToolbarStatus=ye,e.actionSuccess="actionSuccess",e.updateToolbarItem=Ce,e.insertImage=Ne,e.insertCompleted=Se,e.imageLeft="justifyLeft",e.imageRight="justifyRight",e.imageCenter="justifyCenter",e.imageBreak="break",e.imageInline="inline",e.imageLink=Ee,e.imageAlt=Te,e.imageDelete=we,e.imageCaption=Oe,e.imageSize=Le,e.sourceCode=xe,e.updateSource=ke,e.toolbarOpen="toolbarOpen",e.beforeDropDownOpen=De,e.selectionSave=Me,e.selectionRestore=Re,e.expandPopupClick=Ie,e.count=Be,e.contentFocus="contentFocus",e.contentBlur="contentBlur",e.mouseDown=Pe,e.sourceCodeMouseDown=Ae,e.editAreaClick=Ue,e.scroll=He,e.contentscroll=je,e.colorPickerChanged=Fe,e.tableColorPickerChanged=qe,e.focusChange=ze,e.selectAll=_e,e.selectRange=We,e.getSelectedHtml=Qe,e.renderInlineToolbar=Ve,e.paste=Ge,e.imgModule="imageModule",e.rtlMode=Ke,e.createTable=Xe,e.docClick=Ye,e.tableToolbarAction=Je,e.checkUndo=$e,e.readOnlyMode=Ze,e.moduleDestroy=et,e.pasteClean=tt,e.enterHandler=nt,e.beforeDialogOpen=it,e.clearDialogObj=rt,e.dialogOpen="dialogOpen",e.beforeDialogClose=ot,e.dialogClose="dialogClose",e.beforeQuickToolbarOpen=st,e.quickToolbarOpen=at,e.quickToolbarClose=lt,e.popupHide="popupHide",e.imageSelected=dt,e.imageUploading=ct,e.imageUploadSuccess=pt,e.imageUploadFailed=ht,e.imageRemoving=ut,e.mediaSelected="mediaSelected",e.mediaUploading="mediaUploading",e.mediaUploadSuccess="mediaUploadSuccess",e.mediaUploadFailed="mediaUploadFailed",e.mediaRemoving="mediaRemoving",e.afterImageDelete=mt,e.afterMediaDelete="afterMediaaDelete",e.drop="drop",e.xhtmlValidation=gt,e.beforeImageUpload=ft,e.beforeMediaUpload="beforeMediaUpload",e.resizeInitialized=bt,e.renderFileManager=vt,e.beforeImageDrop=yt,e.dynamicModule=Ct,e.beforePasteCleanup=Nt,e.afterPasteCleanup=St,e.updateTbItemsStatus=Et,e.showLinkDialog=Tt,e.closeLinkDialog=wt,e.showImageDialog=Ot,e.closeImageDialog=Lt,e.closeAudioDialog="closeAudioDialog",e.showTableDialog=xt,e.closeTableDialog=kt,e.bindCssClass=Dt,e.blockEmptyNodes=Mt,e.inlineEmptyNodes=Rt,e.CLS_RTE=It,e.CLS_RTL="e-rtl",e.CLS_CONTENT="e-content",e.CLS_DISABLED=Bt,e.CLS_SCRIPT_SHEET=Pt,e.CLS_STYLE_SHEET=At,e.CLS_TOOLBAR=Ut,e.CLS_TB_FIXED=Ht,e.CLS_TB_FLOAT=jt,e.CLS_TB_ABS_FLOAT=Ft,e.CLS_INLINE=qt,e.CLS_TB_INLINE="e-rte-tb-inline",e.CLS_RTE_EXPAND_TB=zt,e.CLS_FULL_SCREEN=_t,e.CLS_QUICK_TB=Wt,e.CLS_POP=Qt,e.CLS_TB_STATIC="e-tb-static",e.CLS_QUICK_POP=Vt,e.CLS_QUICK_DROPDOWN=Gt,e.CLS_IMAGE_POP=Kt,e.CLS_INLINE_POP=Xt,e.CLS_INLINE_DROPDOWN=Yt,e.CLS_DROPDOWN_POPUP=Jt,e.CLS_DROPDOWN_ICONS=$t,e.CLS_DROPDOWN_ITEMS=Zt,e.CLS_DROPDOWN_BTN=en,e.CLS_RTE_CONTENT=tn,e.CLS_TB_ITEM=nn,e.CLS_TB_EXTENDED="e-toolbar-extended",e.CLS_TB_WRAP=rn,e.CLS_POPUP="e-popup",e.CLS_SEPARATOR="e-separator",e.CLS_MINIMIZE="e-minimize",e.CLS_MAXIMIZE="e-maximize",e.CLS_BACK="e-back",e.CLS_SHOW="e-show",e.CLS_HIDE=on,e.CLS_VISIBLE=sn,e.CLS_FOCUS=an,e.CLS_RM_WHITE_SPACE=ln,e.CLS_IMGRIGHT=dn,e.CLS_IMGLEFT=cn,e.CLS_IMGCENTER=pn,e.CLS_IMGBREAK=hn,e.CLS_CAPTION=un,e.CLS_RTE_CAPTION=mn,e.CLS_CAPINLINE=gn,e.CLS_IMGINLINE=fn,e.CLS_COUNT=bn,e.CLS_WARNING=vn,e.CLS_ERROR=yn,e.CLS_ICONS=Cn,e.CLS_ACTIVE=Nn,e.CLS_EXPAND_OPEN=Sn,e.CLS_RTE_ELEMENTS=En,e.CLS_TB_BTN=Tn,e.CLS_HR_SEPARATOR=wn,e.CLS_TB_IOS_FIX=On,e.CLS_LIST_PRIMARY_CONTENT=Ln,e.CLS_NUMBERFORMATLIST_TB_BTN=xn,e.CLS_BULLETFORMATLIST_TB_BTN=kn,e.CLS_FORMATS_TB_BTN=Dn,e.CLS_FONT_NAME_TB_BTN=Mn,e.CLS_FONT_SIZE_TB_BTN=Rn,e.CLS_ALIGN_TB_BTN=In,e.CLS_FONT_COLOR_TARGET=Bn,e.CLS_BACKGROUND_COLOR_TARGET=Pn,e.CLS_COLOR_CONTENT=An,e.CLS_FONT_COLOR_DROPDOWN=Un,e.CLS_BACKGROUND_COLOR_DROPDOWN=Hn,e.CLS_COLOR_PALETTE=jn,e.CLS_FONT_COLOR_PICKER=Fn,e.CLS_BACKGROUND_COLOR_PICKER=qn,e.CLS_RTE_READONLY=zn,e.CLS_TABLE_SEL=_n,e.CLS_TB_DASH_BOR=Wn,e.CLS_TB_ALT_BOR=Qn,e.CLS_TB_COL_RES=Vn,e.CLS_TB_ROW_RES=Gn,e.CLS_TB_BOX_RES=Kn,e.CLS_RTE_HIDDEN=Xn,e.CLS_RTE_PASTE_KEEP_FORMAT=Yn,e.CLS_RTE_PASTE_REMOVE_FORMAT=Jn,e.CLS_RTE_PASTE_PLAIN_FORMAT=$n,e.CLS_RTE_PASTE_OK=Zn,e.CLS_RTE_PASTE_CANCEL=ei,e.CLS_RTE_DIALOG_MIN_HEIGHT=ti,e.CLS_RTE_RES_HANDLE=ni,e.CLS_RTE_RES_EAST="e-south-east",e.CLS_RTE_IMAGE=ii,e.CLS_RESIZE="e-resize",e.CLS_IMG_FOCUS="e-img-focus",e.CLS_RTE_DRAG_IMAGE=ri,e.CLS_RTE_UPLOAD_POPUP=oi,e.CLS_POPUP_OPEN=si,e.CLS_IMG_RESIZE="e-img-resize",e.CLS_DROPAREA="e-droparea",e.CLS_IMG_INNER="e-img-inner",e.CLS_UPLOAD_FILES=ai,e.CLS_RTE_DIALOG_UPLOAD=li,e.CLS_RTE_RES_CNT=di,e.CLS_CUSTOM_TILE=ci,e.CLS_NOCOLOR_ITEM=pi,e.CLS_TABLE="e-rte-table",e.CLS_TABLE_BORDER=hi,e.CLS_RTE_TABLE_RESIZE=ui,e.CLS_RTE_FIXED_TB_EXPAND=mi,e.CLS_RTE_TB_ENABLED=gi,e.CLS_RTE_RES_WEST="e-south-west",e.getIndex=d,e.hasClass=c,e.getDropDownValue=p,e.isIDevice=h,e.getFormattedFontSize=u,e.pageYOffset=m,e.getTooltipText=g,e.setToolbarStatus=f,e.getCollection=b,e.getTBarItemsIndex=v,e.updateUndoRedoStatus=y,e.dispatchEvent=C,e.parseHtml=N,e.getTextNodesUnder=S,e.toObjectLowerCase=E,e.getEditValue=T,e.updateTextNode=w,e.getDefaultValue=O,e.isEditableValueEmpty=L,e.decode=x,e.sanitizeHelper=k,e.convertToBlob=D,e.getLocaleFontFormat=M,e.updateDropDownFontFormatLocale=R,e.ServiceLocator=Ji,e.RendererFactory=$i,e.EditorManager=Xo,e.IMAGE=Yr,e.TABLE=Jr,e.LINK=$r,e.INSERT_ROW=Zr,e.INSERT_COLUMN=eo,e.DELETEROW=to,e.DELETECOLUMN=no,e.REMOVETABLE=io,e.TABLEHEADER=ro,e.TABLE_VERTICAL_ALIGN=oo,e.TABLE_MERGE=so,e.TABLE_VERTICAL_SPLIT=ao,e.TABLE_HORIZONTAL_SPLIT=lo,e.TABLE_MOVE="TABLE_MOVE",e.ALIGNMENT_TYPE=co,e.INDENT_TYPE=po,e.DEFAULT_TAG="p",e.BLOCK_TAGS=ho,e.IGNORE_BLOCK_TAGS=uo,e.TABLE_BLOCK_TAGS=mo,e.SELECTION_TYPE=go,e.INSERTHTML_TYPE=fo,e.INSERT_TEXT_TYPE=bo,e.CLEAR_TYPE=vo,e.SELF_CLOSING_TAGS=yo,e.CLASS_IMAGE_RIGHT=Mo,e.CLASS_IMAGE_LEFT=Ro,e.CLASS_IMAGE_CENTER=Io,e.CLASS_IMAGE_BREAK=Bo,e.CLASS_CAPTION=Po,e.CLASS_RTE_CAPTION="e-rte-img-caption",e.CLASS_CAPTION_INLINE=Ao,e.CLASS_IMAGE_INLINE="e-imginline",e.Lists=Eo,e.markerClassName=No,e.DOMNode=So,e.Alignments=ko,e.Indents=Do,e.Formats=Oo,e.LinkCommand=xo,e.InsertMethods=To,e.InsertTextExec=Ko,e.InsertHtmlExec=_o,e.InsertHtml=Lo,e.IsFormatted=Fo,e.MsWordPaste=Go,e.NodeCutter=wo,e.ImageCommand=Uo,e.SelectionCommands=qo,e.SelectionBasedExec=zo,e.ClearFormatExec=Qo,e.UndoRedoManager=Vo,e.TableCommand=Ho,e.statusCollection=$o,e.ToolbarStatus=Zo,e.NodeSelection=Co,e.MarkdownParser=Qr,e.LISTS_COMMAND=Tr,e.selectionCommand=wr,e.LINK_COMMAND=Or,e.CLEAR_COMMAND=Lr,e.MD_TABLE=xr,e.INSERT_TEXT_COMMAND=kr,e.ClearFormat=_r,e.MDLists=Dr,e.MDFormats=Mr,e.MarkdownSelection=cr,e.UndoRedoCommands=Fr,e.MDSelectionFormats=Rr,e.MDLink=qr,e.MDTable=zr,e.markdownFormatTags=Ir,e.markdownSelectionTags=Br,e.markdownListsTags=Pr,e.htmlKeyConfig=Ar,e.markdownKeyConfig=Ur,e.pasteCleanupGroupingTags=Hr,e.listConversionFilters={first:"MsoListParagraphCxSpFirst",middle:"MsoListParagraphCxSpMiddle",last:"MsoListParagraphCxSpLast"},e.selfClosingTags=jr,e.KEY_DOWN="keydown",e.ACTION=mr,e.FORMAT_TYPE=gr,e.KEY_DOWN_HANDLER=fr,e.LIST_TYPE="list-type",e.KEY_UP_HANDLER=br,e.KEY_UP="keyup",e.MODEL_CHANGED_PLUGIN=vr,e.MODEL_CHANGED=yr,e.MS_WORD_CLEANUP_PLUGIN=Cr,e.MS_WORD_CLEANUP=Nr,e.ON_BEGIN="onBegin",e.SPACE_ACTION=Sr,Object.defineProperty(e,"__esModule",{value:!0})});
10
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@syncfusion/ej2-base"),require("@syncfusion/ej2-navigations"),require("@syncfusion/ej2-splitbuttons"),require("@syncfusion/ej2-popups"),require("@syncfusion/ej2-inputs"),require("@syncfusion/ej2-buttons"),require("@syncfusion/ej2-filemanager")):"function"==typeof define&&define.amd?define(["exports","@syncfusion/ej2-base","@syncfusion/ej2-navigations","@syncfusion/ej2-splitbuttons","@syncfusion/ej2-popups","@syncfusion/ej2-inputs","@syncfusion/ej2-buttons","@syncfusion/ej2-filemanager"],t):t(e.ej={},e.ej2Base,e.ej2Navigations,e.ej2Splitbuttons,e.ej2Popups,e.ej2Inputs,e.ej2Buttons,e.ej2Filemanager)}(this,function(e,t,n,i,r,o,s,a){"use strict";function l(e,t,n){for(var i=0;t.length>i;i++)if(t[i].value===n.subCommand)return e.localeObj.getConstant(t[i].locale);return n.text}function d(e,t){var n=-1;return t.some(function(t,i){return"string"==typeof t&&e===t.toLocaleLowerCase()&&(n=i,!0)}),n}function c(e,t){var n=!1;return e.classList.contains(t)&&(n=!0),n}function p(e,n,i,r){for(var o,s,a=0;a<e.length;a++){if("value"===i&&e[a].value.toLocaleLowerCase()===n.toLocaleLowerCase()){o=e[a];break}if("text"===i&&e[a].text.toLocaleLowerCase()===n.toLocaleLowerCase()){o=e[a];break}if("subCommand"===i&&e[a].subCommand.toLocaleLowerCase()===n.toLocaleLowerCase()){o=e[a];break}}if(!t.isNullOrUndefined(o))switch(r){case"text":s=o.text;break;case"value":s=o.value;break;case"iconCss":s=o.iconCss}return s}function h(){var e=!1;return t.Browser.isDevice&&t.Browser.isIos&&(e=!0),e}function u(e){return t.isNullOrUndefined(e)?"":e}function m(e,t,n){return n?window.pageYOffset+t.getBoundingClientRect().top+e.clientY:e.pageY}function g(e,t){var n=t.getService("rteLocale"),i=zi[e];return n.getConstant(i)}function f(e,n,i){R(i);for(var r=e.dropDownModule,o=e.args,s=0,a=Object.keys(e.args);s<a.length;s++)for(var l=a[s],c=0;c<e.tbItems.length;c++){var h=e.tbItems[c].subCommand,m=h&&h.toLocaleLowerCase();if(h&&m===l||"UL"===h&&"unorderedlist"===l||"OL"===h&&"orderedlist"===l||"pre"===m&&"insertcode"===l)if("boolean"==typeof o[l])!0===o[l]?t.addClass([e.tbElements[c]],[Sn]):t.removeClass([e.tbElements[c]],[Sn]);else if(("string"==typeof o[l]||null===o[l])&&d(l,e.parent.toolbarSettings.items)>-1){var g=o[l]?o[l]:"",f="";switch(l){case"formats":if(t.isNullOrUndefined(r.formatDropDown)||n||!t.isNullOrUndefined(r.formatDropDown)&&r.formatDropDown.isDestroyed)break;var b=e.parent.format.types,v=t.isNullOrUndefined(e.parent.format.default)?b[0].text:e.parent.format.default;f=p(b,g,"subCommand","text"),r.formatDropDown.content='<span style="display: inline-flex;width:'+e.parent.format.width+'" ><span class="e-rte-dropdown-btn-text '+e.parent.cssClass+'">'+(t.isNullOrUndefined(f)?v:f)+"</span></span>",r.formatDropDown.dataBind();break;case"alignments":if(t.isNullOrUndefined(r.alignDropDown)||!t.isNullOrUndefined(r.alignDropDown)&&r.alignDropDown.isDestroyed)break;f=p(Ci,g,"subCommand","iconCss"),r.alignDropDown.iconCss=t.isNullOrUndefined(f)?"e-icons e-justify-left":f,r.alignDropDown.dataBind();break;case"fontname":if(t.isNullOrUndefined(r.fontNameDropDown)||n||!t.isNullOrUndefined(r.fontNameDropDown)&&r.fontNameDropDown.isDestroyed)break;var y=e.parent.fontFamily.items;f=p(y,g,"value","text");var C=t.isNullOrUndefined(e.parent.fontFamily.default)?y[0].text:e.parent.fontFamily.default,N=t.isNullOrUndefined(f)?C:f;e.tbElements[c].title=N,r.fontNameDropDown.content='<span style="display: inline-flex;width:'+e.parent.fontFamily.width+'" ><span class="e-rte-dropdown-btn-text '+e.parent.cssClass+'">'+N+"</span></span>",r.fontNameDropDown.dataBind();break;case"fontsize":if(t.isNullOrUndefined(r.fontSizeDropDown)||!t.isNullOrUndefined(r.fontSizeDropDown)&&r.fontSizeDropDown.isDestroyed)break;var S=e.parent.fontSize.items,E=t.isNullOrUndefined(e.parent.fontSize.default)?S[1].text:e.parent.fontSize.default;f=p(S,""===g?E.replace(/\s/g,""):g,"value","text"),r.fontSizeDropDown.content='<span style="display: inline-flex;width:'+e.parent.fontSize.width+'" ><span class="e-rte-dropdown-btn-text '+e.parent.cssClass+'">'+u(f)+"</span></span>",r.fontSizeDropDown.dataBind()}}}}function b(e){return"object"==typeof e?e:[e]}function v(e,t){for(var n=[],i=0;i<e.length;i++)for(var r=0;r<t.length;r++)if("Separator"!==t[r].type){if("OrderedList"===e[i]&&"OL"===t[r].subCommand){n.push(r);break}if("UnorderedList"===e[i]&&"UL"===t[r].subCommand){n.push(r);break}if("InsertCode"===e[i]&&"Pre"===t[r].subCommand){n.push(r);break}if("FileManager"===e[i]&&"File"===t[r].subCommand){n.push(r);break}if("object"==typeof e[i]&&"Custom"===e[i].command){n.push(i);break}if(e[i]===t[r].subCommand){n.push(r);break}}return n}function y(e,n){for(var i=0,r=v(b(Ki),e.toolbarObj.items),o=t.selectAll("."+rn,e.toolbarObj.element),s=0,a=Object.keys(n);s<a.length;s++){var l=a[s],d=o[r[i]];d&&e.toolbarObj.enableItems(d,n[l]),i++}}function C(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!1,!0),e.dispatchEvent(n)}function N(e){var n=t.createElement("template");return n.innerHTML=e,n.content instanceof DocumentFragment?n.content:document.createRange().createContextualFragment(e)}function S(e,t){var n=[];for(t=t.firstChild;t;t=t.nextSibling)3===t.nodeType?n.push(t):n=n.concat(S(e,t));return n}function E(e){for(var t={},n=Object.keys(e),i=0;i<Object.keys(e).length;i++)t[n[i].toLocaleLowerCase()]=e[n[i]];return t}function T(e,t){var n;return null!==e&&""!==e?(n=t.enableHtmlEncode?w(x(e),t):w(e,t),t.setProperties({value:n},!0)):n="DIV"===t.enterKey?t.enableHtmlEncode?"&lt;div&gt;&lt;br/&gt;&lt;/div&gt;":"<div><br/></div>":"BR"===t.enterKey?t.enableHtmlEncode?"&lt;br/&gt;":"<br/>":t.enableHtmlEncode?"&lt;p&gt;&lt;br/&gt;&lt;/p&gt;":"<p><br/></p>",n}function w(e,n){var i=document.createElement("div"),r=document.createElement("div"),o=i.childNodes;if(i.innerHTML=e,i.setAttribute("class","tempDiv"),o.length>0){for(var s=void 0,a=void 0,l=void 0;i.firstChild;){for(var d=i.querySelectorAll(Rt),c=0;c<d.length;c++)d[c].innerHTML="<br>";var p=i.querySelectorAll(It);for(c=0;c<p.length;c++)p[c].innerHTML="&ZeroWidthSpace;";"BR"!==n.enterKey&&("#text"===i.firstChild.nodeName&&(i.firstChild.textContent.indexOf("\n")<0||""!==i.firstChild.textContent.trim())||Gi.indexOf(i.firstChild.nodeName.toLocaleLowerCase())>=0)?(s?a.appendChild(i.firstChild):(l="DIV"===n.enterKey?t.createElement("div"):t.createElement("p"),r.appendChild(l),l.appendChild(i.firstChild)),a=l,s=!0):"#text"===i.firstChild.nodeName&&("\n"===i.firstChild.textContent||i.firstChild.textContent.indexOf("\n")>=0&&""===i.firstChild.textContent.trim())?t.detach(i.firstChild):(r.appendChild(i.firstChild),s=!1)}var h=r.querySelectorAll("img");for(c=0;c<h.length;c++)h[c].classList.contains(ri)||h[c].classList.add(ri),h[c].classList.contains(bn)||h[c].classList.contains(un)||h[c].classList.add(bn)}return r.innerHTML}function O(e){return"DIV"===e.enterKey?e.enableHtmlEncode?"&lt;div&gt;&lt;br/&gt;&lt;/div&gt;":"<div><br/></div>":"BR"===e.enterKey?e.enableHtmlEncode?"&lt;br/&gt;":"<br/>":e.enableHtmlEncode?"&lt;p&gt;&lt;br/&gt;&lt;/p&gt;":"<p><br/></p>"}function L(e){return"<p><br></p>"===e||"&lt;p&gt;&lt;br&gt;&lt;/p&gt;"===e||"<div><br></div>"===e||"&lt;div&gt;&lt;br&gt;&lt;/div&gt;"===e||"<br>"===e||"&lt;br&gt;"===e||""===e}function x(e){return e.replace(/&amp;/g,"&").replace(/&amp;lt;/g,"<").replace(/&lt;/g,"<").replace(/&amp;gt;/g,">").replace(/&gt;/g,">").replace(/&nbsp;/g," ").replace(/&amp;nbsp;/g," ").replace(/&quot;/g,"")}function k(e,n){if(n.enableHtmlSanitizer){var i=t.SanitizeHtmlHelper.beforeSanitize();t.extend(i,i,{cancel:!1,helper:null}),n.trigger("beforeSanitizeHtml",i),i.cancel&&!t.isNullOrUndefined(i.helper)?e=i.helper(e):i.cancel||(e=t.SanitizeHtmlHelper.serializeValue(i,e))}return e}function D(e){for(var t=e.split(","),n=t[0].match(/:(.*?);/)[1],i=atob(t[1]),r=i.length,o=new Uint8Array(r);r--;)o[r]=i.charCodeAt(r);return new Blob([o],{type:n})}function M(e,t,n){for(var i=0;t.length>i;i++)if(t[i].value===n.value||t[i].value===n.subCommand)return e.localeObj.getConstant(t[i].locale);return n.text}function R(e){Bi.forEach(function(t,n){Bi[n].text=M(e,_i,Bi[n])}),Ai.forEach(function(t,n){Ai[n].text=M(e,Wi,Ai[n])}),ji.forEach(function(t,n){ji[n].text=M(e,Vi,ji[n])}),Fi.forEach(function(t,n){Fi[n].text=M(e,Qi,Fi[n])})}function I(){var e=!1;return t.Browser.isDevice&&t.Browser.isIos&&(e=!0),e}function B(e,n){if("BODY"===e.nodeName&&!t.isNullOrUndefined(n)){var i=top.window.document.querySelector(n);t.isNullOrUndefined(i)||i.contentWindow.focus()}}function P(e,t,n,i){var r;if(n){r=t.contentModule.getDocument().querySelector("body")}else r=t.element;if(Object.keys(e).length)for(var o=0,s=Object.keys(e);o<s.length;o++){var a=s[o];if("class"===a)r.classList.add(e[a]);else if("disabled"===a&&"disabled"===e[a])t.enabled=!1,t.setEnable();else if("readonly"===a&&"readonly"===e[a])t.readonly=!0,t.setReadOnly(i);else if("style"===a)r.setAttribute("style",e[a]);else if("tabindex"===a)t.inputElement.setAttribute("tabindex",e[a]);else if("placeholder"===a)t.placeholder=e[a],t.setPlaceHolder();else{["name","required"].indexOf(a)>-1?t.valueContainer.setAttribute(a,e[a]):r.setAttribute(a,e[a])}}}var A="tableclass",U="initial-load",H="content-changed",j="initial-end",F="iframe-click",q="destroy",z="toolbarClick",_="toolbar-refresh",W="refresh-begin",V="toolbar-updated",Q="bind-on-end",K="render-color-picker",G="html-toolbar-click",X="markdown-toolbar-click",Y="destroy-color-picker",J="model-changed",$="keyUp",Z="keyDown",ee="mouseUp",te="toolbarCreated",ne="toolbarRenderComplete",ie="enableFullScreen",re="disableFullScreen",oe="dropDownSelect",se="beforeDropDownItemRender",ae="execCommandCallBack",le="image-toolbar-action",de="link-toolbar-action",ce="resize",pe="resizeStart",he="resizing",ue="resizeStop",me="insertLink",ge="unLink",fe="editLink",be="openLink",ve="actionBegin",ye="actionComplete",Ce="updatedToolbarStatus",Ne="updateToolbarItem",Se="insertImage",Ee="insertCompleted",Te="insertImgLink",we="imgAltText",Oe="delete",Le="caption",xe="imageSize",ke="sourceCode",De="updateSource",Me="beforeDropDownOpen",Re="selection-save",Ie="selection-restore",Be="expandPopupClick",Pe="count",Ae="mouseDown",Ue="sourceCodeMouseDown",He="editAreaClick",je="scroll",Fe="contentscroll",qe="colorPickerChanged",ze="tableColorPickerChanged",_e="focusChange",We="selectAll",Ve="selectRange",Qe="getSelectedHtml",Ke="renderInlineToolbar",Ge="paste-content",Xe="rtl-mode",Ye="createTable",Je="docClick",$e="table-toolbar-action",Ze="checkUndoStack",et="readOnlyMode",tt="moduleDestroy",nt="pasteClean",it="enterHandler",rt="beforeDialogOpen",ot="clearDialogObj",st="beforeDialogClose",at="beforeQuickToolbarOpen",lt="quickToolbarOpen",dt="quickToolbarClose",ct="imageSelected",pt="imageUploading",ht="imageUploadSuccess",ut="imageUploadFailed",mt="imageRemoving",gt="afterImageDelete",ft="xhtmlValidation",bt="beforeImageUpload",vt="resizeInitialized",yt="renderFileManager",Ct="beforeImageDrop",Nt="dynamicModule",St="beforePasteCleanup",Et="afterPasteCleanup",Tt="updateTbItemsStatus",wt="showLinkDialog",Ot="closeLinkDialog",Lt="showImageDialog",xt="closeImageDialog",kt="showTableDialog",Dt="closeTableDialog",Mt="closeTableDialog",Rt="address:empty, article:empty, aside:empty, blockquote:empty,\n details:empty, dd:empty, div:empty, dl:empty, dt:empty, fieldset:empty, footer:empty,form:empty, h1:empty,\n h2:empty, h3:empty, h4:empty, h5:empty, h6:empty, header:empty, hgroup:empty, li:empty, main:empty, nav:empty,\n noscript:empty, output:empty, p:empty, pre:empty, section:empty, td:empty, th:empty",It="a:empty, abbr:empty, acronym:empty, b:empty, bdi:empty, bdo:empty, big:empty, button:empty,\n canvas:empty, cite:empty, code:empty, data:empty, datalist:empty, del:empty, dfn:empty, em:empty, font:empty, i:empty, iframe:empty,\n ins:empty, kbd:empty, label:empty, map:empty, mark:empty, meter:empty, noscript:empty, object:empty, output:empty, picture:empty, progress:empty,\n q:empty, ruby:empty, s:empty, samp:empty, script:empty, select:empty, slot:empty, small:empty, span:empty, strong:empty, strike:empty, sub:empty, sup:empty, svg:empty,\n template:empty, textarea:empty, time:empty, u:empty, tt:empty, var:empty, wbr:empty",Bt="e-richtexteditor",Pt="e-disabled",At="rte-iframe-script-sheet",Ut="rte-iframe-style-sheet",Ht="e-rte-toolbar",jt="e-rte-tb-fixed",Ft="e-rte-tb-float",qt="e-rte-tb-abs-float",zt="e-rte-inline",_t="e-rte-tb-expand",Wt="e-rte-full-screen",Vt="e-rte-quick-toolbar",Qt="e-rte-pop",Kt="e-rte-quick-popup",Gt="e-quick-dropdown",Xt="e-rte-image-popup",Yt="e-rte-inline-popup",Jt="e-rte-inline-dropdown",$t="e-rte-dropdown-popup",Zt="e-rte-dropdown-icons",en="e-rte-dropdown-items",tn="e-rte-dropdown-btn",nn="e-rte-content",rn="e-toolbar-item",on="e-toolbar-wrapper",sn="e-hide",an="e-visible",ln="e-focused",dn="e-remove-white-space",cn="e-imgright",pn="e-imgleft",hn="e-imgcenter",un="e-imgbreak",mn="e-img-caption",gn="e-rte-img-caption",fn="e-caption-inline",bn="e-imginline",vn="e-rte-character-count",yn="e-warning",Cn="e-error",Nn="e-icons",Sn="e-active",En="e-expand-open",Tn="e-rte-elements",wn="e-tbar-btn",On="e-rte-horizontal-separator",Ln="e-tbar-ios-fixed",xn="e-rte-list-primary-content",kn="e-rte-numberformatlist-dropdown",Dn="e-rte-bulletformatlist-dropdown",Mn="e-formats-tbar-btn",Rn="e-font-name-tbar-btn",In="e-font-size-tbar-btn",Bn="e-alignment-tbar-btn",Pn="e-rte-fontcolor-element",An="e-rte-backgroundcolor-element",Un="e-rte-color-content",Hn="e-rte-fontcolor-dropdown",jn="e-rte-backgroundcolor-dropdown",Fn="e-rte-square-palette",qn="e-rte-fontcolor-colorpicker",zn="e-rte-backgroundcolor-colorpicker",_n="e-rte-readonly",Wn="e-cell-select",Vn="e-dashed-border",Qn="e-alternate-border",Kn="e-column-resize",Gn="e-row-resize",Xn="e-table-box",Yn="e-rte-hidden",Jn="e-rte-keepformat",$n="e-rte-removeformat",Zn="e-rte-plainformat",ei="e-rte-pasteok",ti="e-rte-pastecancel",ni="e-rte-dialog-minheight",ii="e-resize-handle",ri="e-rte-image",oi="e-rte-drag-image",si="e-rte-upload-popup",ai="e-popup-open",li="e-upload-files",di="e-rte-dialog-upload",ci="e-rte-resize",pi="e-custom-tile",hi="e-nocolor-item",ui="e-rte-table-border",mi="e-rte-table-resize",gi="e-rte-fixed-tb-expand",fi="e-rte-toolbar-enabled";!function(e){e[e.Toolbar=0]="Toolbar",e[e.Content=1]="Content",e[e.Popup=2]="Popup",e[e.LinkToolbar=3]="LinkToolbar",e[e.TextToolbar=4]="TextToolbar",e[e.ImageToolbar=5]="ImageToolbar",e[e.InlineToolbar=6]="InlineToolbar",e[e.TableToolbar=7]="TableToolbar"}(e.RenderType||(e.RenderType={})),function(e){e.Expand="Expand",e.MultiRow="MultiRow",e.Scrollable="Scrollable"}(e.ToolbarType||(e.ToolbarType={})),function(e){e.InsertLink="InsertLink",e.InsertImage="InsertImage",e.InsertTable="InsertTable"}(e.DialogType||(e.DialogType={}));var bi=["alignments","formats","fontname","fontsize","fontcolor","backgroundcolor","align","display","tablerows","tablecolumns","tablecell","tablecellhorizontalalign","tablecellverticalalign","styles","numberformatlist","bulletformatlist"],vi={alignments:{id:"Alignments",icon:"e-alignments",tooltip:"Alignments",command:"Alignments",subCommand:"Alignments"},justifyleft:{id:"JustifyLeft",icon:"e-justify-left",tooltip:"JustifyLeft",command:"Alignments",subCommand:"JustifyLeft"},justifycenter:{id:"JustifyCenter",icon:"e-justify-center",tooltip:"JustifyCenter",command:"Alignments",subCommand:"JustifyCenter"},justifyright:{id:"JustifyRight",icon:"e-justify-right",tooltip:"JustifyRight",command:"Alignments",subCommand:"JustifyRight"},justifyfull:{id:"JustifyFull",icon:"e-justify-full",tooltip:"JustifyFull",command:"Alignments",subCommand:"JustifyFull"},fontname:{id:"FontName",icon:"e-font-name",tooltip:"Font Name",command:"Font",subCommand:"FontName"},fontsize:{id:"FontSize",icon:"e-font-size",tooltip:"Font Size",command:"Font",subCommand:"FontSize"},fontcolor:{id:"FontColor",icon:"e-font-color",tooltip:"Font Color",command:"Font",subCommand:"FontColor",value:"#ff0000ff"},backgroundcolor:{id:"BackgroundColor",icon:"e-background-color",tooltip:"Background Color",command:"Font",subCommand:"BackgroundColor",value:"#ffff00ff"},bold:{id:"Bold",icon:"e-bold",tooltip:"Bold",command:"Style",subCommand:"Bold"},italic:{id:"Italic",icon:"e-italic",tooltip:"Italic",command:"Style",subCommand:"Italic"},underline:{id:"Underline",icon:"e-underline",tooltip:"Underline",command:"Style",subCommand:"Underline"},strikethrough:{id:"StrikeThrough",icon:"e-strike-through",tooltip:"StrikeThrough",command:"Style",subCommand:"StrikeThrough"},clearformat:{id:"ClearFormat",icon:"e-clear-format",tooltip:"Clear Format",command:"Clear",subCommand:"ClearFormat"},clearall:{id:"ClearAll",icon:"e-clear-all",tooltip:"Clear All",command:"Clear",subCommand:"ClearAll"},cut:{id:"Cut",icon:"e-cut",tooltip:"Cut",command:"ClipBoard",subCommand:"Cut"},copy:{id:"Copy",icon:"e-copy",tooltip:"Copy",command:"ClipBoard",subCommand:"Copy"},paste:{id:"Paste",icon:"e-paste",tooltip:"Paste",command:"ClipBoard",subCommand:"Paste"},unorderedlist:{id:"UnorderedList",icon:"e-unorder-list",tooltip:"Bulleted List",command:"Lists",subCommand:"UL"},orderedlist:{id:"OrderedList",icon:"e-order-list",tooltip:"Numbered List",command:"Lists",subCommand:"OL"},numberformatlist:{id:"NumberFormatList",icon:"e-order-list",tooltip:"Number Format List",command:"NumberFormatList",subCommand:"NumberFormatList"},bulletformatlist:{id:"BulletFormatList",icon:"e-unorder-list",tooltip:"Bullet Format List",command:"BulletFormatList",subCommand:"BulletFormatList"},indent:{id:"Indent",icon:"e-indent",tooltip:"Increase Indent",command:"Indents",subCommand:"Indent"},outdent:{id:"Outdent",icon:"e-outdent",tooltip:"Decrease Indent",command:"Indents",subCommand:"Outdent"},undo:{id:"Undo",icon:"e-undo",tooltip:"Undo",command:"Actions",subCommand:"Undo"},redo:{id:"Redo",icon:"e-redo",tooltip:"Redo",command:"Actions",subCommand:"Redo"},superscript:{id:"SuperScript",icon:"e-super-script",tooltip:"Superscript",command:"Effects",subCommand:"SuperScript"},subscript:{id:"SubScript",icon:"e-sub-script",tooltip:"Subscript",command:"Effects",subCommand:"SubScript"},createlink:{id:"CreateLink",icon:"e-create-link",tooltip:"Insert Hyperlink",command:"Links",subCommand:"CreateLink"},openlink:{id:"OpenLink",icon:"e-open-link",tooltip:"Open Link",command:"Links",subCommand:"OpenLink"},editlink:{id:"EditLink",icon:"e-edit-link",tooltip:"Edit Link",command:"Links",subCommand:"EditLink"},removelink:{id:"RemoveLink",icon:"e-remove-link",tooltip:"Remove Link",command:"Links",subCommand:"RemoveLink"},image:{id:"Image",icon:"e-image",tooltip:"Insert Image",command:"Images",subCommand:"Image"},filemanager:{id:"FileManager",icon:"e-rte-file-manager",tooltip:"File Manager",command:"Files",subCommand:"File"},createtable:{id:"CreateTable",icon:"e-create-table",tooltip:"Create Table",command:"Table",subCommand:"CreateTable"},removetable:{id:"removeTable",icon:"e-remove-table",tooltip:"Remove Table",command:"removeTable",subCommand:"removeTable"},replace:{id:"Replace",icon:"e-replace",tooltip:"Replace",command:"Images",subCommand:"Replace"},align:{id:"Align",icon:"e-align",tooltip:"Align",command:"Images",subCommand:"Align"},caption:{id:"Caption",icon:"e-caption",tooltip:"Image Caption",command:"Images",subCommand:"Caption"},remove:{id:"Remove",icon:"e-remove",tooltip:"Remove",command:"Images",subCommand:"Remove"},openimagelink:{id:"OpenImageLink",icon:"e-open-link",tooltip:"Open Link",command:"Images",subCommand:"OpenImageLink"},editimagelink:{id:"EditImageLink",icon:"e-edit-link",tooltip:"Edit Link",command:"Images",subCommand:"EditImageLink"},removeimagelink:{id:"RemoveImageLink",icon:"e-remove-link",tooltip:"Remove Link",command:"Images",subCommand:"RemoveImageLink"},insertlink:{id:"InsertLink",icon:"e-insert-link",tooltip:"Insert Link",command:"Images",subCommand:"InsertLink"},display:{id:"Display",icon:"e-display",tooltip:"Display",command:"Images",subCommand:"Display"},alttext:{id:"AltText",icon:"e-alt-text",tooltip:"Alternative Text",command:"Images",subCommand:"AltText"},dimension:{id:"Dimension",icon:"e-img-dimension",tooltip:"Change Size",command:"Images",subCommand:"Dimension"},fullscreen:{id:"Maximize",icon:"e-maximize",tooltip:"Maximize",command:"View",subCommand:"Maximize"},maximize:{id:"Maximize",icon:"e-maximize",tooltip:"Maximize",command:"FullScreen",subCommand:"Maximize"},minimize:{id:"Minimize",icon:"e-minimize",tooltip:"Minimize",command:"FullScreen",subCommand:"Minimize"},lowercase:{id:"LowerCase",icon:"e-lower-case",tooltip:"Lower Case",command:"Casing",subCommand:"LowerCase"},uppercase:{id:"UpperCase",icon:"e-upper-case",tooltip:"Upper Case",command:"Casing",subCommand:"UpperCase"},print:{id:"Print",icon:"e-print",tooltip:"Print",command:"Print",subCommand:"Print"},formats:{id:"Formats",icon:"e-formats",tooltip:"Formats",command:"Formats",subCommand:"Formats"},sourcecode:{id:"SourceCode",icon:"e-source-code",tooltip:"Source Code",command:"SourceCode",subCommand:"SourceCode"},preview:{id:"Preview",icon:"e-preview",tooltip:"Preview",command:"Preview",subCommand:"Preview"},viewside:{id:"ViewSide",icon:"e-view-side",tooltip:"ViewSide",command:"ViewSide",subCommand:"ViewSide"},insertcode:{id:"InsertCode",icon:"e-insert-code",tooltip:"Insert Code",command:"Formats",subCommand:"Pre"},tableheader:{id:"TableHeader",icon:"e-table-header",tooltip:"Table Header",command:"Table",subCommand:"TableHeader"},tableremove:{id:"TableRemove",icon:"e-table-remove",tooltip:"Table Remove",command:"Table",subCommand:"TableRemove"},tablerows:{id:"TableRows",icon:"e-table-rows",tooltip:"Table Rows",command:"Table",subCommand:"TableRows"},tablecolumns:{id:"TableColumns",icon:"e-table-columns",tooltip:"Table Columns",command:"Table",subCommand:"TableColumns"},tablecell:{id:"TableCell",icon:"e-table-cell",tooltip:"Table Cell",command:"Table",subCommand:"TableCell"},tablecellbackground:{id:"TableCellBackground",icon:"e-table-cell-background",tooltip:"Table Cell Background",command:"Table",subCommand:"TableCellBackground"},tablecellhorizontalalign:{id:"TableCellHorizontalAlign",icon:"e-table-cell-horizontalAlign",tooltip:"Table Cell HorizontalAlign",command:"Table",subCommand:"TableCellHorizontalAlign"},tablecellverticalalign:{id:"TableCellVerticalAlign",icon:"e-table-cell-verticalAlign",tooltip:"Table Cell VerticalAlign",command:"Table",subCommand:"TableCellVerticalAlign"},tableeditproperties:{id:"TableEditProperties",icon:"e-table-edit-properties",tooltip:"Table Edit Properties",command:"Table",subCommand:"TableEditProperties"},styles:{id:"Styles",icon:"e-table-styles",tooltip:"Styles",command:"Table",subCommand:"Styles"}},yi=[{locale:"alignmentsDropDownLeft",value:"JustifyLeft"},{locale:"alignmentsDropDownCenter",value:"JustifyCenter"},{locale:"alignmentsDropDownRight",value:"JustifyRight"},{locale:"alignmentsDropDownJustify",value:"JustifyFull"}],Ci=[{iconCss:"e-icons e-justify-left",text:"Align Left",command:"Alignments",subCommand:"JustifyLeft"},{iconCss:"e-icons e-justify-center",text:"Align Center",command:"Alignments",subCommand:"JustifyCenter"},{iconCss:"e-icons e-justify-right",text:"Align Right",command:"Alignments",subCommand:"JustifyRight"},{iconCss:"e-icons e-justify-full",text:"Align Justify",command:"Alignments",subCommand:"JustifyFull"}],Ni=[{iconCss:"e-icons e-justify-left",command:"Images",subCommand:"JustifyLeft"},{iconCss:"e-icons e-justify-center",command:"Images",subCommand:"JustifyCenter"},{iconCss:"e-icons e-justify-right",command:"Images",subCommand:"JustifyRight"}],Si=[{locale:"imageDisplayDropDownInline",value:"Inline"},{locale:"imageDisplayDropDownBreak",value:"Break"}],Ei=[{text:"Inline",cssClass:"e-inline",command:"Images",subCommand:"Inline"},{text:"Break",cssClass:"e-break",command:"Images",subCommand:"Break"}],Ti=[{iconCss:"e-icons e-cell-merge",text:"Merge cells",command:"Table",subCommand:"Merge"},{iconCss:"e-icons e-cell-horizontal-split",text:"Horizontal split",command:"Table",subCommand:"HorizontalSplit"},{iconCss:"e-icons e-cell-vertical-split",text:"Vertical split",command:"Table",subCommand:"VerticalSplit"}],wi=[{locale:"tableInsertRowDropDownBefore",value:"InsertRowBefore"},{locale:"tableInsertRowDropDownAfter",value:"InsertRowAfter"},{locale:"tableInsertRowDropDownDelete",value:"DeleteRow"}],Oi=[{iconCss:"e-icons e-insert-row-before",text:"Insert row before",command:"Table",subCommand:"InsertRowBefore"},{iconCss:"e-icons e-insert-row-after",text:"Insert row after",command:"Table",subCommand:"InsertRowAfter"},{iconCss:"e-icons e-delete-row",text:"Delete row",command:"Table",subCommand:"DeleteRow"}],Li=[{locale:"tableInsertColumnDropDownLeft",value:"InsertColumnLeft"},{locale:"tableInsertColumnDropDownRight",value:"InsertColumnRight"},{locale:"tableInsertColumnDropDownDelete",value:"DeleteColumn"}],xi=[{iconCss:"e-icons e-insert-column-left",text:"Insert column left",command:"Table",subCommand:"InsertColumnLeft"},{iconCss:"e-icons e-insert-column-right",text:"Insert column right",command:"Table",subCommand:"InsertColumnRight"},{iconCss:"e-icons e-delete-column",text:"Delete column",command:"Table",subCommand:"DeleteColumn"}],ki=[{locale:"tableVerticalAlignDropDownTop",value:"AlignTop"},{locale:"tableVerticalAlignDropDownMiddle",value:"AlignMiddle"},{locale:"tableVerticalAlignDropDownBottom",value:"AlignBottom"}],Di=[{iconCss:"e-icons e-align-top",text:"Align Top",command:"Table",subCommand:"AlignTop"},{iconCss:"e-icons e-align-middle",text:"Align Middle",command:"Table",subCommand:"AlignMiddle"},{iconCss:"e-icons e-align-bottom",text:"Align Bottom",command:"Table",subCommand:"AlignBottom"}],Mi=[{locale:"tableStylesDropDownDashedBorder",value:"Dashed"},{locale:"tableStylesDropDownAlternateRows",value:"Alternate"}],Ri=[{text:"Dashed Borders",cssClass:"e-dashed-borders",command:"Table",subCommand:"Dashed"},{text:"Alternate Rows",cssClass:"e-alternate-rows",command:"Table",subCommand:"Alternate"}],Ii=["Bold","Italic","Underline","|","Formats","Alignments","OrderedList","UnorderedList","|","CreateLink","Image","|","SourceCode","Undo","Redo"],Bi=[{cssClass:"e-segoe-ui",text:"Segoe UI",command:"Font",subCommand:"FontName",value:"Segoe UI"},{cssClass:"e-arial",text:"Arial",command:"Font",subCommand:"FontName",value:"Arial,Helvetica,sans-serif"},{cssClass:"e-georgia",text:"Georgia",command:"Font",subCommand:"FontName",value:"Georgia,serif"},{cssClass:"e-impact",text:"Impact",command:"Font",subCommand:"FontName",value:"Impact,Charcoal,sans-serif"},{cssClass:"e-tahoma",text:"Tahoma",command:"Font",subCommand:"FontName",value:"Tahoma,Geneva,sans-serif"},{cssClass:"e-times-new-roman",text:"Times New Roman",command:"Font",subCommand:"FontName",value:"Times New Roman,Times,serif"},{cssClass:"e-verdana",text:"Verdana",command:"Font",subCommand:"FontName",value:"Verdana,Geneva,sans-serif"}],Pi=[{text:"8 pt",value:"8pt"},{text:"10 pt",value:"10pt"},{text:"12 pt",value:"12pt"},{text:"14 pt",value:"14pt"},{text:"18 pt",value:"18pt"},{text:"24 pt",value:"24pt"},{text:"36 pt",value:"36pt"}],Ai=[{cssClass:"e-paragraph",text:"Paragraph",command:"Formats",subCommand:"P",value:"P"},{cssClass:"e-code",text:"Code",command:"Formats",subCommand:"Pre",value:"Pre"},{cssClass:"e-quote",text:"Quotation",command:"Formats",subCommand:"BlockQuote",value:"BlockQuote"},{cssClass:"e-h1",text:"Heading 1",command:"Formats",subCommand:"H1",value:"H1"},{cssClass:"e-h2",text:"Heading 2",command:"Formats",subCommand:"H2",value:"H2"},{cssClass:"e-h3",text:"Heading 3",command:"Formats",subCommand:"H3",value:"H3"},{cssClass:"e-h4",text:"Heading 4",command:"Formats",subCommand:"H4",value:"H4"}],Ui={Custom:["","#000000","#e7e6e6","#44546a","#4472c4","#ed7d31","#a5a5a5","#ffc000","#70ad47","#ff0000","#f2f2f2","#808080","#cfcdcd","#d5dce4","#d9e2f3","#fbe4d5","#ededed","#fff2cc","#e2efd9","#ffcccc","#d9d9d9","#595959","#aeaaaa","#acb9ca","#b4c6e7","#f7caac","#dbdbdb","#ffe599","#c5e0b3","#ff8080","#bfbfbf","#404040","#747070","#8496b0","#8eaadb","#f4b083","#c9c9c9","#ffd966","#a8d08d","#ff3333","#a6a6a6","#262626","#3b3838","#323e4f","#2f5496","#c45911","#7b7b7b","#bf8f00","#538135","#b30000","#7f7f7f","#0d0d0d","#161616","#212934","#1f3763","#823b0b","#525252","#7f5f00","#375623","#660000"]},Hi={Custom:["","#000000","#ffff00","#00ff00","#00ffff","#0000ff","#ff0000","#000080","#800080","#996633","#f2f2f2","#808080","#ffffcc","#b3ffb3","#ccffff","#ccccff","#ffcccc","#ccccff","#ff80ff","#f2e6d9","#d9d9d9","#595959","#ffff80","#80ff80","#b3ffff","#8080ff","#ff8080","#8080ff","#ff00ff","#dfbf9f","#bfbfbf","#404040","#ffff33","#33ff33","#33ffff","#3333ff","#ff3333","#0000b3","#b300b3","#c68c53","#a6a6a6","#262626","#e6e600","#00b300","#009999","#000099","#b30000","#000066","#660066","#86592d","#7f7f7f","#0d0d0d","#999900","#006600","#006666","#000066","#660000","#00004d","#4d004d","#734d26"]},ji=[{text:"None",command:"Lists",subCommand:"NumberFormatList",value:"none"},{text:"Number",command:"Lists",subCommand:"NumberFormatList",value:"decimal"},{text:"Lower Greek",command:"Lists",subCommand:"NumberFormatList",value:"lowerGreek"},{text:"Lower Roman",command:"Lists",subCommand:"NumberFormatList",value:"lowerRoman"},{text:"Upper Alpha",command:"Lists",subCommand:"NumberFormatList",value:"upperAlpha"},{text:"Lower Alpha",command:"Lists",subCommand:"NumberFormatList",value:"lowerAlpha"},{text:"Upper Roman",command:"Lists",subCommand:"NumberFormatList",value:"upperRoman"}],Fi=[{text:"None",command:"Lists",subCommand:"BulletFormatList",value:"none"},{text:"Disc",command:"Lists",subCommand:"BulletFormatList",value:"disc"},{text:"Circle",command:"Lists",subCommand:"BulletFormatList",value:"circle"},{text:"Square",command:"Lists",subCommand:"BulletFormatList",value:"square"}],qi={alignments:"Alignments",justifyLeft:"Align Left",justifyCenter:"Align Center",justifyRight:"Align Right",justifyFull:"Align Justify",fontName:"Font Name",fontSize:"Font Size",fontColor:"Font Color",backgroundColor:"Background Color",bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",clearFormat:"Clear Format",clearAll:"Clear All",cut:"Cut",copy:"Copy",paste:"Paste",unorderedList:"Bulleted List",orderedList:"Numbered List",indent:"Increase Indent",outdent:"Decrease Indent",undo:"Undo",redo:"Redo",superscript:"Superscript",subscript:"Subscript",createLink:"Insert Link",openLink:"Open Link",editLink:"Edit Link",removeLink:"Remove Link",image:"Insert Image",replace:"Replace",align:"Align",caption:"Image Caption",remove:"Remove",insertLink:"Insert Link",display:"Display",altText:"Alternative Text",dimension:"Change Size",fullscreen:"Maximize",maximize:"Maximize",minimize:"Minimize",lowerCase:"Lower Case",upperCase:"Upper Case",print:"Print",formats:"Formats",numberFormatList:"Number Format List",bulletFormatList:"Bullet Format List",sourcecode:"Code View",preview:"Preview",viewside:"ViewSide",insertCode:"Insert Code",linkText:"Display Text",linkTooltipLabel:"Title",linkWebUrl:"Web Address",linkTitle:"Enter a title",linkurl:"http://example.com",linkOpenInNewWindow:"Open Link in New Window",linkHeader:"Insert Link",dialogInsert:"Insert",dialogCancel:"Cancel",dialogUpdate:"Update",imageHeader:"Insert Image",imageLinkHeader:"You can also provide a link from the web",mdimageLink:"Please provide a URL for your image",imageUploadMessage:"Drop image here or browse to upload",imageDeviceUploadMessage:"Click here to upload",imageAlternateText:"Alternate Text",alternateHeader:"Alternative Text",browse:"Browse",imageUrl:"http://example.com/image.png",imageCaption:"Caption",imageSizeHeader:"Image Size",imageHeight:"Height",imageWidth:"Width",textPlaceholder:"Enter Text",inserttablebtn:"Insert Table",tabledialogHeader:"Insert Table",tableWidth:"Width",cellpadding:"Cell Padding",cellspacing:"Cell Spacing",columns:"Number of columns",rows:"Number of rows",tableRows:"Table Rows",tableColumns:"Table Columns",tableCellHorizontalAlign:"Table Cell Horizontal Align",tableCellVerticalAlign:"Table Cell Vertical Align",createTable:"Create Table",removeTable:"Remove Table",tableHeader:"Table Header",tableRemove:"Table Remove",tableCellBackground:"Table Cell Background",tableEditProperties:"Table Edit Properties",styles:"Styles",insertColumnLeft:"Insert Column Left",insertColumnRight:"Insert Column Right",deleteColumn:"Delete Column",insertRowBefore:"Insert Row Before",insertRowAfter:"Insert Row After",deleteRow:"Delete Row",tableEditHeader:"Edit Table",TableHeadingText:"Heading",TableColText:"Col",imageInsertLinkHeader:"Insert Link",editImageHeader:"Edit Image",alignmentsDropDownLeft:"Align Left",alignmentsDropDownCenter:"Align Center",alignmentsDropDownRight:"Align Right",alignmentsDropDownJustify:"Align Justify",imageDisplayDropDownInline:"Inline",imageDisplayDropDownBreak:"Break",tableInsertRowDropDownBefore:"Insert row before",tableInsertRowDropDownAfter:"Insert row after",tableInsertRowDropDownDelete:"Delete row",tableInsertColumnDropDownLeft:"Insert column left",tableInsertColumnDropDownRight:"Insert column right",tableInsertColumnDropDownDelete:"Delete column",tableVerticalAlignDropDownTop:"Align Top",tableVerticalAlignDropDownMiddle:"Align Middle",tableVerticalAlignDropDownBottom:"Align Bottom",tableStylesDropDownDashedBorder:"Dashed Borders",tableStylesDropDownAlternateRows:"Alternate Rows",pasteFormat:"Paste Format",pasteFormatContent:"Choose the formatting action",plainText:"Plain Text",cleanFormat:"Clean",keepFormat:"Keep",pasteDialogOk:"OK",pasteDialogCancel:"Cancel",fileManager:"File Manager",fileDialogHeader:"File Browser",formatsDropDownParagraph:"Paragraph",formatsDropDownCode:"Code",formatsDropDownQuotation:"Quotation",formatsDropDownHeading1:"Heading 1",formatsDropDownHeading2:"Heading 2",formatsDropDownHeading3:"Heading 3",formatsDropDownHeading4:"Heading 4",fontNameSegoeUI:"Segoe UI",fontNameArial:"Arial",fontNameGeorgia:"Georgia",fontNameImpact:"Impact",fontNameTahoma:"Tahoma",fontNameTimesNewRoman:"Times New Roman",fontNameVerdana:"Verdana",numberFormatListNumber:"Number",numberFormatListLowerAlpha:"LowerAlpha",numberFormatListUpperAlpha:"UpperAlpha",numberFormatListLowerRoman:"LowerRoman",numberFormatListUpperRoman:"UpperRoman",numberFormatListLowerGreek:"LowerGreek",bulletFormatListDisc:"Disc",bulletFormatListCircle:"Circle",bulletFormatListSquare:"Square",numberFormatListNone:"None",bulletFormatListNone:"None"},zi={alignments:"alignments",justifyleft:"justifyLeft",justifycenter:"justifyCenter",justifyright:"justifyRight",justifyfull:"justifyFull",fontname:"fontName",fontsize:"fontSize",fontcolor:"fontColor",backgroundcolor:"backgroundColor",bold:"bold",italic:"italic",underline:"underline",strikethrough:"strikethrough",clearformat:"clearFormat",clearall:"clearAll",cut:"cut",copy:"copy",paste:"paste",unorderedlist:"unorderedList",orderedlist:"orderedList",indent:"indent",outdent:"outdent",undo:"undo",redo:"redo",superscript:"superscript",subscript:"subscript",createlink:"createLink",openlink:"openLink",editlink:"editLink",removelink:"removeLink",openimagelink:"openLink",editimagelink:"editLink",removeimagelink:"removeLink",image:"image",replace:"replace",align:"align",caption:"caption",remove:"remove",insertlink:"insertLink",display:"display",alttext:"altText",dimension:"dimension",fullscreen:"fullscreen",maximize:"maximize",minimize:"minimize",lowercase:"lowerCase",uppercase:"upperCase",print:"print",formats:"formats",numberformatlist:"numberFormatList",bulletformatlist:"bulletFormatList",sourcecode:"sourcecode",preview:"preview",viewside:"viewside",insertcode:"insertCode",tablerows:"tableRows",tablecolumns:"tableColumns",tablecellhorizontalalign:"tableCellHorizontalAlign",tablecellverticalalign:"tableCellVerticalAlign",createtable:"createTable",removetable:"removeTable",tableheader:"tableHeader",tableremove:"tableRemove",tablecellbackground:"tableCellBackground",tableeditproperties:"tableEditProperties",styles:"styles",insertcolumnleft:"insertColumnLeft",insertcolumnright:"insertColumnRight",deletecolumn:"deleteColumn",aligntop:"AlignTop",alignmiddle:"AlignMiddle",alignbottom:"AlignBottom",insertrowbefore:"insertRowBefore",insertrowafter:"insertRowAfter",deleterow:"deleteRow"},_i=[{locale:"fontNameSegoeUI",value:"Segoe UI"},{locale:"fontNameArial",value:"Arial,Helvetica,sans-serif"},{locale:"fontNameGeorgia",value:"Georgia,serif"},{locale:"fontNameImpact",value:"Impact,Charcoal,sans-serif"},{locale:"fontNameTahoma",value:"Tahoma,Geneva,sans-serif"},{locale:"fontNameTimesNewRoman",value:"Times New Roman,Times,serif"},{locale:"fontNameVerdana",value:"Verdana,Geneva,sans-serif"}],Wi=[{locale:"formatsDropDownParagraph",value:"P"},{locale:"formatsDropDownCode",value:"Pre"},{locale:"formatsDropDownQuotation",value:"BlockQuote"},{locale:"formatsDropDownHeading1",value:"H1"},{locale:"formatsDropDownHeading2",value:"H2"},{locale:"formatsDropDownHeading3",value:"H3"},{locale:"formatsDropDownHeading4",value:"H4"}],Vi=[{locale:"numberFormatListNone",value:"none"},{locale:"numberFormatListNumber",value:"decimal"},{locale:"numberFormatListLowerAlpha",value:"lower-alpha"},{locale:"numberFormatListUpperAlpha",value:"upper-alpha"},{locale:"numberFormatListLowerRoman",value:"lower-roman"},{locale:"numberFormatListUpperRoman",value:"upper-roman"},{locale:"numberFormatListLowerGreek",value:"lower-greek"}],Qi=[{locale:"bulletFormatListNone",value:"none"},{locale:"bulletFormatListDisc",value:"disc"},{locale:"bulletFormatListCircle",value:"circle"},{locale:"bulletFormatListSquare",value:"square"}],Ki=["Undo","Redo"],Gi=["a","abbr","acronym","audio","b","bdi","bdo","big","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","font","i","iframe","img","input","ins","kbd","label","map","mark","meter","noscript","object","output","picture","progress","q","ruby","s","samp","script","select","slot","small","span","strong","strike","sub","sup","svg","template","textarea","time","u","tt","var","video","wbr"],Xi=function(){function e(e){this.parent=e,this.wireEvent()}return e.prototype.wireEvent=function(){this.parent.on(q,this.unWireEvent,this)},e.prototype.unWireEvent=function(){this.parent.off(q,this.unWireEvent),this.popupOverlay&&t.EventHandler.remove(this.popupOverlay,"click touchmove",this.onPopupOverlay),this.removePopupContainer()},e.prototype.toolbarBeforeCreate=function(e){"Extended"===this.mode&&(e.enableCollision=!1)},e.prototype.toolbarCreated=function(){this.parent.notify(te,this)},e.prototype.toolbarClicked=function(e){this.parent.enabled&&(this.parent.readonly&&!t.isNullOrUndefined(e.item)||this.parent.notify(z,e),this.parent.trigger("toolbarClick",e))},e.prototype.dropDownSelected=function(e){this.parent.notify(oe,e),this.onPopupOverlay()},e.prototype.beforeDropDownItemRender=function(e){!this.parent.readonly&&this.parent.enabled&&this.parent.notify(se,e)},e.prototype.dropDownOpen=function(e){if(e.element.parentElement.getAttribute("id").indexOf("TableCell")>-1&&!t.isNullOrUndefined(e.element.parentElement.querySelector(".e-cell-merge"))&&(!t.isNullOrUndefined(e.element.parentElement.querySelector(".e-cell-horizontal-split"))||!t.isNullOrUndefined(e.element.parentElement.querySelector(".e-cell-vertical-split")))){var n=e.element.querySelectorAll("li");1===this.parent.inputElement.querySelectorAll(".e-cell-select").length?(t.addClass([n[0]],"e-disabled"),t.removeClass([n[1],n[2]],"e-disabled")):this.parent.inputElement.querySelectorAll(".e-cell-select").length>1&&(t.removeClass([n[0]],"e-disabled"),t.addClass([n[1],n[2]],"e-disabled"))}t.Browser.isDevice&&!e.element.parentElement.classList.contains(Gt)&&this.popupModal(e.element.parentElement),this.parent.notify(Re,e)},e.prototype.dropDownClose=function(e){this.removePopupContainer(),this.parent.notify(Ie,e)},e.prototype.removePopupContainer=function(){if(t.Browser.isDevice&&!t.isNullOrUndefined(this.popupContainer)){var e=this.popupContainer.querySelector(".e-dropdown-popup.e-tbar-btn.e-control");e&&(this.popupContainer.parentNode.insertBefore(e,this.popupContainer.nextSibling),e.style.removeProperty("position"),t.removeClass([e],"e-popup-modal")),t.detach(this.popupContainer),this.popupContainer=void 0}},e.prototype.renderToolbar=function(e){this.setPanel(e.target),this.renderPanel(),this.mode=e.overflowMode,e.rteToolbarObj.toolbarObj=new n.Toolbar({items:e.items,width:"100%",overflowMode:e.overflowMode,beforeCreate:this.toolbarBeforeCreate.bind(this),created:this.toolbarCreated.bind(this),clicked:this.toolbarClicked.bind(this),enablePersistence:e.enablePersistence,enableRtl:e.enableRtl,cssClass:e.cssClass}),e.rteToolbarObj.toolbarObj.isStringTemplate=!0,e.rteToolbarObj.toolbarObj.createElement=this.parent.createElement,e.rteToolbarObj.toolbarObj.appendTo(e.target)},e.prototype.renderDropDownButton=function(e){var n,r=this;e.element.classList.add(tn),n=e.cssClass+" "+Tn+" "+wn,this.parent.inlineMode.enable&&t.Browser.isDevice&&(n=n+" "+Jt);var o=this,s=new i.DropDownButton({items:e.items,iconCss:e.iconCss,cssClass:n,content:e.content,enablePersistence:this.parent.enablePersistence,enableRtl:this.parent.enableRtl,select:this.dropDownSelected.bind(this),beforeOpen:function(e){if(!o.parent.readonly&&o.parent.enabled){for(var n=0;n<e.element.childNodes.length;n++){var i=r.parent.createElement("div");i.innerHTML=s.content.trim(),""!==i.textContent.trim()&&e.element.childNodes[n].textContent.trim()===i.textContent.trim()?e.element.childNodes[n].classList.contains("e-active")||t.addClass([e.element.childNodes[n]],"e-active"):t.removeClass([e.element.childNodes[n]],"e-active")}o.parent.notify(Me,e)}else e.cancel=!0},close:this.dropDownClose.bind(this),open:this.dropDownOpen.bind(this),beforeItemRender:this.beforeDropDownItemRender.bind(this)});s.isStringTemplate=!0,s.createElement=o.parent.createElement,s.appendTo(e.element),e.element.tabIndex=-1;return document.getElementById(s.element.id+"-popup").setAttribute("aria-owns",this.parent.getID()),s},e.prototype.renderListDropDown=function(e){var t=this,n=Tn+" "+wn+(this.parent.inlineMode?" "+Jt:"");n+=" "+("NumberFormatList"===e.itemName?kn:Dn);var r=t.parent.createElement("span",{className:xn}),o=t.parent.createElement("span",{className:e.cssClass});r.appendChild(o);var s=new i.DropDownButton({items:e.items,cssClass:n,content:e.content,enablePersistence:this.parent.enablePersistence,enableRtl:this.parent.enableRtl,select:this.dropDownSelected.bind(this),beforeOpen:function(e){if(!t.parent.readonly&&t.parent.enabled){var n=e.event?e.event.target:null;t.currentElement=s.element,t.currentDropdown=s,e.event&&"click"===e.event.type&&(n.classList.contains(xn)||n.parentElement.classList.contains(xn))?e.cancel=!0:t.parent.notify(Me,e)}else e.cancel=!0},close:this.dropDownClose.bind(this),open:this.dropDownOpen.bind(this),beforeItemRender:this.beforeDropDownItemRender.bind(this)});s.isStringTemplate=!0,s.createElement=t.parent.createElement,s.appendTo(e.element),e.element.tabIndex=-1;return document.getElementById(s.element.id+"-popup").setAttribute("aria-owns",this.parent.getID()),1===e.element.childElementCount&&s.element.insertBefore(r,s.element.querySelector(".e-caret")),e.element.tabIndex=-1,s.element.removeAttribute("type"),s},e.prototype.onPopupOverlay=function(e){t.isNullOrUndefined(this.popupOverlay)||(t.closest(this.popupOverlay,".e-popup-container").style.display="none",this.popupOverlay.style.display="none",t.removeClass([this.popupOverlay],"e-popup-overlay"))},e.prototype.setIsModel=function(e){t.closest(e,".e-popup-container")?(e.parentElement.style.display="flex",this.popupOverlay=e.nextElementSibling,this.popupOverlay.style.display="block",t.addClass([this.popupOverlay],"e-popup-overlay")):(this.popupContainer=this.parent.createElement("div",{className:"e-rte-modal-popup e-popup-container e-center"}),e.parentNode.insertBefore(this.popupContainer,e),this.popupContainer.appendChild(e),this.popupContainer.style.zIndex=e.style.zIndex,this.popupContainer.style.display="flex",e.style.position="relative",t.addClass([e],"e-popup-modal"),this.popupOverlay=this.parent.createElement("div",{className:"e-popup-overlay"}),this.popupOverlay.style.zIndex=(parseInt(e.style.zIndex,null)-1).toString(),this.popupOverlay.style.display="block",this.popupContainer.appendChild(this.popupOverlay),t.EventHandler.add(this.popupOverlay,"click touchmove",this.onPopupOverlay,this))},e.prototype.paletteSelection=function(e,n){var i=e.element.querySelector(".e-control.e-colorpicker"),r=[].slice.call(t.selectAll(".e-tile",i.parentElement));t.removeClass(r,"e-selected");var o=n.querySelector("."+Tn).style.borderBottomColor;r.filter(function(e){e.style.backgroundColor===o&&t.addClass([e],"e-selected")})},e.prototype.renderColorPickerDropDown=function(e,n,r,s){var a=this,l=this,d=Tn+" "+wn+(this.parent.inlineMode?" "+Jt:"");d+=" "+("backgroundcolor"===n?jn:Hn),d+=" "+this.parent.cssClass;var p,h=l.parent.createElement("span",{className:Un}),u=l.parent.createElement("span",{className:e.cssClass}),m=t.isNullOrUndefined(s)?l.parent.backgroundColor.default:s;u.style.borderBottomColor="backgroundcolor"===n?m:l.parent.fontColor.default,h.appendChild(u);var g=new i.DropDownButton({target:r.element.parentElement,cssClass:d,enablePersistence:this.parent.enablePersistence,enableRtl:this.parent.enableRtl,beforeOpen:function(n){if(!l.parent.readonly&&l.parent.enabled){var i=n.event?n.event.target:null;if(l.currentElement=g.element,l.currentDropdown=g,l.paletteSelection(n,l.currentElement),n.event&&"click"===n.event.type&&(i.classList.contains(Un)||i.parentElement.classList.contains(Un))){n.cancel=!0;var r=i.classList.contains(Tn)?i.style.borderBottomColor:i.querySelector("."+Tn).style.borderBottomColor;l.parent.notify(Ie,{});var s=(p=l.parent.formatter.editorManager.nodeSelection.getRange(l.parent.contentModule.getDocument())).startContainer.parentNode,a=t.closest(p.startContainer.parentNode,"table");("TD"===p.startContainer.nodeName||"TH"===p.startContainer.nodeName||t.closest(p.startContainer.parentNode,"td,th")||l.parent.iframeSettings.enable&&!c(s.ownerDocument.querySelector("body"),"e-lib"))&&p.collapsed&&"BackgroundColor"===e.subCommand&&t.closest(a,"."+Bt)?l.parent.notify(ze,{item:{command:e.command,subCommand:e.subCommand,value:r}}):l.parent.notify(qe,{item:{command:e.command,subCommand:e.subCommand,value:r}})}else{var d=n.element.querySelector(".e-control.e-colorpicker"),h=t.getInstance(d,o.ColorPicker);h.showButtons=!n.element.querySelector(".e-color-palette"),h.dataBind(),n.element.onclick=function(e){e.target.classList.contains("e-cancel")&&g.toggle()}}}else n.cancel=!0},open:function(e){a.setColorPickerContentWidth(r);var n,i=e.element.querySelector(".e-control.e-colorpicker");(n=e.element.querySelector(".e-color-palette")?i.parentElement.querySelector(".e-palette"):i.parentElement.querySelector("e-handler"))&&n.focus(),t.Browser.isDevice&&a.popupModal(e.element.parentElement),a.pickerRefresh(e)},beforeClose:function(n){var i=n.event?n.event.target:null;if(n.event&&"click"===n.event.type&&(i.classList.contains(Un)||i.parentElement.classList.contains(Un))){var r=i.classList.contains(Tn)?i.style.borderBottomColor:i.querySelector("."+Tn).style.borderBottomColor;("TD"===(p=l.parent.formatter.editorManager.nodeSelection.getRange(l.parent.contentModule.getDocument())).startContainer.nodeName||"TH"===p.startContainer.nodeName||t.closest(p.startContainer.parentNode,"td,th"))&&p.collapsed?l.parent.notify(ze,{item:{command:e.command,subCommand:e.subCommand,value:r}}):l.parent.notify(qe,{item:{command:e.command,subCommand:e.subCommand,value:r}})}else;},close:function(e){l.parent.notify(Ie,{});var n=t.closest(e.element.parentElement,".e-popup-container");if(n&&(n.style.display="none",n.lastElementChild.style.display="none",t.removeClass([n.lastElementChild],"e-popup-overlay")),t.Browser.isDevice&&!t.isNullOrUndefined(n)){var i=n.querySelector(".e-dropdown-popup.e-tbar-btn.e-control");i&&(n.parentNode.insertBefore(i,n.nextSibling),i.style.removeProperty("position"),t.removeClass([i],"e-popup-modal")),t.detach(n),l.popupContainer=void 0}}});g.isStringTemplate=!0,g.createElement=l.parent.createElement,e.element.setAttribute("role","button"),g.appendTo(e.element);return document.getElementById(g.element.id+"-popup").setAttribute("aria-owns",this.parent.getID()),g.element.insertBefore(h,g.element.querySelector(".e-caret")),e.element.tabIndex=-1,g.element.removeAttribute("type"),g.element.onmousedown=function(){l.parent.notify(Re,{})},g.element.onkeydown=function(){l.parent.notify(Re,{})},g},e.prototype.pickerRefresh=function(e){if("Picker"===this.parent.backgroundColor.mode){var n=e.element.parentElement;n.style.width=(n.offsetWidth+5).toString()+"px",t.getInstance(n,r.Popup).refreshPosition(n),n.style.width=(n.offsetWidth-5).toString()+"px"}},e.prototype.popupModal=function(e){var n=t.getInstance(e,r.Popup);n.relateTo=document.body,n.position={X:0,Y:0},n.targetType="container",n.collision={X:"fit",Y:"fit"},n.offsetY=4,n.dataBind(),this.setIsModel(e)},e.prototype.setColorPickerContentWidth=function(e){var n=e.element.nextSibling;if("0px"===n.style.width){n.style.width="";var i=parseInt(getComputedStyle(n).borderBottomWidth,10);n.style.width=t.formatUnit(n.children[0].offsetWidth+i+i)}},e.prototype.renderColorPicker=function(e,n){var i=this,r=this,s=new o.ColorPicker({enablePersistence:this.parent.enablePersistence,enableRtl:this.parent.enableRtl,inline:!0,value:"#fff",created:function(){var e="backgroundcolor"===n?r.parent.backgroundColor.default:r.parent.fontColor.default;s.setProperties({value:e})},mode:"backgroundcolor"===n?r.parent.backgroundColor.mode:r.parent.fontColor.mode,modeSwitcher:"backgroundcolor"===n?r.parent.backgroundColor.modeSwitcher:r.parent.fontColor.modeSwitcher,beforeTileRender:function(e){if(e.element.classList.add(Fn),e.element.classList.add(pi),!t.isNullOrUndefined(i.parent.cssClass))for(var n=i.parent.cssClass.split(" "),r=0;r<n.length;r++)""!==n[r].trim()&&e.element.classList.add(n[r]);""===e.value&&e.element.classList.add(hi)},change:function(n){var i=n.currentValue.rgba;n.item={command:e.command,subCommand:e.subCommand,value:i},r.parent.notify(Ie,{}),r.currentElement.querySelector("."+Tn).style.borderBottomColor=i;var o=r.parent.formatter.editorManager.nodeSelection.getRange(r.parent.contentModule.getDocument()),s=t.closest(o.startContainer.parentNode,"table");("TD"===o.startContainer.nodeName||"TH"===o.startContainer.nodeName||"BODY"===o.startContainer.nodeName||t.closest(o.startContainer.parentNode,"td,th"))&&o.collapsed&&"BackgroundColor"===e.subCommand&&t.closest(s,"."+Bt)?r.parent.notify(ze,n):r.parent.notify(qe,n),r.currentDropdown.toggle()},beforeModeSwitch:function(e){""===s.value&&s.setProperties({value:"Picker"===e.mode?"#008000ff":""},!0),s.showButtons="Palette"!==e.mode}});return s.isStringTemplate=!0,s.columns="backgroundcolor"===n?this.parent.backgroundColor.columns:this.parent.fontColor.columns,s.presetColors="backgroundcolor"===n?this.parent.backgroundColor.colorCode:this.parent.fontColor.colorCode,s.cssClass=("backgroundcolor"===n?zn:qn)+" "+e.cssClass,s.createElement=this.parent.createElement,s.appendTo(document.getElementById(e.target)),s},e.prototype.renderPanel=function(){this.getPanel().classList.add(Ht)},e.prototype.getPanel=function(){return this.toolbarPanel},e.prototype.setPanel=function(e){this.toolbarPanel=e},e}(),Yi=function(){function n(e,n){this.tools={},this.parent=e,this.locator=n,this.renderFactory=this.locator.getService("rendererFactory"),this.addEventListener(),this.parent.toolbarSettings&&Object.keys(this.parent.toolbarSettings.itemConfigs).length>0?t.extend(this.tools,vi,E(this.parent.toolbarSettings.itemConfigs),!0):this.tools=vi}return n.prototype.addEventListener=function(){this.parent.on(Xe,this.setRtl,this),this.parent.on(Mt,this.setCssClass,this),this.parent.on(q,this.removeEventListener,this)},n.prototype.removeEventListener=function(){this.parent.off(Xe,this.setRtl),this.parent.off(Mt,this.setCssClass),this.parent.off(q,this.removeEventListener)},n.prototype.setCssClass=function(e){t.isNullOrUndefined(this.toolbarObj)||(t.isNullOrUndefined(e.oldCssClass)?this.toolbarObj.setProperties({cssClass:(this.toolbarObj.cssClass+" "+e.cssClass).trim()}):this.toolbarObj.setProperties({cssClass:(this.toolbarObj.cssClass.replace(e.oldCssClass,"").trim()+" "+e.cssClass).trim()}))},n.prototype.setRtl=function(e){t.isNullOrUndefined(this.toolbarObj)||this.toolbarObj.setProperties({enableRtl:e.enableRtl})},n.prototype.getClass=function(e){var t;switch(e){case"fontsize":t="e-rte-inline-size-template";break;case"fontcolor":case"backgroundcolor":t="e-rte-inline-color-template";break;default:t="e-rte-inline-template"}return t},n.prototype.getTemplateObject=function(e,t){var n;switch(e){case"fontcolor":case"backgroundcolor":case"numberformatlist":case"bulletformatlist":n="span";break;default:n="button"}return{command:this.tools[e.toLocaleLowerCase()].command,subCommand:this.tools[e.toLocaleLowerCase()].subCommand,template:this.parent.createElement(n,{id:this.parent.getID()+"_"+t+"_"+this.tools[e.toLocaleLowerCase()].id}).outerHTML,cssClass:this.parent.inlineMode.enable?this.getClass(e):"",tooltipText:g(e,this.locator)}},n.prototype.getObject=function(e,t){var n=e.toLowerCase();if(-1!==bi.indexOf(n))return this.getTemplateObject(n,t);switch(n){case"|":return{type:"Separator"};case"-":return{type:"Separator",cssClass:On};default:return{id:this.parent.getID()+"_"+t+"_"+this.tools[n.toLocaleLowerCase()].id,prefixIcon:this.tools[n.toLocaleLowerCase()].icon,tooltipText:g(n,this.locator),command:this.tools[n.toLocaleLowerCase()].command,subCommand:this.tools[n.toLocaleLowerCase()].subCommand}}},n.prototype.getItems=function(e,n){var i=this;if(this.parent.toolbarSettings.items.length<1)return[];for(var r=[],o=function(e){switch(typeof e){case"string":r.push(s.getObject(e,n));break;default:if(!t.isNullOrUndefined(e.click)){var o=e,a=o.click;o.click=function(){o.undo&&0===i.parent.formatter.getUndoRedoStack().length&&i.parent.formatter.saveData(),a.call(i),i.parent.formatter.getUndoRedoStack()[i.parent.formatter.getUndoRedoStack().length-1].text.trim()!==i.parent.inputElement.innerHTML.trim()&&o.undo&&i.parent.formatter.saveData()}}r.push(e)}},s=this,a=0,l=e;a<l.length;a++){o(l[a])}return r},n.prototype.getToolbarOptions=function(e){return{target:e.target,rteToolbarObj:this,items:this.getItems(e.items,e.container),overflowMode:e.mode,enablePersistence:this.parent.enablePersistence,enableRtl:this.parent.enableRtl,cssClass:e.cssClass}},n.prototype.render=function(t){this.toolbarRenderer=this.renderFactory.getRenderer(e.RenderType.Toolbar),this.toolbarRenderer.renderToolbar(this.getToolbarOptions(t))},n}(),Ji=function(){function n(e,t){this.parent=e,this.locator=t,this.renderFactory=this.locator.getService("rendererFactory"),this.addEventListener()}return n.prototype.initializeInstance=function(){this.toolbarRenderer=this.renderFactory.getRenderer(e.RenderType.Toolbar)},n.prototype.beforeRender=function(e){var n=e.item;n.cssClass&&t.addClass([e.element],n.cssClass),"Alignments"!==n.command&&"JustifyLeft"!==n.subCommand&&"JustifyRight"!==n.subCommand&&"JustifyCenter"!==n.subCommand||e.element.setAttribute("title",g(n.subCommand.toLocaleLowerCase(),this.locator))},n.prototype.dropdownContent=function(e,t,n){return'<span style="display: inline-flex;width:'+("quick"===t?"auto":e)+'" ><span class="e-rte-dropdown-btn-text">'+n+"</span></span>"},n.prototype.renderDropDowns=function(e){var n=this;this.initializeInstance();var i=e.containerType,r=e.container;bi.forEach(function(o){var s=void 0;if(-1!==d(o,e.items))switch(o){case"numberformatlist":if(s=t.select("#"+n.parent.getID()+"_"+i+"_NumberFormatList",r),t.isNullOrUndefined(s)||s.classList.contains(tn))return;var a=n.parent.numberFormatList.types.slice();a.forEach(function(e){Object.defineProperties(e,{command:{value:"Lists",enumerable:!0},subCommand:{value:"NumberFormatList",enumerable:!0}})}),n.numberFormatListDropDown=n.toolbarRenderer.renderListDropDown({cssClass:"e-order-list "+Tn+" "+Nn,itemName:"NumberFormatList",items:a,element:s});break;case"bulletformatlist":if(s=t.select("#"+n.parent.getID()+"_"+i+"_BulletFormatList",r),t.isNullOrUndefined(s)||s.classList.contains(tn))return;var l=n.parent.bulletFormatList.types.slice();l.forEach(function(e){Object.defineProperties(e,{command:{value:"Lists",enumerable:!0},subCommand:{value:"BulletFormatList",enumerable:!0}})}),n.bulletFormatListDropDown=n.toolbarRenderer.renderListDropDown({cssClass:"e-unorder-list "+Tn+" "+Nn,itemName:"BulletFormatList",items:l,element:s});break;case"formats":if(s=t.select("#"+n.parent.getID()+"_"+i+"_Formats",r),t.isNullOrUndefined(s)||s.classList.contains(tn))return;var c=n.parent.format.types.slice();c.forEach(function(e){Object.defineProperties(e,{command:{value:"Formats",enumerable:!0},subCommand:{value:e.value,enumerable:!0}})});var h=t.isNullOrUndefined(n.parent.format.default)?c[0].text:n.parent.format.default;n.formatDropDown=n.toolbarRenderer.renderDropDownButton({iconCss:"quick"===i?"e-formats e-icons":"",content:n.dropdownContent(n.parent.format.width,i,"quick"===i?"":p(c,h,"text","text")),cssClass:$t+" "+en+" "+Mn,itemName:"Formats",items:c,element:s});break;case"fontname":if(s=t.select("#"+n.parent.getID()+"_"+i+"_FontName",r),t.isNullOrUndefined(s)||s.classList.contains(tn))return;var m=n.parent.fontFamily.items.slice();m.forEach(function(e){Object.defineProperties(e,{command:{value:"Font",enumerable:!0},subCommand:{value:"FontName",enumerable:!0}})});var g=t.isNullOrUndefined(n.parent.fontFamily.default)?m[0].text:n.parent.fontFamily.default;n.fontNameDropDown=n.toolbarRenderer.renderDropDownButton({iconCss:"quick"===i?"e-font-name e-icons":"",content:n.dropdownContent(n.parent.fontFamily.width,i,"quick"===i?"":p(m,g,"text","text")),cssClass:$t+" "+en+" "+Rn,itemName:"FontName",items:m,element:s}),t.isNullOrUndefined(n.parent.fontFamily.default)||(n.getEditNode().style.fontFamily=n.parent.fontFamily.default);break;case"fontsize":if(s=t.select("#"+n.parent.getID()+"_"+i+"_FontSize",r),t.isNullOrUndefined(s)||s.classList.contains(tn))return;var f=n.parent.fontSize.items.slice();f.forEach(function(e){Object.defineProperties(e,{command:{value:"Font",enumerable:!0},subCommand:{value:"FontSize",enumerable:!0}})});var b=t.isNullOrUndefined(n.parent.fontSize.default)?f[1].text:n.parent.fontSize.default;n.fontSizeDropDown=n.toolbarRenderer.renderDropDownButton({content:n.dropdownContent(n.parent.fontSize.width,i,u(p(f,b.replace(/\s/g,""),"value","text"))),cssClass:$t+" "+en+" "+In,itemName:"FontSize",items:f,element:s}),t.isNullOrUndefined(n.parent.fontSize.default)||(n.getEditNode().style.fontSize=n.parent.fontSize.default);break;case"alignments":if(s=t.select("#"+n.parent.getID()+"_"+i+"_Alignments",r),t.isNullOrUndefined(s)||s.classList.contains(tn))return;n.alignDropDown=n.toolbarRenderer.renderDropDownButton({iconCss:"e-justify-left e-icons",cssClass:$t+" "+en+" "+Bn,itemName:"Alignments",items:Ci,element:s});break;case"align":n.imageAlignmentDropDown(i,r,s);break;case"display":n.imageDisplayDropDown(i,r,s);break;case"tablerows":n.rowDropDown(i,r,s);break;case"tablecolumns":n.columnDropDown(i,r,s);break;case"tablecell":n.cellDropDown(i,r,s);break;case"tablecellverticalalign":n.verticalAlignDropDown(i,r,s);break;case"styles":n.tableStylesDropDown(i,r,s)}}),this.parent.inlineMode.enable&&this.setCssClass({cssClass:this.parent.cssClass})},n.prototype.getUpdateItems=function(e,t){var n=e.slice();return n.forEach(function(e){Object.defineProperties(e,{command:{value:"Format"===t?"Formats":"Font",enumerable:!0},subCommand:{value:"Format"===t?e.value:t,enumerable:!0}})}),n},n.prototype.onPropertyChanged=function(e){for(var n,i,r=e.newProp,o=0,s=Object.keys(r);o<s.length;o++){switch(s[o]){case"fontFamily":if(this.fontNameDropDown)for(var a=0,l=Object.keys(r.fontFamily);a<l.length;a++){switch(l[a]){case"default":case"width":var d=this.fontNameDropDown.items;n=t.isNullOrUndefined(t.closest(this.fontNameDropDown.element,"."+Vt))?"toolbar":"quick";var c=t.isNullOrUndefined(this.parent.fontFamily.default)?d[0].text:this.parent.fontFamily.default;i=this.dropdownContent(this.parent.fontFamily.width,n,"quick"===n?"":p(d,c,"text","text")),this.fontNameDropDown.setProperties({content:i}),t.isNullOrUndefined(this.parent.fontFamily.default)?this.getEditNode().style.removeProperty("font-family"):this.getEditNode().style.fontFamily=this.parent.fontFamily.default;break;case"items":this.fontNameDropDown.setProperties({items:this.getUpdateItems(r.fontFamily.items,"FontName")})}}break;case"fontSize":if(this.fontSizeDropDown)for(var h=0,m=Object.keys(r.fontSize);h<m.length;h++){switch(m[h]){case"default":case"width":var g=this.fontSizeDropDown.items;n=t.isNullOrUndefined(t.closest(this.fontSizeDropDown.element,"."+Vt))?"toolbar":"quick";var f=t.isNullOrUndefined(this.parent.fontSize.default)?g[1].text:this.parent.fontSize.default;i=this.dropdownContent(this.parent.fontSize.width,n,u(p(g,f.replace(/\s/g,""),"value","text"))),this.fontSizeDropDown.setProperties({content:i}),t.isNullOrUndefined(this.parent.fontSize.default)?this.getEditNode().style.removeProperty("font-size"):this.getEditNode().style.fontSize=this.parent.fontSize.default;break;case"items":this.fontSizeDropDown.setProperties({items:this.getUpdateItems(r.fontSize.items,"FontSize")})}}break;case"format":if(this.formatDropDown)for(var b=0,v=Object.keys(r.format);b<v.length;b++){switch(v[b]){case"default":case"width":var y=this.formatDropDown.items;n=t.isNullOrUndefined(t.closest(this.formatDropDown.element,"."+Vt))?"toolbar":"quick";var C=t.isNullOrUndefined(this.parent.format.default)?y[0].text:this.parent.format.default;i=this.dropdownContent(this.parent.format.width,n,"quick"===n?"":p(y,C,"text","text")),this.formatDropDown.setProperties({content:i});break;case"types":this.formatDropDown.setProperties({items:this.getUpdateItems(r.format.types,"Format")})}}}}},n.prototype.getEditNode=function(){return this.parent.contentModule.getEditPanel()},n.prototype.rowDropDown=function(e,n,i){(i=t.select("#"+this.parent.getID()+"_"+e+"_TableRows",n)).classList.contains(tn)||(this.tableRowsDropDown=this.toolbarRenderer.renderDropDownButton({iconCss:"e-table-rows e-icons",cssClass:$t+" "+en+" "+Gt,itemName:"TableRows",items:Oi,element:i}))},n.prototype.columnDropDown=function(e,n,i){(i=t.select("#"+this.parent.getID()+"_"+e+"_TableColumns",n)).classList.contains(tn)||(this.tableColumnsDropDown=this.toolbarRenderer.renderDropDownButton({iconCss:"e-table-columns e-icons",cssClass:$t+" "+en+" "+Gt,itemName:"TableColumns",items:xi,element:i}))},n.prototype.cellDropDown=function(e,n,i){(i=t.select("#"+this.parent.getID()+"_"+e+"_TableCell",n)).classList.contains(tn)||(this.tableRowsDropDown=this.toolbarRenderer.renderDropDownButton({iconCss:"e-table-cell e-icons",cssClass:$t+" "+en+" "+Gt,itemName:"TableCell",items:Ti,element:i}))},n.prototype.verticalAlignDropDown=function(e,n,i){(i=t.select("#"+this.parent.getID()+"_"+e+"_TableCellVerticalAlign",n)).classList.contains(tn)||(this.tableCellVerticalAlignDropDown=this.toolbarRenderer.renderDropDownButton({iconCss:"e-table-cell-ver-align e-icons",cssClass:$t+" "+en+" "+Gt,itemName:"TableCellVerticalAlign",items:Di,element:i}))},n.prototype.imageDisplayDropDown=function(e,n,i){(i=t.select("#"+this.parent.getID()+"_"+e+"_Display",n)).classList.contains(tn)||(this.displayDropDown=this.toolbarRenderer.renderDropDownButton({iconCss:"e-display e-icons",cssClass:$t+" "+en+" "+Gt,itemName:"Display",items:Ei,element:i}))},n.prototype.imageAlignmentDropDown=function(e,n,i){(i=t.select("#"+this.parent.getID()+"_"+e+"_Align",n)).classList.contains(tn)||(this.imageAlignDropDown=this.toolbarRenderer.renderDropDownButton({iconCss:"e-justify-left e-icons",cssClass:$t+" "+Zt+" "+Gt,itemName:"Align",items:Ni,element:i}))},n.prototype.tableStylesDropDown=function(e,n,i){(i=t.select("#"+this.parent.getID()+"_"+e+"_Styles",n)).classList.contains(tn)||(this.imageAlignDropDown=this.toolbarRenderer.renderDropDownButton({iconCss:"e-style e-icons",cssClass:$t+" "+Zt+" "+Gt,itemName:"Styles",items:this.parent.tableSettings.styles,element:i}))},n.prototype.removeDropDownClasses=function(e){t.removeClass([e],[tn,$t,Zt,en])},n.prototype.destroyDropDowns=function(){this.formatDropDown&&(this.removeDropDownClasses(this.formatDropDown.element),this.formatDropDown.destroy()),this.fontNameDropDown&&(this.removeDropDownClasses(this.fontNameDropDown.element),this.fontNameDropDown.destroy()),this.fontSizeDropDown&&(this.removeDropDownClasses(this.fontSizeDropDown.element),this.fontSizeDropDown.destroy()),this.alignDropDown&&(this.removeDropDownClasses(this.alignDropDown.element),this.alignDropDown.destroy()),this.imageAlignDropDown&&(this.removeDropDownClasses(this.imageAlignDropDown.element),this.imageAlignDropDown.destroy()),this.displayDropDown&&(this.removeDropDownClasses(this.displayDropDown.element),this.displayDropDown.destroy()),this.tableRowsDropDown&&(this.removeDropDownClasses(this.tableRowsDropDown.element),this.tableRowsDropDown.destroy()),this.tableColumnsDropDown&&(this.removeDropDownClasses(this.tableColumnsDropDown.element),this.tableColumnsDropDown.destroy()),this.tableCellVerticalAlignDropDown&&(this.removeDropDownClasses(this.tableCellVerticalAlignDropDown.element),this.tableCellVerticalAlignDropDown.destroy()),this.numberFormatListDropDown&&(this.removeDropDownClasses(this.numberFormatListDropDown.element),this.numberFormatListDropDown.destroy()),this.bulletFormatListDropDown&&(this.removeDropDownClasses(this.bulletFormatListDropDown.element),this.bulletFormatListDropDown.destroy())},n.prototype.setRtl=function(e){this.formatDropDown&&this.formatDropDown.setProperties({enableRtl:e.enableRtl}),this.fontNameDropDown&&this.fontNameDropDown.setProperties({enableRtl:e.enableRtl}),this.fontSizeDropDown&&this.fontSizeDropDown.setProperties({enableRtl:e.enableRtl}),this.alignDropDown&&this.alignDropDown.setProperties({enableRtl:e.enableRtl}),this.imageAlignDropDown&&this.imageAlignDropDown.setProperties({enableRtl:e.enableRtl}),this.displayDropDown&&this.displayDropDown.setProperties({enableRtl:e.enableRtl}),this.numberFormatListDropDown&&this.numberFormatListDropDown.setProperties({enableRtl:e.enableRtl}),this.bulletFormatListDropDown&&this.bulletFormatListDropDown.setProperties({enableRtl:e.enableRtl})},n.prototype.updateCss=function(e,n){e&&n.cssClass&&(t.isNullOrUndefined(n.oldCssClass)?e.setProperties({cssClass:(e.cssClass+" "+n.cssClass).trim()}):e.setProperties({cssClass:(e.cssClass.replace(n.oldCssClass,"").trim()+" "+n.cssClass).trim()}))},n.prototype.setCssClass=function(e){for(var t=[this.formatDropDown,this.fontNameDropDown,this.fontSizeDropDown,this.alignDropDown,this.imageAlignDropDown,this.displayDropDown,this.numberFormatListDropDown,this.bulletFormatListDropDown,this.tableRowsDropDown,this.tableColumnsDropDown,this.tableCellVerticalAlignDropDown],n=0;n<t.length;n++)this.updateCss(t[n],e)},n.prototype.addEventListener=function(){this.parent.isDestroyed||(this.parent.on(se,this.beforeRender,this),this.parent.on(F,this.onIframeMouseDown,this),this.parent.on(Xe,this.setRtl,this),this.parent.on(q,this.removeEventListener,this),this.parent.on(J,this.onPropertyChanged,this),this.parent.on(Mt,this.setCssClass,this))},n.prototype.onIframeMouseDown=function(){C(document,"mousedown")},n.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off(F,this.onIframeMouseDown),this.parent.off(Xe,this.setRtl),this.parent.off(se,this.beforeRender),this.parent.off(q,this.removeEventListener),this.parent.off(J,this.onPropertyChanged),this.parent.off(Mt,this.setCssClass))},n}(),$i=function(){function e(){this.services={}}return e.prototype.register=function(e,n){t.isNullOrUndefined(this.services[e])&&(this.services[e]=n)},e.prototype.getService=function(e){if(t.isNullOrUndefined(this.services[e]))throw"The service "+e+" is not registered";return this.services[e]},e}(),Zi=function(){function n(){this.rendererMap={}}return n.prototype.addRenderer=function(n,i){var r=t.getEnumValue(e.RenderType,n);t.isNullOrUndefined(this.rendererMap[r])&&(this.rendererMap[r]=i)},n.prototype.getRenderer=function(n){var i=t.getEnumValue(e.RenderType,n);if(t.isNullOrUndefined(this.rendererMap[i]))throw"The renderer "+i+" is not found";return this.rendererMap[i]},n}(),er=function(){function e(e){this.parent=e,this.addEventListener(),this.serviceLocator=new $i,this.serviceLocator.register("rendererFactory",new Zi)}return e.prototype.addEventListener=function(){this.parent.on(z,this.toolbarClick,this),this.parent.on(oe,this.dropDownSelect,this),this.parent.on(qe,this.renderSelection,this),this.parent.on(q,this.removeEventListener,this)},e.prototype.toolbarClick=function(e){if(!t.isNullOrUndefined(e.item)){if(!t.isNullOrUndefined(e.item.controlParent)){var n=e.item.controlParent.activeEle;n&&(n.tabIndex=-1)}"NumberFormatList"!==e.item.command&&"BulletFormatList"!==e.item.command||(e.originalEvent.target.classList.contains("e-order-list")||e.originalEvent.target.classList.contains("e-unorder-list"))&&(e.item.command="Lists",e.item.subCommand="NumberFormatList"===e.item.subCommand?"OL":"UL"),"Lists"===e.item.command&&e.originalEvent.target.classList.contains("e-caret")&&(e.originalEvent.target.parentElement.classList.contains("e-rte-bulletformatlist-dropdown")||e.originalEvent.target.parentElement.classList.contains("e-rte-numberformatlist-dropdown"))&&(e.item.command=e.item.subCommand=null),this.parent.notify(G,e),this.parent.notify(X,e)}},e.prototype.dropDownSelect=function(e){if(this.parent.notify(Ie,{}),!document.body.contains(document.body.querySelector(".e-rte-quick-toolbar"))||!e.item||"Images"!==e.item.command&&"Display"!==e.item.command&&"Table"!==e.item.command){var t=e.item.controlParent&&this.parent.quickToolbarModule&&this.parent.quickToolbarModule.tableQTBar&&this.parent.quickToolbarModule.tableQTBar.element.contains(e.item.controlParent.element)?"Table":null;if("Lists"===e.item.command){var n={listStyle:e.item.value,listImage:e.item.listImage,type:e.item.subCommand};this.parent.formatter.process(this.parent,e,e.originalEvent,n)}else this.parent.formatter.process(this.parent,e,e.originalEvent,t)}this.parent.notify(Re,{})},e.prototype.renderSelection=function(e){this.parent.notify(Ie,{}),this.parent.formatter.process(this.parent,e,e.originalEvent,null),this.parent.notify(Re,{})},e.prototype.removeEventListener=function(){this.parent.off(z,this.toolbarClick),this.parent.off(oe,this.dropDownSelect),this.parent.off(qe,this.renderSelection),this.parent.off(q,this.removeEventListener)},e}(),tr=function(){function n(n,i){this.parent=n,this.isToolbar=!1,this.locator=i,this.isTransformChild=!1,this.renderFactory=this.locator.getService("rendererFactory"),function(e){Ci.forEach(function(t,n){Ci[n].text=l(e,yi,Ci[n])}),Ei.forEach(function(t,n){Ei[n].text=l(e,Si,Ei[n])}),Oi.forEach(function(t,n){Oi[n].text=l(e,wi,Oi[n])}),xi.forEach(function(t,n){xi[n].text=l(e,Li,xi[n])}),Di.forEach(function(t,n){Di[n].text=l(e,ki,Di[n])}),Ri.forEach(function(t,n){Ri[n].text=l(e,Mi,Ri[n])})}(this.parent),R(this.parent),this.renderFactory.addRenderer(e.RenderType.Toolbar,new Xi(this.parent)),this.toolbarRenderer=this.renderFactory.getRenderer(e.RenderType.Toolbar),this.baseToolbar=new Yi(this.parent,this.locator),this.addEventListener(),this.parent.toolbarSettings&&Object.keys(this.parent.toolbarSettings.itemConfigs).length>0?t.extend(this.tools,vi,E(this.parent.toolbarSettings.itemConfigs),!0):this.tools=vi}return n.prototype.initializeInstance=function(){this.contentRenderer=this.renderFactory.getRenderer(e.RenderType.Content),this.editableElement=this.contentRenderer.getEditPanel(),this.editPanel=this.contentRenderer.getPanel()},n.prototype.toolbarBindEvent=function(){this.parent.inlineMode.enable||(this.keyBoardModule=new t.KeyboardEvents(this.getToolbarElement(),{keyAction:this.toolBarKeyDown.bind(this),keyConfigs:this.parent.formatter.keyConfig,eventName:"keydown"}))},n.prototype.toolBarKeyDown=function(e){switch(e.action){case"escape":this.parent.contentModule.getEditPanel().focus()}},n.prototype.createToolbarElement=function(){this.tbElement=this.parent.createElement("div",{id:this.parent.getID()+"_toolbar"}),!t.Browser.isDevice&&this.parent.inlineMode.enable&&h()||(this.parent.toolbarSettings.enableFloating&&!this.parent.inlineMode.enable?(this.tbWrapper=this.parent.createElement("div",{id:this.parent.getID()+"_toolbar_wrapper",innerHTML:this.tbElement.outerHTML,className:on}),this.tbElement=this.tbWrapper.firstElementChild,this.parent.element.insertBefore(this.tbWrapper,this.editPanel)):this.parent.element.insertBefore(this.tbElement,this.editPanel))},n.prototype.getToolbarMode=function(){var t;switch(this.parent.toolbarSettings.type){case e.ToolbarType.Expand:t="Extended";break;case e.ToolbarType.Scrollable:t="Scrollable";break;default:t="MultiRow"}return h()&&this.parent.toolbarSettings.type===e.ToolbarType.Expand&&(t=e.ToolbarType.Scrollable),t},n.prototype.checkToolbarResponsive=function(n){if(!t.Browser.isDevice||h())return!1;var i;return i=this.parent.toolbarSettings.type===e.ToolbarType.Expand?e.ToolbarType.MultiRow:this.parent.toolbarSettings.type,this.baseToolbar.render({container:this.parent.inlineMode.enable?"quick":"toolbar",items:this.parent.toolbarSettings.items,mode:i,target:n,cssClass:this.parent.cssClass}),this.parent.toolbarSettings.type===e.ToolbarType.Expand&&(t.addClass([n],["e-rte-tb-mobile"]),this.parent.inlineMode.enable?this.addFixedTBarClass():t.addClass([n],["e-tb-static"])),this.wireEvents(),this.dropDownModule.renderDropDowns({container:n,containerType:this.parent.inlineMode.enable?"quick":"toolbar",items:this.parent.toolbarSettings.items}),this.parent.notify(K,{container:this.tbElement,containerType:this.parent.inlineMode.enable?"quick":"toolbar",items:this.parent.toolbarSettings.items}),!0},n.prototype.checkIsTransformChild=function(){this.isTransformChild=!1;for(var e=t.selectAll('[style*="transform"]',document),n=0;n<e.length;n++)if(!t.isNullOrUndefined(e[n].contains)&&e[n].contains(this.parent.element)){this.isTransformChild=!0;break}},n.prototype.toggleFloatClass=function(e){var n,i,r=!1,o=!1,s=this.parent.floatingToolbarOffset;e&&this.parent.iframeSettings.enable&&this.parent.inputElement.ownerDocument===e.target?i=e.target.body:e&&e.target!==document?i=e.target:(r=!0,i=document.body);var a=this.getToolbarHeight()+this.getExpandTBarPopHeight();if(this.isTransformChild){n=0;var l=0,d=this.parent.element.offsetHeight;if(r){var c=window.getComputedStyle(i);l=parseFloat(c.marginTop.split("px")[0])+parseFloat(c.paddingTop.split("px")[0])}var p=this.parent.element.getBoundingClientRect().top,h=t.Browser.isMSPointer&&r?window.pageYOffset:i.parentElement.scrollTop,u=i.getBoundingClientRect(),m=r?u.top+h:u.top;p>m+s||p<-d||p<0&&!(p-(r?0:m)+d>a+s)?(o=!1,t.removeClass([this.tbElement],[qt])):p<m+s&&(n=p<0?-p+m:m-p,n=r?n-l:n,t.addClass([this.tbElement],[qt]),o=!0)}else{var g=this.parent.element.getBoundingClientRect();if(window.innerHeight<g.top)return;n=e&&e.target!==document?i.getBoundingClientRect().top:0,g.bottom<s+a+n||g.bottom<0||g.top>s+n?o=!1:(g.top<s||g.top<s+n)&&(o=!0)}o?(t.addClass([this.tbElement],[Ft]),t.setStyleAttribute(this.tbElement,{width:this.parent.element.offsetWidth+"px",top:s+n+"px"})):(t.removeClass([this.tbElement],[Ft]),t.setStyleAttribute(this.tbElement,{top:"0px",width:"100%"}))},n.prototype.renderToolbar=function(){if(this.initializeInstance(),this.createToolbarElement(),!this.checkToolbarResponsive(this.tbElement)){this.parent.inlineMode.enable?this.parent.notify(Ke,{}):(this.baseToolbar.render({container:"toolbar",items:this.parent.toolbarSettings.items,mode:this.getToolbarMode(),target:this.tbElement,cssClass:this.parent.cssClass}),this.parent.inlineMode.enable||(this.parent.toolbarSettings.enableFloating&&(this.checkIsTransformChild(),this.toggleFloatClass()),t.addClass([this.parent.element],[fi]),this.parent.toolbarSettings.type===e.ToolbarType.Expand&&t.addClass([this.parent.element],[_t]))),this.wireEvents(),this.parent.inlineMode.enable&&!h()&&this.addFixedTBarClass(),this.parent.inlineMode.enable||(this.dropDownModule.renderDropDowns({container:this.tbElement,containerType:"toolbar",items:this.parent.toolbarSettings.items}),this.parent.notify(K,{container:this.tbElement,containerType:"toolbar",items:this.parent.toolbarSettings.items}),this.refreshToolbarOverflow());var n=this.parent.element.querySelector(".e-rte-srctextarea"),i=this.parent.element.querySelector(".e-source-content");(!this.parent.iframeSettings.enable&&!t.isNullOrUndefined(n)&&"block"===n.style.display||this.parent.iframeSettings.enable&&!t.isNullOrUndefined(i)&&"block"===i.style.display)&&(this.parent.notify(Ne,{targetItem:"SourceCode",updateItem:"Preview",baseToolbar:this.parent.getBaseToolbarObject()}),this.parent.disableToolbarItem(this.parent.toolbarSettings.items))}},n.prototype.addFixedTBarClass=function(){t.addClass([this.tbElement],[jt])},n.prototype.removeFixedTBarClass=function(){t.removeClass([this.tbElement],[jt])},n.prototype.showFixedTBar=function(){t.addClass([this.tbElement],["e-show"]),t.Browser.isIos&&t.addClass([this.tbElement],[Ln])},n.prototype.hideFixedTBar=function(){this.isToolbar?this.isToolbar=!1:t.removeClass([this.tbElement],["e-show",Ln])},n.prototype.updateItem=function(e){var n=this.tools[e.updateItem.toLocaleLowerCase()],i=v(b(this.tools[e.targetItem.toLocaleLowerCase()].subCommand),e.baseToolbar.toolbarObj.items)[0];if(t.isNullOrUndefined(i))this.addTBarItem(e,0);else{var r=this.parent.inlineMode.enable?"_quick_":"_toolbar_";e.baseToolbar.toolbarObj.items[i].id=this.parent.getID()+r+n.id,e.baseToolbar.toolbarObj.items[i].prefixIcon=n.icon,e.baseToolbar.toolbarObj.items[i].tooltipText=n.tooltip,e.baseToolbar.toolbarObj.items[i].subCommand=n.subCommand,e.baseToolbar.toolbarObj.dataBind()}},n.prototype.updateToolbarStatus=function(e){if(this.tbElement&&(!this.parent.inlineMode.enable||!h()&&t.Browser.isDevice)){f({args:e,dropDownModule:this.dropDownModule,parent:this.parent,tbElements:t.selectAll("."+rn,this.tbElement),tbItems:this.baseToolbar.toolbarObj.items},!!this.parent.inlineMode.enable,this.parent)}},n.prototype.fullScreen=function(e){this.parent.fullScreenModule.showFullScreen(e)},n.prototype.hideScreen=function(e){this.parent.fullScreenModule.hideFullScreen(e)},n.prototype.getBaseToolbar=function(){return this.baseToolbar},n.prototype.addTBarItem=function(e,t){e.baseToolbar.toolbarObj.addItems([e.baseToolbar.getObject(e.updateItem,"toolbar")],t)},n.prototype.enableTBarItems=function(e,n,i,r){var o=v(b(n),e.toolbarObj.items);this.tbItems=t.selectAll("."+rn,e.toolbarObj.element);for(var s=0;s<o.length;s++){var a=this.tbItems[o[s]];a&&e.toolbarObj.enableItems(a,i)}t.select(".e-rte-srctextarea",this.parent.element)||r||y(e,this.parent.formatter.editorManager.undoRedoManager.getUndoStatus())},n.prototype.removeTBarItems=function(e){t.isNullOrUndefined(this.baseToolbar.toolbarObj)&&(this.baseToolbar=this.parent.getBaseToolbarObject());var n=v(b(e),this.baseToolbar.toolbarObj.items);this.tbItems=this.parent.inlineMode.enable?t.selectAll("."+rn,this.baseToolbar.toolbarObj.element):t.selectAll("."+rn,this.parent.element);for(var i=0;i<n.length;i++)this.baseToolbar.toolbarObj.removeItems(this.tbItems[n[i]])},n.prototype.getExpandTBarPopHeight=function(){var n=0;if(this.parent.toolbarSettings.type===e.ToolbarType.Expand&&this.tbElement.classList.contains("e-extended-toolbar")){var i=t.select(".e-toolbar-extended",this.tbElement);i&&this.tbElement.classList.contains("e-expand-open")||i&&i.classList.contains("e-popup-open")?(t.addClass([i],[an]),n+=i.offsetHeight,t.removeClass([i],[an])):t.removeClass([this.tbElement],[En])}return n},n.prototype.getToolbarHeight=function(){return this.tbElement.offsetHeight},n.prototype.getToolbarElement=function(){return t.select("."+Ht,this.parent.element)},n.prototype.refreshToolbarOverflow=function(){this.baseToolbar.toolbarObj.refreshOverflow()},n.prototype.isToolbarDestroyed=function(){return this.baseToolbar.toolbarObj&&!this.baseToolbar.toolbarObj.isDestroyed},n.prototype.destroyToolbar=function(){if(this.isToolbarDestroyed()){this.parent.unWireScrollElementsEvents(),this.unWireEvents(),this.parent.notify(Y,{}),this.dropDownModule.destroyDropDowns(),this.baseToolbar.toolbarObj.destroy(),this.removeEventListener(),t.removeClass([this.parent.element],[fi]),t.removeClass([this.parent.element],[_t]);var e=t.select("."+on,this.parent.element),n=t.select("."+Ht,this.parent.element);t.isNullOrUndefined(e)?t.isNullOrUndefined(n)||t.detach(n):t.detach(e)}},n.prototype.destroy=function(){this.isToolbarDestroyed()&&(this.destroyToolbar(),this.keyBoardModule&&this.keyBoardModule.destroy())},n.prototype.moduleDestroy=function(){this.parent=null,this.baseToolbar.parent=null,this.toolbarActionModule.parent=null,this.dropDownModule.parent=null},n.prototype.scrollHandler=function(e){this.parent.inlineMode.enable||this.parent.toolbarSettings.enableFloating&&this.getDOMVisibility(this.tbElement)&&this.toggleFloatClass(e.args)},n.prototype.getDOMVisibility=function(e){return!(!e.offsetParent&&0===e.offsetWidth&&0===e.offsetHeight)},n.prototype.mouseDownHandler=function(){t.Browser.isDevice&&this.parent.inlineMode.enable&&!h()&&this.showFixedTBar()},n.prototype.focusChangeHandler=function(){t.Browser.isDevice&&this.parent.inlineMode.enable&&!h()&&(this.isToolbar=!1,this.hideFixedTBar())},n.prototype.dropDownBeforeOpenHandler=function(){this.isToolbar=!0},n.prototype.tbFocusHandler=function(e){var n=document.activeElement,i=t.closest(n,".e-rte-toolbar");if(n===this.parent.getToolbarElement()||i===this.parent.getToolbarElement())for(var r=this.parent.getToolbarElement().querySelectorAll(".e-expended-nav"),o=0;o<r.length;o++)t.isNullOrUndefined(this.parent.getToolbarElement().querySelector(".e-insert-table-btn"))?r[o].setAttribute("tabindex","0"):r[o].setAttribute("tabindex","1")},n.prototype.tbKeydownHandler=function(e){(e.target.classList.contains("e-dropdown-btn")||e.target.getAttribute("id")===this.parent.getID()+"_toolbar_CreateTable")&&e.target.setAttribute("tabindex","0")},n.prototype.toolbarClickHandler=function(n){var i=t.closest(n.originalEvent.target,".e-hor-nav");i&&this.parent.toolbarSettings.type===e.ToolbarType.Expand&&!t.isNullOrUndefined(i)?i.classList.contains("e-nav-active")?(t.addClass([this.tbElement],[En]),this.parent.setContentHeight("toolbar",!0)):(t.removeClass([this.tbElement],[En]),this.parent.setContentHeight("toolbar",!1)):(t.Browser.isDevice||this.parent.inlineMode.enable)&&(this.isToolbar=!0),t.isNullOrUndefined(i)&&this.parent.toolbarSettings.type===e.ToolbarType.Expand&&t.removeClass([this.tbElement],[En])},n.prototype.wireEvents=function(){this.parent.inlineMode.enable&&h()||(t.EventHandler.add(this.tbElement,"focusin",this.tbFocusHandler,this),t.EventHandler.add(this.tbElement,"keydown",this.tbKeydownHandler,this))},n.prototype.unWireEvents=function(){t.EventHandler.remove(this.tbElement,"focusin",this.tbFocusHandler),t.EventHandler.remove(this.tbElement,"keydown",this.tbKeydownHandler)},n.prototype.addEventListener=function(){this.parent.isDestroyed||(this.dropDownModule=new Ji(this.parent,this.locator),this.toolbarActionModule=new er(this.parent),this.parent.on(j,this.renderToolbar,this),this.parent.on(je,this.scrollHandler,this),this.parent.on(Q,this.toolbarBindEvent,this),this.parent.on(V,this.updateToolbarStatus,this),this.parent.on(J,this.onPropertyChanged,this),this.parent.on(W,this.onRefresh,this),this.parent.on(q,this.destroy,this),this.parent.on(ie,this.fullScreen,this),this.parent.on(re,this.hideScreen,this),this.parent.on(Ne,this.updateItem,this),this.parent.on(Me,this.dropDownBeforeOpenHandler,this),this.parent.on(Be,this.parent.setContentHeight,this.parent),this.parent.on(_e,this.focusChangeHandler,this),this.parent.on(Ae,this.mouseDownHandler,this),this.parent.on(Ue,this.mouseDownHandler,this),this.parent.on(Mt,this.setCssClass,this),this.parent.on(tt,this.moduleDestroy,this),this.parent.inlineMode.enable||h()||this.parent.on(z,this.toolbarClickHandler,this))},n.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off(j,this.renderToolbar),this.parent.off(je,this.scrollHandler),this.parent.off(Q,this.toolbarBindEvent),this.parent.off(V,this.updateToolbarStatus),this.parent.off(J,this.onPropertyChanged),this.parent.off(W,this.onRefresh),this.parent.off(q,this.destroy),this.parent.off(ie,this.parent.fullScreenModule.showFullScreen),this.parent.off(re,this.parent.fullScreenModule.hideFullScreen),this.parent.off(Ne,this.updateItem),this.parent.off(Me,this.dropDownBeforeOpenHandler),this.parent.off(Be,this.parent.setContentHeight),this.parent.off(_e,this.focusChangeHandler),this.parent.off(Ae,this.mouseDownHandler),this.parent.off(Ue,this.mouseDownHandler),this.parent.off(Mt,this.setCssClass),this.parent.off(tt,this.moduleDestroy),this.parent.inlineMode.enable||h()||this.parent.off(z,this.toolbarClickHandler))},n.prototype.setCssClass=function(e){this.toolbarObj&&e.cssClass&&(t.isNullOrUndefined(e.oldCssClass)?this.toolbarObj.setProperties({cssClass:(this.toolbarObj.cssClass+" "+e.cssClass).trim()}):this.toolbarObj.setProperties({cssClass:(this.toolbarObj.cssClass.replace(e.oldCssClass,"").trim()+" "+e.cssClass).trim()}))},n.prototype.onRefresh=function(){this.parent.inlineMode.enable||this.refreshToolbarOverflow(),this.parent.setContentHeight("",!0)},n.prototype.onPropertyChanged=function(e){if(!t.isNullOrUndefined(e.newProp.inlineMode))for(var n=0,i=Object.keys(e.newProp.inlineMode);n<i.length;n++){switch(i[n]){case"enable":this.refreshToolbar()}}e.module===this.getModuleName()&&this.refreshToolbar()},n.prototype.refreshToolbar=function(){t.isNullOrUndefined(this.baseToolbar.toolbarObj)&&(this.baseToolbar=this.parent.getBaseToolbarObject());var e=t.select("."+on,this.parent.element);(t.select("."+Ht,this.parent.element)||e)&&this.destroyToolbar(),this.parent.toolbarSettings.enable&&(this.addEventListener(),this.renderToolbar(),this.parent.wireScrollElementsEvents(),t.select(".e-rte-srctextarea",this.parent.element)||y(this.baseToolbar,this.parent.formatter.editorManager.undoRedoManager.getUndoStatus()),this.parent.notify(Nt,{}))},n.prototype.getModuleName=function(){return"toolbar"},n}(),nr=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ir=function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},rr={backspace:8,tab:9,enter:13,shift:16,control:17,alt:18,pause:19,capslock:20,space:32,escape:27,pageup:33,pagedown:34,end:35,home:36,leftarrow:37,uparrow:38,rightarrow:39,downarrow:40,insert:45,delete:46,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123,semicolon:186,plus:187,comma:188,minus:189,dot:190,forwardslash:191,graveaccent:192,openbracket:219,backslash:220,closebracket:221,singlequote:222,"]":221,"[":219,"=":187},or=function(e){function n(t,n){var r=e.call(this,n,t)||this;return r.keyPressHandler=function(e){for(var t=e.altKey,n=e.ctrlKey,o=e.shiftKey,s=e.metaKey,a=e.which,l=0,d=Object.keys(r.keyConfigs);l<d.length;l++)for(var c=d[l],p=0,h=r.keyConfigs[c].split(",");p<h.length;p++){var u=h[p],m=i.getKeyConfigData(u.trim());t!==m.altKey||n!==m.ctrlKey&&!s||o!==m.shiftKey||a!==m.keyCode||(e.action=c)}r.keyAction&&r.keyAction(e)},r.bind(),r}nr(n,e),i=n,n.prototype.destroy=function(){this.unwireEvents(),e.prototype.destroy.call(this)},n.prototype.onPropertyChanged=function(e,t){},n.prototype.bind=function(){this.wireEvents()},n.prototype.getModuleName=function(){return"keyboard"},n.prototype.wireEvents=function(){this.element.addEventListener(this.eventName,this.keyPressHandler)},n.prototype.unwireEvents=function(){this.element.removeEventListener(this.eventName,this.keyPressHandler)},n.getKeyConfigData=function(e){if(e in this.configCache)return this.configCache[e];var t=e.toLowerCase().split("+"),n={altKey:-1!==t.indexOf("alt"),ctrlKey:-1!==t.indexOf("ctrl"),shiftKey:-1!==t.indexOf("shift"),keyCode:null};return t[t.length-1].length>1&&Number(t[t.length-1])?n.keyCode=Number(t[t.length-1]):n.keyCode=i.getKeyCode(t[t.length-1]),i.configCache[e]=n,n},n.getKeyCode=function(e){return rr[e]||e.toUpperCase().charCodeAt(0)};var i;return n.configCache={},ir([t.Property({})],n.prototype,"keyConfigs",void 0),ir([t.Property("keyup")],n.prototype,"eventName",void 0),ir([t.Event()],n.prototype,"keyAction",void 0),n=i=ir([t.NotifyPropertyChanges],n)}(t.Base),sr=function(){function n(e,n){this.tools={},this.parent=e,this.locator=n,this.renderFactory=this.locator.getService("rendererFactory"),this.addEventListener(),this.parent.toolbarSettings&&Object.keys(this.parent.toolbarSettings.itemConfigs).length>0?t.extend(this.tools,vi,E(this.parent.toolbarSettings.itemConfigs),!0):this.tools=vi}return n.prototype.initializeInstance=function(){this.toolbarRenderer=this.renderFactory.getRenderer(e.RenderType.Toolbar)},n.prototype.renderColorPickerInput=function(e){var n=this;this.initializeInstance();var i,r,o=e.containerType,s=e.container;bi.forEach(function(a){if(-1!==d(a,e.items))switch(a){case"fontcolor":i=n.parent.getID()+"_"+o+"_FontColor_Target";var l=n.parent.createElement("input");if(l.id=i,l.classList.add(Pn),!t.isNullOrUndefined(n.parent.cssClass))for(var c=n.parent.cssClass.split(" "),p=0;p<c.length;p++)""!==c[p].trim()&&l.classList.add(c[p]);document.body.appendChild(l),r={cssClass:n.tools[a.toLocaleLowerCase()].icon+" "+Tn+" "+Nn+" "+n.parent.cssClass,value:n.tools[a.toLocaleLowerCase()].value,command:n.tools[a.toLocaleLowerCase()].command,subCommand:n.tools[a.toLocaleLowerCase()].subCommand,element:t.select("#"+n.parent.getID()+"_"+o+"_FontColor",s),target:i},n.fontColorPicker=n.toolbarRenderer.renderColorPicker(r,"fontcolor"),n.fontColorDropDown=n.toolbarRenderer.renderColorPickerDropDown(r,"fontcolor",n.fontColorPicker);break;case"backgroundcolor":i=n.parent.getID()+"_"+o+"_BackgroundColor_Target";var h=n.parent.createElement("input");if(h.id=i,h.classList.add(An),!t.isNullOrUndefined(n.parent.cssClass))for(c=n.parent.cssClass.split(" "),p=0;p<c.length;p++)""!==c[p].trim()&&h.classList.add(c[p]);document.body.appendChild(h),r={cssClass:n.tools[a.toLocaleLowerCase()].icon+" "+Tn+" "+Nn+" "+n.parent.cssClass,value:n.tools[a.toLocaleLowerCase()].value,command:n.tools[a.toLocaleLowerCase()].command,subCommand:n.tools[a.toLocaleLowerCase()].subCommand,element:t.select("#"+n.parent.getID()+"_"+o+"_BackgroundColor",s),target:i},n.backgroundColorPicker=n.toolbarRenderer.renderColorPicker(r,"backgroundcolor"),n.backgroundColorDropDown=n.toolbarRenderer.renderColorPickerDropDown(r,"backgroundcolor",n.backgroundColorPicker,n.defaultColorPicker)}}),this.parent.inlineMode.enable&&this.setCssClass({cssClass:this.parent.cssClass})},n.prototype.destroy=function(){this.removeEventListener(),this.destroyColorPicker()},n.prototype.destroyColorPicker=function(){if(this.fontColorPicker&&!this.fontColorPicker.isDestroyed&&this.fontColorPicker.destroy(),this.backgroundColorPicker&&!this.backgroundColorPicker.isDestroyed&&this.backgroundColorPicker.destroy(),this.fontColorDropDown&&!this.fontColorDropDown.isDestroyed){(e=this.fontColorDropDown.element.querySelector(".e-rte-color-content"))&&t.detach(e),this.fontColorDropDown.destroy()}if(this.backgroundColorDropDown&&!this.backgroundColorDropDown.isDestroyed){var e;(e=this.backgroundColorDropDown.element.querySelector(".e-rte-color-content"))&&(this.defaultColorPicker=e.children[0].style.borderBottomColor,t.detach(e)),this.backgroundColorDropDown.destroy()}},n.prototype.setRtl=function(e){this.fontColorPicker&&(this.fontColorPicker.setProperties({enableRtl:e.enableRtl}),this.fontColorDropDown.setProperties({enableRtl:e.enableRtl})),this.backgroundColorPicker&&(this.backgroundColorPicker.setProperties({enableRtl:e.enableRtl}),this.backgroundColorDropDown.setProperties({enableRtl:e.enableRtl}))},n.prototype.setCssClass=function(e){this.updateCss(this.fontColorPicker,this.fontColorDropDown,e),this.updateCss(this.backgroundColorPicker,this.backgroundColorDropDown,e)},n.prototype.updateCss=function(e,n,i){e&&i.cssClass&&(t.isNullOrUndefined(i.oldCssClass)?(e.setProperties({cssClass:(e.cssClass+" "+i.cssClass).trim()}),n.setProperties({cssClass:(n.cssClass+" "+i.cssClass).trim()})):(e.setProperties({cssClass:(e.cssClass.replace(i.oldCssClass,"").replace(" "," ").trim()+" "+i.cssClass).trim()}),n.setProperties({cssClass:(n.cssClass.replace(i.oldCssClass,"").replace(" "," ").trim()+" "+i.cssClass).trim()})))},n.prototype.addEventListener=function(){this.parent.on(ne,this.renderColorPickerInput,this),this.parent.on(Xe,this.setRtl,this),this.parent.on(q,this.destroy,this),this.parent.on(Y,this.destroyColorPicker,this),this.parent.on(J,this.onPropertyChanged,this),this.parent.on(Mt,this.setCssClass,this)},n.prototype.onPropertyChanged=function(e){for(var t=e.newProp,n=0,i=Object.keys(t);n<i.length;n++){switch(i[n]){case"fontColor":if(this.fontColorPicker)for(var r=0,o=Object.keys(t.fontColor);r<o.length;r++){switch(o[r]){case"default":this.fontColorPicker.setProperties({value:t.fontColor.default});this.fontColorDropDown.element.querySelector("."+this.tools.fontcolor.icon).style.borderBottomColor=t.fontColor.default;break;case"mode":this.fontColorPicker.setProperties({mode:t.fontColor.mode});break;case"columns":this.fontColorPicker.setProperties({columns:t.fontColor.columns});break;case"colorCode":this.fontColorPicker.setProperties({presetColors:t.fontColor.colorCode});break;case"modeSwitcher":this.fontColorPicker.setProperties({modeSwitcher:t.fontColor.modeSwitcher})}}break;case"backgroundColor":if(this.backgroundColorPicker)for(var s=0,a=Object.keys(t.backgroundColor);s<a.length;s++){switch(a[s]){case"default":this.backgroundColorPicker.setProperties({value:t.backgroundColor.default});this.backgroundColorDropDown.element.querySelector("."+this.tools.backgroundcolor.icon).style.borderBottomColor=t.backgroundColor.default;break;case"mode":this.backgroundColorPicker.setProperties({mode:t.backgroundColor.mode});break;case"columns":this.backgroundColorPicker.setProperties({columns:t.backgroundColor.columns});break;case"colorCode":this.backgroundColorPicker.setProperties({presetColors:t.backgroundColor.colorCode});break;case"modeSwitcher":this.backgroundColorPicker.setProperties({modeSwitcher:t.backgroundColor.modeSwitcher})}}}}},n.prototype.removeEventListener=function(){this.parent.off(ne,this.renderColorPickerInput),this.parent.off(q,this.destroy),this.parent.off(Xe,this.setRtl),this.parent.off(Y,this.destroyColorPicker),this.parent.off(J,this.onPropertyChanged),this.parent.off(Mt,this.setCssClass)},n}(),ar=function(){function n(t,n){this.parent=t,this.locator=n,this.isDOMElement=!1,this.renderFactory=this.locator.getService("rendererFactory"),this.contentRenderer=this.renderFactory.getRenderer(e.RenderType.Content),this.popupRenderer=this.renderFactory.getRenderer(e.RenderType.Popup),this.dropDownButtons=new Ji(this.parent,this.locator),this.colorPickerObj=new sr(this.parent,this.locator)}return n.prototype.appendPopupContent=function(){this.toolbarElement=this.parent.createElement("div",{className:Vt}),this.element.appendChild(this.toolbarElement)},n.prototype.render=function(e){var n;n="Image"===e.popupType?Xt:"Inline"===e.popupType?Yt:"";var i=t.getUniqueID(e.popupType+"_Quick_Popup");this.stringItems=e.toolbarItems,this.element=this.parent.createElement("div",{id:i,className:n+" "+Tn}),this.element.setAttribute("aria-owns",this.parent.getID()),this.appendPopupContent(),this.createToolbar(e.toolbarItems,e.mode,e.cssClass),this.popupRenderer.renderPopup(this),this.addEventListener()},n.prototype.createToolbar=function(e,t,n){this.quickTBarObj=new Yi(this.parent,this.locator),this.quickTBarObj.render({container:"quick",target:this.toolbarElement,items:e,mode:t,cssClass:n}),this.quickTBarObj.toolbarObj.refresh()},n.prototype.setPosition=function(e){var n,i,r=t.closest(e.target,".e-img-caption"),o=t.isNullOrUndefined(r)?e.target:r;t.addClass([this.toolbarElement],[dn]);var s=o.offsetTop,a=window.pageYOffset+e.parentData.top;i=s-e.editTop>e.popHeight?a+e.tBarElementHeight+(s-e.editTop)-e.popHeight-5:e.editTop+e.editHeight-(s+o.offsetHeight)>e.popHeight?a+e.tBarElementHeight+(s-e.editTop)+o.offsetHeight+5:e.y,n=o.offsetWidth>e.popWidth?o.offsetWidth/2-e.popWidth/2+e.parentData.left+o.offsetLeft:e.parentData.left+o.offsetLeft,this.popupObj.position.X=n+e.popWidth>e.parentData.right?e.parentData.right-e.popWidth:n,this.popupObj.position.Y=i>=0?i:e.y+5,this.popupObj.dataBind(),t.removeClass([this.toolbarElement],[dn])},n.prototype.checkCollision=function(e,t,n){var i,o,s=e.parentData.top,a=e.windowY+s+e.tBarElementHeight,l=[];l="document"===t?r.isCollide(e.popup):r.isCollide(e.popup,e.parentElement);for(var d=0;d<l.length;d++)switch(l[d]){case"top":o="document"===t?e.windowY:window.pageYOffset+s+e.tBarElementHeight;break;case"bottom":o="document"===t?"inline"===n?e.y-e.popHeight-10:e.windowHeight-(s+e.tBarElementHeight)>e.popHeight?a-e.windowHeight>e.popHeight?a+(e.windowHeight-s)-e.popHeight:a:e.windowY+(s+e.tBarElementHeight):"IMG"!==e.target.tagName?e.parentData.bottom+window.pageYOffset-e.popHeight-10:e.parentData.bottom+window.pageYOffset-e.popHeight-5;break;case"right":i="inline"===n?window.pageXOffset+(e.windowWidth-(e.popWidth+e.bodyRightSpace+10)):e.x-e.popWidth;break;case"left":i="inline"===n?0:e.parentData.left}this.popupObj.position.X=i||this.popupObj.position.X,this.popupObj.position.Y=o||this.popupObj.position.Y,this.popupObj.dataBind()},n.prototype.showPopup=function(e,n,i){var r=this,o={popup:this.popupObj,cancel:!1,targetElement:i};this.parent.trigger(at,o,function(o){if(!o.cancel){var s=void 0,a=void 0,l=window.getComputedStyle(document.body),d=parseFloat(l.marginRight.split("px")[0])+parseFloat(l.paddingRight.split("px")[0]),c=window.innerHeight,p=window.innerWidth,u=r.parent.element,m=!t.isNullOrUndefined(r.parent.getToolbar()),g=m&&r.parent.toolbarModule.getToolbarHeight(),f=m&&r.parent.toolbarModule.getExpandTBarPopHeight(),b=m?g+f:0;if(t.addClass([r.element],[sn]),t.Browser.isDevice&&!h()&&t.addClass([r.parent.getToolbar()],[sn]),r.parent.iframeSettings.enable){s=(v=r.contentRenderer.getPanel().contentWindow).pageYOffset,a=v.innerHeight}else{var v;s=(v=t.closest(i,"."+nn))?v.scrollTop:0,a=v?v.offsetHeight:0}r.parent.inlineMode.enable||t.closest(i,"table")||(r.parent.disableToolbarItem(r.parent.toolbarSettings.items),r.parent.enableToolbarItem(["Undo","Redo"])),t.append([r.element],document.body),r.popupObj.position.X=e+20,r.popupObj.position.Y=n+20,r.popupObj.dataBind(),r.popupObj.element.classList.add("e-popup-open"),r.dropDownButtons.renderDropDowns({container:r.toolbarElement,containerType:"quick",items:r.stringItems}),r.colorPickerObj.renderColorPickerInput({container:r.toolbarElement,containerType:"quick",items:r.stringItems});var y={x:e,y:n,target:i,editTop:s,editHeight:a,popup:r.popupObj.element,popHeight:r.popupObj.element.offsetHeight,popWidth:r.popupObj.element.offsetWidth,parentElement:u,bodyRightSpace:d,windowY:window.pageYOffset,windowHeight:c,windowWidth:p,parentData:u.getBoundingClientRect(),tBarElementHeight:b};"IMG"===i.tagName&&r.setPosition(y),r.parent.inlineMode.enable||r.checkCollision(y,"parent",""),r.checkCollision(y,"document",r.parent.inlineMode.enable?"inline":""),r.popupObj.element.classList.remove("e-popup-open"),t.removeClass([r.element],[sn]),r.popupObj.show({name:"ZoomIn",duration:t.Browser.isIE?250:400}),r.popupObj&&r.parent.cssClass&&(t.removeClass([r.popupObj.element],r.parent.cssClass),t.addClass([r.popupObj.element],r.parent.cssClass)),t.setStyleAttribute(r.element,{maxWidth:window.outerWidth+"px"}),t.addClass([r.element],[Qt]),r.isDOMElement=!0}})},n.prototype.hidePopup=function(){var e=this.parent.sourceCodeModule.getViewPanel();t.Browser.isDevice&&!h()&&t.removeClass([this.parent.getToolbar()],[sn]),t.isNullOrUndefined(this.parent.getToolbar())||this.parent.inlineMode.enable||(t.isNullOrUndefined(e)||"none"===e.style.display)&&this.parent.enableToolbarItem(this.parent.toolbarSettings.items),this.removeEleFromDOM(),this.isDOMElement=!1},n.prototype.addQTBarItem=function(e,t){this.quickTBarObj.toolbarObj.addItems(this.quickTBarObj.getItems(e,"toolbar"),t)},n.prototype.removeQTBarItem=function(e){this.quickTBarObj.toolbarObj.removeItems(e)},n.prototype.removeEleFromDOM=function(){var e=this.popupObj.element;if(this.isDOMElement){this.dropDownButtons.destroyDropDowns(),this.colorPickerObj.destroyColorPicker(),t.removeClass([this.element],[Qt]),t.detach(e);var n=this.popupObj;this.parent.trigger(dt,n)}},n.prototype.updateStatus=function(e){f({args:e,dropDownModule:this.dropDownButtons,parent:this.parent,tbElements:t.selectAll("."+rn,this.element),tbItems:this.quickTBarObj.toolbarObj.items},!0,this.parent),t.select(".e-rte-srctextarea",this.parent.element)||y(this.parent.getBaseToolbarObject(),this.parent.formatter.editorManager.undoRedoManager.getUndoStatus())},n.prototype.destroy=function(){this.popupObj&&!this.popupObj.isDestroyed&&(this.popupObj.destroy(),this.removeEleFromDOM()),this.removeEventListener()},n.prototype.addEventListener=function(){this.parent.isDestroyed||(this.parent.on(q,this.destroy,this),this.parent.on(J,this.onPropertyChanged,this),this.parent.inlineMode.enable&&this.parent.on(V,this.updateStatus,this))},n.prototype.onPropertyChanged=function(e){if(!t.isNullOrUndefined(e.newProp.inlineMode))for(var n=0,i=Object.keys(e.newProp.inlineMode);n<i.length;n++){switch(i[n]){case"enable":e.newProp.inlineMode.enable?this.parent.on(V,this.updateStatus,this):this.parent.off(V,this.updateStatus)}}},n.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off(q,this.destroy),this.parent.off(J,this.onPropertyChanged),this.parent.inlineMode.enable&&this.parent.off(V,this.updateStatus))},n}(),lr=function(){function e(e){this.parent=e}return e.prototype.quickToolbarOpen=function(){var e=this.popupObj;this.parent.trigger(lt,e)},e.prototype.renderPopup=function(e){this.setPanel(e.element),this.renderPanel(),e.popupObj=new r.Popup(e.element,{targetType:"relative",relateTo:this.parent.element,open:this.quickToolbarOpen.bind(this)}),this.popupObj=e.popupObj,e.popupObj.hide()},e.prototype.renderPanel=function(){this.getPanel().classList.add(Kt)},e.prototype.getPanel=function(){return this.popupPanel},e.prototype.setPanel=function(e){this.popupPanel=e},e}(),dr=function(){function n(t,n){this.parent=t,this.locator=n,this.renderFactory=this.locator.getService("rendererFactory"),this.renderFactory.addRenderer(e.RenderType.Popup,new lr(this.parent)),this.addEventListener()}return n.prototype.formatItems=function(e){var t=[];return e.forEach(function(e){if("string"==typeof e)switch(e.toLocaleLowerCase()){case"open":t.push("openLink");break;case"edit":t.push("editLink");break;case"unlink":t.push("removeLink");break;default:t.push(e)}else t.push(e)}),t},n.prototype.getQTBarOptions=function(e,t,n,i){return{popupType:e,toolbarItems:n,mode:t,renderType:i,cssClass:this.parent.cssClass}},n.prototype.createQTBar=function(e,t,n,i){if(n.length<1)return null;var r=new ar(this.parent,this.locator);return r.render(this.getQTBarOptions(e,t,this.formatItems(n),i)),r},n.prototype.initializeQuickToolbars=function(){this.parent.quickToolbarModule=this,this.contentRenderer=this.renderFactory.getRenderer(e.RenderType.Content),this.parent.inlineMode.enable&&this.parent.inlineMode.onSelection&&h()&&t.EventHandler.add(this.contentRenderer.getDocument(),"selectionchange",this.selectionChangeHandler,this)},n.prototype.onMouseDown=function(e){this.parent.isBlur=!1,this.parent.isRTE=!0},n.prototype.keyUpQT=function(e){27==e.which&&this.hideQuickToolbars()},n.prototype.renderQuickToolbars=function(){this.linkQTBar||this.imageQTBar||this.textQTBar||this.tableQTBar||(this.linkQTBar=this.createQTBar("Link","Scrollable",this.parent.quickToolbarSettings.link,e.RenderType.LinkToolbar),this.renderFactory.addRenderer(e.RenderType.LinkToolbar,this.linkQTBar),this.textQTBar=this.createQTBar("Text","Scrollable",this.parent.quickToolbarSettings.text,e.RenderType.TextToolbar),this.renderFactory.addRenderer(e.RenderType.TextToolbar,this.textQTBar),this.imageQTBar=this.createQTBar("Image","MultiRow",this.parent.quickToolbarSettings.image,e.RenderType.ImageToolbar),this.renderFactory.addRenderer(e.RenderType.ImageToolbar,this.imageQTBar),this.tableQTBar=this.createQTBar("Table","MultiRow",this.parent.quickToolbarSettings.table,e.RenderType.TableToolbar),this.renderFactory.addRenderer(e.RenderType.TableToolbar,this.tableQTBar),this.linkQTBar&&(t.EventHandler.add(this.linkQTBar.element,"mousedown",this.onMouseDown,this),t.EventHandler.add(this.linkQTBar.element,"keyup",this.keyUpQT,this)),this.imageQTBar&&(t.EventHandler.add(this.imageQTBar.element,"mousedown",this.onMouseDown,this),t.EventHandler.add(this.imageQTBar.element,"keyup",this.keyUpQT,this)),this.textQTBar&&(t.EventHandler.add(this.textQTBar.element,"mousedown",this.onMouseDown,this),t.EventHandler.add(this.textQTBar.element,"keyup",this.keyUpQT,this)),this.tableQTBar&&(t.EventHandler.add(this.tableQTBar.element,"mousedown",this.onMouseDown,this),t.EventHandler.add(this.tableQTBar.element,"keyup",this.keyUpQT,this)))},n.prototype.renderInlineQuickToolbar=function(){!this.parent.inlineMode.enable||t.Browser.isDevice&&!h()||(t.addClass([this.parent.element],[zt]),this.inlineQTBar=this.createQTBar("Inline","MultiRow",this.parent.toolbarSettings.items,e.RenderType.InlineToolbar),this.renderFactory.addRenderer(e.RenderType.InlineToolbar,this.inlineQTBar),t.EventHandler.add(this.inlineQTBar.element,"mousedown",this.onMouseDown,this),t.EventHandler.add(this.inlineQTBar.element,"keyup",this.keyUpQT,this))},n.prototype.showInlineQTBar=function(e,t,n){this.parent.readonly||"img"===n.tagName.toLowerCase()||this.inlineQTBar.showPopup(e,t,n)},n.prototype.hideInlineQTBar=function(){this.inlineQTBar&&!c(this.inlineQTBar.element,"e-popup-close")&&this.inlineQTBar.hidePopup()},n.prototype.hideQuickToolbars=function(){this.linkQTBar&&!c(this.linkQTBar.element,"e-popup-close")&&document.body.contains(this.linkQTBar.element)&&this.linkQTBar.hidePopup(),this.textQTBar&&!c(this.textQTBar.element,"e-popup-close")&&document.body.contains(this.textQTBar.element)&&this.textQTBar.hidePopup(),this.imageQTBar&&!c(this.imageQTBar.element,"e-popup-close")&&document.body.contains(this.imageQTBar.element)&&this.imageQTBar.hidePopup(),this.tableQTBar&&!c(this.tableQTBar.element,"e-popup-close")&&document.body.contains(this.tableQTBar.element)&&this.tableQTBar.hidePopup(),!this.parent.inlineMode.enable||t.Browser.isDevice&&!h()||this.hideInlineQTBar()},n.prototype.deBounce=function(e,t,n){var i=this;clearTimeout(this.deBouncer),this.deBouncer=window.setTimeout(function(){i.showInlineQTBar(e,t,n)},1e3)},n.prototype.mouseUpHandler=function(e){if(this.parent.inlineMode.enable&&(!t.Browser.isDevice||h())){var n=e.args.touches?e.args.changedTouches[0]:e.args,i=this.parent.getRange(),r=e.args.target;if(t.isNullOrUndefined(t.select("."+Yt,document.body))){if(h()&&e.touchData&&e.touchData.prevClientX!==e.touchData.clientX&&e.touchData.prevClientY!==e.touchData.clientY)return;this.hideInlineQTBar();var o=this.parent.element.getBoundingClientRect().left;if(this.offsetX=this.parent.iframeSettings.enable?window.pageXOffset+o+n.clientX:n.pageX,this.offsetY=m(n,this.parent.element,this.parent.iframeSettings.enable),"TEXTAREA"===r.nodeName)this.showInlineQTBar(this.offsetX,this.offsetY,r);else{var s=t.closest(r,"a");r=s||r;var a=this.parent.getRange().startContainer.parentElement,l=this.parent.getRange().endContainer.parentElement;if((t.isNullOrUndefined(t.closest(a,"A"))||t.isNullOrUndefined(t.closest(l,"A")))&&(!t.closest(r,"td,th")||!i.collapsed)&&("IMG"!==r.tagName||this.parent.getRange().startOffset!==this.parent.getRange().endOffset)){if(this.parent.inlineMode.onSelection&&i.collapsed)return;this.target=r,this.showInlineQTBar(this.offsetX,this.offsetY,r)}}}}},n.prototype.keyDownHandler=function(){!this.parent.inlineMode.enable||t.Browser.isDevice&&!h()||t.isNullOrUndefined(t.select("."+Yt,document))||this.hideInlineQTBar()},n.prototype.inlineQTBarMouseDownHandler=function(){!this.parent.inlineMode.enable||t.Browser.isDevice&&!h()||t.isNullOrUndefined(t.select("."+Yt,document))||this.hideInlineQTBar()},n.prototype.keyUpHandler=function(e){if(this.parent.inlineMode.enable&&!t.Browser.isDevice){if(this.parent.inlineMode.onSelection)return;var n=e.args;this.deBounce(this.offsetX,this.offsetY,n.target)}},n.prototype.selectionChangeHandler=function(e){var t=this;clearTimeout(this.deBouncer),this.deBouncer=window.setTimeout(function(){t.onSelectionChange(e)},1e3)},n.prototype.onSelectionChange=function(e){if(t.isNullOrUndefined(t.select("."+Yt,document.body))){this.contentRenderer.getDocument().getSelection().isCollapsed||this.mouseUpHandler({args:e})}},n.prototype.getInlineBaseToolbar=function(){return this.inlineQTBar&&this.inlineQTBar.quickTBarObj},n.prototype.destroy=function(){this.linkQTBar&&(t.EventHandler.remove(this.linkQTBar.element,"mousedown",this.onMouseDown),t.EventHandler.remove(this.linkQTBar.element,"keyup",this.keyUpQT),this.linkQTBar.destroy()),this.textQTBar&&(t.EventHandler.remove(this.textQTBar.element,"mousedown",this.onMouseDown),t.EventHandler.remove(this.textQTBar.element,"keyup",this.keyUpQT),this.textQTBar.destroy()),this.imageQTBar&&(t.EventHandler.remove(this.imageQTBar.element,"mousedown",this.onMouseDown),t.EventHandler.remove(this.imageQTBar.element,"keyup",this.keyUpQT),this.imageQTBar.destroy()),this.tableQTBar&&(t.EventHandler.remove(this.tableQTBar.element,"mousedown",this.onMouseDown),t.EventHandler.remove(this.tableQTBar.element,"keyup",this.keyUpQT),this.tableQTBar.destroy()),this.inlineQTBar&&(t.EventHandler.remove(this.inlineQTBar.element,"mousedown",this.onMouseDown),t.EventHandler.remove(this.inlineQTBar.element,"keyup",this.keyUpQT),h()&&t.EventHandler.remove(document,"selectionchange",this.selectionChangeHandler),this.inlineQTBar.destroy()),this.removeEventListener()},n.prototype.moduleDestroy=function(){this.parent=null},n.prototype.wireInlineQTBarEvents=function(){this.parent.on(ee,this.mouseUpHandler,this),this.parent.on(Ae,this.inlineQTBarMouseDownHandler,this),this.parent.on(Z,this.keyDownHandler,this),this.parent.on($,this.keyUpHandler,this),this.parent.on(Ue,this.mouseUpHandler,this),this.parent.on(Ke,this.renderInlineQuickToolbar,this)},n.prototype.unWireInlineQTBarEvents=function(){this.parent.off(ee,this.mouseUpHandler),this.parent.off(Ae,this.inlineQTBarMouseDownHandler),this.parent.off(Z,this.keyDownHandler),this.parent.off($,this.keyUpHandler),this.parent.off(Ue,this.mouseUpHandler),this.parent.off(Ke,this.renderInlineQuickToolbar)},n.prototype.toolbarUpdated=function(e){this.linkQTBar&&!c(this.linkQTBar.element,"e-popup-close")&&this.linkQTBar.hidePopup(),this.imageQTBar&&!c(this.imageQTBar.element,"e-popup-close")&&this.imageQTBar.hidePopup(),this.tableQTBar&&!c(this.tableQTBar.element,"e-popup-close")&&this.tableQTBar.hidePopup()},n.prototype.addEventListener=function(){this.parent.isDestroyed||(this.parent.on(j,this.initializeQuickToolbars,this),this.parent.on(Ae,this.renderQuickToolbars,this),this.parent.on(V,this.toolbarUpdated,this),this.parent.on("drop",this.renderQuickToolbars,this),this.wireInlineQTBarEvents(),this.parent.on(J,this.onPropertyChanged,this),"hide"===this.parent.quickToolbarSettings.actionOnScroll&&(this.parent.on(je,this.hideQuickToolbars,this),this.parent.on(Fe,this.hideQuickToolbars,this)),this.parent.on(_e,this.hideQuickToolbars,this),this.parent.on(F,this.onIframeMouseDown,this),this.parent.on(q,this.destroy,this),this.parent.on(Z,this.onKeyDown,this),this.parent.on(Xe,this.setRtl,this),this.parent.on(Mt,this.setCssClass,this),this.parent.on(tt,this.moduleDestroy,this))},n.prototype.onKeyDown=function(e){var t=e.args;8!==t.which&&46!==t.which||this.imageQTBar&&!c(this.imageQTBar.element,"e-popup-close")&&this.imageQTBar.hidePopup()},n.prototype.onIframeMouseDown=function(){this.hideQuickToolbars(),this.hideInlineQTBar()},n.prototype.updateCss=function(e,n){e&&n.cssClass&&(t.isNullOrUndefined(n.oldCssClass&&e.quickTBarObj.toolbarObj.cssClass!==n.cssClass)?e.quickTBarObj.toolbarObj.setProperties({cssClass:(e.quickTBarObj.toolbarObj.cssClass+" "+n.cssClass).trim()}):e.quickTBarObj.toolbarObj.setProperties({cssClass:(e.quickTBarObj.toolbarObj.cssClass.replace(n.oldCssClass,"").trim()+" "+n.cssClass).trim()}))},n.prototype.setCssClass=function(e){for(var t=[this.inlineQTBar,this.imageQTBar,this.linkQTBar,this.textQTBar,this.tableQTBar],n=0;n<t.length;n++)this.updateCss(t[n],e)},n.prototype.setRtl=function(e){this.inlineQTBar&&this.inlineQTBar.quickTBarObj.toolbarObj.setProperties({enableRtl:e.enableRtl}),this.imageQTBar&&this.imageQTBar.quickTBarObj.toolbarObj.setProperties({enableRtl:e.enableRtl}),this.linkQTBar&&this.linkQTBar.quickTBarObj.toolbarObj.setProperties({enableRtl:e.enableRtl})},n.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off(j,this.initializeQuickToolbars),this.parent.off(Ae,this.renderQuickToolbars),this.parent.off(V,this.toolbarUpdated),this.parent.off("drop",this.renderQuickToolbars),this.unWireInlineQTBarEvents(),this.parent.off(J,this.onPropertyChanged),"hide"===this.parent.quickToolbarSettings.actionOnScroll&&(this.parent.off(je,this.hideQuickToolbars),this.parent.off(Fe,this.hideQuickToolbars)),this.parent.off(_e,this.hideQuickToolbars),this.parent.off(q,this.destroy),this.parent.off(F,this.onIframeMouseDown),this.parent.off(Z,this.onKeyDown),this.parent.off(Xe,this.setRtl),this.parent.off(Mt,this.setCssClass),this.parent.off(tt,this.moduleDestroy))},n.prototype.onPropertyChanged=function(e){if(!t.isNullOrUndefined(e.newProp.quickToolbarSettings))for(var n=0,i=Object.keys(e.newProp.quickToolbarSettings);n<i.length;n++){switch(i[n]){case"actionOnScroll":"none"===e.newProp.quickToolbarSettings.actionOnScroll?(this.parent.off(je,this.hideQuickToolbars),this.parent.off(Fe,this.hideQuickToolbars)):(this.parent.on(je,this.hideQuickToolbars,this),this.parent.on(Fe,this.hideQuickToolbars,this))}}e.module===this.getModuleName()&&(this.inlineQTBar&&(t.removeClass([this.parent.element],[zt]),this.unWireInlineQTBarEvents(),this.hideInlineQTBar()),!this.parent.inlineMode.enable||t.Browser.isDevice&&!h()||(t.addClass([this.parent.element],[zt]),this.wireInlineQTBarEvents()))},n.prototype.getModuleName=function(){return"quickToolbar"},n}(),cr=function(){function n(e,t){this.parent=e,this.locator=t,this.renderFactory=this.locator.getService("rendererFactory"),this.addEventListener()}return n.prototype.initializeInstance=function(){this.contentRenderer=this.renderFactory.getRenderer(e.RenderType.Content),this.editPanel=this.contentRenderer.getEditPanel(),this.addEventListener()},n.prototype.renderCount=function(){this.initializeInstance(),this.element=this.parent.createElement("span",{className:vn}),this.contentRenderer.getPanel().parentElement.appendChild(this.element),this.appendCount(),-1!==this.parent.maxLength&&this.charCountBackground(this.htmlLength)},n.prototype.appendCount=function(){var e="Markdown"===this.parent.editorMode?this.editPanel.value:this.editPanel.textContent;"Markdown"!==this.parent.editorMode&&-1!==e.indexOf("​")?this.htmlLength=e.replace(/\u200B/g,"").length:this.htmlLength=e.length;var t=-1===this.parent.maxLength?this.htmlLength:this.htmlLength+" / "+this.parent.maxLength;this.element.innerHTML=t},n.prototype.charCountBackground=function(e){var t=e/this.parent.maxLength*100;t<85?(this.element.classList.remove(yn),this.element.classList.remove(Cn)):t>85&&t<=90?(this.element.classList.remove(Cn),this.element.classList.add(yn)):t>90&&(this.element.classList.remove(yn),this.element.classList.add(Cn))},n.prototype.refresh=function(){t.isNullOrUndefined(this.editPanel)||(this.appendCount(),-1!==this.parent.maxLength&&this.charCountBackground(this.htmlLength))},n.prototype.destroy=function(){this.element&&!t.isNullOrUndefined(this.parent.element.querySelector("."+vn))&&t.detach(this.element),this.removeEventListener()},n.prototype.toggle=function(e){this.element.style.display="viewSource"===e.member?"none":"block"},n.prototype.addEventListener=function(){this.parent.isDestroyed||(this.parent.on(j,this.renderCount,this),this.parent.on($,this.refresh,this),this.parent.on(Pe,this.refresh,this),this.parent.on(W,this.refresh,this),this.parent.on(Ae,this.refresh,this),this.parent.on(q,this.destroy,this),this.parent.on(ke,this.toggle,this),this.parent.on(De,this.toggle,this))},n.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off(j,this.renderCount),this.parent.off($,this.refresh),this.parent.off(W,this.refresh),this.parent.off(Pe,this.refresh),this.parent.off(Ae,this.refresh),this.parent.off(q,this.destroy),this.parent.off(ke,this.toggle),this.parent.off(De,this.toggle))},n.prototype.getModuleName=function(){return"count"},n}(),pr=function(){function e(){}return e.prototype.getLineNumber=function(e,t){return e.value.substr(0,t).split("\n").length},e.prototype.getSelectedText=function(e){var t=e.selectionStart,n=e.selectionEnd;return e.value.substring(t,n)},e.prototype.getAllParents=function(e){return e.split("\n")},e.prototype.getSelectedLine=function(e){return this.getAllParents(e.value)[this.getLineNumber(e,e.selectionStart)-1]},e.prototype.getLine=function(e,t){return this.getAllParents(e.value)[t]},e.prototype.getSelectedParentPoints=function(e){var t=this.getAllParents(e.value),n=this.getLineNumber(e,e.selectionStart),i=this.getLineNumber(e,e.selectionEnd),r=this.getSelectedText(e).split("\n"),o=[],s=t[n-1],a=t.slice(0,n-1).join("").length,l={};if(l.line=n-1,l.start=a+l.line,l.end=""!==s?l.start+s.length+1:l.start+s.length,l.text=s,o.push(l),r.length>1){for(var d=1;d<r.length-1;d++){var c={};c.line=o[d-1].line+1,c.start=(r[d],o[d-1].end),c.end=c.start+r[d].length+1,c.text=r[d],o.push(c)}var p={};p.line=o[o.length-1].line+1,p.start=o[o.length-1].end,p.end=p.start+t[i-1].length+1,p.text=t[i-1],o.push(p)}return o},e.prototype.setSelection=function(e,t,n){e.setSelectionRange(t,n),e.focus()},e.prototype.save=function(e,t){this.selectionStart=e,this.selectionEnd=t},e.prototype.restore=function(e){this.setSelection(e,this.selectionStart,this.selectionEnd)},e.prototype.isStartWith=function(e,t){var n=!1;if(e){n=(e.trim()===t.trim()?new RegExp("^("+this.replaceSpecialChar(t.trim())+")","gim"):new RegExp("^("+this.replaceSpecialChar(t)+")","gim")).test(e.trim())}return n},e.prototype.replaceSpecialChar=function(e){return e.replace(/[`~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/g,"\\$&")},e.prototype.isClear=function(e,t){for(var n=0;n<e.length;n++)if(new RegExp(t,"gim").test(e[n].text))return!0;return!1},e.prototype.getSelectedInlinePoints=function(e){return{start:e.selectionStart,end:e.selectionEnd,text:this.getSelectedText(e)}},e}(),hr=["a","abbr","acronym","audio","b","bdi","bdo","big","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","font","i","iframe","img","input","ins","kbd","label","map","mark","meter","noscript","object","output","picture","progress","q","ruby","s","samp","script","select","slot","small","span","strong","strike","sub","sup","svg","template","textarea","time","u","tt","var","video","wbr"],ur=function(){function e(e){this.toolbarStatus=this.prevToolbarStatus={bold:!1,italic:!1,subscript:!1,superscript:!1,strikethrough:!1,orderedlist:!1,uppercase:!1,lowercase:!1,inlinecode:!1,unorderedlist:!1,formats:null},this.selection=new pr,this.parent=e,this.element=this.parent.contentModule.getEditPanel(),this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.on(_,this.onRefreshHandler,this),this.parent.on(q,this.removeEventListener,this)},e.prototype.removeEventListener=function(){this.parent.off(_,this.onRefreshHandler),this.parent.off(q,this.removeEventListener)},e.prototype.onRefreshHandler=function(e){var t=this.selection.getSelectedParentPoints(this.element);this.toolbarStatus={orderedlist:!e.documentNode&&this.isListsApplied(t,"OL"),unorderedlist:!e.documentNode&&this.isListsApplied(t,"UL"),formats:this.currentFormat(t,e.documentNode),bold:!e.documentNode&&this.parent.formatter.editorManager.mdSelectionFormats.isAppliedCommand("Bold"),italic:!e.documentNode&&this.parent.formatter.editorManager.mdSelectionFormats.isAppliedCommand("Italic"),inlinecode:!e.documentNode&&this.parent.formatter.editorManager.mdSelectionFormats.isAppliedCommand("InlineCode"),strikethrough:!e.documentNode&&this.parent.formatter.editorManager.mdSelectionFormats.isAppliedCommand("StrikeThrough"),subscript:!e.documentNode&&this.parent.formatter.editorManager.mdSelectionFormats.isAppliedCommand("SubScript"),superscript:!e.documentNode&&this.parent.formatter.editorManager.mdSelectionFormats.isAppliedCommand("SuperScript"),uppercase:!e.documentNode&&this.parent.formatter.editorManager.mdSelectionFormats.isAppliedCommand("UpperCase")},this.parent.formatter.editorManager.mdSelectionFormats.isAppliedCommand("InlineCode")&&(this.toolbarStatus.formats="pre");var n=JSON.stringify(this.toolbarStatus);this.parent.notify(V,this.toolbarStatus),JSON.stringify(this.prevToolbarStatus)!==n&&(this.parent.notify(Tt,{html:null,markdown:JSON.parse(n)}),this.prevToolbarStatus=JSON.parse(n))},e.prototype.isListsApplied=function(e,t){var n=!0;if("OL"===t)for(var i=0;i<e.length;i++){var r=e[i].text.trim().split(" ",2)[0]+" ";if(!/^[\d.]+[ ]+$/.test(r)){n=!1;break}}else for(i=0;i<e.length;i++)if(!this.selection.isStartWith(e[i].text,this.parent.formatter.listTags[t])){n=!1;break}return n},e.prototype.currentFormat=function(e,t){for(var n="p",i=Object.keys(this.parent.formatter.formatTags),r="backward"===this.element.selectionDirection?e[0].text:e[e.length-1].text,o=0;!t&&o<i.length;o++){if("pre"!==i[o]&&this.selection.isStartWith(r,this.parent.formatter.formatTags[i[o]])){n=i[o];break}if("pre"===i[o]&&this.codeFormat()){n=i[o];break}}return n},e.prototype.codeFormat=function(){var e=!1,t=this.parent.inputElement,n=function(e){return function(t){return[t.slice(0,e),t.slice(e)]}}(t.selectionStart)(t.value),i=this.parent.formatter.formatTags.pre,r=this.getSelectedText(t);if(""!==r&&r===r.toLocaleUpperCase())return!0;if(""===r){var o=t.value.substr(n[0].length-1,1),s=n[1].substr(0,1);if(""!==o&&""!==s&&o.match(/[a-z]/i)&&o===o.toLocaleUpperCase()&&s===s.toLocaleUpperCase())return!0}return this.isCode(n[0],i)&&this.isCode(n[1],i)&&n[0].match(this.multiCharRegx(i)).length%2==1&&n[1].match(this.multiCharRegx(i)).length%2==1&&(e=!0),e},e.prototype.getSelectedText=function(e){return e.value.substring(e.selectionStart,e.selectionEnd)},e.prototype.isCode=function(e,t){return-1!==e.search("\\"+t)},e.prototype.multiCharRegx=function(e){return new RegExp("(\\"+e+")","g")},e}(),mr=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.on(ae,this.commandCallBack,this),this.parent.on(q,this.removeEventListener,this)},e.prototype.commandCallBack=function(e){"Undo"!==e.requestType&&"Redo"!==e.requestType&&this.parent.formatter.saveData(),this.parent.notify(_,{args:e}),this.parent.notify(Pe,{})},e.prototype.removeEventListener=function(){this.parent.off(ae,this.commandCallBack),this.parent.off(q,this.removeEventListener)},e}(),gr="action",fr="format-type",br="keydown-handler",vr="keyup-handler",yr="model_changed_plugin",Cr="model_changed",Nr="ms_word_cleanup_plugin",Sr="ms_word_cleanup",Er="actionBegin",Tr=function(){function e(){}return e.prototype.process=function(e,n,i,r){var o,s=this,a=e.contentModule.getDocument().getSelection(),l=a.rangeCount>0?a.getRangeAt(a.rangeCount-1):null;if("HTML"===e.editorMode&&(o=this.editorManager.nodeSelection.save(l,e.contentModule.getDocument())),t.isNullOrUndefined(n)||!n.item.command||"Table"===n.item.command||"Actions"===n.item.command||"Links"===n.item.command||"Images"===n.item.command||"Files"===n.item.command||!l||e.contentModule.getEditPanel().contains(this.getAncestorNode(l.commonAncestorContainer))||e.contentModule.getEditPanel()===l.commonAncestorContainer||e.contentModule.getPanel()===l.commonAncestorContainer){if(!t.isNullOrUndefined(n)&&-1!==e.maxLength&&!t.isNullOrUndefined(n.item.command)){var d=0;"Links"===n.item.command&&(d=0===r.text.length?r.url.length:r.text.length),"Images"!==n.item.command&&"Table"!==n.item.command&&"Files"!==n.item.command||(d=1);var c=e.getText().trim().length-e.getSelection().length+d;if(!(-1===e.maxLength||c<=e.maxLength))return}if(t.isNullOrUndefined(n)){var p=i.action;if("tab"!==p&&"enter"!==p&&"space"!==p&&"escape"!==p){n={},"Markdown"===e.editorMode&&"insert-table"===p&&(r={headingText:e.localeObj.getConstant("TableHeadingText"),colText:e.localeObj.getConstant("TableColText")});var h={originalEvent:i,cancel:!1,requestType:p||i.key+"Key",itemCollection:r};t.extend(n,n,h,!0),e.trigger(ve,n,function(e){e.cancel&&("paste"!==p&&"cut"!==p&&"copy"!==p||i.preventDefault())})}var u=!!t.isNullOrUndefined(e.tableModule)||!!e.tableModule&&e.tableModule.ensureInsideTableList;(9===i.which&&u||9!==i.which)&&(13===i.which&&"HTML"===e.editorMode&&(r={enterAction:e.enterKey}),this.editorManager.observer.notify("keydown"===i.type?"keydown":"keyup",{event:i,callBack:this.onSuccess.bind(this,e),value:r,enterAction:e.enterKey}))}else!t.isNullOrUndefined(n)&&n.item.command&&n.item.subCommand&&(n.item.command!==n.item.subCommand&&"Font"!==n.item.command||("FontName"===n.item.subCommand||"FontSize"===n.item.subCommand)&&"dropDownSelect"===n.name||("BackgroundColor"===n.item.subCommand||"FontColor"===n.item.subCommand)&&"colorPickerChanged"===n.name)&&(t.extend(n,n,{requestType:n.item.subCommand,cancel:!1,itemCollection:r,selectType:n.name},!0),e.trigger(ve,n,function(t){if(!t.cancel){0===s.getUndoRedoStack().length&&"Links"!==t.item.command&&"Images"!==t.item.command&&s.saveData(),e.isBlur=!1,e.contentModule.getEditPanel().focus(),"HTML"===e.editorMode&&o.restore();var n=t.item.subCommand.toLocaleLowerCase();"paste"===n||"cut"===n||"copy"===n?e.clipboardAction(n,i):(s.editorManager.observer.notify(Ze,{subCommand:t.item.subCommand}),s.editorManager.execCommand(t.item.command,t.item.subCommand,i,s.onSuccess.bind(s,e),t.item.value,"Pre"===t.item.subCommand&&"dropDownSelect"===t.selectType?{name:t.selectType}:r,"#"+e.getID()+" iframe",e.enterKey))}}));(t.isNullOrUndefined(i)||i&&"copy"!==i.action)&&this.enableUndo(e)}},e.prototype.getAncestorNode=function(e){return e=3===e.nodeType?e.parentNode:e},e.prototype.onKeyHandler=function(e,t){var n=this;this.editorManager.observer.notify("keyup",{event:t,callBack:function(){e.notify(H,{}),n.enableUndo(e)}})},e.prototype.onSuccess=function(e,n){e.notify(H,{}),n&&(t.isNullOrUndefined(n.event)||"copy"!==n.event.action)&&(this.enableUndo(e),e.notify(ae,n)),e.trigger(ye,n,function(t){if(e.setPlaceHolder(),("Images"===t.requestType||"Links"===t.requestType)&&"HTML"===e.editorMode){var n=t;if("Links"===t.requestType&&t.event&&"keydown"===t.event.type&&32===t.event.keyCode)return;e.notify(Ee,{args:n.event,type:t.requestType,isNotify:!0,elements:n.elements})}e.autoResize()})},e.prototype.saveData=function(e){this.editorManager.undoRedoManager.saveData(e)},e.prototype.getUndoStatus=function(){return this.editorManager.undoRedoManager.getUndoStatus()},e.prototype.getUndoRedoStack=function(){return this.editorManager.undoRedoManager.undoRedoStack},e.prototype.enableUndo=function(e){var n=this.getUndoStatus();!e.inlineMode.enable||t.Browser.isDevice&&!h()?e.toolbarModule&&y(e.toolbarModule.baseToolbar,n):y(e.quickToolbarModule.inlineQTBar.quickTBarObj,n)},e}(),wr="lists-commands",Or="command-type",Lr="link-commands",xr="clear-commands",kr="insert-table",Dr="insert-text",Mr=function(){function e(e){t.extend(this,this,e,!0),this.selection=this.parent.markdownSelection,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(wr,this.applyListsHandler,this),this.parent.observer.on(br,this.keyDownHandler,this),this.parent.observer.on(vr,this.keyUpHandler,this)},e.prototype.keyDownHandler=function(e){switch(e.event.which){case 9:this.tabKey(e)}switch(e.event.action){case"ordered-list":this.applyListsHandler({subCommand:"OL",callBack:e.callBack}),e.event.preventDefault();break;case"unordered-list":this.applyListsHandler({subCommand:"UL",callBack:e.callBack}),e.event.preventDefault()}},e.prototype.keyUpHandler=function(e){switch(e.event.which){case 13:this.enterKey(e)}},e.prototype.tabKey=function(e){var t=this.parent.element;this.selection.save(t.selectionStart,t.selectionEnd);var n=t.selectionStart,i=t.selectionEnd,r=this.selection.getSelectedParentPoints(t),o=0,s=this.isNotFirstLine(t,r[0]);if(s||e.event.shiftKey){var a=this.olListType(),l=this.getListRegex();this.currentAction=this.getAction(r[0].text);for(var d=0;d<r.length;d++){var c=(e.event.shiftKey,r[d].line-1),p=this.selection.getLine(t,c);if(p&&(!e.event.shiftKey&&s||e.event.shiftKey)){var h=p.split(". "),u=e.event.shiftKey?-"\t".length:"\t".length,m=r[d].text.split("\t");if(e.event.shiftKey&&1===m.length)break;if("OL"===this.currentAction&&/^\d+$/.test(h[0].trim())&&a){e.event.preventDefault(),r[d].text=e.event.shiftKey?m.splice(1,m.length).join("\t"):"\t"+r[d].text;var g=this.getTabSpace(r[d].text),f=this.getTabSpace(p),b=r[d].text.split(". ");if(g===f)this.changeTextAreaValue(b,this.nextOrderedListValue(h[0].trim()),e,t,r,d,i);else if(f<g)this.changeTextAreaValue(b,"1. ",e,t,r,d,i);else for(;f.length>g.length;null){c-=1;var v=(p=this.selection.getLine(t,c)).trim().split(". ");if(/^\d+$/.test(v[0])&&(f=this.getTabSpace(p)).length<=g.length){this.changeTextAreaValue(b,this.nextOrderedListValue(v[0]),e,t,r,d,i);break}}}else("UL"===this.currentAction&&l.test(p.trim())||!a)&&(e.event.preventDefault(),r[d].text=e.event.shiftKey?m.splice(1,m.length).join("\t"):"\t"+r[d].text,t.value=t.value.substr(0,r[d].start)+r[d].text+"\n"+t.value.substr(r[d].end,t.value.length));if(n=0===d?n+u:n,o+=u,1!==r.length)for(var y=d;y<r.length;y++)r[y].start=0!==y?r[y].start+u:r[y].start,r[y].end=r[y].end+u}}this.restore(t,n,i+o,e)}else this.restore(t,n,i+o,e)},e.prototype.changeTextAreaValue=function(e,n,i,r,o,s,a){var l=n;e.splice(0,1);var d,c=this.selection.getAllParents(r.value).length,p="",h=this.getTabSpace(o[s].text),u=parseInt(l.split(".")[0],null),m=this.getTabSpace(o[s].text),g=!0,f=!0,b=-1,v=!0,y=0,C="";p=""!==this.selection.getLine(r,o[0].line+1)?"":p+r.value.substr(o[0].end,r.value.length);for(var N=1;N<c&&!t.isNullOrUndefined(this.selection.getLine(r,o[0].line+N))&&""!==this.selection.getLine(r,o[0].line+N);N++){var S=this.selection.getLine(r,o[0].line+N),E=this.getTabSpace(S),T=S.split(". ");if(1===T.length){p+=r.value.substr(o[0].end+y,r.value.length);break}y+=S.length;var w=!1;if(d=i.event.shiftKey?h.length+1:h.length-1,E.length>m.length&&(v=!1),h.length!==E.length&&E.length<m.length?(f=!0,g=!1,w=!(!i.event.shiftKey||h.length!==E.length)&&(f=!1,!0)):v&&i.event.shiftKey&&h.length===E.length&&E.length===m.length&&(f=!1,w=!0),C=""===p?"":"\n",d===E.length&&f){var O=i.event.shiftKey?(b++,this.nextOrderedListValue(b.toString())):this.previousOrderedListValue(T[0]);T.splice(0,1),p=p+C+E+O+T.join(". ")}else if(h.length===E.length&&g||w){O=this.nextOrderedListValue(u.toString());u++,T.splice(0,1),p=p+C+E+O+T.join(". ")}else p=p+C+S,f=!1;m=this.getTabSpace(S)}o[s].text=this.getTabSpace(o[s].text)+l+e.join(". ")+"\n",r.value=r.value.substr(0,o[s].start)+o[s].text+p},e.prototype.getTabSpace=function(e){for(var t=e.split("\t"),n="",i=0;i<t.length&&""===t[i];i++)n+="\t";return n},e.prototype.isNotFirstLine=function(e,t){var n,i=t.text,r=t.line-1,o=this.selection.getLine(e,r),s=this.getListRegex(),a=!1;if(o){this.currentAction=this.getAction(o);var l=o.split(". ");n="OL"===this.currentAction?/^\d+$/.test(l[0].trim()):s.test(o.trim())}if(o&&n){var d=this.getTabSpace(i),c=this.getTabSpace(o);for(a=d===c||a;c.length>d.length;null){r-=1;l=(o=this.selection.getLine(e,r)).trim().split(". ");if(("OL"===this.currentAction?/^\d+$/.test(l[0]):s.test(o.trim()))&&(c=this.getTabSpace(o)).length<=d.length){a=!0;break}}}return a},e.prototype.getAction=function(e){var t=e.split(". ")[0],n=/^\d+$/.test(t.trim()),i=e.trim().split(new RegExp("^("+this.selection.replaceSpecialChar(this.syntax.UL).trim()+")"))[1];return n?"OL":i?"UL":"NOTLIST"},e.prototype.nextOrderedListValue=function(e){return(parseInt(e,null)+1).toString()+". "},e.prototype.previousOrderedListValue=function(e){return(parseInt(e,null)-1).toString()+". "},e.prototype.enterKey=function(e){var n=this.parent.element;this.selection.save(n.selectionStart,n.selectionEnd);var i=n.selectionStart,r=n.selectionEnd,o=this.selection.getSelectedParentPoints(n),s=this.selection.getLine(n,o[0].line-1),a=this.olListType(),l=this.getListRegex(),d=[];t.isNullOrUndefined(s)||(d=s.split(". "),this.currentAction=this.getAction(s));var c=0;if("OL"===this.currentAction&&d.length>1&&/^\d+$/.test(d[0].trim())&&a&&""!==d[1]){var p=this.getTabSpace(s);this.currentAction=this.getAction(s);var h=this.nextOrderedListValue(d[0]);o[0].text=p+h+o[0].text;for(var u=this.selection.getAllParents(n.value).length,m="\n",g=this.getTabSpace(s),f=this.getTabSpace(o[0].text),b=!0,v=1;v<u&&""!==n.value.substr(o[0].end,n.value.length);v++){var y=this.selection.getLine(n,o[0].line+v);if(t.isNullOrUndefined(y))m+="";else{var C=y.split(". "),N=this.getTabSpace(y);if(N.length<f.length&&(b=!1),C.length>1&&/^\d+$/.test(C[0].trim())&&g.length===N.length&&b){var S=this.nextOrderedListValue(C[0]);C.splice(0,1),m=m+N+S+C.join(". ")+"\n"}else m=m+y+"\n",f=this.getTabSpace(y)}}n.value=n.value.substr(0,o[0].start)+g+h+this.selection.getLine(n,o[0].line)+m,i=i+h.length+p.length,c+=h.length+p.length}else if("UL"===this.currentAction&&s&&l.test(s.trim())&&""!==s.trim().replace(l,"")||"OL"===this.currentAction&&!a){p=this.getTabSpace(s),h=this.syntax[this.currentAction];o[0].text=p+h+o[0].text+(o[0].text.trim().length>0?"\n":""),n.value=n.value.substr(0,o[0].start)+o[0].text+n.value.substr(o[0].end,n.value.length),i=i+h.length+p.length,c+=h.length+p.length}this.restore(n,i,r+c,e)},e.prototype.olListType=function(){var e=this.syntax.OL.split(".,");return(1===e.length?null:parseInt(e[2].trim(),null)-parseInt(e[0].trim(),null))?1:0},e.prototype.applyListsHandler=function(e){var n=this.parent.element;this.selection.save(n.selectionStart,n.selectionEnd),this.currentAction=e.subCommand;for(var i,r=n.selectionStart,o=n.selectionEnd,s=0,a=0,l=0,d=this.selection.getSelectedParentPoints(n),c="",p=this.olListType(),h={},u=0;u<d.length;u++)if(i=p?"OL"===this.currentAction?u+p+". ":this.syntax[this.currentAction]:"OL"===this.currentAction?this.syntax.OL:this.syntax[this.currentAction],this.selection.isStartWith(d[u].text,i))d[u].text=d[u].text.replace(i,""),n.value=n.value.substr(0,d[u].start+l)+d[u].text+"\n"+n.value.substr(d[u].end+l,n.value.length),l-=i.length,a=i.length,this.restore(n,r-a,o+l,null);else{if(""===d[u].text&&0===u&&(this.selection.save(r,o),1!==d.length))for(var m=u;m<d.length;m++)d[m].start=0!==m?1+d[m].start:d[m].start,d[m].end=1+d[m].end;var g=t.isNullOrUndefined(d[u-1])?0:this.getTabSpace(d[u-1].text).length,f=this.appliedLine(d[u].text,i,h,g);if(c=f.line?c:i,d[u].text=f.line?f.line:c+d[u].text,f.space=f.space?f.space:0,n.value=n.value.substr(0,d[u].start+l)+d[u].text+"\n"+n.value.substr(d[u].end,n.value.length),r=0===u?r+c.length+f.space>0?r+c.length+f.space:0:r,s+=c.length+f.space,1!==d.length)for(m=u;m<d.length;m++)d[m].start=0!==m?c.length+d[m].start+f.space:d[m].start,d[m].end=c.length+d[m].end+f.space;this.restore(n,r,o+s,null)}this.restore(n,null,null,e)},e.prototype.appliedLine=function(e,n,i,r){var o={},s=new RegExp("^["+this.syntax.UL.trim()+"]"),a=e.split(". "),l=a[0]+". ",d=s.test(e.trim())||e.trim()===this.syntax.OL.trim()||e.trim()===this.syntax.UL.trim()||/^\d+$/.test(a[0].trim()),c=this.olListType(),p=this.getTabSpace(e).length;if("OL"===this.currentAction&&c&&(i[p.toString()]=t.isNullOrUndefined(i[p.toString()])?1:i[p.toString()].valueOf()+1,n=i[p.toString()].valueOf().toString()+". ",!t.isNullOrUndefined(r)&&r>p&&(i[r.toString()]=0)),d){var h=void 0,u=void 0;s.test(e.trim())?(u=this.syntax.UL,h=n,o.space=n.trim().length-this.syntax.UL.trim().length):/^\d+$/.test(a[0].trim())&&c?(u=a[0].trim()+". ",h=n,o.space=this.syntax.UL.trim().length-l.trim().length):/^\d+$/.test(a[0].trim())&&(u=a[0].trim()+". ",h=this.syntax.UL,o.space=this.syntax.UL.trim().length-l.trim().length),o.line=e.replace(u,h)}return o},e.prototype.restore=function(e,n,i,r){t.isNullOrUndefined(n)||t.isNullOrUndefined(n)||this.selection.save(n,i),t.isNullOrUndefined(r)||this.selection.restore(e),r&&r.callBack&&r.callBack({requestType:this.currentAction,selectedText:this.selection.getSelectedText(e),editorMode:"Markdown",event:r.event})},e.prototype.getListRegex=function(){for(var e="",t=Object.keys(this.syntax),n=0;n<t.length;n++){var i=this.selection.replaceSpecialChar(this.syntax[t[n]]);e+=""===e?"^("+i+")|^("+i.trim()+")":"|^("+i+")|^("+i.trim()+")"}return new RegExp(e)},e}(),Rr=function(){function e(e){t.extend(this,this,e,!0),this.selection=this.parent.markdownSelection,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(fr,this.applyFormats,this)},e.prototype.applyFormats=function(e){e.subCommand=e.subCommand.toLowerCase();var n=this.parent.element;this.selection.save(n.selectionStart,n.selectionEnd);var i=this.selection.getSelectedParentPoints(n);if(this.isAppliedFormat(i)===e.subCommand){if("pre"===e.subCommand){if(!(i.length>1))return;this.applyCodeBlock(n,e,i)}return this.cleanFormat(n),void this.restore(n,n.selectionStart,n.selectionEnd,e)}if("p"===e.subCommand)return this.cleanFormat(n),void this.restore(n,n.selectionStart,n.selectionEnd,e);("pre"===e.subCommand&&1!==i.length||"pre"!==e.subCommand)&&this.cleanFormat(n,e.subCommand);var r=n.selectionStart,o=n.selectionEnd,s=0;if(i=this.selection.getSelectedParentPoints(n),"pre"!==e.subCommand){for(var a=0;a<i.length;a++)if(""===i[a].text||this.selection.isStartWith(i[a].text,"\\"+this.syntax[e.subCommand])){if(""===i[a].text&&0===a&&(this.selection.save(r,o),0===this.selection.getSelectedText(n).length&&(i[a].text=this.syntax[e.subCommand],n.value=n.value.substr(0,i[a].start)+this.syntax[e.subCommand]+n.value.substr(i[a].end,n.value.length),r=0===a?r+this.syntax[e.subCommand].length:r,s+=this.syntax[e.subCommand].length),1!==i.length))for(l=a;l<i.length;l++)i[l].start=0!==l?1+i[l].start:i[l].start,i[l].end=1+i[l].end}else if(i[a].text=this.syntax[e.subCommand]+i[a].text,n.value=n.value.substr(0,i[a].start)+i[a].text+"\n"+n.value.substr(i[a].end,n.value.length),r=0===a?r+this.syntax[e.subCommand].length:r,s+=this.syntax[e.subCommand].length,1!==i.length)for(var l=a;l<i.length;l++)i[l].start=0!==l?this.syntax[e.subCommand].length+i[l].start:i[l].start,i[l].end=this.syntax[e.subCommand].length+i[l].end;this.restore(n,r,o+s,e)}else i.length>1?this.applyCodeBlock(n,e,i):(t.extend(e,e,{subCommand:"InlineCode"},!0),this.parent.observer.notify(Or,e))},e.prototype.clearRegex=function(){for(var e="",t=Object.keys(this.syntax),n=0;n<t.length&&"pre"!==t[n]&&"p"!==t[n];n++)e+=""===e?"^("+this.selection.replaceSpecialChar(this.syntax[t[n]].trim())+")":"|^("+this.selection.replaceSpecialChar(this.syntax[t[n]].trim())+")";return e},e.prototype.cleanFormat=function(e,t){var n=this.selection.getSelectedParentPoints(e),i=e.selectionStart,r=e.selectionEnd,o=0;if(this.selection.isClear(n,this.clearRegex())){for(var s=0;s<n.length;s++){for(var a=Object.keys(this.syntax),l=0;""!==n[s].text&&l<a.length;l++){var d=this.syntax[a[l]];if(a[l]!==t){var c=new RegExp("^("+this.selection.replaceSpecialChar(d)+")","gim");if(c.test(n[s].text)){if(n[s].text=n[s].text.replace(c,""),e.value=e.value.substr(0,n[s].start)+n[s].text+"\n"+e.value.substr(n[s].end,e.value.length),i=0===s?i-d.length>0?i-d.length:0:i,o+=d.length,1!==n.length)for(var p=0;p<n.length;p++)n[p].start=0!==p?n[p].start-d.length:n[p].start,n[p].end=n[p].end-d.length;break}}}if(""===n[s].text&&0===s&&(this.selection.save(i,r),1!==n.length))for(l=s;l<n.length;l++)n[l].start=0!==l?1+n[l].start:n[l].start,n[l].end=1+n[l].end}this.restore(e,i,r-o)}},e.prototype.applyCodeBlock=function(e,t,n){var i=t.subCommand,r=n[0].start,o=n[n.length-1].end,s=this.selection.getAllParents(e.value),a=s[n[0].line-1],l=s[n.length+1+1];if(this.selection.isStartWith(a,this.syntax.pre.split("\n")[0])||this.selection.isStartWith(l,this.syntax.pre.split("\n")[0])){var d=this.syntax[i],c=this.parent.markdownSelection.getSelectedInlinePoints(e),p=e.value.substr(0,e.selectionStart).lastIndexOf(d),h=e.value.substr(e.selectionEnd,e.selectionEnd).indexOf(d);h+=c.end;var u=this.replaceAt(e.value.substr(0,c.start),d,"",p,c.start),m=this.replaceAt(e.value.substr(c.end,e.value.length),d,"",0,h);e.value=u+c.text+m,r=this.selection.selectionStart-d.length,o=this.selection.selectionEnd-d.length}else{var g=e.value.substring(r,o).split("\n"),f=""===g[g.length-1]?"":"\n";e.value=e.value.substr(0,r)+this.syntax[i]+e.value.substring(r,o)+f+this.syntax[i]+e.value.substr(o,e.value.length),r=this.selection.selectionStart+this.syntax[i].length,o=this.selection.selectionEnd+this.syntax[i].length-1}this.restore(e,r,o,t)},e.prototype.replaceAt=function(e,t,n,i,r){return e.slice(0,i)+e.slice(i,r).replace(t,n)+e.slice(r)},e.prototype.restore=function(e,t,n,i){this.selection.save(t,n),this.selection.restore(e),i&&i.callBack&&i.callBack({requestType:i.subCommand,selectedText:this.selection.getSelectedText(e),editorMode:"Markdown",event:i.event})},e.prototype.isAppliedFormat=function(e,t){for(var n="p",i=(Object.keys(this.syntax),Object.keys(this.syntax)),r="backward"===this.parent.element.selectionDirection?e[0].text:e[e.length-1].text,o=0;!t&&o<i.length;o++){if("pre"!==i[o]&&this.selection.isStartWith(r,this.syntax[i[o]])){n=i[o];break}if("pre"===i[o]){var s=this.selection.getAllParents(this.parent.element.value),a=s[e[0].line-1],l=s[e.length+1];if(this.selection.isStartWith(a,this.syntax[i[o]].split("\n")[0])&&this.selection.isStartWith(l,this.syntax[i[o]].split("\n")[0])){n=i[o];break}}}return n},e}(),Ir=function(){function e(e){t.extend(this,this,e,!0),this.selection=this.parent.markdownSelection,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(Or,this.applyCommands,this),this.parent.observer.on(br,this.keyDownHandler,this)},e.prototype.keyDownHandler=function(e){switch(e.event.action){case"bold":this.applyCommands({subCommand:"Bold",callBack:e.callBack}),e.event.preventDefault();break;case"italic":this.applyCommands({subCommand:"Italic",callBack:e.callBack}),e.event.preventDefault();break;case"strikethrough":this.applyCommands({subCommand:"StrikeThrough",callBack:e.callBack}),e.event.preventDefault();break;case"uppercase":this.applyCommands({subCommand:"UpperCase",callBack:e.callBack}),e.event.preventDefault();break;case"lowercase":this.applyCommands({subCommand:"LowerCase",callBack:e.callBack}),e.event.preventDefault();break;case"superscript":this.applyCommands({subCommand:"SuperScript",callBack:e.callBack}),e.event.preventDefault();break;case"subscript":this.applyCommands({subCommand:"SubScript",callBack:e.callBack}),e.event.preventDefault()}},e.prototype.isBold=function(e,t){return-1!==e.search("\\"+t+"\\"+t)},e.prototype.isItalic=function(e,t){return-1!==e.search("\\"+t)},e.prototype.isMatch=function(e,t){var n=[""];switch(t){case this.syntax.Italic:case this.syntax.InlineCode:case this.syntax.StrikeThrough:n=e.match(this.singleCharRegx(t))}return n},e.prototype.multiCharRegx=function(e){return new RegExp("(\\"+e+"\\"+e+")","g")},e.prototype.singleCharRegx=function(e){return new RegExp("(\\"+e+")","g")},e.prototype.isAppliedCommand=function(e){var n=!1,i=this.parent.element,r=function(e){return function(t){return[t.slice(0,e),t.slice(e)]}}(i.selectionStart)(i.value),o=this.syntax.Bold.substr(0,1),s=this.syntax.Italic,a=this.parent.markdownSelection.getSelectedText(i);if(""!==a&&a===a.toLocaleUpperCase()&&"UpperCase"===e)return!0;if(""===a){var l=i.value.substr(r[0].length-1,1),d=r[1].substr(0,1);if(""!==l&&""!==d&&l.match(/[a-z]/i)&&l===l.toLocaleUpperCase()&&d===d.toLocaleUpperCase()&&"UpperCase"===e)return!0}return this.isBold(r[0],o)||this.isItalic(r[0],s)||this.isBold(r[1],o)||this.isItalic(r[1],s)||(t.isNullOrUndefined(this.isMatch(r[0],this.syntax.StrikeThrough))||t.isNullOrUndefined(this.isMatch(r[1],this.syntax.StrikeThrough))||this.isMatch(r[0],this.syntax.StrikeThrough).length%2!=1||this.isMatch(r[1],this.syntax.StrikeThrough).length%2!=1||"StrikeThrough"!==e||(n=!0),t.isNullOrUndefined(this.isMatch(r[0],this.syntax.InlineCode))||t.isNullOrUndefined(this.isMatch(r[1],this.syntax.InlineCode))||this.isMatch(r[0],this.syntax.InlineCode).length%2!=1||this.isMatch(r[1],this.syntax.InlineCode).length%2!=1||"InlineCode"!==e||(n=!0),t.isNullOrUndefined(r[0].match(/\<sub>/g))||t.isNullOrUndefined(r[1].match(/\<\/sub>/g))||r[0].match(/\<sub>/g).length%2!=1||r[1].match(/\<\/sub>/g).length%2!=1||"SubScript"!==e||(n=!0),t.isNullOrUndefined(r[0].match(/\<sup>/g))||t.isNullOrUndefined(r[1].match(/\<\/sup>/g))||r[0].match(/\<sup>/g).length%2!=1||r[1].match(/\<\/sup>/g).length%2!=1||"SuperScript"!==e||(n=!0)),this.isBold(r[0],o)&&this.isBold(r[1],o)&&r[0].match(this.multiCharRegx(o)).length%2==1&&r[1].match(this.multiCharRegx(o)).length%2==1&&"Bold"===e&&(n=!0),r[0]=this.isBold(r[0],o)?r[0].replace(this.multiCharRegx(o),"$%@"):r[0],r[1]=this.isBold(r[1],o)?r[1].replace(this.multiCharRegx(o),"$%@"):r[1],t.isNullOrUndefined(this.isMatch(r[0],this.syntax.Italic))||t.isNullOrUndefined(this.isMatch(r[1],this.syntax.Italic))||this.isMatch(r[0],this.syntax.Italic).length%2!=1||this.isMatch(r[1],this.syntax.Italic).length%2!=1||"Italic"!==e||(n=!0),t.isNullOrUndefined(this.isMatch(r[0],this.syntax.StrikeThrough))||t.isNullOrUndefined(this.isMatch(r[1],this.syntax.StrikeThrough))||this.isMatch(r[0],this.syntax.StrikeThrough).length%2!=1||this.isMatch(r[1],this.syntax.StrikeThrough).length%2!=1||"StrikeThrough"!==e||(n=!0),t.isNullOrUndefined(this.isMatch(r[0],this.syntax.InlineCode))||t.isNullOrUndefined(this.isMatch(r[1],this.syntax.InlineCode))||this.isMatch(r[0],this.syntax.InlineCode).length%2!=1||this.isMatch(r[1],this.syntax.InlineCode).length%2!=1||"InlineCode"!==e||(n=!0),t.isNullOrUndefined(r[0].match(/\<sub>/g))||t.isNullOrUndefined(r[1].match(/\<\/sub>/g))||r[0].match(/\<sub>/g).length%2!=1||r[1].match(/\<\/sub>/g).length%2!=1||"SubScript"!==e||(n=!0),t.isNullOrUndefined(r[0].match(/\<sup>/g))||t.isNullOrUndefined(r[1].match(/\<\/sup>/g))||r[0].match(/\<sup>/g).length%2!=1||r[1].match(/\<\/sup>/g).length%2!=1||"SuperScript"!==e||(n=!0),n},e.prototype.applyCommands=function(e){this.currentAction=e.subCommand;var t=this.parent.element;this.selection.save(t.selectionStart,t.selectionEnd);var n=t.selectionStart,i=t.selectionEnd,r=0,o=this.parent.markdownSelection.getSelectedInlinePoints(t);if(this.isAppliedCommand(e.subCommand)&&""!==o.text){var s=this.syntax[e.subCommand],a="SubScript"===e.subCommand?"</sub>":"SuperScript"===e.subCommand?"</sup>":this.syntax[e.subCommand],l="UpperCase"===e.subCommand||"LowerCase"===e.subCommand?0:s.length,d=t.value.substr(0,o.start).lastIndexOf(s),c=t.value.substr(o.end,t.value.length).indexOf(a);c+=o.end;var p=this.replaceAt(t.value.substr(0,o.start),s,"",d,o.start),h=this.replaceAt(t.value.substr(o.end,t.value.length),a,"",0,c);return t.value=p+o.text+h,void this.restore(t,n-l,i-l,e)}if(""===o.text||this.isApplied(o,e.subCommand))"UpperCase"!==e.subCommand&&"LowerCase"!==e.subCommand?("SubScript"===e.subCommand||"SuperScript"===e.subCommand?(o.text=this.textReplace(o.text,e.subCommand),o.text=this.syntax[e.subCommand]+o.text+"</"+this.syntax[e.subCommand].substring(1,5)):(o.text=this.textReplace(o.text,e.subCommand),o.text=this.syntax[e.subCommand]+o.text+this.syntax[e.subCommand]),t.value=t.value.substr(0,o.start)+o.text+t.value.substr(o.end,t.value.length),r=this.syntax[e.subCommand].length,o.start===o.end?this.restore(t,n+r,i+r,e):this.restore(t,n+r,i-r,e)):this.restore(t,n,i,e);else{r="UpperCase"===e.subCommand||"LowerCase"===e.subCommand?0:this.syntax[e.subCommand].length;var u=t.value.substr(o.start-this.syntax[e.subCommand].length,this.syntax[e.subCommand].length),m=void 0;if(u===e.subCommand||o.start-this.syntax[e.subCommand].length===t.value.indexOf(this.syntax[e.subCommand])&&(o.end===t.value.lastIndexOf(this.syntax[e.subCommand])||o.end===t.value.lastIndexOf("</"+this.syntax[e.subCommand].substring(1,5)))){m="SubScript"===e.subCommand||"SuperScript"===e.subCommand?t.value.substr(o.end,this.syntax[e.subCommand].length+1):t.value.substr(o.end,this.syntax[e.subCommand].length);p=this.replaceAt(t.value.substr(0,o.start),u,"",o.start-this.syntax[e.subCommand].length,o.start),h=this.replaceAt(t.value.substr(o.end,t.value.length),m,"",0,m.length);t.value=p+o.text+h,this.restore(t,n-r,i-r,e)}else"SubScript"===e.subCommand||"SuperScript"===e.subCommand?o.text=this.syntax[e.subCommand]+o.text+"</"+this.syntax[e.subCommand].substring(1,5):"UpperCase"===e.subCommand||"LowerCase"===e.subCommand?o.text="UpperCase"===e.subCommand?o.text.toUpperCase():o.text.toLowerCase():o.text=this.syntax[e.subCommand]+o.text+this.syntax[e.subCommand],t.value=t.value.substr(0,o.start)+o.text+t.value.substr(o.end,t.value.length),this.restore(t,n+r,i+r,e)}this.parent.undoRedoManager.saveData()},e.prototype.replaceAt=function(e,t,n,i,r){return e.slice(0,i)+e.slice(i,r).replace(t,n)+e.slice(r)},e.prototype.restore=function(e,t,n,i){this.selection.save(t,n),this.selection.restore(e),i&&i.callBack&&i.callBack({requestType:this.currentAction,selectedText:this.selection.getSelectedText(e),editorMode:"Markdown",event:i.event})},e.prototype.textReplace=function(e,t){var n=this.singleCharRegx(this.syntax[t]);switch(t){case"Bold":n=this.multiCharRegx(this.syntax[t].substr(0,1)),e=e.replace(n,"");break;case"Italic":if(this.isBold(e,this.syntax[t].substr(0,1))){var i=this.multiCharRegx(this.syntax[t].substr(0,1)),r=e;r=r.replace(i,"$%@").replace(n,"");var o=new RegExp("\\$%@","g");e=r.replace(o,this.syntax[t].substr(0,1)+this.syntax[t].substr(0,1))}else e=e.replace(n,"");break;case"StrikeThrough":case"InlineCode":e=e.replace(n,"");break;case"SubScript":e=e.replace(/<sub>/g,"").replace(/<\/sub>/g,"");break;case"SuperScript":e=e.replace(/<sup>/g,"").replace(/<\/sup>/g,"")}return e},e.prototype.isApplied=function(e,t){var n=this.singleCharRegx(this.syntax[t]);switch(t){case"SubScript":case"SuperScript":return(n=this.singleCharRegx(this.syntax[t])).test(e.text);case"Bold":case"StrikeThrough":return(n=this.multiCharRegx(this.syntax[t].substr(0,1))).test(e.text);case"UpperCase":case"LowerCase":return(n=new RegExp("^["+this.syntax[t]+"]*$","g")).test(e.text);case"Italic":var i=void 0,r=this.multiCharRegx(this.syntax[t].substr(0,1));if(r.test(e.text)){var o=e.text;o=o.replace(r,"$%#"),i=n.test(o)}else i=n.test(e.text);return i;case"InlineCode":return n.test(e.text)}},e}(),Br={h6:"###### ",h5:"##### ",h4:"#### ",h3:"### ",h2:"## ",h1:"# ",blockquote:"> ",pre:"```\n",p:""},Pr={Bold:"**",Italic:"*",StrikeThrough:"~~",InlineCode:"`",SubScript:"<sub>",SuperScript:"<sup>",UpperCase:"A-Z",LowerCase:"a-z"},Ar={OL:"1. ",UL:"- "},Ur={"toolbar-focus":"alt+f10",escape:"27","insert-link":"ctrl+k","insert-image":"ctrl+shift+i","insert-table":"ctrl+shift+e",undo:"ctrl+z",redo:"ctrl+y",copy:"ctrl+c",cut:"ctrl+x",paste:"ctrl+v",bold:"ctrl+b",italic:"ctrl+i",underline:"ctrl+u",strikethrough:"ctrl+shift+s",uppercase:"ctrl+shift+u",lowercase:"ctrl+shift+l",superscript:"ctrl+shift+=",subscript:"ctrl+=",indents:"ctrl+]",outdents:"ctrl+[","html-source":"ctrl+shift+h","full-screen":"ctrl+shift+f","decrease-fontsize":"ctrl+shift+<","increase-fontsize":"ctrl+shift+>","justify-center":"ctrl+e","justify-full":"ctrl+j","justify-left":"ctrl+l","justify-right":"ctrl+r","clear-format":"ctrl+shift+r","ordered-list":"ctrl+shift+o","unordered-list":"ctrl+alt+o",space:"32",enter:"13",tab:"tab",delete:"46"},Hr={"toolbar-focus":"alt+f10",escape:"27","insert-link":"ctrl+k","insert-image":"ctrl+shift+i","insert-table":"ctrl+shift+e",undo:"ctrl+z",redo:"ctrl+y",copy:"ctrl+c",cut:"ctrl+x",paste:"ctrl+v",bold:"ctrl+b",italic:"ctrl+i",strikethrough:"ctrl+shift+s",uppercase:"ctrl+shift+u",lowercase:"ctrl+shift+l",superscript:"ctrl+shift+=",subscript:"ctrl+=","full-screen":"ctrl+shift+f","ordered-list":"ctrl+shift+o","unordered-list":"ctrl+alt+o"},jr={b:["strong"],strong:["b"],i:["emp","cite"],emp:["i","cite"],cite:["i","emp"]},Fr=["BR","IMG"],qr=function(){function e(e,n){this.undoRedoStack=[],this.parent=e,this.undoRedoSteps=t.isNullOrUndefined(n)?30:n.undoRedoSteps,this.undoRedoTimer=t.isNullOrUndefined(n)?300:n.undoRedoTimer,this.selection=this.parent.markdownSelection,this.addEventListener()}return e.prototype.addEventListener=function(){var e=t.debounce(this.keyUp,this.undoRedoTimer);this.parent.observer.on(vr,e,this),this.parent.observer.on(br,this.keyDown,this),this.parent.observer.on(gr,this.onAction,this),this.parent.observer.on(yr,this.onPropertyChanged,this)},e.prototype.onPropertyChanged=function(e){for(var t=0,n=Object.keys(e.newProp);t<n.length;t++){switch(n[t]){case"undoRedoSteps":this.undoRedoSteps=e.newProp.undoRedoSteps;break;case"undoRedoTimer":this.undoRedoTimer=e.newProp.undoRedoTimer}}},e.prototype.removeEventListener=function(){var e=t.debounce(this.keyUp,300);this.parent.observer.off(vr,e),this.parent.observer.off(br,this.keyDown),this.parent.observer.off(gr,this.onAction),this.parent.observer.off(yr,this.onPropertyChanged)},e.prototype.destroy=function(){this.removeEventListener()},e.prototype.onAction=function(e){"Undo"===e.subCommand?this.undo(e):this.redo(e)},e.prototype.keyDown=function(e){var t=e.event;switch(t.action){case"undo":t.preventDefault(),this.undo(e);break;case"redo":t.preventDefault(),this.redo(e)}},e.prototype.keyUp=function(e){17===e.event.keyCode||e.event.ctrlKey||this.saveData(e)},e.prototype.saveData=function(e){var t=this.parent.element;this.selection.save(t.selectionStart,t.selectionEnd);var n=t.selectionStart,i=t.selectionEnd,r={text:this.parent.element.value,start:n,end:i};this.undoRedoStack.length>=this.steps&&(this.undoRedoStack=this.undoRedoStack.slice(0,this.steps+1)),this.undoRedoStack.length>1&&this.undoRedoStack[this.undoRedoStack.length-1].start===n&&this.undoRedoStack[this.undoRedoStack.length-1].end===i||(this.undoRedoStack.push(r),this.steps=this.undoRedoStack.length-1,this.steps>this.undoRedoSteps&&(this.undoRedoStack.shift(),this.steps--),e&&e.callBack&&e.callBack())},e.prototype.undo=function(e){if(this.steps>0){this.currentAction="Undo";var t=this.undoRedoStack[this.steps-1].start,n=this.undoRedoStack[this.steps-1].end,i=this.undoRedoStack[this.steps-1].text;this.parent.element.value=i,this.parent.element.focus(),this.steps--,this.restore(this.parent.element,t,n,e)}},e.prototype.redo=function(e){if(null!=this.undoRedoStack[this.steps+1]){this.currentAction="Redo";var t=this.undoRedoStack[this.steps+1].start,n=this.undoRedoStack[this.steps+1].end;this.parent.element.value=this.undoRedoStack[this.steps+1].text,this.parent.element.focus(),this.steps++,this.restore(this.parent.element,t,n,e)}},e.prototype.restore=function(e,t,n,i){this.selection.save(t,n),this.selection.restore(e),i&&i.callBack&&i.callBack({requestType:this.currentAction,selectedText:this.selection.getSelectedText(e),editorMode:"Markdown",event:i.event})},e.prototype.getUndoStatus=function(){var e={undo:!1,redo:!1};return this.steps>0&&(e.undo=!0),null!=this.undoRedoStack[this.steps+1]&&(e.redo=!0),e},e}(),zr=function(){function e(e){this.parent=e,this.selection=this.parent.markdownSelection,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(Lr,this.createLink,this)},e.prototype.createLink=function(e){var t=this.parent.element;t.focus();var n=t.selectionStart,i=t.selectionEnd,r="Image"===e.subCommand?this.selection.getSelectedText(t):e.item.text,o="Image"===e.subCommand?n+2:n+1,s="Image"===e.subCommand?i+2:i+1;r="Image"===e.subCommand?"!["+r+"]("+e.item.url+")":"["+r+"]("+e.item.url+")",t.value=t.value.substr(0,n)+r+t.value.substr(i,t.value.length),this.parent.markdownSelection.setSelection(t,o,s),this.restore(t,o,s,e)},e.prototype.restore=function(e,t,n,i){this.selection.save(t,n),this.selection.restore(e),i&&i.callBack&&i.callBack({requestType:i.subCommand,selectedText:this.selection.getSelectedText(e),editorMode:"Markdown",event:i.event})},e}(),_r=function(){function e(e){t.extend(this,this,e,!0),this.selection=this.parent.markdownSelection,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(kr,this.createTable,this),this.parent.observer.on(br,this.onKeyDown,this)},e.prototype.removeEventListener=function(){this.parent.observer.off(kr,this.createTable),this.parent.observer.off(br,this.onKeyDown)},e.prototype.destroy=function(){this.removeEventListener()},e.prototype.onKeyDown=function(e){"insert-table"===e.event.action&&(e.item=e.value,this.createTable(e))},e.prototype.createTable=function(e){this.element=this.parent.element;var t=this.element.selectionStart,n=this.element.selectionEnd,i=this.element.value;this.locale=e,this.selection.save(t,n),this.restore(this.element.selectionStart,this.element.selectionEnd,null),this.insertTable(t,n,i,e)},e.prototype.getTable=function(){var e="";return e+=this.textNonEmpty(),e+=this.tableHeader(this.locale),e+=this.tableCell(this.locale)},e.prototype.tableHeader=function(e){for(var t="",n=1;n<=2;n++){t+="|";for(var i=1;i<=2;i++)t+=1===n?e.item.headingText+" "+i+"|":"---------|";t+=this.insertLine()}return t},e.prototype.tableCell=function(e){for(var t="",n=1;n<=2;n++){t+="|";for(var i=1;i<=2;i++)t+=e.item.colText+" "+this.convertToLetters(n)+i+"|";t+=this.insertLine()}return t+=this.insertLine()},e.prototype.insertLine=function(){var e=document.createElement("div");return e.innerHTML="\n",e.textContent},e.prototype.insertTable=function(e,t,n,i){var r=this.selection.getSelectedParentPoints(this.element),o=r[r.length-1].text.split(" ",2),s=this.getFormatTag();o.length<2?(this.element.value=this.updateValue(this.getTable()),this.makeSelection(n,e,t)):this.ensureFormatApply(r[r.length-1].text)?this.checkValid(e,t,this.getTable(),n,i,o,r,s):(this.element.value=this.updateValue(this.getTable()),this.makeSelection(n,e,t)),this.restore(this.element.selectionStart,this.element.selectionEnd,i)},e.prototype.makeSelection=function(e,t,n){n=t+(e.length>0?12:10),t+=e.length>0?3:1,this.selection.setSelection(this.element,t,n)},e.prototype.getFormatTag=function(){for(var e=Object.keys(this.syntaxTag.Formats),t=Object.keys(this.syntaxTag.List),n=[],i=0;i<e.length;i++)n.push(this.syntaxTag.Formats[e[i]]);for(var r=0;r<t.length;r++)n.push(this.syntaxTag.List[t[r]]);return n},e.prototype.ensureFormatApply=function(e){for(var t=this.getFormatTag(),n=e.trim().split(" ",2)[0]+" ",i=0;i<t.length;i++)if(n===t[i]||/^[\d.]+[ ]+$/.test(n))return!0;return!1},e.prototype.ensureStartValid=function(e,t){for(var n=t[0].text.split(" ",2),i=e+1;i<=e+n[0].length+1;i++)if(this.element.selectionStart===i||this.element.selectionEnd===i)return!1;return!0},e.prototype.ensureEndValid=function(e,t){for(var n=e+1;n<=e+t+1;n++)if(this.element.selectionEnd===n)return!1;return!0},e.prototype.updateValueWithFormat=function(e,t){var n=this.element.value.substring(this.element.selectionEnd,this.element.value.length);return t+=n.replace(n,e[0]+" "+n),this.element.value.substr(0,this.element.selectionStart)+t},e.prototype.updateValue=function(e){return this.element.value.substr(0,this.element.selectionStart)+e+this.element.value.substr(this.element.selectionEnd,this.element.value.length)},e.prototype.checkValid=function(e,t,n,i,r,o,s,a){this.ensureStartValid(s[0].start,s)&&this.ensureEndValid(s[s.length-1].start,o[0].length)&&(e===s[0].start?e!==t&&t!==s[s.length-1].end-1?this.element.value=this.updateValueWithFormat(o,n):this.element.value=this.updateValue(n):t===s[s.length-1].end-1?this.element.value=this.updateValue(n):this.element.value=this.updateValueWithFormat(o,n),this.makeSelection(i,e,t))},e.prototype.convertToLetters=function(e){var t="A".charCodeAt(0),n="";do{e-=1,n=String.fromCharCode(t+e%26)+n,e=e/26>>0}while(e>0);return n},e.prototype.textNonEmpty=function(){var e="";return(this.isCursorBased()||this.isSelectionBased())&&this.element.value.length>0&&(e+=this.insertLine(),e+=this.insertLine()),e},e.prototype.isCursorBased=function(){return this.element.selectionStart===this.element.selectionEnd},e.prototype.isSelectionBased=function(){return this.element.selectionStart!==this.element.selectionEnd},e.prototype.restore=function(e,t,n){this.selection.save(e,t),this.selection.restore(this.element),n&&n.callBack&&n.callBack({requestType:n.subCommand,selectedText:this.selection.getSelectedText(this.element),editorMode:"Markdown",event:n.event})},e}(),Wr=function(){function e(e){this.parent=e,this.selection=this.parent.markdownSelection,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(xr,this.clear,this)},e.prototype.replaceRegex=function(e){return e.replace(/\*/gi,"\\*").replace(/\&/gi,"\\&").replace(/\-/gi,"\\-").replace(/\^/gi,"\\^").replace(/\$/gi,"\\$").replace(/\./gi,"\\.").replace(/\|/gi,"\\|").replace(/\?/gi,"\\?").replace(/\+/gi,"\\+").replace(/\-/gi,"\\-").replace(/\&/gi,"\\&")},e.prototype.clearSelectionTags=function(e){for(var t=this.parent.selectionTags,n=Object.keys(t),i=0;i<n.length;i++){var r=n[i];if(t.hasOwnProperty(r)&&""!==t[r]){var o=this.replaceRegex(t[r]),s=void 0,a=t[r].length,l="<sup>"===t[r]||"<sub>"===t[r]?t[r].length+1:t[r].length;s="<sup>"===t[r]?new RegExp("<sup>(.*?)</sup>","ig"):"<sub>"===t[r]?new RegExp("<sub>(.*?)</sub>","ig"):new RegExp(o+"(.*?)"+o,"ig");for(var d=e.match(s),c=0;d&&c<d.length&&""!==d[c];c++)e=e.replace(d[c],d[c].substr(a,d[c].length-l-a))}}return e},e.prototype.clearFormatTags=function(e){var t=e.split("\n");return this.clearFormatLines(t)},e.prototype.clearFormatLines=function(e){for(var t=[this.parent.formatTags,this.parent.listTags],n="",i=0;i<e.length;i++){for(var r=0;r<t.length;r++)for(var o=t[r],s=Object.keys(o),a=0;a<s.length;a++){var l=s[a];o.hasOwnProperty(l)&&""!==o[l]&&0===e[i].indexOf(o[l])&&(e[i]=e[i].replace(o[l],""),e[i]=this.clearFormatLines([e[i]]))}n=n+e[i]+(i!==e.length-1?"\n":"")}return n},e.prototype.clear=function(e){var t=this.parent.element;t.focus();var n=t.selectionStart,i=t.selectionEnd,r=this.selection.getSelectedText(t);r=this.clearSelectionTags(r),r=this.clearFormatTags(r),t.value=t.value.substr(0,n)+r+t.value.substr(i,t.value.length),this.parent.markdownSelection.setSelection(t,n,n+r.length),this.restore(t,n,n+r.length,e)},e.prototype.restore=function(e,t,n,i){this.selection.save(t,n),this.selection.restore(e),i&&i.callBack&&i.callBack({requestType:i.subCommand,selectedText:this.selection.getSelectedText(e),editorMode:"Markdown",event:i.event})},e}(),Vr=function(){function e(e){this.parent=e,this.selection=this.parent.markdownSelection,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(Dr,this.InsertTextExec,this)},e.prototype.InsertTextExec=function(e){var t=this.parent.element;t.focus();var n=t.selectionStart,i=t.selectionEnd,r=e.value.text,o=n+r.length,s=i+r.length;t.value=t.value.substr(0,n)+r+t.value.substr(i,t.value.length),this.parent.markdownSelection.setSelection(t,o,s),this.restore(t,o,s,e)},e.prototype.restore=function(e,t,n,i){this.selection.save(t,n),this.selection.restore(e),i&&i.callBack&&i.callBack({requestType:i.subCommand,selectedText:this.selection.getSelectedText(e),editorMode:"Markdown",event:i.event})},e}(),Qr=function(){function e(e){this.initialize(),t.extend(this,this,e,!0),this.observer=new t.Observer(this),this.markdownSelection=new pr,this.listObj=new Mr({parent:this,syntax:this.listTags}),this.formatObj=new Rr({parent:this,syntax:this.formatTags}),this.undoRedoManager=new qr(this,e.options),this.mdSelectionFormats=new Ir({parent:this,syntax:this.selectionTags}),this.linkObj=new zr(this),this.tableObj=new _r({parent:this,syntaxTag:{Formats:this.formatTags,List:this.listTags}}),this.clearObj=new Wr(this),this.insertTextObj=new Vr(this),this.wireEvents()}return e.prototype.initialize=function(){this.formatTags=Br,this.listTags=Ar,this.selectionTags=Pr},e.prototype.wireEvents=function(){this.observer.on("keydown",this.editorKeyDown,this),this.observer.on("keyup",this.editorKeyUp,this),this.observer.on(Cr,this.onPropertyChanged,this)},e.prototype.onPropertyChanged=function(e){this.observer.notify(yr,e)},e.prototype.editorKeyDown=function(e){this.observer.notify(br,e)},e.prototype.editorKeyUp=function(e){this.observer.notify(vr,e)},e.prototype.execCommand=function(e,t,n,i,r,o){switch(e.toLocaleLowerCase()){case"lists":this.observer.notify(wr,{subCommand:t,event:n,callBack:i});break;case"formats":this.observer.notify(fr,{subCommand:t,event:n,callBack:i});break;case"actions":this.observer.notify(gr,{subCommand:t,event:n,callBack:i});break;case"style":case"effects":case"casing":this.observer.notify(Or,{subCommand:t,event:n,callBack:i});break;case"links":case"images":this.observer.notify(Lr,{subCommand:t,event:n,callBack:i,item:o});break;case"table":switch(t.toString().toLocaleLowerCase()){case"createtable":this.observer.notify(kr,{subCommand:t,item:o,event:n,callBack:i})}break;case"clear":this.observer.notify(xr,{subCommand:t,event:n,callBack:i});break;case"inserttext":this.observer.notify(Dr,{subCommand:t,event:n,callBack:i,value:{text:o}})}},e}(),Kr=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Gr=function(e){function n(n){var i=e.call(this)||this;return i.initialize(),t.extend(i,i,n,!0),n&&i.element&&i.updateFormatter(i.element,document,n.options),i}return Kr(n,e),n.prototype.initialize=function(){this.keyConfig=Hr,this.formatTags=Br,this.listTags=Ar,this.selectionTags=Pr},n.prototype.updateFormatter=function(e,t,n){e&&(this.editorManager=new Qr({element:e,formatTags:this.formatTags,listTags:this.listTags,selectionTags:this.selectionTags,options:n}))},n}(Tr),Xr=function(){function e(e){this.parent=e}return e.prototype.renderPanel=function(){var e=this.parent,t=this.parent.createElement("div",{id:this.parent.getID()+"_view",className:"e-rte-content"});this.editableElement=this.parent.createElement("textarea",{className:"e-content",id:this.parent.getID()+"_editable-content",attrs:{"aria-labelledby":this.parent.getID()+"_view"}}),t.appendChild(this.editableElement),this.setPanel(t),e.element.appendChild(t)},e.prototype.getPanel=function(){return this.contentPanel},e.prototype.getEditPanel=function(){return this.editableElement},e.prototype.getText=function(){return this.getEditPanel().value},e.prototype.setPanel=function(e){this.contentPanel=e},e.prototype.getDocument=function(){return this.getEditPanel().ownerDocument},e}(),Yr=function(){function n(e,t){this.parent=e,this.locator=t,this.renderFactory=this.locator.getService("rendererFactory"),this.addEventListener()}return n.prototype.destroy=function(){this.removeEventListener()},n.prototype.moduleDestroy=function(){this.parent=null,this.toolbarUpdate.parent=null},n.prototype.addEventListener=function(){this.parent.isDestroyed||(this.saveSelection=new pr,this.parent.on(U,this.instantiateRenderer,this),this.parent.on(j,this.render,this),this.parent.on(J,this.onPropertyChanged,this),this.parent.on(X,this.onToolbarClick,this),this.parent.on(q,this.destroy,this),this.parent.on(We,this.selectAll,this),this.parent.on(Qe,this.getSelectedHtml,this),this.parent.on(Re,this.onSelectionSave,this),this.parent.on(Ie,this.onSelectionRestore,this),this.parent.on(et,this.updateReadOnly,this),this.parent.on(tt,this.moduleDestroy,this))},n.prototype.updateReadOnly=function(){this.parent.readonly?(this.parent.contentModule.getEditPanel().setAttribute("readonly","readonly"),t.addClass([this.parent.element],_n)):(this.parent.contentModule.getEditPanel().removeAttribute("readonly"),t.removeClass([this.parent.element],_n))},n.prototype.onSelectionSave=function(){var e=this.parent.contentModule.getEditPanel();this.saveSelection.save(e.selectionStart,e.selectionEnd)},n.prototype.onSelectionRestore=function(e){this.contentRenderer.getEditPanel().focus();var t=this.parent.contentModule.getEditPanel();this.saveSelection.restore(t)},n.prototype.onToolbarClick=function(e){var t=e.item,n=this.parent.contentModule.getEditPanel();n.focus();var i=n.selectionStart,r=n.selectionEnd,o=n.value.substring(i,r);switch(t.subCommand){case"Maximize":this.parent.notify(ie,{args:e});break;case"Minimize":this.parent.notify(re,{args:e});break;case"CreateLink":this.parent.notify(me,{member:"link",args:e,text:o,module:"Markdown"});break;case"Image":this.parent.notify(Se,{member:"image",args:e,text:o,module:"Markdown"});break;case"CreateTable":var s={headingText:this.parent.localeObj.getConstant("TableHeadingText"),colText:this.parent.localeObj.getConstant("TableColText")};this.parent.formatter.process(this.parent,e,e.originalEvent,s);break;default:this.parent.formatter.process(this.parent,e,e.originalEvent,null)}},n.prototype.instantiateRenderer=function(){this.renderFactory.addRenderer(e.RenderType.Content,new Xr(this.parent))},n.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off(j,this.render),this.parent.off(J,this.onPropertyChanged),this.parent.off(q,this.destroy),this.parent.off(X,this.onToolbarClick),this.parent.off(U,this.instantiateRenderer),this.parent.off(We,this.selectAll),this.parent.off(Qe,this.getSelectedHtml),this.parent.off(Re,this.onSelectionSave),this.parent.off(Ie,this.onSelectionRestore),this.parent.off(et,this.updateReadOnly),this.parent.off(tt,this.moduleDestroy))},n.prototype.render=function(){this.contentRenderer=this.renderFactory.getRenderer(e.RenderType.Content);var n=this.contentRenderer.getEditPanel(),i={undoRedoSteps:this.parent.undoRedoSteps,undoRedoTimer:this.parent.undoRedoTimer};t.isNullOrUndefined(this.parent.formatter)?this.parent.formatter=new Gr({element:n,options:i}):this.parent.formatter.updateFormatter(n,this.contentRenderer.getDocument(),i),this.parent.toolbarSettings.enable&&(this.toolbarUpdate=new ur(this.parent)),this.parent.notify(Q,{})},n.prototype.onPropertyChanged=function(e){if(!t.isNullOrUndefined(e.newProp.formatter)){var n=this.contentRenderer.getEditPanel(),i={undoRedoSteps:this.parent.undoRedoSteps,undoRedoTimer:this.parent.undoRedoTimer};this.parent.formatter.updateFormatter(n,this.contentRenderer.getDocument(),i)}},n.prototype.getModuleName=function(){return"markdownEditor"},n.prototype.selectAll=function(){this.parent.formatter.editorManager.markdownSelection.setSelection(this.parent.contentModule.getEditPanel(),0,this.parent.contentModule.getEditPanel().value.length)},n.prototype.getSelectedHtml=function(e){e.callBack(this.parent.formatter.editorManager.markdownSelection.getSelectedText(this.parent.contentModule.getEditPanel()))},n}(),Jr="INSERT-IMAGE",$r="INSERT-TABLE",Zr="INSERT-LINK",eo="INSERT-ROW",to="INSERT-COLUMN",no="DELETE-ROW",io="DELETE-COLUMN",ro="REMOVE-TABLE",oo="TABLE-HEADER",so="TABLE_VERTICAL_ALIGN",ao="TABLE_MERGE",lo="TABLE_VERTICAL_SPLIT",co="TABLE_HORIZONTAL_SPLIT",po="alignment-type",ho="indent-type",uo=["address","article","aside","audio","blockquote","canvas","details","dd","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","li","main","nav","noscript","ol","output","p","pre","section","table","tbody","td","tfoot","th","thead","tr","ul","video","body"],mo=["td","th"],go=["table","tbody","td","tfoot","th","thead","tr"],fo="selection-type",bo="inserthtml-type",vo="insert-text-type",yo="clear-type",Co=["area","base","br","embed","hr","img","input","param","source","track","wbr","iframe","td"],No=function(){function e(){this.startNodeName=[],this.endNodeName=[]}return e.prototype.saveInstance=function(e,t){return this.range=e.cloneRange(),this.rootNode=this.documentFromRange(e),this.body=t,this.startContainer=this.getNodeArray(e.startContainer,!0),this.endContainer=this.getNodeArray(e.endContainer,!1),this.startOffset=e.startOffset,this.endOffset=e.endOffset,this.html=this.body.innerHTML,this},e.prototype.documentFromRange=function(e){return 9===e.startContainer.nodeType?e.startContainer:e.startContainer.ownerDocument},e.prototype.getRange=function(e){var t=this.get(e),n=t&&t.rangeCount>0?t.getRangeAt(t.rangeCount-1):e.createRange();return n.startContainer!==e||n.endContainer!==e||n.startOffset||n.endOffset||(n.setStart(e.body,0),n.collapse(!0)),n},e.prototype.get=function(e){return e.defaultView.getSelection()},e.prototype.save=function(e,t){return e=e?e.cloneRange():this.getRange(t),this.saveInstance(e,t.body)},e.prototype.getIndex=function(e){var t=0;if(e=e.previousSibling||"BR"!==e.tagName?e.previousSibling:e)for(e.nodeType;e;null)t++,e.nodeType,e=e.previousSibling;return t},e.prototype.isChildNode=function(e,t){for(var n=0;n<t.childNodes.length;n++)if(e.indexOf(t.childNodes[n])>-1)return!0;return!1},e.prototype.getNode=function(e,t,n){return t!==e||3!==e.nodeType&&e.firstChild&&-1===n.indexOf(e.firstChild)&&!this.isChildNode(n,e)?-1===n.indexOf(e.firstChild)&&e.firstChild&&!this.isChildNode(n,e)?e.firstChild:e.nextSibling?e.nextSibling:e.parentNode?e.parentNode:null:null},e.prototype.getNodeCollection=function(e){var t=e.startContainer.childNodes[e.startOffset]||e.startContainer,n=e.endContainer.childNodes[e.endOffset>0?e.endOffset-1:e.endOffset]||e.endContainer;if((t===n||"BR"===t.nodeName&&t===e.endContainer.childNodes[e.endOffset])&&0===t.childNodes.length)return[t];if(e.startOffset===e.endOffset&&0!==e.startOffset&&"PRE"===e.startContainer.nodeName)return["BR"===t.nodeName||"#text"===t.nodeName?t:t.childNodes[0]];var i=[];do{-1===i.indexOf(t)&&i.push(t),t=this.getNode(t,n,i)}while(t);return i},e.prototype.getParentNodeCollection=function(e){return this.getParentNodes(this.getNodeCollection(e),e)},e.prototype.getParentNodes=function(e,t){e=e.reverse();for(var n=0;n<e.length;n++)-1!==e.indexOf(e[n].parentNode)||3===e[n].nodeType&&t.startContainer!==t.endContainer&&t.startContainer.parentNode!==t.endContainer.parentNode?(e.splice(n,1),n--):3===e[n].nodeType&&(e[n]=e[n].parentNode);return e},e.prototype.getSelectionNodeCollection=function(e){return this.getSelectionNodes(this.getNodeCollection(e))},e.prototype.getSelectionNodeCollectionBr=function(e){return this.getSelectionNodesBr(this.getNodeCollection(e))},e.prototype.getSelectionNodes=function(e){e=e.reverse();for(var t=new RegExp(String.fromCharCode(8203),"g"),n=0;n<e.length;n++)(3!==e[n].nodeType||""===e[n].textContent.trim()||1===e[n].textContent.length&&e[n].textContent.match(t))&&(e.splice(n,1),n--);return e.reverse()},e.prototype.getSelectionNodesBr=function(e){e=e.reverse();for(var t=new RegExp(String.fromCharCode(8203),"g"),n=0;n<e.length;n++)"BR"!==e[n].nodeName&&(3!==e[n].nodeType||""===e[n].textContent.trim()||1===e[n].textContent.length&&e[n].textContent.match(t))&&(e.splice(n,1),n--);return e.reverse()},e.prototype.getInsertNodeCollection=function(e){return this.getInsertNodes(this.getNodeCollection(e))},e.prototype.getInsertNodes=function(e){e=e.reverse();for(var t=0;t<e.length;t++)(0!==e[t].childNodes.length&&3!==e[t].nodeType||3===e[t].nodeType&&""===e[t].textContent)&&(e.splice(t,1),t--);return e.reverse()},e.prototype.getNodeArray=function(e,n,i){var r=[];for(n?this.startNodeName=[]:this.endNodeName=[];e!==(i||this.rootNode)&&!t.isNullOrUndefined(e);null)n?this.startNodeName.push(e.nodeName.toLowerCase()):this.endNodeName.push(e.nodeName.toLowerCase()),r.push(this.getIndex(e)),e=e.parentNode;return r},e.prototype.setRangePoint=function(e,t,n,i){for(var r=this.rootNode,o=n.length,s=i;o--;null)r=r&&r.childNodes[n[o]];return r&&s>=0&&"html"!==r.nodeName&&(3===r.nodeType&&"&nbsp;"===r.nodeValue.replace(/\u00a0/g,"&nbsp;")&&(s=r.textContent.length),e[t?"setStart":"setEnd"](r,s)),e},e.prototype.restore=function(){var e=this.range.cloneRange();return e=this.setRangePoint(e,!0,this.startContainer,this.startOffset),e=this.setRangePoint(e,!1,this.endContainer,this.endOffset),this.selectRange(this.rootNode,e),e},e.prototype.selectRange=function(e,t){this.setRange(e,t),this.save(t,e)},e.prototype.setRange=function(e,t){var n=this.get(e);n.removeAllRanges(),n.addRange(t)},e.prototype.setSelectionText=function(e,t,n,i,r){var o=e.createRange();o.setStart(t,i),o.setEnd(n,r),this.setRange(e,o)},e.prototype.setSelectionContents=function(e,t){var n=e.createRange();n.selectNode(t),this.setRange(e,n)},e.prototype.setSelectionNode=function(e,t){var n=e.createRange();n.selectNodeContents(t),this.setRange(e,n)},e.prototype.getSelectedNodes=function(e){return this.getNodeCollection(this.getRange(e))},e.prototype.Clear=function(e){this.get(e).removeAllRanges()},e.prototype.insertParentNode=function(e,t,n){n.surroundContents(t),this.selectRange(e,n)},e.prototype.setCursorPoint=function(e,t,n){var i=e.createRange(),r=e.defaultView.getSelection();i.setStart(t,n),i.collapse(!0),r.removeAllRanges(),r.addRange(i)},e}(),So={startSelection:"e-editor-select-start",endSelection:"e-editor-select-end"},Eo=function(){function e(e,t){this.parent=e,this.nodeSelection=new No,this.currentDocument=t}return e.prototype.contents=function(e){return e&&"IFRAME"!==e.tagName?Array.prototype.slice.call(e.childNodes||[]):[]},e.prototype.isBlockNode=function(e){return!!e&&e.nodeType===Node.ELEMENT_NODE&&uo.indexOf(e.tagName.toLowerCase())>=0},e.prototype.isLink=function(e){return!!e&&e.nodeType===Node.ELEMENT_NODE&&"a"===e.tagName.toLowerCase()},e.prototype.blockParentNode=function(e){for(;e&&e.parentNode!==this.parent&&(!e.parentNode||!this.hasClass(e.parentNode,"e-node-inner"));null)if(e=e.parentNode,this.isBlockNode(e))return e;return e},e.prototype.rawAttributes=function(e){var t={},n=e.attributes;if(n.length>0)for(var i=0;i<n.length;i++){var r=n[i];t[r.nodeName]=r.value}return t},e.prototype.attributes=function(e){if(!e)return"";for(var t="",n=this.rawAttributes(e),i=Object.keys(n).sort(),r=0;r<i.length;r++){var o=i[r],s=n[o];s.indexOf("'")<0&&s.indexOf('"')>=0?t+=" "+o+"='"+s+"'":s.indexOf('"')>=0&&s.indexOf("'")>=0?t+=" "+o+'="'+(s=s.replace(/"/g,"&quot;"))+'"':t+=" "+o+'="'+s+'"'}return t},e.prototype.clearAttributes=function(e){for(var t=e.attributes,n=t.length-1;n>=0;n--){var i=t[n];e.removeAttribute(i.nodeName)}},e.prototype.openTagString=function(e){return"<"+e.tagName.toLowerCase()+this.attributes(e)+">"},e.prototype.closeTagString=function(e){return"</"+e.tagName.toLowerCase()+">"},e.prototype.createTagString=function(e,t,n){return"<"+e.toLowerCase()+this.attributes(t)+">"+n+"</"+e.toLowerCase()+">"},e.prototype.isList=function(e){return!!e&&["UL","OL"].indexOf(e.tagName)>=0},e.prototype.isElement=function(e){return e===this.parent},e.prototype.isEditable=function(e){return(!e.getAttribute||"true"===e.getAttribute("contenteditable"))&&["STYLE","SCRIPT"].indexOf(e.tagName)<0},e.prototype.hasClass=function(e,t){return e&&e.classList&&e.classList.contains(t)},e.prototype.replaceWith=function(e,n){e.parentNode.insertBefore(this.parseHTMLFragment(n),e),t.detach(e)},e.prototype.parseHTMLFragment=function(e){var n=t.createElement("template");return n.innerHTML=e,n.content instanceof DocumentFragment?n.content:document.createRange().createContextualFragment(e)},e.prototype.wrap=function(e,t){return e.parentNode.insertBefore(t,e),(t=e.previousSibling).appendChild(e),t},e.prototype.insertAfter=function(e,t){t.parentNode.insertBefore(e,t.nextSibling)},e.prototype.wrapInner=function(e,t){for(e.appendChild(t),(t=e.querySelector(".e-rte-wrap-inner")).classList.remove("e-rte-wrap-inner"),0===t.classList.length&&t.removeAttribute("class");e.firstChild!==t;)t.appendChild(e.firstChild);return t},e.prototype.unWrap=function(e){for(var t=e.parentNode,n=[];e.firstChild;)n.push(e.firstChild),t.insertBefore(e.firstChild,e);return n=n.length>0?n:[e.parentNode],t.removeChild(e),n},e.prototype.getSelectedNode=function(e,t){return e.nodeType===Node.ELEMENT_NODE&&e.childNodes.length>0&&e.childNodes[t-1]&&e.childNodes[t-1].nodeType===Node.ELEMENT_NODE&&(e.childNodes[t-1].classList.contains(So.startSelection)||e.childNodes[t-1].classList.contains(So.endSelection))?e=e.childNodes[t-1]:e.nodeType===Node.ELEMENT_NODE&&e.childNodes.length>0&&e.childNodes[t]&&(e=e.childNodes[t]),e.nodeType===Node.TEXT_NODE&&(e=e.parentNode),e},e.prototype.nodeFinds=function(e,t){for(var n=[],i=0;i<t.length;i++)e.contains(t[i])&&e!==t[i]&&n.push(t[i]);return n},e.prototype.isEditorArea=function(){var e;for(e=this.getRangePoint(0).commonAncestorContainer;e&&!this.isElement(e);null)e=e.parentNode;return!!this.isElement(e)},e.prototype.getRangePoint=function(e){var t=this.getSelection(),n=[];if(t&&t.getRangeAt&&t.rangeCount){n=[];for(var i=0;i<t.rangeCount;i++)n.push(t.getRangeAt(i))}else n=[this.currentDocument.createRange()];return void 0!==e?n[e]:n},e.prototype.getSelection=function(){return this.nodeSelection.get(this.currentDocument)},e.prototype.getPreviousNode=function(e){for(e=e.previousElementSibling;e&&"\n"===e.textContent;null)e=e.previousElementSibling;return e},e.prototype.encode=function(e){var t=document.createElement("div");return t.innerText=e,t.innerHTML.replace(/<br\s*[\/]?>/gi,"\n")},e.prototype.saveMarker=function(e,n){var i,r,o=this.parent.querySelector("."+So.startSelection),s=this.parent.querySelector("."+So.endSelection);if(""===o.textContent&&t.isNullOrUndefined(s)&&"tab"!==n&&(1===o.childNodes.length&&"BR"===o.childNodes[0].nodeName?o.innerHTML="&#65279;&#65279;<br>":o.innerHTML="&#65279;&#65279;"),this.hasClass(o,So.startSelection)&&o.classList.length>1){var a=this.createTagString("p",o,this.encode(o.textContent));this.replaceWith(o,a),(o=this.parent.querySelector("."+So.startSelection)).classList.remove(So.startSelection),i=o.childNodes[0]}else i=this.unWrap(o)[0];if(this.hasClass(s,So.endSelection)&&s.classList.length>1){a=this.createTagString("p",s,this.encode(s.textContent));this.replaceWith(s,a),(s=this.parent.querySelector("."+So.endSelection)).classList.remove(So.endSelection),r=s.childNodes[0]}else r=s?this.unWrap(s)[0]:i;return e.startContainer=e.getNodeArray(i,!0),e.endContainer=e.getNodeArray(r,!1),e},e.prototype.marker=function(e,t){return'<span class="'+e+'">'+t+"</span>"},e.prototype.setMarker=function(e){var n=e.range,i=n.startContainer.childNodes,r=(i.length>1&&"TABLE"===i[0].nodeName?function(e){var t=e;do{t.childNodes.length>0&&(t=t.childNodes[0])}while(t.childNodes.length>0);return t}(i[n.startOffset+1]):i[n.startOffset>0?n.startOffset-1:n.startOffset])||n.startContainer,o=n.endContainer.childNodes[n.endOffset>0?n.endOffset-1:n.endOffset]||n.endContainer;if(r.nodeType===Node.ELEMENT_NODE&&o.nodeType===Node.ELEMENT_NODE&&(r.contains(o)||o.contains(r))){var s=r.contains(o)?r:o;if(s.nodeType!==Node.TEXT_NODE){for(var a=[],l=[],d=s;s.contains(d);null)a.indexOf(d)<0&&d.childNodes&&d.childNodes.length?(a.push(d),d=d.childNodes[0]):d.nextSibling?d=d.nextSibling:d.parentNode&&(d=d.parentNode,a.push(d)),l.indexOf(d)<0&&(d.nodeType===Node.TEXT_NODE||mo.indexOf(d.parentNode.tagName.toLocaleLowerCase())>=0&&("BR"===d.tagName||"IMG"===d.tagName))&&l.push(d);l.length&&(r=r.contains(o)?l[0]:r,o=l[l.length-1])}}if(r!==o){if(r.nodeType!==Node.TEXT_NODE&&("BR"===r.tagName&&mo.indexOf(r.parentNode.tagName.toLocaleLowerCase())>=0||"IMG"===r.tagName)){this.replaceWith(r,this.marker(So.startSelection,this.encode(r.textContent)));n.startContainer.querySelector("."+So.startSelection).appendChild(r)}else if(3!=r.nodeType&&"#text"!=r.nodeName){var c=this.marker(So.startSelection,"");t.append([this.parseHTMLFragment(c)],r)}else this.replaceWith(r,this.marker(So.startSelection,this.encode(r.textContent)));if(o.nodeType!==Node.TEXT_NODE&&"BR"===o.tagName&&mo.indexOf(o.parentNode.tagName.toLocaleLowerCase())>=0){this.replaceWith(o,this.marker(So.endSelection,this.encode(o.textContent)));n.endContainer.querySelector("."+So.endSelection).appendChild(o)}else this.ensureSelfClosingTag(o,So.endSelection,n)}else this.ensureSelfClosingTag(r,So.startSelection,n)},e.prototype.ensureSelfClosingTag=function(e,n,i){var r=!1;if(3===e.nodeType)this.replaceWith(e,this.marker(n,this.encode(e.textContent)));else if("BR"===e.tagName){this.replaceWith(e,this.marker(n,this.encode(e.textContent)));i.startContainer.querySelector("."+n).appendChild(e)}else{if("IMG"===e.tagName){var o=document.createElement("p");e.parentElement.insertBefore(o,e),o.appendChild(e),e=o.children[0]}if("TABLE"===e.tagName)if(r=!0,""===e.textContent){var s=e.querySelectorAll("td");e=s[s.length-1],e=t.isNullOrUndefined(e.childNodes[0])?e:e.childNodes[0]}else{for(var a=e.lastChild;3!==a.nodeType&&"#text"!==a.nodeName&&"BR"!==a.nodeName;)a=a.lastChild;e=a}for(var l=0;l<Fr.length;l++)e=e.tagName!==Fr[l]||r?e:e.parentNode;if(3===e.nodeType&&"#text"===e.nodeName)this.replaceWith(e,this.marker(n,this.encode(e.textContent)));else if("BR"===e.nodeName){this.replaceWith(e,this.marker(So.endSelection,this.encode(e.textContent)));i.endContainer.querySelector("."+So.endSelection).appendChild(e)}else{var d=this.marker(n,"");t.append([this.parseHTMLFragment(d)],e)}}},e.prototype.createTempNode=function(e){var t=e.textContent;if("BR"===e.tagName){var n="<p></p>",i=e.parentNode;mo.indexOf(i.tagName.toLocaleLowerCase())>=0&&(e=this.wrap(e,this.parseHTMLFragment(n)))}else if(e.nodeType!==Node.TEXT_NODE&&(e.classList.contains(So.startSelection)||e.classList.contains(So.endSelection))||t.replace(/\n/g,"").replace(/(^ *)|( *$)/g,"").length>0||t.length&&t.indexOf("\n")<0){n="<p></p>";var r=e;e=this.wrap(e,this.parseHTMLFragment(n));!(r.nodeType===Node.ELEMENT_NODE&&r.firstChild&&"BR"===r.firstChild.nodeName&&(r.classList.contains(So.startSelection)||r.classList.contains(So.endSelection)))&&e.nextElementSibling&&"BR"===e.nextElementSibling.tagName&&e.appendChild(e.nextElementSibling)}return e},e.prototype.getImageTagInSelection=function(){var e=this.getSelection();return this.isEditorArea()&&e.rangeCount?e.focusNode.querySelectorAll("img"):null},e.prototype.blockNodes=function(){var e=[],n=this.getSelection();if(this.isEditorArea()&&n.rangeCount)for(var i=this.getRangePoint(),r=0;r<i.length;r++){var o=void 0,s=i[r],a=this.getSelectedNode(s.startContainer,s.startOffset),l=this.getSelectedNode(s.endContainer,s.endOffset);if(this.isBlockNode(a)&&e.indexOf(a)<0&&e.push(a),(o=this.blockParentNode(a))&&e.indexOf(o)<0)if(mo.indexOf(o.tagName.toLocaleLowerCase())>=0&&("BR"===a.tagName||a.nodeType===Node.TEXT_NODE||a.classList.contains(So.startSelection)||a.classList.contains(So.endSelection))){var d=a.previousSibling&&a.previousSibling.nodeType===Node.TEXT_NODE?a.previousSibling:a;a.nextSibling||a.previousSibling||"BR"!==a.tagName?e.push(this.createTempNode(d)):e.push(d)}else e.push(o);for(var c=[],p=a;p!==l&&p!==this.parent;null)c.indexOf(p)<0&&p.childNodes&&p.childNodes.length?(c.push(p),p=p.childNodes[0]):p&&8!==p.nodeType&&("BR"===p.tagName||p.nodeType===Node.TEXT_NODE&&""!==p.textContent.trim()||p.nodeType!==Node.TEXT_NODE&&(p.classList.contains(So.startSelection)||p.classList.contains(So.endSelection)))&&mo.indexOf(p.parentNode.tagName.toLocaleLowerCase())>=0?p=this.createTempNode(p):p.nextSibling&&8!==p.nextSibling.nodeType&&("BR"===p.nextSibling.tagName||p.nextSibling.nodeType===Node.TEXT_NODE||p.nextSibling.classList.contains(So.startSelection)||p.nextSibling.classList.contains(So.endSelection))&&mo.indexOf(p.nextSibling.parentNode.tagName.toLocaleLowerCase())>=0?p=this.createTempNode(p.nextSibling):p.nextSibling?p=p.nextSibling:p.parentNode&&(p=p.parentNode,c.push(p)),e.indexOf(p)<0&&p.nodeType===Node.ELEMENT_NODE&&mo.indexOf(p.parentNode.tagName.toLocaleLowerCase())>=0&&(p.classList.contains(So.startSelection)||p.classList.contains(So.endSelection))&&e.push(this.createTempNode(p)),this.isBlockNode(p)&&this.ignoreTableTag(p)&&c.indexOf(p)<0&&e.indexOf(p)<0&&(p!==l||s.endOffset>0)&&e.push(p),"IMG"===p.nodeName&&"true"===p.parentElement.contentEditable&&e.push(p);(o=this.blockParentNode(l))&&this.ignoreTableTag(o)&&e.indexOf(o)<0&&!t.isNullOrUndefined(o.previousElementSibling)&&"IMG"!==o.previousElementSibling.tagName&&e.push(o)}for(var h=e.length-1;h>0;h--){if((c=this.nodeFinds(e[h],e)).length){var u=e[h].querySelectorAll("ul, ol");if("LI"===e[h].tagName&&u.length>0)continue;e.splice(h,1)}}return e},e.prototype.ignoreTableTag=function(e){return!(go.indexOf(e.tagName.toLocaleLowerCase())>=0)},e}(),To=function(){function e(e){this.parent=e,this.domNode=this.parent.domNode,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on("list-type",this.applyListsHandler,this),this.parent.observer.on(br,this.keyDownHandler,this),this.parent.observer.on(vr,this.onKeyUp,this),this.parent.observer.on(Er,this.spaceKeyAction,this)},e.prototype.testList=function(e){var n=[/^[\d]+[.]+$/,/^(?=[MDCLXVI])M*(C[MD]|D?C{0,3})(X[CL]|L?X{0,3})(I[XV]|V?I{0,3})[.]$/gi,/^[a-zA-Z][.]+$/],i=t.isNullOrUndefined(e)?null:e.innerText.trim().split(".")[0]+".";if(!t.isNullOrUndefined(i))for(var r=0;r<n.length;r++)if(n[r].test(i))return!0;return!1},e.prototype.testCurrentList=function(e){var n=[/^[1]+[.]+$/,/^[i]+[.]+$/,/^[a]+[.]+$/];if(!t.isNullOrUndefined(e.startContainer.textContent.slice(0,e.startOffset)))for(var i=e.startContainer.textContent.replace(/\u200B/g,"").slice(0,e.startOffset).trim(),r=0;r<n.length;r++)if(n[r].test(i)&&2===i.length)return!0;return!1},e.prototype.spaceList=function(e){var n=this.parent.nodeSelection.getRange(this.parent.currentDocument);this.saveSelection=this.parent.nodeSelection.save(n,this.parent.currentDocument);var i=this.parent.domNode.getSelectedNode(n.startContainer,n.startOffset),r=(this.parent.domNode.getSelectedNode(n.endContainer,n.endOffset),i.previousElementSibling),o=i.nextElementSibling,s=t.isNullOrUndefined(r)?null:r.innerText.trim().substring(0,1),a=t.isNullOrUndefined(o)?null:o.innerText.trim().substring(0,1),l=this.testCurrentList(n),d=this.testList(r),c=this.testList(o);d||c||"*"===s||"*"===a||(l?(n.startContainer.textContent=n.startContainer.textContent.slice(n.startOffset,n.startContainer.textContent.length),this.applyListsHandler({subCommand:"OL",callBack:e.callBack}),e.event.preventDefault()):"*"!==n.startContainer.textContent.replace(/\u200B/g,"").slice(0,n.startOffset).trim()&&"-"!==n.startContainer.textContent.replace(/\u200B/g,"").slice(0,n.startOffset).trim()||(n.startContainer.textContent=n.startContainer.textContent.slice(n.startOffset,n.startContainer.textContent.length),this.applyListsHandler({subCommand:"UL",callBack:e.callBack}),e.event.preventDefault()))},e.prototype.enterList=function(e){var n=this.parent.nodeSelection.getRange(this.parent.currentDocument),i="LI"===n.startContainer.nodeName?n.startContainer:n.startContainer.parentElement.closest("LI"),r="LI"===n.endContainer.nodeName?n.endContainer:n.endContainer.parentElement.closest("LI");if(!t.isNullOrUndefined(i)&&!t.isNullOrUndefined(r)&&i===r&&"LI"===i.tagName&&""===i.textContent.trim()&&0===i.querySelectorAll("IMG").length){if(i.innerHTML.indexOf("&nbsp;")>=0)return;65279===i.textContent.charCodeAt(0)&&(i.textContent="");var o=i.parentElement;if(t.isNullOrUndefined(o.parentElement.closest("UL"))&&t.isNullOrUndefined(o.parentElement.closest("OL"))){if(!t.isNullOrUndefined(i.nextElementSibling)){var s=this.parent.domNode.blockParentNode(i);this.parent.nodeCutter.GetSpliceNode(n,s)}var a=void 0;"DIV"===e.enterAction?(a=t.createElement("div")).innerHTML="<br>":"P"===e.enterAction?(a=t.createElement("p")).innerHTML="<br>":a=t.createElement("br"),this.parent.domNode.insertAfter(a,o),e.event.preventDefault(),this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,a,0),""===o.textContent?t.detach(o):t.detach(i)}}},e.prototype.backspaceList=function(e){var n=this.parent.nodeSelection.getRange(this.parent.currentDocument),i=this.parent.domNode.getSelectedNode(n.startContainer,n.startOffset),r=this.parent.domNode.getSelectedNode(n.endContainer,n.endOffset);if(i="BR"===i.nodeName?i.parentElement:i,r="BR"===r.nodeName?r.parentElement:r,i===r&&!t.isNullOrUndefined(t.closest(i,"li"))&&(""===i.textContent.trim()&&65279===i.textContent.charCodeAt(0)||1===i.textContent.length&&8203===i.textContent.charCodeAt(0))&&(i.textContent=""),i===r&&"LI"===i.tagName&&0===i.textContent.length&&t.isNullOrUndefined(i.previousElementSibling)&&i.removeAttribute("style"),i===r&&""===i.textContent){if("LI"===i.parentElement.tagName&&"LI"===r.parentElement.tagName)t.detach(i);else if(i.closest("ul")||i.closest("ol")){if((o=t.isNullOrUndefined(i.closest("ul"))?i.closest("ol"):i.closest("ul")).firstElementChild===i&&!t.isNullOrUndefined(o.children[1])&&("OL"===o.children[1].tagName||"UL"===o.children[1].tagName))if(o.tagName===o.children[1].tagName){for(;o.children[1].lastChild;)this.parent.domNode.insertAfter(o.children[1].lastChild,o.children[1]);t.detach(o.children[1])}else o.parentElement.insertBefore(o.children[1],o)}}else if(!(t.isNullOrUndefined(i.firstChild)||"BR"!==i.firstChild.nodeName||t.isNullOrUndefined(i.childNodes[1])||"UL"!==i.childNodes[1].nodeName&&"OL"!==i.childNodes[1].nodeName)){var o;if((o=t.isNullOrUndefined(i.closest("ul"))?i.closest("ol"):i.closest("ul")).tagName===i.childNodes[1].nodeName){for(;i.childNodes[1].lastChild;)this.parent.domNode.insertAfter(i.children[1].lastChild,i);t.detach(i.childNodes[1])}else o.parentElement.insertBefore(i.children[1],o)}this.removeList(n,e),this.firstListBackSpace(n,e)},e.prototype.removeList=function(e,n){var i=this.parent.domNode.getSelectedNode(e.startContainer,e.startOffset),r=this.parent.domNode.getSelectedNode(e.endContainer,e.endOffset);i="BR"===i.nodeName?i.parentElement:i,r="BR"===r.nodeName?r.parentElement:r,i="LI"===i.nodeName||t.isNullOrUndefined(i.closest("LI"))?i:i.closest("LI"),r="LI"===r.nodeName||t.isNullOrUndefined(r.closest("LI"))?r:r.closest("LI"),(("OL"===e.commonAncestorContainer.nodeName||"UL"===e.commonAncestorContainer.nodeName||"LI"===e.commonAncestorContainer.nodeName)&&t.isNullOrUndefined(r.nextElementSibling)&&r.textContent.length===e.endOffset&&t.isNullOrUndefined(i.previousElementSibling)&&0===e.startOffset||-1!=t.Browser.userAgent.indexOf("Firefox")&&e.startContainer===e.endContainer&&e.startContainer===this.parent.editableElement&&0===e.startOffset&&1===e.endOffset)&&(-1!=t.Browser.userAgent.indexOf("Firefox")?t.detach(e.commonAncestorContainer.childNodes[0]):"LI"===e.commonAncestorContainer.nodeName?t.detach(e.commonAncestorContainer.parentElement):t.detach(e.commonAncestorContainer),n.event.preventDefault())},e.prototype.onKeyUp=function(){if(!t.isNullOrUndefined(this.commonLIParent)&&!t.isNullOrUndefined(this.commonLIParent.querySelector(".removeList"))){for(var e=this.commonLIParent.querySelector(".removeList");!t.isNullOrUndefined(e.firstChild);)this.parent.domNode.insertAfter(e.firstChild,e);t.detach(e)}},e.prototype.firstListBackSpace=function(e,n){var i=this.parent.domNode.getSelectedNode(e.startContainer,e.startOffset);if(t.isNullOrUndefined(i.closest("OL"))?t.isNullOrUndefined(i.closest("UL"))||(this.commonLIParent=i.closest("UL")):this.commonLIParent=i.closest("OL"),"LI"===i.nodeName&&0===e.startOffset&&0===e.endOffset&&t.isNullOrUndefined(i.previousSibling)&&!t.isNullOrUndefined(this.commonLIParent)&&t.isNullOrUndefined(this.commonLIParent.previousSibling)&&t.isNullOrUndefined(this.commonLIParent.parentElement.closest("OL"))&&t.isNullOrUndefined(this.commonLIParent.parentElement.closest("UL"))&&t.isNullOrUndefined(this.commonLIParent.parentElement.closest("LI"))){var r=t.createElement("P");r.innerHTML="&#8203;",i.classList.add("removeList"),this.commonLIParent.parentElement.insertBefore(r,this.commonLIParent)}},e.prototype.keyDownHandler=function(e){if(13===e.event.which&&this.enterList(e),32===e.event.which&&this.spaceList(e),8===e.event.which&&this.backspaceList(e),46===e.event.which&&"delete"===e.event.action){var n=(a=this.parent.nodeSelection.getRange(this.parent.currentDocument)).commonAncestorContainer,i=a.startContainer,r=a.endContainer,o=3===i.nodeType?i.parentElement:i,s=3===r.nodeType?r.parentElement:r;"UL"!==n.nodeName&&"OL"!==n.nodeName||o===s||t.isNullOrUndefined(t.closest(o,"ul"))&&t.isNullOrUndefined(t.closest(o,"ol"))||t.isNullOrUndefined(t.closest(s,"ul"))&&t.isNullOrUndefined(t.closest(s,"ol"))||n.lastElementChild!==t.closest(s,"li")||a.collapsed||t.detach(n),this.removeList(a,e)}if(9===e.event.which){var a=this.parent.nodeSelection.getRange(this.parent.currentDocument);e.event.action&&"indent"===e.event.action||(this.saveSelection=this.parent.nodeSelection.save(a,this.parent.currentDocument));var l=void 0,d=a.startOffset,c=a.endOffset;if((o=this.parent.domNode.getSelectedNode(a.startContainer,a.startOffset))===(s=this.parent.domNode.getSelectedNode(a.endContainer,a.endOffset))&&("BR"===o.nodeName||"#text"===o.nodeName)&&mo.indexOf(o.parentNode.tagName.toLocaleLowerCase())>=0)return;e.event.action&&"indent"===e.event.action||this.domNode.setMarker(this.saveSelection),l=this.domNode.blockNodes();for(var p=[],h=!0,u=0;u<l.length;u++)"LI"===l[u].parentNode.tagName?p.push(l[u].parentNode):"LI"===l[u].tagName&&"P"!==l[u].childNodes[0].tagName&&"OL"!==l[u].childNodes[0].tagName&&"UL"!==l[u].childNodes[0].tagName&&p.push(l[u]);p.length>1||p.length&&(0===d&&0===c||e.ignoreDefault)?(e.event.preventDefault(),e.event.stopPropagation(),this.currentAction=this.getAction(p[0]),e.event.shiftKey?(this.revertList(p,e),this.revertClean()):h=this.nestedList(p),h&&(this.cleanNode(),this.parent.editableElement.focus()),e.event.action&&"indent"===e.event.action||(this.saveSelection=this.domNode.saveMarker(this.saveSelection),this.saveSelection.restore(),e.callBack&&e.callBack({requestType:this.currentAction,editorMode:"HTML",range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.domNode.blockNodes(),event:e.event}))):e.event.action&&"indent"===e.event.action||(e.event&&e.event.shiftKey&&"Tab"===e.event.key&&(e.event.action="tab"),this.saveSelection=this.domNode.saveMarker(this.saveSelection,e.event.action),this.saveSelection.restore())}else switch(e.event.action){case"ordered-list":this.applyListsHandler({subCommand:"OL",callBack:e.callBack}),e.event.preventDefault();break;case"unordered-list":this.applyListsHandler({subCommand:"UL",callBack:e.callBack}),e.event.preventDefault()}},e.prototype.spaceKeyAction=function(e){32===e.event.which&&this.spaceList(e)},e.prototype.getAction=function(e){return"OL"===e.parentNode.nodeName?"OL":"UL"},e.prototype.revertClean=function(){for(var e=this.parent.editableElement.querySelectorAll("ul, ol"),t=0;t<e.length;t++){var n=e[t].querySelectorAll("ul, ol");if(n.length>0)for(var i=0;i<n.length;i++){var r=n[i].previousSibling;r&&"LI"===r.tagName&&r.appendChild(n[i])}}},e.prototype.noPreviousElement=function(e){var n,i,r=e.querySelectorAll("ol, ul"),o=e.querySelectorAll("li"),s=this.domNode.contents(o[0])[0];if(o.length>0&&("OL"===s.nodeName||"UL"===s.nodeName)?n=o[0]:i=r[0],n)for(var a=this.domNode.contents(e)[0];a&&!this.domNode.isList(a);null){var l=a.nextSibling;t.prepend([a],n),t.setStyleAttribute(e,{"list-style-type":"none"}),t.setStyleAttribute(n,{"list-style-type":""}),a=l}else if(i){var d=t.createElement("li");t.prepend([d],i);for(a=this.domNode.contents(e)[0];a&&!this.domNode.isList(a);null){l=a.nextSibling;d.appendChild(a),a=l}t.prepend([i],e.parentNode),t.detach(e);var c=t.createElement("li",{styles:"list-style-type: none;"});t.prepend([c],i.parentNode),t.append([i],c)}else{c=t.createElement("li",{styles:"list-style-type: none;"});t.prepend([c],e.parentNode);d=t.createElement(e.parentNode.tagName);t.prepend([d],c),t.append([e],d)}},e.prototype.nestedList=function(e){for(var n=!1,i=0;i<e.length;i++){var r=this.domNode.getPreviousNode(e[i]);if(r){n=!0;var o=void 0,s=void 0,a=e[i].querySelectorAll("ol, ul"),l=e[i].querySelectorAll("li"),d=this.domNode.contents(l[0])[0];if(l.length>0&&("OL"===d.nodeName||"UL"===d.nodeName)?s=l[0]:o=a[0],o){var c=t.createElement("li");t.prepend([c],o);for(var p=this.domNode.contents(e[i])[0];p&&!this.domNode.isList(p);null){var h=p.nextSibling;c.appendChild(p),p=h}t.append([o],r),t.detach(e[i])}else if(s){if("LI"===r.tagName){for(p=this.domNode.contents(e[i])[0];p&&!this.domNode.isList(p);null){h=p.nextSibling;t.prepend([p],s),t.setStyleAttribute(e[i],{"list-style-type":"none"}),t.setStyleAttribute(s,{"list-style-type":""}),p=h}t.append([s.parentNode],r),t.detach(e[i])}}else if("LI"===r.tagName){c=t.createElement(e[i].parentNode.tagName);t.append([c],r),t.append([e[i]],c)}else"OL"!==r.tagName&&"UL"!==r.tagName||t.append([e[i]],r)}else{var u=e[i];n=!0,this.noPreviousElement(u)}}return n},e.prototype.applyListsHandler=function(e){var n=this.parent.nodeSelection.getRange(this.parent.currentDocument);if(-1!=t.Browser.userAgent.indexOf("Firefox")&&n.startContainer===n.endContainer&&n.startContainer===this.parent.editableElement){for(var i=n.startContainer.childNodes[n.startOffset>0?n.startOffset-1:n.startOffset]||n.startContainer,r=n.endContainer.childNodes[n.endOffset>0?n.endOffset-1:n.endOffset]||n.endContainer,o="BR"===r.lastChild.nodeName?t.isNullOrUndefined(r.lastChild.previousSibling)?r:r.lastChild.previousSibling:r.lastChild;!t.isNullOrUndefined(o)&&"#text"!==o.nodeName&&"IMG"!==o.nodeName&&"BR"!==o.nodeName&&"HR"!==o.nodeName;)o=o.lastChild;this.parent.nodeSelection.setSelectionText(this.parent.currentDocument,i,o,0,o.textContent.length),n=this.parent.nodeSelection.getRange(this.parent.currentDocument)}if(n.startContainer===n.endContainer&&n.startContainer===this.parent.editableElement&&n.startOffset===n.endOffset&&0===n.startOffset&&0===this.parent.editableElement.textContent.length&&"TABLE"!=this.parent.editableElement.childNodes[0].nodeName&&"IMG"!=this.parent.editableElement.childNodes[0].nodeName){var s=n.startContainer.childNodes[0];this.parent.nodeSelection.setSelectionText(this.parent.currentDocument,s,s,0,0),n=this.parent.nodeSelection.getRange(this.parent.currentDocument)}this.saveSelection=this.parent.nodeSelection.save(n,this.parent.currentDocument),this.currentAction=e.subCommand,this.currentAction=e.subCommand="NumberFormatList"===this.currentAction?"OL":"BulletFormatList"===this.currentAction?"UL":this.currentAction,this.domNode.setMarker(this.saveSelection);var a=this.domNode.blockNodes();if("BR"===e.enterAction){this.setSelectionBRConfig();var l=this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument),d=this.parent.nodeSelection.getSelectionNodes(l),c=[];0===d.length&&d.push(a[0]);for(var p=0;p<d.length;p++){for(var h=d[p],u=void 0;!this.parent.domNode.isBlockNode(h)&&h!==this.parent.editableElement;)u=h,h=h.parentElement;this.parent.domNode.isBlockNode(h)&&h===this.parent.editableElement&&c.push(u)}for(p=0;p<c.length;p++)if(!this.parent.domNode.isBlockNode(c[p])){for(var m=h=c[p];h===this.parent.editableElement;)m=h,h=h.parentElement;var g=void 0;this.parent.domNode.isBlockNode(m.parentElement)&&m.parentElement===this.parent.editableElement?(g=t.createElement("p"),m.parentElement.insertBefore(g,m),g.appendChild(m)):g=m;for(var f=g.previousSibling;!t.isNullOrUndefined(f)&&"BR"!==f.nodeName&&!this.parent.domNode.isBlockNode(f);)g.firstChild.parentElement.insertBefore(f,g.firstChild),f=g.previousSibling;t.isNullOrUndefined(f)||"BR"!==f.nodeName||t.detach(f);for(var b=g.nextSibling;!t.isNullOrUndefined(b)&&"BR"!==b.nodeName&&!this.parent.domNode.isBlockNode(b);)g.appendChild(b),b=g.nextSibling;t.isNullOrUndefined(b)||"BR"!==b.nodeName||t.detach(b)}this.setSelectionBRConfig(),a=this.parent.domNode.blockNodes()}for(p=0;p<a.length;p++)"TABLE"!==a[p].tagName||n.collapsed||a.splice(p,1),a.length>0&&"LI"!==a[p].tagName&&"LI"===a[p].parentNode.tagName&&(a[p]=a[p].parentNode);this.applyLists(a,this.currentAction,e.selector,e.item,e),e.callBack&&e.callBack({requestType:this.currentAction,event:e.event,editorMode:"HTML",range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.domNode.blockNodes()})},e.prototype.setSelectionBRConfig=function(){var e=this.parent.editableElement.querySelector("."+So.startSelection),n=this.parent.editableElement.querySelector("."+So.endSelection);t.isNullOrUndefined(n)?this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,e,0):this.parent.nodeSelection.setSelectionText(this.parent.currentDocument,e,n,0,0)},e.prototype.applyLists=function(e,n,i,r,o){if(this.isRevert(e,n,r)&&t.isNullOrUndefined(r))this.revertList(e,o),this.removeEmptyListElements();else{this.checkLists(e,n,r);for(var s=0;s<e.length;s++)if(t.isNullOrUndefined(r)||t.isNullOrUndefined(r.listStyle)||("listImage"===r.listStyle?t.setStyleAttribute(e[s],{"list-style-image":r.listImage}):(t.setStyleAttribute(e[s],{"list-style-image":"none"}),t.setStyleAttribute(e[s],{"list-style-type":r.listStyle.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}))),"true"===e[s].getAttribute("contenteditable")&&1===e[s].childNodes.length&&"TABLE"===e[s].childNodes[0].nodeName){var a=document.createElement(n);a.innerHTML="<li><br/></li>",e[s].appendChild(a)}else if("LI"!==e[s].tagName&&t.isNullOrUndefined(r)){var l="<"+n+">",d="</"+n+">",c="li"+("IMG"===e[s].tagName?"":this.domNode.attributes(e[s])),p="p"===e[s].tagName.toLowerCase()?e[s].innerHTML:e[s].outerHTML,h=l+this.domNode.createTagString(c,null,p)+d;this.domNode.replaceWith(e[s],h)}else if(!t.isNullOrUndefined(r)&&"LI"!==e[s].tagName){l="<"+n+("IMG"===e[s].tagName?"":this.domNode.attributes(e[s]))+">",d="</"+n+">",c="li",p="p"===e[s].tagName.toLowerCase()?e[s].innerHTML:e[s].outerHTML,h=l+this.domNode.createTagString(c,null,p)+d;this.domNode.replaceWith(e[s],h)}}this.cleanNode(),this.parent.editableElement.focus(),I()&&B(this.parent.editableElement,i),this.saveSelection=this.domNode.saveMarker(this.saveSelection),this.saveSelection.restore()},e.prototype.removeEmptyListElements=function(){for(var e=this.parent.editableElement.querySelectorAll("ol, ul"),n=0;n<e.length;n++)""===e[n].textContent.trim()&&t.detach(e[n])},e.prototype.isRevert=function(e,n,i){for(var r=!0,o=0;o<e.length;o++){if("LI"!==e[o].tagName)return!1;(e[o].parentNode.tagName!==n||t.isNullOrUndefined(i)&&""!==e[o].parentNode.style.listStyleType)&&(r=!1)}return r},e.prototype.checkLists=function(e,n,i){for(var r=[],o=0;o<e.length;o++){var s=e[o].parentNode;t.isNullOrUndefined(i)||"LI"!==e[o].tagName||t.isNullOrUndefined(i.listStyle)||("listImage"===i.listStyle?t.setStyleAttribute(s,{"list-style-image":i.listImage}):(t.setStyleAttribute(s,{"list-style-image":"none"}),t.setStyleAttribute(s,{"list-style-type":i.listStyle.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}))),("LI"===e[o].tagName&&s.tagName!==n&&r.indexOf(s)<0||"LI"===e[o].tagName&&s.tagName===n&&r.indexOf(s)<0&&null!==i)&&r.push(s),t.isNullOrUndefined(i)&&(s.tagName===n||("UL"===s.tagName||"OL"===s.tagName)&&s.hasAttribute("style"))&&s.hasAttribute("style")&&s.removeAttribute("style")}for(var a=r.length-1;a>=0;a--){var l=r[a],d="<"+n.toLowerCase()+" "+this.domNode.attributes(l)+">"+l.innerHTML+"</"+n.toLowerCase()+">";this.domNode.replaceWith(r[a],d)}},e.prototype.cleanNode=function(){for(var e=this.parent.editableElement.querySelectorAll("ol + ol, ul + ul"),t=0;t<e.length;t++){var n=e[t];if(this.domNode.isList(n.previousElementSibling)&&this.domNode.openTagString(n)===this.domNode.openTagString(n.previousElementSibling)){for(var i=this.domNode.contents(n),r=0;r<i.length;r++)n.previousElementSibling.appendChild(i[r]);n.parentNode.removeChild(n)}}},e.prototype.findUnSelected=function(e,t){if((e=e.slice().reverse()).length>0){var n=[],i=[],r=[],o=[];r=t[t.length-1].childNodes;for(var s=0;s<r.length;s++)if("OL"===r[s].tagName||"UL"===r[s].tagName){var a=r[s].querySelectorAll("li");if(a.length>0)for(var l=0;l<a.length;l++)o.push(a[l])}for(var d=0;d<o.length;d++){for(var c=0,p=0;p<e.length;p++)o[d].contains(e[p])||(c+=1);c===e.length&&i.push(o[d])}if(i.length>0)for(var h=0;h<i.length;h++)"OL"!==this.domNode.contents(i[h])[0].nodeName&&"UL"!==this.domNode.contents(i[h])[0].nodeName&&n.push(i[h]);n.length>0&&this.nestedList(n)}},e.prototype.revertList=function(e,n){for(var i=[],r=e.length-1;r>=0;r--)for(var o=r-1;o>=0;o--)if(e[o].contains(e[r])||e[o]===e[r]){i.push(e[r]),e.splice(r,1);break}this.findUnSelected(i,e);var s=[];for(r=0;r<e.length;r++){var a=e[r];3===this.domNode.contents(a)[0].nodeType&&0===this.domNode.contents(a)[0].textContent.trim().length&&t.detach(this.domNode.contents(a)[0]);var l=e[r].parentNode,d=a.getAttribute("class");if(0===i.length){var c=e[r].querySelectorAll("ul, ol")[0];if(c){if(c.querySelectorAll("li")){var p=t.createElement(c.tagName);t.append([p],c.parentNode);var h=t.createElement("li",{styles:"list-style-type: none;"});t.append([h],p),t.append([c],h)}}}if(a.parentNode.insertBefore(this.closeTag(l.tagName),a),"LI"===l.parentNode.tagName||"OL"===l.parentNode.tagName||"UL"===l.parentNode.tagName)a.parentNode.insertBefore(this.closeTag("LI"),a);else{if(0===a.querySelectorAll(uo.join(", ")).length){var u="<p"+(t.isNullOrUndefined(d)?' class="e-rte-wrap-inner"':' class="'+d+' e-rte-wrap-inner"')+this.domNode.attributes(l)+"></p>";"BR"!==n.enterAction&&this.domNode.wrapInner(a,this.domNode.parseHTMLFragment(u))}else if(3===this.domNode.contents(a)[0].nodeType){var m=this.domNode.createTagString("p",l,this.parent.domNode.encode(this.domNode.contents(a)[0].textContent));this.domNode.replaceWith(this.domNode.contents(a)[0],m)}else if(this.domNode.contents(a)[0].classList.contains(So.startSelection)||this.domNode.contents(a)[0].classList.contains(So.endSelection)){m=this.domNode.createTagString("p",l,this.domNode.contents(a)[0].outerHTML);this.domNode.replaceWith(this.domNode.contents(a)[0],m)}else{var g=a.firstChild;d=g.getAttribute("class"),t.attributes(g,this.domNode.rawAttributes(l)),d&&g.getAttribute("class")&&t.attributes(g,{class:d+" "+g.getAttribute("class")})}t.append([this.openTag("LI")],a),t.prepend([this.closeTag("LI")],a)}this.domNode.insertAfter(this.openTag(l.tagName),a),"LI"===l.parentNode.tagName&&(l=l.parentNode.parentNode),s.indexOf(l)<0&&s.push(l)}for(r=0;r<s.length;r++){var f=s[r],b=f.innerHTML;b=(b=b.replace(/<span class="e-rte-list-close-([a-z]*)"><\/span>/g,"</$1>")).replace(/<span class="e-rte-list-open-([a-z]*)"><\/span>/g,"<$1 "+this.domNode.attributes(f)+">"),this.domNode.replaceWith(f,this.domNode.openTagString(f)+b.trim()+this.domNode.closeTagString(f))}var v=this.parent.editableElement.querySelectorAll("ul:empty, ol:empty");for(r=0;r<v.length;r++)t.detach(v[r]);var y=this.parent.editableElement.querySelectorAll("li:empty");for(r=0;r<y.length;r++)t.detach(y[r])},e.prototype.openTag=function(e){return this.domNode.parseHTMLFragment('<span class="e-rte-list-open-'+e.toLowerCase()+'"></span>')},e.prototype.closeTag=function(e){return this.domNode.parseHTMLFragment('<span class="e-rte-list-close-'+e.toLowerCase()+'"></span>')},e}(),wo=function(){function e(){}return e.WrapBefore=function(e,t,n){return t.innerText=e.textContent,n?this.AppendBefore(t,e,!0):this.AppendBefore(t,e),e.parentNode&&e.parentNode.removeChild(e),t.childNodes[0]},e.Wrap=function(e,t){return this.AppendBefore(t,e),t.appendChild(e),e},e.unwrap=function(e){for(var t=e.parentNode,n=[];e.firstChild;null)n.push(t.insertBefore(e.firstChild,e));return t.removeChild(e),n},e.AppendBefore=function(e,t,n){return t.parentNode?n?t.parentNode.insertBefore(e,t.nextSibling):t.parentNode.insertBefore(e,t):t},e}(),Oo=function(){function e(){this.enterAction="P",this.position=-1,this.nodeSelection=new No}return e.prototype.GetSpliceNode=function(e,t){return t=this.SplitNode(e,t,!0),t=this.SplitNode(e,t,!1)},e.prototype.SplitNode=function(e,t,n){if(t){var i=e.cloneRange(),r=t.parentNode,o=this.nodeSelection.getIndex(t);i.collapse(n),n?i.setStartBefore(t):i.setEndAfter(t);var s=i.extractContents();if(n){if(t=r.childNodes[o],(s=this.spliceEmptyNode(s,!1))&&s.childNodes.length>0){if(!!(1!==s.childNodes.length||"IMG"===s.childNodes[0].nodeName||!this.isImgElm(s)||""!==s.textContent))if(t)wo.AppendBefore(s,t);else{r.appendChild(s);(a=document.createElement("div")).innerHTML="&#65279;&#65279;",t=a.firstChild,r.appendChild(t)}}}else if(t=r.childNodes.length>1?r.childNodes[o]:r.childNodes[0],(s=this.spliceEmptyNode(s,!0))&&s.childNodes.length>0){if(!!(1!==s.childNodes.length||"IMG"===s.childNodes[0].nodeName||!this.isImgElm(s)||""!==s.textContent))if(t)wo.AppendBefore(s,t,!0);else{r.appendChild(s);var a;(a=document.createElement("div")).innerHTML="&#65279;&#65279;",r.insertBefore(a.firstChild,r.firstChild),t=r.firstChild}}return t}return null},e.prototype.isImgElm=function(e){var n=!0;if(1===e.childNodes.length&&"IMG"!==e.childNodes[0].nodeName)for(var i=e.childNodes[0],r=0;!t.isNullOrUndefined(i.childNodes)&&r<i.childNodes.length;r++)"IMG"===i.childNodes[r].nodeName&&(n=!1);else n=!0;return n},e.prototype.spliceEmptyNode=function(e,t){var n;return(n=1===e.childNodes.length&&"#text"===e.childNodes[0].nodeName&&""===e.childNodes[0].textContent||""===e.textContent?-1:e.childNodes.length-1)>-1&&!t?this.spliceEmptyNode(e.childNodes[n],t):n>-1?this.spliceEmptyNode(e.childNodes[0],t):3!==e.nodeType&&11!==e.nodeType&&"IMG"!==e.nodeName&&e.parentNode.removeChild(e),e},e.prototype.GetCursorStart=function(e,t,n){for(var i=(e=n?e:e.reverse())[0],r=0;r<e.length&&(n?e[r]<t:e[r]>=t);r++)i=e[r];return i},e.prototype.GetCursorRange=function(e,t,n){var i=e.createRange(),r=[];r.push(0);for(var o=this.TrimLineBreak(n.data),s=o.indexOf(" ",0);-1!==s;)r.indexOf(s)<0&&r.push(s),new RegExp("\\s").test(o[s-1])&&r.indexOf(s-1)<0&&r.push(s-1),new RegExp("\\s").test(o[s+1])&&r.push(s+1),s=o.indexOf(" ",s+1);if(r.push(o.length),r.indexOf(t.startOffset)>=0||r.indexOf(t.startOffset-1)>=0&&(1!==t.startOffset||1===t.startOffset&&new RegExp("\\s").test(o[0]))||r[r.length-1]-1===t.startOffset)i=t,this.position=1;else{var a=this.GetCursorStart(r,t.startOffset,!0);this.position=t.startOffset-a,i.setStart(t.startContainer,a),i.setEnd(t.startContainer,this.GetCursorStart(r,t.startOffset,!1))}return i},e.prototype.GetCursorNode=function(e,t,n){return this.GetSpliceNode(this.GetCursorRange(e,t,n),n)},e.prototype.TrimLineBreak=function(e){return e.replace(/(\r\n\t|\n|\r\t)/gm," ")},e}(),Lo=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(fr,this.applyFormats,this),this.parent.observer.on(vr,this.onKeyUp,this),this.parent.observer.on(br,this.onKeyDown,this)},e.prototype.getParentNode=function(e){for(;e.parentNode&&e.parentNode!==this.parent.editableElement;null)e=e.parentNode;return e},e.prototype.onKeyUp=function(e){var n=this.parent.nodeSelection.getRange(this.parent.currentDocument),i=n.endContainer,r=i.lastChild;if(13===e.event.which&&n.startContainer===i&&3!==i.nodeType){var o=t.createElement("p");if(o.innerHTML="<br>",!t.isNullOrUndefined(r)&&r&&"BR"===r.nodeName&&r.previousSibling&&"TABLE"===r.previousSibling.nodeName)i.replaceChild(o,r),this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,o,0);else{var s=this.parent.nodeSelection.getSelectionNodeCollectionBr(n)[0];!t.isNullOrUndefined(s)&&"BR"===s.nodeName&&s.previousSibling&&"TABLE"===s.previousSibling.nodeName&&(i.replaceChild(o,s),this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,o,0))}}},e.prototype.onKeyDown=function(e){if(13===e.event.which){var n=this.parent.nodeSelection.getRange(this.parent.currentDocument),i=0===n.startContainer.textContent.length||"PRE"===n.startContainer.nodeName?n.startContainer:n.startContainer.parentElement,r=0===n.endContainer.textContent.length||"PRE"===n.endContainer.nodeName?n.endContainer:n.endContainer.parentElement,o=t.closest(i,"pre"),s=t.closest(r,"pre");if(!t.isNullOrUndefined(o)&&!t.isNullOrUndefined(o.parentElement)&&"LI"===o.parentElement.tagName)return;if((t.isNullOrUndefined(o)&&!t.isNullOrUndefined(s)||!t.isNullOrUndefined(o)&&t.isNullOrUndefined(s))&&(e.event.preventDefault(),this.deleteContent(n),this.removeCodeContent(n),n=this.parent.nodeSelection.getRange(this.parent.currentDocument),this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,r,0)),13===e.event.which&&!t.isNullOrUndefined(o)&&!t.isNullOrUndefined(s)){e.event.preventDefault(),this.deleteContent(n),this.removeCodeContent(n);var a=(n=this.parent.nodeSelection.getRange(this.parent.currentDocument)).startContainer.childNodes[n.endOffset],l=n.startContainer.childNodes[n.endOffset-1],d=n.startContainer;if(t.isNullOrUndefined(a)||t.isNullOrUndefined(l)||!t.isNullOrUndefined(a.nextSibling)||"BR"!==a.nodeName||"BR"!==l.nodeName)if(8203===d.textContent.charCodeAt(0)&&1===d.textContent.length||0===d.textContent.length){for(;"PRE"!==d.parentElement.nodeName&&(1===d.textContent.length||0===d.textContent.length);)d=d.parentElement;!t.isNullOrUndefined(d.previousSibling)&&"BR"===d.previousSibling.nodeName&&t.isNullOrUndefined(d.nextSibling)?this.paraFocus(d.parentElement):this.isNotEndCursor(o,n)}else this.isNotEndCursor(o,n);else this.paraFocus(n.startContainer,e.enterAction)}}},e.prototype.removeCodeContent=function(e){var n=new RegExp(String.fromCharCode(65279),"g");if(!t.isNullOrUndefined(e.endContainer.textContent.match(n))){var i=65279===e.endContainer.textContent.charCodeAt(e.endOffset-1)?e.endOffset-2:e.endOffset;e.endContainer.textContent=e.endContainer.textContent.replace(n,""),""===e.endContainer.textContent?this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,e.endContainer.parentElement,0):this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,e.endContainer,i)}},e.prototype.deleteContent=function(e){e.startContainer===e.endContainer&&e.startOffset===e.endOffset||e.deleteContents()},e.prototype.paraFocus=function(e,n){var i;"DIV"===n?(i=t.createElement("div")).innerHTML="<br>":"BR"===n?i=t.createElement("br"):(i=t.createElement("p")).innerHTML="<br>",this.parent.domNode.insertAfter(i,e),this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,i,0),t.detach(e.lastChild)},e.prototype.isNotEndCursor=function(e,n){var i=new Oo,r=n.startOffset===e.lastChild.textContent.length&&e.lastChild.textContent===n.startContainer.textContent;if(0===e.textContent.indexOf(n.startContainer.textContent)&&(0===n.startOffset&&0===n.endOffset||"PRE"===n.startContainer.nodeName)){this.insertMarker(e,n);var o=t.createElement("br");e.childNodes[n.endOffset].parentElement.insertBefore(o,e.childNodes[n.endOffset])}else{var s=i.SplitNode(n,e,!0);this.insertMarker(e,n);var a=e.previousElementSibling;"PRE"===a.tagName&&(a.insertAdjacentHTML("beforeend","<br>"+s.innerHTML),t.detach(e))}this.setCursorPosition(r,e)},e.prototype.setCursorPosition=function(e,n){var i=!1,r=this.parent.editableElement.querySelector(".tempSpan"),o=r.parentElement;if(""===r.parentNode.textContent?i=!0:this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,r,0),e)if(i)o===n?(this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,r,0),t.detach(r)):this.focusSelectionParent(r,o);else{var s=t.createElement("br");this.parent.domNode.insertAfter(s,r),this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,r,0),t.detach(r)}else i?this.focusSelectionParent(r,o):t.detach(r)},e.prototype.focusSelectionParent=function(e,n){t.detach(e),n.innerHTML="​",this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,n,0)},e.prototype.insertMarker=function(e,n){var i=t.createElement("span",{className:"tempSpan"});"PRE"===n.startContainer.nodeName?e.childNodes[n.endOffset].parentElement.insertBefore(i,e.childNodes[n.endOffset]):n.startContainer.parentElement.insertBefore(i,n.startContainer)},e.prototype.applyFormats=function(e){var n=this.parent.nodeSelection.getRange(this.parent.currentDocument),i=!1;this.parent.editableElement!==n.endContainer||t.isNullOrUndefined(this.parent.editableElement.children[n.endOffset-1])||"TABLE"!==this.parent.editableElement.children[n.endOffset-1].tagName||n.collapsed||(i=!0);var r=this.parent.nodeSelection.save(n,this.parent.currentDocument);this.parent.domNode.setMarker(r);var o=this.parent.domNode.blockNodes();if("BR"===e.enterAction){this.setSelectionBRConfig();var s=this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument),a=this.parent.nodeSelection.getSelectionNodes(s),l=[];0===a.length&&a.push(o[0]);for(var d=0;d<a.length;d++){for(var c=a[d],p=void 0;!this.parent.domNode.isBlockNode(c)&&c!==this.parent.editableElement;)p=c,c=c.parentElement;this.parent.domNode.isBlockNode(c)&&c===this.parent.editableElement&&l.push(p)}for(d=0;d<l.length;d++)if(!this.parent.domNode.isBlockNode(l[d])){for(var h=c=l[d];c===this.parent.editableElement;)h=c,c=c.parentElement;var u=void 0;this.parent.domNode.isBlockNode(h.parentElement)&&h.parentElement===this.parent.editableElement?(u=t.createElement("div"),h.parentElement.insertBefore(u,h),u.appendChild(h)):u=h;for(var m=u.previousSibling;!t.isNullOrUndefined(m)&&"BR"!==m.nodeName&&!this.parent.domNode.isBlockNode(m);)u.firstChild.parentElement.insertBefore(m,u.firstChild),m=u.previousSibling;t.isNullOrUndefined(m)||"BR"!==m.nodeName||t.detach(m);for(var g=u.nextSibling;!t.isNullOrUndefined(g)&&"BR"!==g.nodeName&&!this.parent.domNode.isBlockNode(g);)u.appendChild(g),g=u.nextSibling;t.isNullOrUndefined(g)||"BR"!==g.nodeName||t.detach(g)}this.setSelectionBRConfig(),o=this.parent.domNode.blockNodes()}for(d=0;d<o.length;d++){var f=void 0,b=void 0;if("blockquote"===e.subCommand.toLowerCase()?(f=this.getParentNode(o[d]),b=this.parent.domNode.isList(f)||"TABLE"===f.tagName?f.outerHTML:f.innerHTML):b=(f=o[d]).innerHTML,!(e.subCommand.toLowerCase()===f.tagName.toLowerCase()&&("pre"!==e.subCommand.toLowerCase()||!t.isNullOrUndefined(e.exeValue)&&"dropDownSelect"===e.exeValue.name)||t.isNullOrUndefined(f.parentNode)||"TABLE"===f.tagName&&"pre"===e.subCommand.toLowerCase())){this.cleanFormats(f,e.subCommand);var v="pre"===e.subCommand.toLowerCase()&&"pre"===f.tagName.toLowerCase()?"p":e.subCommand,y=this.parent.domNode.createTagString(v,f,b.replace(/>\s+</g,"><"));"LI"===f.tagName?(f.innerHTML="",f.insertAdjacentHTML("beforeend",y)):this.parent.domNode.replaceWith(f,y)}}this.preFormatMerge();var C=this.parent.editableElement.querySelector("."+So.startSelection),N=this.parent.editableElement.querySelector("."+So.endSelection);t.isNullOrUndefined(C)||t.isNullOrUndefined(N)||(C=C.lastChild,N=N.lastChild),r=this.parent.domNode.saveMarker(r,null),I()&&B(this.parent.editableElement,e.selector),i?this.parent.nodeSelection.setSelectionText(this.parent.currentDocument,C,N,0,N.textContent.length):r.restore(),e.callBack&&e.callBack({requestType:e.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.domNode.blockNodes()})},e.prototype.setSelectionBRConfig=function(){var e=this.parent.editableElement.querySelector("."+So.startSelection),n=this.parent.editableElement.querySelector("."+So.endSelection);t.isNullOrUndefined(n)?this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,e,0):this.parent.nodeSelection.setSelectionText(this.parent.currentDocument,e,n,0,0)},e.prototype.preFormatMerge=function(){var e=this.parent.editableElement.querySelectorAll("PRE");if(!t.isNullOrUndefined(e))for(var n=0;n<e.length;n++){var i=e[n].previousElementSibling;t.isNullOrUndefined(i)||"PRE"!==i.tagName||(i.insertAdjacentHTML("beforeend","<br>"+e[n].innerHTML),t.detach(e[n]))}},e.prototype.cleanFormats=function(e,t){var n=["display","font-size","margin-top","margin-bottom","margin-left","margin-right","font-weight"];t=t.toLowerCase();for(var i=0;i<n.length&&"p"!==t&&"blockquote"!==t&&"pre"!==t;i++)e.style.removeProperty(n[i])},e}(),xo=function(){function e(){}return e.Insert=function(e,n,i,r){var o;if("string"==typeof n){(s=document.createElement("div")).innerHTML=n,o=r?s:s.firstChild}else if(r&&(t.isNullOrUndefined(n)||t.isNullOrUndefined(n.classList)||!n.classList.contains("pasteContent"))){var s;(s=document.createElement("div")).appendChild(n),o=s}else o=n;var a=new No,l=new Oo,d=a.getRange(e);if(d.startContainer===i&&d.startContainer===d.endContainer&&0===d.startOffset&&d.startOffset===d.endOffset&&0===i.textContent.length&&"P"===i.children[0].tagName&&(a.setSelectionText(e,d.startContainer.children[0],d.startContainer.children[0],0,0),d=a.getRange(e)),"BR"===d.startContainer.nodeName&&0===d.startOffset&&d.startOffset===d.endOffset&&d.startContainer===d.endContainer){var c=Array.prototype.slice.call(d.startContainer.parentElement.children).indexOf(d.startContainer);a.setSelectionText(e,d.startContainer.parentElement,d.startContainer.parentElement,c+1,c+1),d=a.getRange(e)}var p=d.startOffset===d.endOffset&&0===d.startOffset&&d.startContainer===d.endContainer,h=d.collapsed,u=this.getNodeCollection(d,a,o),m="table"===o.nodeName.toLowerCase()?this.closestEle(u[0].parentNode,i):u[0];if(r||!t.isNullOrUndefined(o)&&!t.isNullOrUndefined(o.classList)&&o.classList.contains("pasteContent"))this.pasteInsertHTML(u,o,d,a,l,e,h,m,i);else if(i!==d.startContainer&&(!h&&(m.nodeType!==Node.ELEMENT_NODE||-1===go.indexOf(m.tagName.toLocaleLowerCase()))||"table"===o.nodeName.toLowerCase()&&m&&-1===go.indexOf(m.tagName.toLocaleLowerCase()))){var g=l.GetSpliceNode(d,m),f=g.previousSibling,b=g.parentNode;if(1===u.length||"table"===o.nodeName.toLowerCase()&&0===g.childElementCount)a.setSelectionContents(e,g),d=a.getRange(e);else{var v=l.GetSpliceNode(d,u[u.length-1].parentElement);v=t.isNullOrUndefined(v)?g:v,a.setSelectionText(e,g,v,0,3===v.nodeType?v.textContent.length:v.childNodes.length),d=a.getRange(e)}d.extractContents(),"TABLE"===n.tagName&&this.removeEmptyElements(i);for(var y=0;y<u.length;y++)if(3!==u[y].nodeType&&null!=u[y].parentNode){if("IMG"===u[y].nodeName)continue;u[y].parentNode.removeChild(u[y])}if(f)wo.AppendBefore(o,f,!0);else{for(var C=null;b!==i&&b.firstChild&&""===b.textContent.trim();){C=b,b=b.parentNode}null!==C&&(b=C),b.firstChild&&(b!==i||"TABLE"===o.nodeName&&p&&b===d.startContainer&&b===d.endContainer)?""===b.textContent.trim()&&b!==i?(wo.AppendBefore(o,b,!1),t.detach(b)):wo.AppendBefore(o,b.firstChild,!1):b.appendChild(o)}"IMG"===o.nodeName?this.imageFocus(o,a,e):3!==o.nodeType?a.setSelectionText(e,o,o,0,o.childNodes.length):a.setSelectionText(e,o,o,0,o.textContent.length)}else{if(d.deleteContents(),p&&""===d.startContainer.textContent&&"BR"!==d.startContainer.nodeName&&(d.startContainer.innerHTML=""),t.Browser.isIE){var N=e.createDocumentFragment();N.appendChild(o),d.insertNode(N)}else if(1===d.startContainer.nodeType&&"hr"===d.startContainer.nodeName.toLowerCase()&&"hr"===d.endContainer.nodeName.toLowerCase()){var S=d.startContainer.nextElementSibling;S&&(S.querySelector("br")&&t.detach(S.querySelector("br")),S.appendChild(o))}else"BR"===d.startContainer.nodeName?d.startContainer.parentElement.insertBefore(o,d.startContainer):d.insertNode(o);3!==o.nodeType&&o.childNodes.length>0?a.setSelectionText(e,o,o,1,1):"IMG"===o.nodeName?this.imageFocus(o,a,e):3!==o.nodeType?a.setSelectionContents(e,o):a.setSelectionText(e,o,o,o.textContent.length,o.textContent.length)}},e.pasteInsertHTML=function(e,n,i,r,o,s,a,l,d){var c=i.startOffset===i.endOffset&&i.startContainer===i.endContainer;if(c&&i.startContainer===d&&""===d.textContent){var p=this.getImmediateBlockNode(e[e.length-1],d);r.setSelectionText(s,p,p,0,0),i=r.getRange(s)}var h,u,m,g;d!==i.startContainer&&(!a&&(l.nodeType!==Node.ELEMENT_NODE||-1===go.indexOf(l.tagName.toLocaleLowerCase()))||"table"===n.nodeName.toLowerCase()&&l&&-1===go.indexOf(l.tagName.toLocaleLowerCase()))&&(g=o.GetSpliceNode(i,l),u=t.isNullOrUndefined(g.previousSibling)?g.parentNode.previousSibling:g.previousSibling,1===e.length?(r.setSelectionContents(s,g),i=r.getRange(s),m=!0):(h=o.GetSpliceNode(i,e[e.length-1].parentElement),h=t.isNullOrUndefined(h)?g:h,r.setSelectionText(s,g,h,0,3===h.nodeType?h.textContent.length:h.childNodes.length),i=r.getRange(s),m=!1));var f=!1;this.removingComments(n);for(var b=n.childNodes,v=0;v<b.length;v++)if(uo.indexOf(b[v].nodeName.toLocaleLowerCase())>=0){f=!0;break}var y,C=document.createDocumentFragment();if(f){this.insertTempNode(i,n,e,o,d);var N=!0,S=void 0,E=void 0,T=void 0;for(this.contentsDeleted||i.deleteContents();n.firstChild;)if("#text"!==n.firstChild.nodeName||""!==n.firstChild.textContent.trim())if("#text"===n.firstChild.nodeName&&N||this.inlineNode.indexOf(n.firstChild.nodeName.toLocaleLowerCase())>=0&&N){if(y=n.firstChild,t.isNullOrUndefined(n.previousElementSibling)){var w=t.createElement("p");n.parentElement.insertBefore(w,n)}n.previousElementSibling.appendChild(n.firstChild)}else y=n.firstChild,"#text"===n.firstChild.nodeName||this.inlineNode.indexOf(n.firstChild.nodeName.toLocaleLowerCase())>=0?(S?(T.appendChild(n.firstChild),C.appendChild(T)):((E=t.createElement("p")).appendChild(n.firstChild),C.appendChild(E)),T=E,S=!0):(C.appendChild(n.firstChild),S=!1),N=!1;else t.detach(n.firstChild);n.parentNode.replaceChild(C,n)}else if(c){var O=t.createElement("span",{className:"tempSpan"}),L=t.closest(i.startContainer.parentElement,"a");if(3===i.startContainer.nodeType&&L&&t.closest(L,"span")){var x=this.getImmediateBlockNode(i.startContainer,d);x.querySelectorAll("br").length>0&&t.detach(x.querySelector("br"));t.closest(L,"span").appendChild(O)}else i.insertNode(O);for(;n.firstChild;)y=n.firstChild,C.appendChild(n.firstChild);O.parentNode.replaceChild(C,O)}else{for(;n.firstChild;)y=n.firstChild,C.appendChild(n.firstChild);m?g.parentNode.replaceChild(C,g):(i.deleteContents(),t.detach(h),t.isNullOrUndefined(u)?d.appendChild(C):u.parentNode.appendChild(C))}"#text"===y.nodeName?this.placeCursorEnd(y,n,r,s,d):this.cursorPos(y,n,r,s,d)},e.placeCursorEnd=function(e,n,i,r,o){for(e="BR"===e.nodeName?t.isNullOrUndefined(e.previousSibling)?e.parentNode:e.previousSibling:e;!t.isNullOrUndefined(e)&&"#text"!==e.nodeName&&"IMG"!==e.nodeName&&"BR"!==e.nodeName&&"HR"!==e.nodeName;)e=e.lastChild;"IMG"===(e=t.isNullOrUndefined(e)?n:e).nodeName?this.imageFocus(e,i,r):i.setSelectionText(r,e,e,e.textContent.length,e.textContent.length),this.removeEmptyElements(o)},e.getNodeCollection=function(e,t,n){var i=[];return e.startOffset===e.endOffset&&e.startContainer===e.endContainer&&"BR"!=e.startContainer.nodeName&&e.startContainer.childNodes.length>0&&("TD"===e.startContainer.nodeName||3!==e.startContainer.nodeType&&n.classList&&n.classList.contains("pasteContent"))?i.push(e.startContainer.childNodes[e.endOffset]):i=t.getInsertNodeCollection(e),i},e.insertTempNode=function(e,n,i,r,o){if(e.startContainer!==o||t.isNullOrUndefined(e.startContainer.childNodes[e.endOffset-1])||"TABLE"!==e.startContainer.childNodes[e.endOffset-1].nodeName)if(e.startContainer!==o||t.isNullOrUndefined(e.startContainer.childNodes[e.endOffset])||"TABLE"!==e.startContainer.childNodes[e.endOffset].nodeName)if(e.startContainer===e.endContainer&&3!==e.startContainer.nodeType&&"HR"===n.firstChild.nodeName)e.startContainer.classList.contains("e-content")||"BODY"===e.startContainer.nodeName?e.startContainer.appendChild(n):e.startContainer.parentNode.insertBefore(n,e.startContainer);else{var s=this.getImmediateBlockNode(i[i.length-1],o);if((t.isNullOrUndefined(s)||t.isNullOrUndefined(s.parentElement))&&3!==e.endContainer.nodeType&&(s=e.endContainer,e.setEnd(s,e.endContainer.textContent.length)),"BODY"===s.nodeName&&e.startContainer===e.endContainer&&1===e.startContainer.nodeType&&(s=e.startContainer),s.closest("LI")&&n&&n.firstElementChild&&("OL"===n.firstElementChild.tagName||"UL"===n.firstElementChild.tagName))for(var a=void 0;n.firstElementChild.lastElementChild&&"LI"===n.firstElementChild.lastElementChild.tagName;)(a=n.firstElementChild.lastElementChild).style.removeProperty("margin-left"),a.style.removeProperty("margin-top"),a.style.removeProperty("margin-bottom"),n.firstElementChild.insertAdjacentElement("afterend",a);if("TD"===s.nodeName||"TH"===s.nodeName||"TR"===s.nodeName){var l=t.createElement("span",{className:"tempSpan"});e.insertNode(l),l.parentNode.replaceChild(n,l)}else{var d=new No,c=this.getNodeCollection(e,d,n)[this.getNodeCollection(e,d,n).length-1],p=void 0;if("BR"!==c.nodeName&&"HR"!==c.nodeName&&("#text"!==c.nodeName||t.isNullOrUndefined(c.parentElement)||"LI"!==c.parentElement.nodeName)||t.isNullOrUndefined(c.parentElement)||0!==c.parentElement.textContent.trim().length){if("#text"===c.nodeName&&!t.isNullOrUndefined(c.parentElement)&&"LI"===c.parentElement.nodeName&&c.parentElement.textContent.trim().length>0)return p=c,"LI"!==c.parentElement.nodeName||t.isNullOrUndefined(c.nextSibling)||"BR"!==c.nextSibling.nodeName||t.detach(c.nextSibling),e.collapsed||e.deleteContents(),e.insertNode(n),void(this.contentsDeleted=!0);p=r.GetSpliceNode(e,s)}else p=c,"LI"!==c.parentElement.nodeName||t.isNullOrUndefined(c.nextSibling)||"BR"!==c.nextSibling.nodeName||t.detach(c.nextSibling);p.parentNode.replaceChild(n,p)}}else e.startContainer.insertBefore(n,e.startContainer.childNodes[e.endOffset]);else t.isNullOrUndefined(e.startContainer.childNodes[e.endOffset-1].nextSibling)?e.startContainer.appendChild(n):e.startContainer.insertBefore(n,e.startContainer.childNodes[e.endOffset-1].nextSibling)},e.cursorPos=function(e,n,i,r,o){e.classList.add("lastNode"),o.innerHTML=function(e){var n=document.createElement("div");n.innerHTML=e,n.setAttribute("class","tempDiv");var i=document.createElement("div");if(n.childNodes.length>0){for(var r=void 0,o=void 0,s=void 0;n.firstChild;)"#text"===n.firstChild.nodeName&&(n.firstChild.textContent.indexOf("\n")<0||""!==n.firstChild.textContent.trim())||hr.indexOf(n.firstChild.nodeName.toLocaleLowerCase())>=0?(r?o.appendChild(n.firstChild):(s=t.createElement("p"),i.appendChild(s),s.appendChild(n.firstChild)),o=s,r=!0):"#text"===n.firstChild.nodeName&&("\n"===n.firstChild.textContent||n.firstChild.textContent.indexOf("\n")>=0&&""===n.firstChild.textContent.trim())?t.detach(n.firstChild):(i.appendChild(n.firstChild),r=!1);for(var a=i.querySelectorAll("table"),l=0;l<a.length;l++){"0"===a[l].getAttribute("border")&&a[l].removeAttribute("border");for(var d=a[l].querySelectorAll("td"),c=0;c<d.length;c++)"none"===d[c].style.borderLeft&&d[c].style.removeProperty("border-left"),"none"===d[c].style.borderRight&&d[c].style.removeProperty("border-right"),"none"===d[c].style.borderBottom&&d[c].style.removeProperty("border-bottom"),"none"===d[c].style.borderTop&&d[c].style.removeProperty("border-top"),"none"===d[c].style.border&&d[c].style.removeProperty("border");a[l].classList.contains("e-rte-table")||a[l].classList.add("e-rte-table")}var p=i.querySelectorAll("img");for(l=0;l<p.length;l++)p[l].classList.contains("e-rte-image")||p[l].classList.add("e-rte-image"),p[l].classList.contains("e-imginline")||p[l].classList.contains("e-imgbreak")||p[l].classList.add("e-imginline")}return i.innerHTML}(o.innerHTML),e=o.querySelector(".lastNode"),t.isNullOrUndefined(e)||(this.placeCursorEnd(e,n,i,r,o),e.classList.remove("lastNode"),0===e.classList.length&&e.removeAttribute("class"))},e.imageFocus=function(e,t,n){var i=document.createTextNode(" ");e.parentNode.insertBefore(i,e.nextSibling),t.setSelectionText(n,e.nextSibling,e.nextSibling,0,0)},e.getImmediateBlockNode=function(e,t){do{e=e.parentNode}while(e&&uo.indexOf(e.nodeName.toLocaleLowerCase())<0);return e},e.removingComments=function(e){var t=e.innerHTML;t=t.replace(/<!--[\s\S]*?-->/g,""),e.innerHTML=t},e.findDetachEmptyElem=function(e){return t.isNullOrUndefined(e.parentElement)?null:""===e.parentElement.textContent.trim()&&"true"!==e.parentElement.contentEditable?this.findDetachEmptyElem(e.parentElement):e},e.removeEmptyElements=function(e){for(var n=e.querySelectorAll(":empty"),i=0;i<n.length;i++)if(Co.indexOf(n[i].tagName.toLowerCase())<0){var r=this.findDetachEmptyElem(n[i]);t.isNullOrUndefined(r)||t.detach(r)}},e.closestEle=function(e,n){for(var i=e;i&&1===i.nodeType;){if(i.parentNode===n||!t.isNullOrUndefined(i.parentNode.tagName)&&-1!==mo.indexOf(i.parentNode.tagName.toLocaleLowerCase()))return i;i=i.parentNode}return null},e.inlineNode=["a","abbr","acronym","audio","b","bdi","bdo","big","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","font","i","iframe","img","input","ins","kbd","label","map","mark","meter","noscript","object","output","picture","progress","q","ruby","s","samp","script","select","slot","small","span","strong","sub","sup","svg","template","textarea","time","u","tt","var","video","wbr"],e.contentsDeleted=!1,e}(),ko=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(Zr,this.linkCommand,this)},e.prototype.linkCommand=function(e){switch(e.value.toString().toLocaleLowerCase()){case"createlink":case"editlink":this.createLink(e);break;case"openlink":this.openLink(e);break;case"removelink":this.removeLink(e)}},e.prototype.createLink=function(e){var n=!t.isNullOrUndefined(e.item.selectParent)&&e.item.selectParent.length>0&&t.closest(e.item.selectParent[0],"a");if(n=t.isNullOrUndefined(n)?!t.isNullOrUndefined(e.item.selectParent)&&e.item.selectParent.length>0?e.item.selectParent[0]:null:n,t.isNullOrUndefined(n)||"A"!==n.tagName){var i=new No,r=i.getRange(this.parent.currentDocument);"#text"===r.endContainer.nodeName&&r.startContainer.textContent.length===r.endOffset+1&&" "===r.endContainer.textContent.charAt(r.endOffset)&&"A"===r.endContainer.nextSibling.nodeName&&(i.setSelectionText(this.parent.currentDocument,r.startContainer,r.endContainer,r.startOffset,r.endOffset+1),r=i.getRange(this.parent.currentDocument));var o=!!t.isNullOrUndefined(e.item.text)||e.item.text.replace(/ /g,"").localeCompare(r.toString().replace(/\n/g," ").replace(/ /g,""))<0;if(e.event&&"keydown"===e.event.type&&(32===e.event.keyCode||13===e.event.keyCode)||"Paste"===e.item.action||r.collapsed||o){var s=this.createAchorNode(e);if(s.innerText=""===e.item.text?e.item.url:e.item.text,e.item.selection.restore(),xo.Insert(this.parent.currentDocument,s,this.parent.editableElement),!e.event||"keydown"!==e.event.type||32!==e.event.keyCode&&13!==e.event.keyCode){c="Paste"===e.item.action?s.childNodes[0].textContent.length:0;e.item.selection.setSelectionText(this.parent.currentDocument,s.childNodes[0],s.childNodes[0],c,s.childNodes[0].textContent.length)}else{var a=e.item.selection.range.startContainer;a.textContent=this.removeText(a.textContent,e.item.text)}}else this.createLinkNode(e)}else{var l=n,d="";if(t.isNullOrUndefined(e.item.url)||l.setAttribute("href",e.item.url),t.isNullOrUndefined(e.item.title)||l.setAttribute("title",e.item.title),t.isNullOrUndefined(e.item.text)||""===e.item.text||(d=l.innerText,l.innerText=e.item.text),t.isNullOrUndefined(e.item.target)?l.removeAttribute("target"):l.setAttribute("target",e.item.target),d===e.item.text)e.item.selection.setSelectionText(this.parent.currentDocument,l,l,1,1),e.item.selection.restore();else{var c="Paste"===e.item.action?l.childNodes[0].textContent.length:0;e.item.selection.setSelectionText(this.parent.currentDocument,l.childNodes[0],l.childNodes[0],c,l.childNodes[0].textContent.length)}}e.callBack&&e.callBack({requestType:"Links",editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})},e.prototype.createLinkNode=function(e){for(var t,n,i=new No,r=new Oo,o=i.getRange(this.parent.currentDocument),s=this.getSelectionNodes(i.getNodeCollection(o)),a=i.save(o,this.parent.currentDocument),l=[],d=[],c=[],p=[],h=[],u=0;u<s.length;u++)s[u]=r.GetSpliceNode(o,s[u]),l[u]=s[u];for(var m=0;m<l.length;m++){var g=!0;for(t=l[m];!0===g;){if("A"===t.parentNode.nodeName){var f=t.parentNode;t.parentNode.parentNode.insertBefore(f.firstChild,f),t.parentNode.removeChild(f)}this.isBlockNode(t.parentNode)||0===l.length||0===m||m===l.length-1||3===o.startContainer.nodeType?(d[m]=t,g=!1):t=t.parentNode}}m=0;for(var b=0;m<d.length;m++)if(0===m&&(h[b]=d[m]),d.length>1&&m<d.length-1){if(d[m].parentElement===d[m+1].parentElement&&d[m]===d[m+1])continue;h[b+1]=d[m+1],b++}var v=0;p[v]=this.createAchorNode(e);for(m=0;m<h.length;m++)if(0===m&&(n=h[m].cloneNode(!0),p[m].appendChild(n)),m<h.length-1)if(h[m].parentNode===h[m+1].parentNode){var y=h[m+1].cloneNode(!0);p[v].appendChild(y)}else p[v+=1]=this.createAchorNode(e),n=h[m+1].cloneNode(!0),p[v].appendChild(n);this.parent.nodeSelection.setRange(document,a.range);m=0;for(var C=0,N=0;m<=h.length;m++)0===m&&(h[m].parentNode.insertBefore(p[C],h[m].nextSibling),1===this.parent.domNode.blockNodes().length&&this.parent.nodeSelection.setSelectionNode(this.parent.currentDocument,p[C]),c[N]=h[m],N++),m<h.length-1&&(h[m].parentNode===h[m+1].parentNode?(c[N]=h[m+1],N++):(C+=1,h[m+1].parentNode.insertBefore(p[C],h[m+1]),c[N]=h[m+1],N++));for(m=0;m<c.length;m++)c[m].parentNode&&c[m].parentNode.removeChild(c[m])},e.prototype.createAchorNode=function(e){var n=t.createElement("a",{className:"e-rte-anchor",attrs:{href:e.item.url,title:t.isNullOrUndefined(e.item.title)||""===e.item.title?e.item.url:e.item.title}});return t.isNullOrUndefined(e.item.target)||n.setAttribute("target",e.item.target),n},e.prototype.getSelectionNodes=function(e){e=e.reverse();for(var t=0;t<e.length;t++)3===e[t].nodeType&&""!==e[t].textContent.trim()||"IMG"!==e[t].nodeName&&(e.splice(t,1),t--);return e.reverse()},e.prototype.isBlockNode=function(e){return!!e&&e.nodeType===Node.ELEMENT_NODE&&uo.indexOf(e.tagName.toLowerCase())>=0},e.prototype.removeText=function(e,t){for(var n=e.split(" "),i=0;i<n.length;i++)n[i]===t&&(n.splice(i,1),i--);return n.join(" ")+" "},e.prototype.openLink=function(e){document.defaultView.open(e.item.url,e.item.target),this.callBack(e)},e.prototype.removeLink=function(e){var n=this.parent.domNode.blockNodes();if(n.length<2){this.parent.domNode.setMarker(e.item.selection);for(var i=t.closest(e.item.selectParent[0],"a"),r=i||e.item.selectParent[0],o=r.parentNode,s=[];r.firstChild;null)s.push(o.insertBefore(r.firstChild,r));o.removeChild(r),s&&1===s.length&&(e.item.selection.startContainer=e.item.selection.getNodeArray(s[s.length-1],!0),e.item.selection.endContainer=e.item.selection.startContainer),e.item.selection=this.parent.domNode.saveMarker(e.item.selection)}else for(var a=0;a<n.length;a++)for(var l=n[a].querySelectorAll("a"),d=0;d<l.length;d++)document.getSelection().containsNode(l[d],!0)&&(l[d].outerHTML=l[d].innerHTML);e.item.selection.restore(),this.callBack(e)},e.prototype.callBack=function(e){e.callBack&&e.callBack({requestType:e.item.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})},e}(),Do=function(){function e(e){this.alignments={JustifyLeft:"left",JustifyCenter:"center",JustifyRight:"right",JustifyFull:"justify"},this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(po,this.applyAlignment,this),this.parent.observer.on(br,this.onKeyDown,this)},e.prototype.onKeyDown=function(e){switch(e.event.action){case"justify-center":this.applyAlignment({subCommand:"JustifyCenter",callBack:e.callBack}),e.event.preventDefault();break;case"justify-full":this.applyAlignment({subCommand:"JustifyFull",callBack:e.callBack}),e.event.preventDefault();break;case"justify-left":this.applyAlignment({subCommand:"JustifyLeft",callBack:e.callBack}),e.event.preventDefault();break;case"justify-right":this.applyAlignment({subCommand:"JustifyRight",callBack:e.callBack}),e.event.preventDefault()}},e.prototype.getTableNode=function(e){var n=e.startContainer.nodeType===Node.ELEMENT_NODE?e.startContainer:e.startContainer.parentNode;return[t.closest(n,"td,th")]},e.prototype.applyAlignment=function(e){var n="Table"===e.value,i=this.parent.nodeSelection.getRange(this.parent.currentDocument),r=this.parent.nodeSelection.save(i,this.parent.currentDocument);if(n)t.setStyleAttribute(this.getTableNode(i)[0],{"text-align":this.alignments[e.subCommand]});else{this.parent.domNode.setMarker(r);for(var o=this.parent.domNode.blockNodes(),s=0;s<o.length;s++){var a=o[s];t.setStyleAttribute(a,{"text-align":this.alignments[e.subCommand]})}var l=this.parent.domNode.getImageTagInSelection();for(s=0;s<l.length;s++){var d=[];d.push(l[s]),this.parent.imgObj.imageCommand({item:{selectNode:d},subCommand:e.subCommand,value:e.subCommand,callBack:e.callBack,selector:e.selector})}this.parent.editableElement.focus(),r=this.parent.domNode.saveMarker(r),I()&&B(this.parent.editableElement,e.selector),r.restore()}e.callBack&&e.callBack({requestType:e.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:n?this.getTableNode(i):this.parent.domNode.blockNodes()})},e}(),Mo=function(){function e(e){this.indentValue=20,this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(ho,this.applyIndents,this),this.parent.observer.on(br,this.onKeyDown,this)},e.prototype.onKeyDown=function(e){switch(e.event.action){case"indents":this.applyIndents({subCommand:"Indent",callBack:e.callBack}),e.event.preventDefault();break;case"outdents":this.applyIndents({subCommand:"Outdent",callBack:e.callBack}),e.event.preventDefault()}},e.prototype.applyIndents=function(e){var t=this.parent.editableElement,n=t.classList.contains("e-rtl"),i=this.parent.nodeSelection.getRange(this.parent.currentDocument),r=this.parent.nodeSelection.save(i,this.parent.currentDocument);this.parent.domNode.setMarker(r);for(var o=this.parent.domNode.blockNodes(),s=o.slice(),a=[],l=0;l<s.length;l++)"LI"!==s[l].tagName&&"LI"===s[l].parentNode.tagName?(o.splice(o.indexOf(s[l]),1),a.push(s[l].parentNode)):"LI"===s[l].tagName&&(o.splice(o.indexOf(s[l]),1),a.push(s[l]));a.length>0&&this.parent.observer.notify(br,{event:{preventDefault:function(){},stopPropagation:function(){},shiftKey:"Indent"!==e.subCommand,which:9,action:"indent"},ignoreDefault:!0});for(l=0;l<o.length;l++){var d=o[l],c=n?d.style.marginRight:d.style.marginLeft,p=void 0;"Indent"===e.subCommand?(p=""===c?this.indentValue+"px":parseInt(c,null)+this.indentValue+"px",n?d.style.marginRight=p:d.style.marginLeft=p):(p=""===c||"0px"===c?"":parseInt(c,null)-this.indentValue+"px",n?d.style.marginRight=p:d.style.marginLeft=p)}t.focus(),I()&&B(t,e.selector),(r=this.parent.domNode.saveMarker(r)).restore(),e.callBack&&e.callBack({requestType:e.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.domNode.blockNodes()})},e}(),Ro="e-imgright",Io="e-imgleft",Bo="e-imgcenter",Po="e-imgbreak",Ao="e-img-caption",Uo="e-caption-inline",Ho=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(Jr,this.imageCommand,this)},e.prototype.imageCommand=function(e){switch(e.value.toString().toLowerCase()){case"image":case"replace":this.createImage(e);break;case"insertlink":this.insertImageLink(e);break;case"openimagelink":this.openImageLink(e);break;case"editimagelink":this.editImageLink(e);break;case"removeimagelink":this.removeImageLink(e);break;case"remove":this.removeImage(e);break;case"alttext":this.insertAltTextImage(e);break;case"dimension":this.imageDimension(e);break;case"caption":this.imageCaption(e);break;case"justifyleft":this.imageJustifyLeft(e);break;case"justifycenter":this.imageJustifyCenter(e);break;case"justifyright":this.imageJustifyRight(e);break;case"inline":this.imageInline(e);break;case"break":this.imageBreak(e)}},e.prototype.createImage=function(e){var n=this,i=!1;if(e.item.url=t.isNullOrUndefined(e.item.url)||"undefined"===e.item.url?e.item.src:e.item.url,t.isNullOrUndefined(e.item.selectParent)||"IMG"!==e.item.selectParent[0].tagName){var r=t.createElement("img");this.setStyle(r,e),t.isNullOrUndefined(e.item.selection)||e.item.selection.restore(),t.isNullOrUndefined(e.selector)||"pasteCleanupModule"!==e.selector?xo.Insert(this.parent.currentDocument,r,this.parent.editableElement):e.callBack({requestType:"Images",editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:[r]})}else{var o=e.item.selectParent[0];this.setStyle(o,e),i=!0}if(e.callBack&&(t.isNullOrUndefined(e.selector)||!t.isNullOrUndefined(e.selector)&&"pasteCleanupModule"!==e.selector)){var s=this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)[0],a="Replace"===e.value||i?e.item.selectParent[0]:t.Browser.isIE?s.previousSibling:s.previousElementSibling;a.addEventListener("load",function(){"Replace"===e.value&&i||e.callBack({requestType:"Images",editorMode:"HTML",event:e.event,range:n.parent.nodeSelection.getRange(n.parent.currentDocument),elements:[a]})})}},e.prototype.setStyle=function(e,n){t.isNullOrUndefined(n.item.url)||e.setAttribute("src",n.item.url),e.setAttribute("class","e-rte-image"+(t.isNullOrUndefined(n.item.cssClass)?"":" "+n.item.cssClass)),t.isNullOrUndefined(n.item.altText)||e.setAttribute("alt",n.item.altText),t.isNullOrUndefined(n.item.width)||t.isNullOrUndefined(n.item.width.width)||e.setAttribute("width",this.calculateStyleValue(n.item.width.width)),t.isNullOrUndefined(n.item.height)||t.isNullOrUndefined(n.item.height.height)||e.setAttribute("height",this.calculateStyleValue(n.item.height.height)),t.isNullOrUndefined(n.item.width)||t.isNullOrUndefined(n.item.width.minWidth)||(e.style.minWidth=this.calculateStyleValue(n.item.width.minWidth)),t.isNullOrUndefined(n.item.width)||t.isNullOrUndefined(n.item.width.maxWidth)||(e.style.maxWidth=this.calculateStyleValue(n.item.width.maxWidth)),t.isNullOrUndefined(n.item.height)||t.isNullOrUndefined(n.item.height.minHeight)||(e.style.minHeight=this.calculateStyleValue(n.item.height.minHeight)),t.isNullOrUndefined(n.item.height)||t.isNullOrUndefined(n.item.height.maxHeight)||(e.style.maxHeight=this.calculateStyleValue(n.item.height.maxHeight))},e.prototype.calculateStyleValue=function(e){return"string"==typeof e&&(e.indexOf("px")||e.indexOf("%")||e.indexOf("auto"))?e:e+"px"},e.prototype.insertImageLink=function(e){var n=t.createElement("a",{attrs:{href:e.item.url}});e.item.selectNode[0].parentElement.classList.contains("e-img-wrap")&&(e.item.selection.restore(),n.setAttribute("contenteditable","true")),n.appendChild(e.item.selectNode[0]),t.isNullOrUndefined(e.item.target)||n.setAttribute("target",e.item.target),xo.Insert(this.parent.currentDocument,n,this.parent.editableElement),this.callBack(e)},e.prototype.openImageLink=function(e){document.defaultView.open(e.item.url,e.item.target),this.callBack(e)},e.prototype.removeImageLink=function(e){var n=e.item.selectParent[0];if(n.classList.contains("e-img-caption")){var i=t.select(".e-img-wrap",n),r=t.select(".e-img-inner",n),o=r.cloneNode(!0);t.detach(t.select("a",n)),t.detach(r),i.appendChild(e.item.insertElement),i.appendChild(o)}else t.detach(n),t.Browser.isIE&&e.item.selection.restore(),xo.Insert(this.parent.currentDocument,e.item.insertElement,this.parent.editableElement);this.callBack(e)},e.prototype.editImageLink=function(e){e.item.selectNode[0].parentElement.href=e.item.url,t.isNullOrUndefined(e.item.target)?e.item.selectNode[0].parentElement.removeAttribute("target"):e.item.selectNode[0].parentElement.target=e.item.target,this.callBack(e)},e.prototype.removeImage=function(e){t.closest(e.item.selectNode[0],"a")&&("A"!==e.item.selectNode[0].parentElement.nodeName||t.isNullOrUndefined(e.item.selectNode[0].parentElement.innerText))?t.detach(t.closest(e.item.selectNode[0],"a")):t.isNullOrUndefined(t.closest(e.item.selectNode[0],"."+Ao))?t.detach(e.item.selectNode[0]):t.detach(t.closest(e.item.selectNode[0],"."+Ao)),this.callBack(e)},e.prototype.insertAltTextImage=function(e){e.item.selectNode[0].setAttribute("alt",e.item.altText),this.callBack(e)},e.prototype.imageDimension=function(e){var n=e.item.selectNode[0];n.style.height="",n.style.width="","auto"!==e.item.width?n.style.width=t.formatUnit(e.item.width):n.removeAttribute("width"),"auto"!==e.item.height?n.style.height=t.formatUnit(e.item.height):n.removeAttribute("height"),this.callBack(e)},e.prototype.imageCaption=function(e){xo.Insert(this.parent.currentDocument,e.item.insertElement,this.parent.editableElement),this.callBack(e)},e.prototype.imageJustifyLeft=function(e){var n=e.item.selectNode[0];t.isNullOrUndefined(n)||(n.removeAttribute("class"),t.addClass([n],"e-rte-image"),t.isNullOrUndefined(t.closest(n,"."+Ao))||(t.removeClass([t.closest(n,"."+Ao)],Ro),t.addClass([t.closest(n,"."+Ao)],Io)),"A"===n.parentElement.nodeName?(t.removeClass([n.parentElement],Ro),t.addClass([n.parentElement],Io),t.addClass([n],Io)):t.addClass([n],Io),this.callBack(e))},e.prototype.imageJustifyCenter=function(e){var n=e.item.selectNode[0];t.isNullOrUndefined(n)||(n.removeAttribute("class"),t.addClass([n],"e-rte-image"),t.isNullOrUndefined(t.closest(n,"."+Ao))||(t.removeClass([t.closest(n,"."+Ao)],Io),t.removeClass([t.closest(n,"."+Ao)],Ro),t.addClass([t.closest(n,"."+Ao)],Bo)),"A"===n.parentElement.nodeName?(t.removeClass([n.parentElement],Io),t.removeClass([n.parentElement],Ro),t.addClass([n.parentElement],Bo),t.addClass([n],Bo)):t.addClass([n],Bo),this.callBack(e))},e.prototype.imageJustifyRight=function(e){var n=e.item.selectNode[0];t.isNullOrUndefined(n)||(n.removeAttribute("class"),t.addClass([n],"e-rte-image"),t.isNullOrUndefined(t.closest(n,"."+Ao))||(t.removeClass([t.closest(n,"."+Ao)],Io),t.addClass([t.closest(n,"."+Ao)],Ro)),"A"===n.parentElement.nodeName?(t.removeClass([n.parentElement],Io),t.addClass([n.parentElement],Ro),t.addClass([n],Ro)):t.addClass([n],Ro),this.callBack(e))},e.prototype.imageInline=function(e){var n=e.item.selectNode[0];n.removeAttribute("class"),t.addClass([n],"e-rte-image"),t.addClass([n],"e-imginline"),t.isNullOrUndefined(t.closest(n,"."+Ao))||(t.removeClass([t.closest(n,"."+Ao)],Po),t.removeClass([t.closest(n,"."+Ao)],Bo),t.removeClass([t.closest(n,"."+Ao)],Io),t.removeClass([t.closest(n,"."+Ao)],Ro),t.addClass([t.closest(n,"."+Ao)],Uo)),this.callBack(e)},e.prototype.imageBreak=function(e){var n=e.item.selectNode[0];n.removeAttribute("class"),t.addClass([n],Po),t.addClass([n],"e-rte-image"),t.isNullOrUndefined(t.closest(n,"."+Ao))||(t.removeClass([t.closest(n,"."+Ao)],Uo),t.removeClass([t.closest(n,"."+Ao)],Bo),t.removeClass([t.closest(n,"."+Ao)],Io),t.removeClass([t.closest(n,"."+Ao)],Ro),t.addClass([t.closest(n,"."+Ao)],Po)),this.callBack(e)},e.prototype.callBack=function(e){e.callBack&&e.callBack({requestType:e.item.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})},e}(),jo=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on($r,this.createTable,this),this.parent.observer.on(eo,this.insertRow,this),this.parent.observer.on(to,this.insertColumn,this),this.parent.observer.on(no,this.deleteRow,this),this.parent.observer.on(io,this.deleteColumn,this),this.parent.observer.on(ro,this.removeTable,this),this.parent.observer.on(oo,this.tableHeader,this),this.parent.observer.on(so,this.tableVerticalAlign,this),this.parent.observer.on(ao,this.cellMerge,this),this.parent.observer.on(co,this.HorizontalSplit,this),this.parent.observer.on(lo,this.VerticalSplit,this),this.parent.observer.on("TABLE_MOVE",this.tableMove,this)},e.prototype.createTable=function(e){var n=t.createElement("table",{className:"e-rte-table"}),i=t.createElement("tbody");t.isNullOrUndefined(e.item.width.width)||(n.style.width=this.calculateStyleValue(e.item.width.width)),t.isNullOrUndefined(e.item.width.minWidth)||(n.style.minWidth=this.calculateStyleValue(e.item.width.minWidth)),t.isNullOrUndefined(e.item.width.maxWidth)||(n.style.maxWidth=this.calculateStyleValue(e.item.width.maxWidth));for(var r=parseInt(e.item.width.width,10)>100?100/e.item.columns:parseInt(e.item.width.width,10)/e.item.columns,o=0;o<e.item.rows;o++){for(var s=t.createElement("tr"),a=0;a<e.item.columns;a++){var l=t.createElement("td");l.appendChild(t.createElement("br")),l.style.width=r+"%",s.appendChild(l)}i.appendChild(s)}if(n.appendChild(i),e.item.selection.restore(),xo.Insert(this.parent.currentDocument,n,this.parent.editableElement),this.removeEmptyNode(),e.item.selection.setSelectionText(this.parent.currentDocument,n.querySelector("td"),n.querySelector("td"),0,0),null===n.nextElementSibling){var d=void 0;"DIV"===e.enterAction?(d=t.createElement("div")).appendChild(t.createElement("br")):"BR"===e.enterAction?d=t.createElement("br"):(d=t.createElement("p")).appendChild(t.createElement("br")),this.insertAfter(d,n)}return n.querySelector("td").classList.add("e-cell-select"),e.callBack&&e.callBack({requestType:"Table",editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:[n]}),n},e.prototype.calculateStyleValue=function(e){return"string"==typeof e&&(e.indexOf("px")||e.indexOf("%")||e.indexOf("auto"))?e:e+"px"},e.prototype.removeEmptyNode=function(){for(var e=this.parent.editableElement.querySelectorAll("ul:empty, ol:empty"),n=0;n<e.length;n++)t.detach(e[n]);var i=this.parent.editableElement.querySelectorAll("li *:empty:not(img)");for(n=0;n<i.length;n++)t.detach(i[n]),i.length===n+1&&(i=this.parent.editableElement.querySelectorAll("li *:empty:not(img)"),n=-1);var r=this.parent.editableElement.querySelectorAll("li:empty");for(n=0;n<r.length;n++)t.detach(r[n])},e.prototype.insertAfter=function(e,t){t.parentNode.insertBefore(e,t.nextSibling)},e.prototype.getSelectedCellMinMaxIndex=function(e){for(var t=this.curTable.querySelectorAll(".e-cell-select"),n=0,i=e.length,r=0,o=e[0].length,s=0;n<t.length;n++){var a=this.getCorrespondingIndex(t[n],e),l=this.FindIndex(a[0],a[1],e);i=Math.min(a[0],i),r=Math.max(l[0],r),o=Math.min(a[1],o),s=Math.max(l[1],s)}return{startRow:i,endRow:r,startColumn:o,endColumn:s}},e.prototype.insertRow=function(e){var n="InsertRowBefore"!==e.item.subCommand,i=e.item.selection.range.startContainer;if("TH"!==i.nodeName&&"TD"!==i.nodeName&&(i=t.closest(i.parentElement,"td,th")),"th"!==i.nodeName.toLowerCase()||"InsertRowBefore"!==e.item.subCommand){if(this.curTable=t.closest(this.parent.nodeSelection.range.startContainer.parentElement,"table"),0===this.curTable.querySelectorAll(".e-cell-select").length){var r=this.curTable.rows[this.curTable.rows.length-1],o=r.cloneNode(!0);o.removeAttribute("rowspan"),this.insertAfter(o,r)}else{for(var s=this.getCorrespondingColumns(),a=this.getSelectedCellMinMaxIndex(s),l=n?a.endRow:a.startRow,d=t.createElement("tr"),c=this.curTable.querySelectorAll("th.e-cell-select").length>0,p=0;p<s[l].length;p++)if(n&&l<s.length-1&&s[l][p]===s[l+1][p]||!n&&0<l&&s[l][p]===s[l-1][p])(0===p||0<p&&s[l][p]!==s[l][p-1])&&s[l][p].setAttribute("rowspan",(parseInt(s[l][p].getAttribute("rowspan"),10)+1).toString());else{var h=t.createElement("td");h.appendChild(t.createElement("br")),d.appendChild(h),h.setAttribute("style",s[c&&n&&s[l+1]?l+1:l][p].getAttribute("style"))}var u=void 0;u=c&&n?this.curTable.querySelector("tbody").childNodes[0]:this.curTable.rows[l],"InsertRowBefore"===e.item.subCommand?u.parentElement.insertBefore(d,u):c?u.parentElement.insertBefore(d,u):this.insertAfter(d,u)}e.item.selection.setSelectionText(this.parent.currentDocument,e.item.selection.range.startContainer,e.item.selection.range.startContainer,0,0),e.callBack&&e.callBack({requestType:e.item.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})}},e.prototype.insertColumn=function(e){var n=e.item.selection.range.startContainer;"TH"!==n.nodeName&&"TD"!==n.nodeName&&(n=t.closest(n.parentElement,"td,th"));for(var i,r=t.closest(n,"tr"),o=t.closest(r,"table").rows,s=Array.prototype.slice.call(r.querySelectorAll(":scope > td, :scope > th")).indexOf(n),a=parseInt(e.item.width,10)/r.querySelectorAll(":scope > td, :scope > th").length,l=parseInt(e.item.width,10)/(r.querySelectorAll(":scope > td, :scope > th").length+1),d=t.closest(r,"table"),c=t.closest(r,"table").querySelectorAll("th,td"),p=0;p<c.length;p++)c[p].dataset.oldWidth=c[p].offsetWidth/d.offsetWidth*100+"%";for(p=0;p<o.length;p++){var h=(i=o[p].querySelectorAll(":scope > td, :scope > th")[s]).cloneNode(!0);h.innerHTML="",h.appendChild(t.createElement("br")),h.removeAttribute("class"),h.removeAttribute("colspan"),h.removeAttribute("rowspan"),"InsertColumnLeft"===e.item.subCommand?i.parentElement.insertBefore(h,i):this.insertAfter(h,i),h.style.width=l.toFixed(4)+"%",delete h.dataset.oldWidth}for(p=0;p<c.length;p++)c[p].style.width=(Number(c[p].dataset.oldWidth.split("%")[0])*l/a).toFixed(4)+"%",delete c[p].dataset.oldWidth;e.item.selection.setSelectionText(this.parent.currentDocument,n,n,0,0),e.callBack&&e.callBack({requestType:e.item.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})},e.prototype.deleteColumn=function(e){var n=e.item.selection.range.startContainer;3===n.nodeType&&(n=t.closest(n.parentElement,"td,th"));var i=t.closest(n,"TH"===n.tagName?"thead":"tbody"),r=i&&Array.prototype.indexOf.call(i.childNodes,n.parentNode);this.curTable=t.closest(n,"table");if(1===t.closest(n,"tr").querySelectorAll("th,td").length)e.item.selection.restore(),t.detach(t.closest(n.parentElement,"table"));else{for(var o=void 0,s=this.getCorrespondingColumns(),a=this.getSelectedCellMinMaxIndex(s),l=a.startColumn,d=a.endColumn,c=0;c<s.length;c++)for(var p=s[c],h=0;h<p.length;h++){var u=p[h],m=this.getCorrespondingIndex(u,s),g=parseInt(u.getAttribute("colspan"),10)||1;m[1]+(g-1)>=l&&m[1]<=d&&(g>1?u.setAttribute("colspan",(g-1).toString()):(t.detach(u),o=h,t.Browser.isIE&&(e.item.selection.setSelectionText(this.parent.currentDocument,this.curTable.querySelector("td"),this.curTable.querySelector("td"),0,0),this.curTable.querySelector("td, th").classList.add("e-cell-select"))))}if(o>-1){var f=i.children[r],b=f&&f.children[o<=f.children.length-1?o:o-1];b&&(e.item.selection.setSelectionText(this.parent.currentDocument,b,b,0,0),b.classList.add("e-cell-select"))}}if(e.callBack){var v=this.parent.nodeSelection.getRange(this.parent.currentDocument).startContainer;if("TD"!==v.nodeName){var y=this.parent.nodeSelection.getRange(this.parent.currentDocument).startOffset,C=v.children[y];C&&this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,C,0)}e.callBack({requestType:e.item.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})}},e.prototype.deleteRow=function(e){var n=e.item.selection.range.startContainer;3===n.nodeType&&(n=t.closest(n.parentElement,"td,th"));var i=Array.prototype.indexOf.call(n.parentNode.childNodes,n);this.curTable=t.closest(n,"table");var r,o,s,a=this.getCorrespondingColumns(),l=this.getSelectedCellMinMaxIndex(a);if(1===this.curTable.rows.length)e.item.selection.restore(),t.detach(t.closest(n.parentElement,"table"));else for(o=l.endRow;o>=l.startRow;o--){for(r=this.curTable.rows[o],s=0;s<a[o].length;s++){if((0===s||a[o][s]!==a[o][s-1])&&1<parseInt(a[o][s].getAttribute("rowspan"),10)){var d=parseInt(a[o][s].getAttribute("rowspan"),10)-1;1===d?a[o][s].removeAttribute("rowspan"):a[o][s].setAttribute("rowspan",d.toString())}if(o<a.length-1&&a[o][s]===a[o+1][s]&&(0===o||a[o][s]!==a[o-1][s])){var c=a[o][s],p=void 0;for(p=s;0<p&&a[o][p]===a[o][p-1];p--)0===p?this.curTable.rows[o+1].prepend(c):a[o+1][p-1].insertAdjacentElement("afterend",c)}}var h=r.rowIndex;this.curTable.deleteRow(h);var u=t.isNullOrUndefined(this.curTable.rows[h])?this.curTable.querySelectorAll("tbody tr")[h-1]:this.curTable.querySelectorAll("tbody tr")[h],m=u&&u.querySelectorAll("td")[i];m?(e.item.selection.setSelectionText(this.parent.currentDocument,m,m,0,0),m.classList.add("e-cell-select")):(e.item.selection.setSelectionText(this.parent.currentDocument,this.curTable.querySelector("td"),this.curTable.querySelector("td"),0,0),this.curTable.querySelector("td, th").classList.add("e-cell-select"))}e.callBack&&e.callBack({requestType:e.item.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})},e.prototype.removeTable=function(e){var n=e.item.selection.range.startContainer;n=3===n.nodeType?n.parentNode:n;var i=t.closest(n.parentElement,"table");i&&(e.item.selection.restore(),t.detach(i)),e.callBack&&e.callBack({requestType:e.item.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})},e.prototype.tableHeader=function(e){var n=!1,i=e.item.selection.range.startContainer;i=3===i.nodeType?i.parentNode:i;var r=t.closest(i.parentElement,"table");if([].slice.call(r.childNodes).forEach(function(e){"THEAD"===e.nodeName&&(n=!0)}),r&&!n){for(var o=r.querySelector("tr").childElementCount,s=0,a=0;a<o;a++)s+=parseInt(r.querySelector("tr").children[a].getAttribute("colspan"),10)||1;for(var l=r.createTHead().insertRow(0),d=0;d<s;d++){var c=t.createElement("th");c.appendChild(t.createElement("br")),l.appendChild(c)}}else r.deleteTHead();e.callBack&&e.callBack({requestType:e.item.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})},e.prototype.tableVerticalAlign=function(e){"AlignTop"===e.item.subCommand?e.item.tableCell.style.verticalAlign="top":"AlignMiddle"===e.item.subCommand?e.item.tableCell.style.verticalAlign="middle":e.item.tableCell.style.verticalAlign="bottom",e.callBack&&e.callBack({requestType:e.item.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})},e.prototype.cellMerge=function(e){t.isNullOrUndefined(this.curTable)&&(this.curTable=t.closest(this.parent.nodeSelection.range.startContainer.parentElement,"table"));var n=this.curTable.querySelectorAll(".e-cell-select");if(!(n.length<2)){this.mergeCellContent();var i=this.getSelectedMinMaxIndexes(this.getCorrespondingColumns()),r=n[0],o=r.parentElement.querySelectorAll(".e-cell-select");i.startColumn<i.endColumn&&r.setAttribute("colspan",(i.endColumn-i.startColumn+1).toString()),i.startRow<i.endRow&&r.setAttribute("rowspan",(i.endRow-i.startRow+1).toString());for(var s=0,a=o.length-1;a>=0;a--)s+=parseFloat(o[a].style.width);r.style.width=s+"%";for(var l=1;l<=n.length-1;l++)t.detach(n[l]);for(l=0;l<this.curTable.rows.length;l++)""===this.curTable.rows[l].innerHTML&&t.detach(this.curTable.rows[l]);this.updateRowSpanStyle(i.startRow,i.endRow,this.getCorrespondingColumns()),this.updateColSpanStyle(i.startColumn,i.endColumn,this.getCorrespondingColumns()),e.item.selection.setSelectionText(this.parent.currentDocument,e.item.selection.range.startContainer,e.item.selection.range.startContainer,0,0),this.parent.nodeSelection.range&&this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,this.parent.nodeSelection.range.endContainer,0),e.callBack&&e.callBack({requestType:e.item.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})}},e.prototype.updateColSpanStyle=function(e,t,n){var i,r,o,s,a=0,l=0,d=n;if(e<(t=Math.min(t,d[0].length-1))){for(;r<=t;r++)if(!(e<r&&d[0][r]===d[0][r-1])&&1<(a=Math.min(parseInt(d[0][r].getAttribute("colspan"),10)||1,t-e+1))&&d[0][r]===d[0][r+1])for(l=a-1,i=1;i<d.length;i++){if(d[i][r]!==d[i-1][r])for(o=r;o<r+a;o++)if(1<(s=parseInt(d[i][o].getAttribute("colspan"),10)||1)&&d[i][o]===d[i][o+1])o+=l=Math.min(l,s-1);else if(!(l=Math.max(0,l-1)))break;if(!l)break}l&&this.updateCellAttribute(d,l,"colspan",0,d.length-1,e,t)}},e.prototype.updateRowSpanStyle=function(e,t,n){var i,r,o,s,a=0,l=0,d=n;if(e<(t=Math.min(t,d.length-1))){for(i=e;i<=t;i++)if(!(e<i&&d[i][0]===d[i-1][0])&&d[i][0]&&1<(a=Math.min(parseInt(d[i][0].getAttribute("rowspan"),10)||1,t-e+1))&&d[i][0]===d[i+1][0])for(l=a-1,r=1;r<d[0].length;r++)if(d[i][r]!==d[i][r-1]){for(o=i;o<i+a;o++)if(1<(s=parseInt(d[o][r].getAttribute("rowspan"),10)||1)&&d[o][r]===d[o+1][r])o+=l=Math.min(l,s-1);else if(!(l=Math.max(0,l-1)))break;if(!l)break}l&&this.updateCellAttribute(d,l,"rowspan",e,t,0,d[0].length-1)}},e.prototype.updateCellAttribute=function(e,t,n,i,r,o,s){var a,l,d;for(a=i;a<=r;a++)for(l=o;l<=s;l++)i<a&&e[a][l]===e[a-1][l]||o<l&&e[a][l]===e[a][l-1]||1<(d=parseInt(e[a][l].getAttribute(n),10)||1)&&(1<d-t?e[a][l].setAttribute(n,(d-t).toString()):e[a][l].removeAttribute(n))},e.prototype.mergeCellContent=function(){for(var e=this.curTable.querySelectorAll(".e-cell-select"),t="<br>"===e[0].innerHTML?"":e[0].innerHTML,n=1;n<e.length;n++)"<br>"!==e[n].innerHTML&&(t=t?t+"<br>"+e[n].innerHTML:t+e[n].innerHTML);e[0].innerHTML=t},e.prototype.getSelectedMinMaxIndexes=function(e){var t=this.curTable.querySelectorAll(".e-cell-select");if(0<t.length){for(var n=e.length,i=0,r=e[0].length,o=0,s=0;s<t.length;s++){var a=this.getCorrespondingIndex(t[s],e),l=this.FindIndex(a[0],a[1],e);n=Math.min(a[0],n),i=Math.max(l[0],i),r=Math.min(a[1],r),o=Math.max(l[1],o)}return{startRow:n,endRow:i,startColumn:r,endColumn:o}}return null},e.prototype.HorizontalSplit=function(e){var n=e.item.selection.range.startContainer;if(this.curTable=t.closest(n.parentElement,"table"),!(this.curTable.querySelectorAll(".e-cell-select").length>1)){this.activeCell=this.curTable.querySelector(".e-cell-select");var i=this.activeCell.cloneNode(!0);i.removeAttribute("class"),i.innerHTML="</br>";var r=this.getCorrespondingIndex(this.activeCell,this.getCorrespondingColumns()),o=this.getCorrespondingColumns(),s=this.activeCell.getAttribute("rowspan")?parseInt(this.activeCell.getAttribute("rowspan"),10):1;if(s>1){var a=Math.ceil(s/2);1<a?this.activeCell.setAttribute("rowspan",a.toString()):this.activeCell.removeAttribute("rowspan"),1<s-a?i.setAttribute("rowspan",(s-a).toString()):i.removeAttribute("rowspan");var l=void 0,d=void 0;for(l=r[0]+Math.ceil(s/2),d=0===r[1]?r[1]:r[1]-1;0<=d&&(o[l][d]===o[l][d-1]||0<l&&o[l][d]===o[l-1][d]);)d--;-1===d?this.curTable.rows[l].firstChild?this.curTable.rows[l].prepend(i):this.curTable.appendChild(i):o[l][d].insertAdjacentElement("afterend",i)}else{var c=t.createElement("tr");c.appendChild(i);for(var p=o[r[0]],h=0;h<=p.length-1;h++)p[h]!==p[h-1]&&p[h]!==this.activeCell&&p[h].setAttribute("rowspan",((parseInt(p[h].getAttribute("rowspan"),10)?parseInt(p[h].getAttribute("rowspan"),10):1)+1).toString());this.activeCell.parentNode.insertAdjacentElement("afterend",c)}e.callBack&&e.callBack({requestType:e.item.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})}},e.prototype.VerticalSplit=function(e){var n=e.item.selection.range.startContainer;if(this.curTable=t.closest(n.parentElement,"table"),!(this.curTable.querySelectorAll(".e-cell-select").length>1)){this.activeCell=this.curTable.querySelector(".e-cell-select");var i=this.curTable.rows,r=this.activeCell.cloneNode(!0);r.removeAttribute("class"),r.innerHTML="</br>";var o=parseFloat(this.activeCell.style.width)/2;if("TH"===this.activeCell.tagName&&isNaN(o)){for(var s=this.curTable.querySelector("tr").childElementCount,a=0;a<s;a++)parseInt(this.curTable.querySelector("tr").children[a].getAttribute("colspan"),10)||1;o=parseFloat((this.activeCell.offsetWidth/2/this.curTable.offsetWidth*100).toFixed(1))}var l=this.getCorrespondingIndex(this.activeCell,this.getCorrespondingColumns()),d=this.getCorrespondingColumns(),c=parseInt(this.activeCell.getAttribute("colspan"),10);if(c>1)1<Math.ceil(c/2)?this.activeCell.setAttribute("colspan",(c/2).toString()):this.activeCell.removeAttribute("colspan"),1<c-c/2?r.setAttribute("colspan",(c-c/2).toString()):r.removeAttribute("colspan");else for(a=0;a<=i.length-1;a++)if(0===a||d[a][l[1]]!==d[a-1][l[1]]){var p=d[a][l[1]];p!==this.activeCell&&p.setAttribute("colspan",((parseInt(p.getAttribute("colspan"),10)?parseInt(p.getAttribute("colspan"),10):1)+1).toString())}this.activeCell.style.width=o+"%",r.style.width=o+"%",this.activeCell.parentNode.insertBefore(r,this.activeCell.nextSibling),e.callBack&&e.callBack({requestType:e.item.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})}},e.prototype.getCorrespondingColumns=function(){for(var e=[],t=this.curTable.rows,n=0;n<=t.length-1;n++)for(var i=t[n],r=0,o=0;o<=i.children.length-1;o++){for(var s=i.children[o],a=s,l=parseInt(a.getAttribute("colspan"),10)||1,d=parseInt(a.getAttribute("rowspan"),10)||1,c=n;c<n+d;c++)for(var p=r;p<r+l;p++)e[c]||(e[c]=[]),e[c][p]?r++:e[c][p]=s;r+=0}return e},e.prototype.FindIndex=function(e,t,n){var i,r;for(i=e+1,r=t+1;i<n.length;){if(n[i][t]!==n[e][t]){i--;break}i++}for(i===n.length&&i--;r<n[e].length;){if(n[e][r]!==n[e][t]){r--;break}r++}return r===n[e].length&&r--,[i,r]},e.prototype.getCorrespondingIndex=function(e,t){for(var n=0;n<t.length;n++)for(var i=0;i<t[n].length;i++)if(t[n][i]===e)return[n,i];return[]},e.prototype.highlightCells=function(e,t,n,i,r){var o,s,a,l,d=e,c=t,p=n,h=i,u=new Fo;for(o=d;o<=c;o++){for((1<(parseInt(r[o][p].getAttribute("rowspan"),10)||1)||1<(parseInt(r[o][p].getAttribute("colspan"),10)||1))&&(l=this.FindIndex((a=this.getCorrespondingIndex(r[o][p],r))[0],a[1],r))?(d=Math.min(a[0],d),c=Math.max(l[0],c),p=Math.min(a[1],p),h=Math.max(l[1],h)):(1<(parseInt(r[o][h].getAttribute("rowspan"),10)||1)||1<(parseInt(r[o][h].getAttribute("colspan"),10)||1))&&(l=this.FindIndex((a=this.getCorrespondingIndex(r[o][h],r))[0],a[1],r))&&(d=Math.min(a[0],d),c=Math.max(l[0],c),p=Math.min(a[1],p),h=Math.max(l[1],h)),s=p;s<=h;s++)(1<(parseInt(r[d][s].getAttribute("rowspan"),10)||1)||1<(parseInt(r[d][s].getAttribute("colspan"),10)||1))&&(l=this.FindIndex((a=this.getCorrespondingIndex(r[d][s],r))[0],a[1],r))?(d=Math.min(a[0],d),c=Math.max(l[0],c),p=Math.min(a[1],p),h=Math.max(l[1],h)):(1<(parseInt(r[c][s].getAttribute("rowspan"),10)||1)||1<(parseInt(r[c][s].getAttribute("colspan"),10)||1))&&(l=this.FindIndex((a=this.getCorrespondingIndex(r[c][s],r))[0],a[1],r))&&(d=Math.min(a[0],d),c=Math.max(l[0],c),p=Math.min(a[1],p),h=Math.max(l[1],h));u=d===e&&c===t&&p===n&&h===i?{startRow:e,endRow:t,startColumn:n,endColumn:i}:this.highlightCells(d,c,p,h,r)}return u},e.prototype.tableMove=function(e){this.activeCell=e.selectNode[0];var n=e.event.target,i=this.activeCell.tagName,r=n.tagName;if(this.curTable=t.closest(n,"table"),this.curTable.querySelectorAll(".e-cell-select").length>1&&this.parent.nodeSelection.Clear(this.parent.currentDocument),"TD"===n.tagName||"TH"===n.tagName||i===r){for(var o=Array.prototype.slice.call(this.activeCell.parentElement.parentElement.children).indexOf(this.activeCell.parentElement),s=Array.prototype.slice.call(this.activeCell.parentElement.children).indexOf(this.activeCell),a=Array.prototype.slice.call(n.parentElement.parentElement.children).indexOf(n.parentElement),l=Array.prototype.slice.call(n.parentElement.children).indexOf(n),d=this.curTable.querySelectorAll(".e-cell-select"),c=d.length-1;c>=0;c--)this.activeCell!==d[c]&&d[c].classList.remove("e-cell-select");if(o!==a||s!==l){for(var p=this.getCorrespondingColumns(),h=this.getCorrespondingIndex(this.activeCell,p),u=this.getCorrespondingIndex(n,p),m=this.highlightCells(Math.min(h[0],u[0]),Math.max(h[0],u[0]),Math.min(h[1],u[1]),Math.max(h[1],u[1]),p),g=m.startRow;g<=m.endRow;g++)for(var f=m.startColumn;f<=m.endColumn;f++)p[g][f].classList.add("e-cell-select");this.parent.nodeSelection.range&&(this.parent.nodeSelection.setSelectionText(this.parent.currentDocument,this.parent.nodeSelection.range.endContainer,this.parent.nodeSelection.range.endContainer,0,0),this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,this.parent.nodeSelection.range.endContainer,0))}}},e}(),Fo=function(){return function(){}}(),qo=function(){function e(){}return e.prototype.getFormattedNode=function(e,t,n){var i=this.getFormatParent(e,t,n);return null!==i&&i!==n?i:null},e.prototype.getFormatParent=function(e,t,n){do{e=e.parentNode}while(e&&e!==n&&!this.isFormattedNode(e,t));return e},e.prototype.isFormattedNode=function(t,n){switch(n){case"bold":return e.isBold(t);case"italic":return e.isItalic(t);case"underline":return e.isUnderline(t);case"strikethrough":return e.isStrikethrough(t);case"superscript":return e.isSuperscript(t);case"subscript":return e.isSubscript(t);case"fontcolor":return this.isFontColor(t);case"fontname":return this.isFontName(t);case"fontsize":return this.isFontSize(t);case"backgroundcolor":return this.isBackgroundColor(t);default:return!1}},e.isBold=function(e){return-1!==["strong","b"].indexOf(e.nodeName.toLowerCase())||!(-1===this.inlineTags.indexOf(e.nodeName.toLowerCase())||!e.style||"bold"!==e.style.fontWeight)},e.isItalic=function(e){return-1!==["em","i"].indexOf(e.nodeName.toLowerCase())||!(-1===this.inlineTags.indexOf(e.nodeName.toLowerCase())||!e.style||"italic"!==e.style.fontStyle)},e.isUnderline=function(e){return-1!==["u"].indexOf(e.nodeName.toLowerCase())||!(-1===this.inlineTags.indexOf(e.nodeName.toLowerCase())||!e.style||"underline"!==e.style.textDecoration)},e.isStrikethrough=function(e){return-1!==["del","strike"].indexOf(e.nodeName.toLowerCase())||!(-1===this.inlineTags.indexOf(e.nodeName.toLowerCase())||!e.style||"line-through"!==e.style.textDecoration)},e.isSuperscript=function(e){return-1!==["sup"].indexOf(e.nodeName.toLowerCase())},e.isSubscript=function(e){return-1!==["sub"].indexOf(e.nodeName.toLowerCase())},e.prototype.isFontColor=function(t){var n=t.style&&t.style.color;return-1!==e.inlineTags.indexOf(t.nodeName.toLowerCase())&&null!==n&&""!==n&&void 0!==n},e.prototype.isBackgroundColor=function(t){var n=t.style&&t.style.backgroundColor;return-1!==e.inlineTags.indexOf(t.nodeName.toLowerCase())&&null!==n&&""!==n&&void 0!==n},e.prototype.isFontSize=function(t){var n=t.style&&t.style.fontSize;return-1!==e.inlineTags.indexOf(t.nodeName.toLowerCase())&&null!==n&&""!==n&&void 0!==n},e.prototype.isFontName=function(t){var n=t.style&&t.style.fontFamily;return-1!==e.inlineTags.indexOf(t.nodeName.toLowerCase())&&null!==n&&""!==n&&void 0!==n},e.inlineTags=["a","abbr","acronym","b","bdo","big","cite","code","dfn","em","i","kbd","label","q","samp","small","span","strong","sub","sup","tt","u","var","del"],e}(),zo=function(){function e(){}return e.applyFormat=function(e,n,i,r,o,s){this.enterAction=r;if(["bold","italic","underline","strikethrough","superscript","subscript","uppercase","lowercase","fontcolor","fontname","fontsize","backgroundcolor"].indexOf(n)>-1){"backgroundcolor"===n&&""===o&&(o="transparent");var a=new No,l=new Eo(i,e),d=new Oo,c=new qo,p=a.getRange(e),h=a.save(p,e),u=p.collapsed?a.getSelectionNodeCollection(p):a.getSelectionNodeCollectionBr(p),m=!1,g=!1,f=!1,b=!1,v=["fontcolor","fontname","fontsize","backgroundcolor"].indexOf(n)>-1;if(p.collapsed){var y=c.getFormattedNode(p.startContainer,n,i),C=t.isNullOrUndefined(y)?null:null===y.getAttribute("style")?y.nodeName:y.nodeName+"[style='"+y.getAttribute("style")+"']";if(u.length>0)m=!0,p=d.GetCursorRange(e,p,u[0]);else if(3===p.startContainer.nodeType&&(p.startContainer.parentElement.childElementCount>0&&p.startOffset>0&&"br"!==p.startContainer.parentElement.firstElementChild.tagName.toLowerCase()||!t.isNullOrUndefined(y)&&y===p.startContainer.parentElement.closest(C)&&0!=p.startContainer.parentElement.closest(C).textContent.replace(new RegExp(String.fromCharCode(8203),"g"),"").trim().length))m=!0,p=d.GetCursorRange(e,p,p.startContainer),u.push(p.startContainer);else{var N=this.insertCursorNode(e,a,p,c,d,n,o,i);a.endContainer=a.startContainer=a.getNodeArray(N,!0);var S="BR"===N.nodeName&&N.parentNode.childNodes;t.isNullOrUndefined(S)||1!==S.length||"BR"!==S[0].nodeName||0!==u.length?a.endOffset=a.startOffset=1:(a.setSelectionText(e,p.startContainer,p.endContainer,0,0),b=!0),"BR"===N.nodeName&&0===N.parentNode.textContent.length&&(b=!0)}}f=p.collapsed;for(var E=!1,T=0;T<u.length;T++){var w=c.getFormattedNode(u[T],n,i);null===w&&("subscript"===n?E=null!==(w=c.getFormattedNode(u[T],"superscript",i)):"superscript"===n&&(E=null!==(w=c.getFormattedNode(u[T],"subscript",i)))),0===T&&null===w&&(g=!0),u[T]=null===w||g&&!v?this.insertFormat(e,u,T,w,f,g,v,p,d,n,o):this.removeFormat(u,T,w,f,g,v,p,d,n,o,a,i,l),a=this.applySelection(u,a,d,T,m)}I()&&B(i,s),b||h.restore(),E&&this.applyFormat(e,n,i,r)}},e.insertCursorNode=function(e,n,i,r,o,s,a,l){var d=n.getNodeCollection(i),c=new Eo(l,e),p=d.length>0?d.length>1&&i.startContainer===i.endContainer?this.getCursorFormat(r,d,s,l):r.getFormattedNode(d[0],s,l):null,h=null;if(p){if(h=d[0],8203===p.firstChild.textContent.charCodeAt(0)&&3===p.firstChild.nodeType){var u=new RegExp(String.fromCharCode(8203),"g"),m=void 0;p.firstChild===h?(h.textContent=p.parentElement&&(c.isBlockNode(p.parentElement)&&p.parentElement.textContent.length<=1?p.parentElement.childElementCount>1:0===p.childElementCount)&&(p.parentElement.textContent.length>1||p.parentElement.firstChild&&1===p.parentElement.firstChild.nodeType)?h.textContent:h.textContent.replace(u,""),m=h):(p.firstChild.textContent=p.firstChild.textContent.replace(u,""),m=p.firstChild);var g=void 0;if(0===m.textContent.length)if(t.isNullOrUndefined(m.previousSibling)){if(!t.isNullOrUndefined(m.parentElement)&&0===m.parentElement.textContent.length){var f=document.createElement("BR");m.parentElement.appendChild(f),t.detach(m),h=f,n.setCursorPoint(e,h.parentElement,0)}}else h=m.previousSibling,g=m.textContent.length-1,n.setCursorPoint(e,m,g)}["fontcolor","fontname","fontsize","backgroundcolor"].indexOf(s)>-1?("fontcolor"===s?p.style.color=a:"fontname"===s?p.style.fontFamily=a:"fontsize"===s?p.style.fontSize=a:p.style.backgroundColor=a,h=p):wo.unwrap(p)}else d.length>1&&i.startOffset>0&&d[0].firstElementChild&&"br"===d[0].firstElementChild.tagName.toLowerCase()&&(d[0].innerHTML=""),1!==d.length||0!==i.startOffset||"BR"!==d[0].nodeName&&"BR"!==d[0].nextSibling.nodeName||t.detach("#text"===d[0].nodeName?d[0].nextSibling:d[0]),h=this.getInsertNode(e,i,s,a).firstChild;return h},e.getCursorFormat=function(e,t,n,i){for(var r,o=0;o<t.length;o++)r=t[o].lastElementChild?t[o].lastElementChild:t[o];return e.getFormattedNode(r,n,i)},e.removeFormat=function(e,n,i,r,o,s,a,l,d,c,p,h,u){var m=null,g="#text"===a.startContainer.nodeName?a.startContainer.textContent.substring(a.startOffset,a.startContainer.textContent.length):a.startContainer.textContent;if(a.startContainer!==a.endContainer||0!==a.startOffset||a.endOffset!==a.startContainer.length){var f=[],b=e[n];do{f.push(p.getIndex(b)),b=b.parentNode}while(b&&b!==i);if("BR"!==e[n].nodeName&&(b=m=r&&i.textContent.length-1===a.startOffset?l.SplitNode(a,i,!0):l.GetSpliceNode(a,i)),r){for(var v=m;null!==v.firstChild&&3!==v.firstChild.nodeType;null)v=v.firstChild;v.innerHTML="&#8203;",e[n]=v.firstChild}else{for(;b&&b.childNodes.length>0&&f.length-1>=0&&b.childNodes.length>f[f.length-1];)b=b.childNodes[f[f.length-1]],f.pop();if("BR"!==e[n].nodeName)if(3!==b.nodeType||r&&""===b.nodeValue){var y=document.createElement("div");y.innerHTML="&#8203;",3!==b.nodeType?(b.insertBefore(y.firstChild,b.firstChild),e[n]=b.firstChild):(b.parentNode.insertBefore(y.firstChild,b),e[n]=b.previousSibling,b.parentNode.removeChild(b))}else e[n]=b}}var C;"backgroundcolor"===d&&(C=i.style.fontSize);var N;if("fontsize"===d){var S=t.closest(e[n].parentElement,"span[style*=background-color]");t.isNullOrUndefined(S)||(N=S.style.backgroundColor)}var E=i.getAttribute("style"),T=i.tagName,w=wo.unwrap(i);if(w[0]&&!s)for(var O=w[n]?w[n]:w[0],L=O;O&&O.parentElement&&O.parentElement!==h;O=O){var x=void 0;if(x="SPAN"===i.nodeName?O.parentElement.tagName.toLocaleLowerCase()===i.tagName.toLocaleLowerCase()&&O.parentElement.getAttribute("style")===E:O.parentElement.tagName.toLocaleLowerCase()===i.tagName.toLocaleLowerCase(),O.parentElement&&x&&(O.parentElement.childElementCount>1||a.startOffset>1)){if(L.parentElement&&L.parentElement.tagName.toLocaleLowerCase()===i.tagName.toLocaleLowerCase()&&a.startOffset===a.endOffset&&1!==L.nodeType&&!t.isNullOrUndefined(L.textContent)&&L.parentElement.childElementCount>1&&(a.setStart(L,0),a.setEnd(L,L.textContent.length),l.SplitNode(a,L.parentElement,!1)),"span"===O.parentElement.tagName.toLocaleLowerCase()&&"underline"===i.style.textDecoration&&"underline"!==O.parentElement.style.textDecoration){O=O.parentElement;continue}wo.unwrap(O.parentElement),O=t.isNullOrUndefined(O.parentElement)||u.isBlockNode(O.parentElement)?O.parentElement:L}else O=O.parentElement}if(w.length>0&&s){for(var k=0;k<w.length;k++)(3!==w[k].nodeType||w[k].textContent&&w[k].textContent.trim().length>0)&&(w[k]=wo.Wrap(w[k],this.GetFormatNode(d,c,T,E)),w[k].textContent===g&&(0===k?a.setStartBefore(w[k]):k===w.length-1&&a.setEndAfter(w[k])));var D=e[n].parentElement;if(t.isNullOrUndefined(C)||""===C||(D.style.fontSize=C),t.isNullOrUndefined(N)||""===N||(D.style.backgroundColor=N),"backgroundcolor"===d&&!t.isNullOrUndefined(C)&&""!==C&&D.parentElement.innerHTML===D.outerHTML){var M=D.parentElement;M.parentElement.insertBefore(D,M),t.detach(M)}if("fontsize"===d||"fontcolor"===d){for(var R=e[n].parentElement,I=e[n].parentElement;!t.isNullOrUndefined(I)&&"li"!==I.tagName.toLowerCase();)R=I=I.parentElement;t.isNullOrUndefined(R)||"li"!==R.tagName.toLowerCase()||R.textContent.trim()!==e[n].textContent.trim()||("fontsize"===d?R.style.fontSize=c:(R.style.color=c,R.style.textDecoration="inherit"))}}return e[n]},e.insertFormat=function(e,n,i,r,o,s,a,l,d,c,p){if(o)if("uppercase"!==c&&"lowercase"!==c){h=this.getInsertNode(e,l,c,p);n[i]=h.firstChild,d.position=1}else d.position=l.startOffset;else if(null===r&&s||a){if("BR"!==n[i].nodeName&&(n[i]=d.GetSpliceNode(l,n[i]),n[i].textContent=d.TrimLineBreak(n[i].textContent)),"uppercase"===c||"lowercase"===c)n[i].textContent="uppercase"===c?n[i].textContent.toLocaleUpperCase():n[i].textContent.toLocaleLowerCase();else if(!0!==a||""!==p){var h=this.GetFormatNode(c,p);if("fontsize"===c||"fontcolor"===c){for(var u=n[i].parentElement,m=n[i].parentElement;!t.isNullOrUndefined(m)&&"li"!==m.tagName.toLowerCase();)u=m=m.parentElement;if(t.isNullOrUndefined(u)||"li"!==u.tagName.toLowerCase()||u.textContent.trim()!==n[i].textContent.trim()||("fontsize"===c?u.style.fontSize=p:(u.style.color=p,u.style.textDecoration="inherit")),n[i]=this.applyStyles(n,i,h),"fontsize"===c){var g=t.closest(n[i].parentElement,"span[style*=background-color]");t.isNullOrUndefined(g)||(n[i].parentElement.style.backgroundColor=g.style.backgroundColor)}}else n[i]=this.applyStyles(n,i,h)}}else n[i]=d.GetSpliceNode(l,n[i]);return n[i]},e.applyStyles=function(e,t,n){return"BR"===e[t].nodeName&&"BR"===this.enterAction||(e[t]=t===e.length-1||"BR"===e[t].nodeName?wo.Wrap(e[t],n):wo.WrapBefore(e[t],n,!0),e[t]=this.getChildNode(e[t],n)),e[t]},e.getInsertNode=function(e,n,i,r){var o=this.GetFormatNode(i,r);if(o.innerHTML="&#8203;",t.Browser.isIE){var s=e.createDocumentFragment();s.appendChild(o),n.insertNode(s)}else n.insertNode(o);return o},e.getChildNode=function(e,t){return void 0!==e&&null!==e||(t.innerHTML="&#8203;",e=t.firstChild),e},e.applySelection=function(e,t,n,i,r){return 1!==e.length||r?1===e.length&&r?(t.startContainer=t.getNodeArray(e[i],!0),t.endContainer=t.startContainer,t.startOffset=n.position,t.endOffset=n.position):0===i?(t.startContainer=t.getNodeArray(e[i],!0),t.startOffset=0):i===e.length-1&&(t.endContainer=t.getNodeArray(e[i],!1),t.endOffset=e[i].textContent.length):(t.startContainer=t.getNodeArray(e[i],!0),t.endContainer=t.startContainer,t.startOffset=0,t.endOffset=e[i].textContent.length),t},e.GetFormatNode=function(e,t,n,i){var r;switch(e){case"bold":return document.createElement("strong");case"italic":return document.createElement("em");case"underline":return r=document.createElement("span"),this.updateStyles(r,n,i),r.style.textDecoration="underline",r;case"strikethrough":return r=document.createElement("span"),this.updateStyles(r,n,i),r.style.textDecoration="line-through",r;case"superscript":return document.createElement("sup");case"subscript":return document.createElement("sub");case"fontcolor":return r=document.createElement("span"),this.updateStyles(r,n,i),r.style.color=t,r.style.textDecoration="inherit",r;case"fontname":return r=document.createElement("span"),this.updateStyles(r,n,i),r.style.fontFamily=t,r;case"fontsize":return r=document.createElement("span"),this.updateStyles(r,n,i),r.style.fontSize=t,r;default:return r=document.createElement("span"),this.updateStyles(r,n,i),r.style.backgroundColor=t,r}},e.updateStyles=function(e,t,n){null!==n&&"SPAN"===t&&e.setAttribute("style",n)},e.enterAction="P",e}(),_o=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(fo,this.applySelection,this),this.parent.observer.on(br,this.keyDownHandler,this)},e.prototype.keyDownHandler=function(e){e.event.ctrlKey&&["bold","italic","underline","strikethrough","superscript","subscript","uppercase","lowercase"].indexOf(e.event.action)>-1&&(e.event.preventDefault(),zo.applyFormat(this.parent.currentDocument,e.event.action,this.parent.editableElement,e.enterAction),this.callBack(e,e.event.action))},e.prototype.applySelection=function(e){zo.applyFormat(this.parent.currentDocument,e.subCommand.toLocaleLowerCase(),this.parent.editableElement,e.enterAction,e.value,e.selector),this.callBack(e,e.subCommand)},e.prototype.callBack=function(e,t){e.callBack&&e.callBack({requestType:t,event:e.event,editorMode:"HTML",range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})},e}(),Wo=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(bo,this.applyHtml,this)},e.prototype.applyHtml=function(e){if(xo.Insert(this.parent.currentDocument,e.value,this.parent.editableElement,!0),"pasteCleanup"===e.subCommand){var t=this.parent.editableElement.querySelectorAll(".pasteContent_RTE"),n=[].slice.call(t),i=this.parent.editableElement.querySelectorAll(".pasteContent_Img"),r=[].slice.call(i);e.callBack({requestType:e.subCommand,editorMode:"HTML",elements:n,imgElem:r})}else e.callBack&&e.callBack({requestType:e.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})},e}(),Vo=function(){function e(){}return e.clear=function(e,n,i,r){this.domNode=new Eo(n,e),this.defaultTag="P"===i?this.defaultTag:"div";var o=new No,s=new Oo,a=o.getRange(e),l=a.collapsed,d=o.getInsertNodeCollection(a),c=o.save(a,e);if(!l){var p=void 0;if(p="BR"===d[0].nodeName&&t.closest(d[0],"table")?s.GetSpliceNode(a,t.closest(d[0],"table")):s.GetSpliceNode(a,d[d.length>1&&"IMG"===d[0].nodeName?1:0]),1===d.length)o.setSelectionContents(e,p),a=o.getRange(e);else{for(var h=1,u=d[d.length-h];d.length<=h&&"BR"===d[d.length-h].nodeName;)h++,u=d[d.length-h];var m=s.GetSpliceNode(a,u);o.setSelectionText(e,p,m,0,3===m.nodeType?m.textContent.length:m.childNodes.length),a=o.getRange(e)}var g=o.getNodeCollection(a),f=g.slice();this.clearInlines(o.getSelectionNodes(f),f,o.getRange(e),s,n),this.reSelection(e,c,g),a=o.getRange(e);var b=(g=o.getNodeCollection(a)).slice();this.clearBlocks(e,b,n,s,o),I()&&B(n,r),this.reSelection(e,c,g)}},e.reSelection=function(e,t,n){var i=t.getInsertNodes(n);t.startContainer=t.getNodeArray(i[0],!0,e),t.startOffset=0,t.endContainer=t.getNodeArray(i[i.length-1],!1,e);var r=i[i.length-1];t.endOffset=3===r.nodeType?r.textContent.length:r.childNodes.length,t.restore()},e.clearBlocks=function(e,t,n,i,r){for(var o=[],s=0;s<t.length;s++)this.BLOCK_TAGS.indexOf(t[s].nodeName.toLocaleLowerCase())>-1&&-1===o.indexOf(t[s])?o.push(t[s]):this.BLOCK_TAGS.indexOf(t[s].parentNode.nodeName.toLocaleLowerCase())>-1&&-1===o.indexOf(t[s].parentNode)&&n!==t[s].parentNode&&o.push(t[s].parentNode);o=this.spliceParent(o,t)[0],o=this.removeParent(o),this.unWrap(e,o,i,r)},e.spliceParent=function(e,t){for(var n=0;n<e.length;n++)for(var i=e[n].childNodes.length,r=0;r<i;r++)if(t.indexOf(e[n].childNodes[r])>0&&e[n].childNodes[r].childNodes.length>0&&(t=this.spliceParent([e[n].childNodes[r]],t)[1]),t.indexOf(e[n].childNodes[r])<=-1&&""!==e[n].childNodes[r].textContent.trim()){for(var o=0;o<i;o++)t.indexOf(e[n].childNodes[o])>-1&&t.splice(t.indexOf(e[n].childNodes[o]),1);r=e[n].childNodes.length;var s=e.indexOf(e[n].parentNode),a=t.indexOf(e[n].parentNode);s>-1&&e.splice(s,1),a>-1&&t.splice(a,1);var l=t.indexOf(e[n]);l>-1&&t.splice(l,1),e.splice(n,1),n--}return[e,t]},e.removeChild=function(e,t){var n=t.childNodes.length;if(n>0)for(var i=0;i<n;i++)e.indexOf(t.childNodes[i])>-1&&(e=this.removeChild(e,t.childNodes[i])).splice(e.indexOf(t.childNodes[i]),1);return e},e.removeParent=function(e){for(var t=0;t<e.length;t++)e.indexOf(e[t].parentNode)>-1&&((e=this.removeChild(e,e[t])).splice(t,1),t--);return e},e.unWrap=function(e,t,n,i){for(var r=0;r<t.length;r++)if(this.NONVALID_TAGS.indexOf(t[r].nodeName.toLowerCase())>-1&&t[r].parentNode&&this.NONVALID_PARENT_TAGS.indexOf(t[r].parentNode.nodeName.toLowerCase())>-1&&(i.setSelectionText(e,t[r],t[r],0,t[r].childNodes.length),wo.unwrap(n.GetSpliceNode(i.getRange(e),t[r].parentNode))),"p"!==t[r].nodeName.toLocaleLowerCase()){!(this.NONVALID_PARENT_TAGS.indexOf(t[r].nodeName.toLowerCase())<0&&"p"!==t[r].parentNode.nodeName.toLocaleLowerCase())||("blockquote"===t[r].nodeName.toLocaleLowerCase()||"li"===t[r].nodeName.toLocaleLowerCase())&&this.IGNORE_PARENT_TAGS.indexOf(t[r].childNodes[0].nodeName.toLocaleLowerCase())>-1||1===t[r].childNodes.length&&"p"===t[r].childNodes[0].nodeName.toLocaleLowerCase()||wo.Wrap(t[r],e.createElement(this.defaultTag));var o=wo.unwrap(t[r]);1===o.length&&"p"===o[0].parentNode.nodeName.toLocaleLowerCase()&&(wo.Wrap(t[r],e.createElement(this.defaultTag)),wo.unwrap(t[r]));for(var s=0;s<o.length;s++)if(this.NONVALID_TAGS.indexOf(o[s].nodeName.toLowerCase())>-1)this.unWrap(e,[o[s]],n,i);else if(this.BLOCK_TAGS.indexOf(o[s].nodeName.toLocaleLowerCase())>-1&&"p"!==o[s].nodeName.toLocaleLowerCase()){var a=this.removeParent([o[s]]);this.unWrap(e,a,n,i)}else this.BLOCK_TAGS.indexOf(o[s].nodeName.toLocaleLowerCase())>-1&&o[s].parentNode.nodeName.toLocaleLowerCase()===o[s].nodeName.toLocaleLowerCase()?wo.unwrap(o[s]):this.BLOCK_TAGS.indexOf(o[s].nodeName.toLocaleLowerCase())>-1&&"p"===o[s].nodeName.toLocaleLowerCase()&&(wo.Wrap(o[s],e.createElement(this.defaultTag)),wo.unwrap(o[s]))}else wo.Wrap(t[r],e.createElement(this.defaultTag)),wo.unwrap(t[r])},e.clearInlines=function(e,t,n,i,r){for(var o=0;o<e.length;o++){for(var s=e[o],a=void 0;!this.domNode.isBlockNode(s)&&s.parentElement&&!s.parentElement.classList.contains("e-img-inner");)a=s,s=s.parentElement;a&&qo.inlineTags.indexOf(a.nodeName.toLocaleLowerCase())>-1&&(i.GetSpliceNode(n,a),this.removeInlineParent(a))}},e.removeInlineParent=function(e){for(var t=wo.unwrap(e),n=0;n<t.length;n++)1===t[n].parentNode.childNodes.length&&!t[n].parentNode.classList.contains("e-img-inner")&&qo.inlineTags.indexOf(t[n].parentNode.nodeName.toLocaleLowerCase())>-1?this.removeInlineParent(t[n].parentNode):qo.inlineTags.indexOf(t[n].nodeName.toLocaleLowerCase())>-1&&this.removeInlineParent(t[n])},e.BLOCK_TAGS=["address","article","aside","blockquote","details","dd","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","li","main","nav","noscript","ol","p","pre","section","ul"],e.NONVALID_PARENT_TAGS=["thead","tbody","ul","ol","table","tfoot","tr"],e.IGNORE_PARENT_TAGS=["ul","ol","table"],e.NONVALID_TAGS=["thead","tbody","figcaption","td","tr","th","tfoot","figcaption","li"],e.defaultTag="p",e}(),Qo=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(yo,this.applyClear,this),this.parent.observer.on(br,this.onKeyDown,this)},e.prototype.onKeyDown=function(e){switch(e.event.action){case"clear-format":this.applyClear({subCommand:"ClearFormat",callBack:e.callBack,enterAction:e.enterAction}),e.event.preventDefault()}},e.prototype.applyClear=function(e){"ClearFormat"===e.subCommand&&(Vo.clear(this.parent.currentDocument,this.parent.editableElement,e.enterAction,e.selector),e.callBack&&e.callBack({requestType:e.subCommand,event:e.event,editorMode:"HTML",range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)}))},e}(),Ko=function(){function e(e,n){this.undoRedoStack=[],this.parent=e,this.undoRedoSteps=t.isNullOrUndefined(n)?30:n.undoRedoSteps,this.undoRedoTimer=t.isNullOrUndefined(n)?300:n.undoRedoTimer,this.addEventListener()}return e.prototype.addEventListener=function(){var e=t.debounce(this.keyUp,this.undoRedoTimer);this.parent.observer.on(vr,e,this),this.parent.observer.on(br,this.keyDown,this),this.parent.observer.on(gr,this.onAction,this),this.parent.observer.on(yr,this.onPropertyChanged,this)},e.prototype.onPropertyChanged=function(e){for(var t=0,n=Object.keys(e.newProp);t<n.length;t++){switch(n[t]){case"undoRedoSteps":this.undoRedoSteps=e.newProp.undoRedoSteps;break;case"undoRedoTimer":this.undoRedoTimer=e.newProp.undoRedoTimer}}},e.prototype.removeEventListener=function(){this.parent.observer.off(vr,this.keyUp),this.parent.observer.off(br,this.keyDown),this.parent.observer.off(gr,this.onAction)},e.prototype.onAction=function(e){"Undo"===e.subCommand?this.undo(e):this.redo(e)},e.prototype.destroy=function(){this.removeEventListener()},e.prototype.keyDown=function(e){var t=e.event;switch(t.action){case"undo":t.preventDefault(),this.undo(e);break;case"redo":t.preventDefault(),this.redo(e)}},e.prototype.keyUp=function(e){17===e.event.keyCode||e.event.ctrlKey||this.saveData(e)},e.prototype.saveData=function(e){for(var n=(new No).getRange(this.parent.currentDocument),i=this.parent.editableElement===n.startContainer.parentElement?n.startContainer.parentElement:n.startContainer,r=i.childNodes.length-1;r>=0;r--)!t.isNullOrUndefined(i.childNodes[r])&&"#text"===i.childNodes[r].nodeName&&0===i.childNodes[r].textContent.length&&"IMG"!==i.childNodes[r].nodeName&&"BR"!==i.childNodes[r].nodeName&&i.childNodes[r].nodeName&&t.detach(i.childNodes[r]);n=(new No).getRange(this.parent.currentDocument);var o=(new No).save(n,this.parent.currentDocument),s={text:this.parent.editableElement.innerHTML,range:o};this.undoRedoStack.length>=this.steps&&(this.undoRedoStack=this.undoRedoStack.slice(0,this.steps+1)),this.undoRedoStack.length>1&&this.undoRedoStack[this.undoRedoStack.length-1].range.range.collapsed===n.collapsed&&this.undoRedoStack[this.undoRedoStack.length-1].range.startOffset===o.range.startOffset&&this.undoRedoStack[this.undoRedoStack.length-1].range.endOffset===o.range.endOffset&&this.undoRedoStack[this.undoRedoStack.length-1].range.range.startContainer===o.range.startContainer&&this.undoRedoStack[this.undoRedoStack.length-1].text.trim()===s.text.trim()||(this.undoRedoStack.push(s),this.steps=this.undoRedoStack.length-1,this.steps>this.undoRedoSteps&&(this.undoRedoStack.shift(),this.steps--),e&&e.callBack&&e.callBack())},e.prototype.undo=function(e){if(this.steps>0){var t=this.undoRedoStack[this.steps-1].range,n=this.undoRedoStack[this.steps-1].text;this.parent.editableElement.innerHTML=n,this.parent.editableElement.focus(),I()&&B(this.parent.editableElement,e.selector),t.restore(),this.steps--,e.callBack&&e.callBack({requestType:"Undo",editorMode:"HTML",range:t,elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument),event:e.event})}},e.prototype.redo=function(e){if(null!=this.undoRedoStack[this.steps+1]){var t=this.undoRedoStack[this.steps+1].range;this.parent.editableElement.innerHTML=this.undoRedoStack[this.steps+1].text,this.parent.editableElement.focus(),I()&&B(this.parent.editableElement,e.selector),t.restore(),this.steps++,e.callBack&&e.callBack({requestType:"Redo",editorMode:"HTML",range:t,elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument),event:e.event})}},e.prototype.getUndoStatus=function(){var e={undo:!1,redo:!1};return this.steps>0&&(e.undo=!0),null!=this.undoRedoStack[this.steps+1]&&(e.redo=!0),e},e}(),Go=function(){function e(e){this.olData=["decimal","lower-alpha","lower-roman","upper-alpha","upper-roman","lower-greek"],this.ulData=["disc","square","circle","disc","square","circle"],this.ignorableNodes=["A","APPLET","B","BLOCKQUOTE","BR","BUTTON","CENTER","CODE","COL","COLGROUP","DD","DEL","DFN","DIR","DIV","DL","DT","EM","FIELDSET","FONT","FORM","FRAME","FRAMESET","H1","H2","H3","H4","H5","H6","HR","I","IMG","IFRAME","INPUT","INS","LABEL","LI","OL","OPTION","P","PARAM","PRE","Q","S","SELECT","SPAN","STRIKE","STRONG","SUB","SUP","TABLE","TBODY","TD","TEXTAREA","TFOOT","TH","THEAD","TITLE","TR","TT","U","UL"],this.blockNode=["div","p","h1","h2","h3","h4","h5","h6","address","blockquote","button","center","dd","dir","dl","dt","fieldset","frameset","hr","iframe","isindex","li","map","menu","noframes","noscript","object","ol","pre","table","tbody","td","tfoot","th","thead","tr","ul","header","article","nav","footer","section","aside","main","figure","figcaption"],this.borderStyle=["border-top","border-right","border-bottom","border-left"],this.removableElements=["o:p","style"],this.listContents=[],this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(Nr,this.wordCleanup,this)},e.prototype.wordCleanup=function(e){var n=t.isNullOrUndefined(e.allowedStylePropertiesArray)?[]:e.allowedStylePropertiesArray,i=[],r=e.args.clipboardData.getData("text/HTML"),o=e.args.clipboardData.getData("text/rtf"),s=t.createElement("p");s.setAttribute("id","MSWord-Content"),s.innerHTML=r;var a=/style='mso-width-source:/i;/class='?Mso|style='[^ ]*\bmso-/i.test(r)||/class="?Mso|style="[^ ]*\bmso-/i.test(r)||/(class="?Mso|class='?Mso|class="?Xl|class='?Xl|class=Xl|style="[^"]*\bmso-|style='[^']*\bmso-|w:WordDocument)/gi.test(r)||a.test(r)?(this.imageConversion(s,o),r=r.replace(/<img[^>]+>/i,""),this.addListClass(s),i=this.cleanUp(s,i),t.isNullOrUndefined(i[0])||"UL"===i[0].parentElement.tagName||"OL"===i[0].parentElement.tagName||this.listConverter(i),this.styleCorrection(s,n),this.removingComments(s),this.removeUnwantedElements(s),this.removeEmptyElements(s),this.breakLineAddition(s),this.removeClassName(s),a.test(r)&&this.addTableBorderClass(s),e.callBack(s.innerHTML)):e.callBack(s.innerHTML)},e.prototype.addListClass=function(e){for(var n=e.querySelectorAll("*"),i=0;i<n.length;i++)!t.isNullOrUndefined(n[i].getAttribute("style"))&&n[i].getAttribute("style").replace(/ /g,"").replace("\n","").indexOf("mso-list:l")>=0&&-1===n[i].className.toLowerCase().indexOf("msolistparagraph")&&"H"!==n[i].tagName.charAt(0)&&n[i].classList.add("msolistparagraph")},e.prototype.addTableBorderClass=function(e){for(var t=e.querySelectorAll("table"),n=!1,i=0;i<t.length;i++){for(var r=0;r<this.borderStyle.length;r++)if(t[i].innerHTML.indexOf(this.borderStyle[r])>=0){n=!0;break}n&&(t[i].classList.add("e-rte-table-border"),n=!1)}},e.prototype.imageConversion=function(e,n){this.checkVShape(e);for(var i=e.querySelectorAll("img"),r=0;r<i.length;r++)!t.isNullOrUndefined(i[r].getAttribute("v:shapes"))&&i[r].getAttribute("v:shapes").indexOf("Picture")<0&&i[r].getAttribute("v:shapes").indexOf("Image")<0&&t.detach(i[r]);i=e.querySelectorAll("img");var o=[],s=[],a=[],l=new RegExp(/([^\S]|^)(((https?\:\/\/)|(www\.))(\S+))/gi);if(i.length>0){for(r=0;r<i.length;r++)o.push(i[r].getAttribute("src")),a.push(i[r].getAttribute("src").split("/")[i[r].getAttribute("src").split("/").length-1].split(".")[0]);var d=this.hexConversion(n);for(r=0;r<d.length;r++)s.push(this.convertToBase64(d[r]));for(r=0;r<i.length;r++)o[r].match(l)?i[r].setAttribute("src",o[r]):i[r].setAttribute("src",s[r]),i[r].setAttribute("id","msWordImg-"+a[r])}},e.prototype.checkVShape=function(e){for(var n=e.querySelectorAll("*"),i=0;i<n.length;i++)switch(n[i].nodeName){case"V:SHAPETYPE":t.detach(n[i]);break;case"V:SHAPE":if("V:IMAGEDATA"===n[i].firstElementChild.nodeName){var r=n[i].firstElementChild.getAttribute("src"),o=t.createElement("img");o.setAttribute("src",r),n[i].parentElement.insertBefore(o,n[i]),t.detach(n[i])}}},e.prototype.convertToBase64=function(e){var t=this.conHexStringToBytes(e.hex),n=this.conBytesToBase64(t);return e.type?"data:"+e.type+";base64,"+n:null},e.prototype.conBytesToBase64=function(e){for(var t="",n=e.length,i=0;i<n;i+=3){var r=e.slice(i,i+3),o=r.length,s=[];if(o<3)for(var a=o;a<3;a++)r[a]=0;s[0]=(252&r[0])>>2,s[1]=(3&r[0])<<4|r[1]>>4,s[2]=(15&r[1])<<2|(192&r[2])>>6,s[3]=63&r[2];for(a=0;a<4;a++)t+=a<=o?"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(s[a]):"="}return t},e.prototype.conHexStringToBytes=function(e){for(var t=[],n=e.length/2,i=0;i<n;i++)t.push(parseInt(e.substr(2*i,2),16));return t},e.prototype.hexConversion=function(e){var n,i=/\{\\pict[\s\S]+?\\bliptag\-?\d+(\\blipupi\-?\d+)?(\{\\\*\\blipuid\s?[\da-fA-F]+)?[\s\}]*?/,r=new RegExp("(?:("+i.source+"))([\\da-fA-F\\s]+)\\}","g"),o=e.match(r),s=[];if(!t.isNullOrUndefined(o))for(var a=0;a<o.length;a++)if(i.test(o[a])){if(-1!==o[a].indexOf("\\pngblip"))n="image/png";else{if(-1===o[a].indexOf("\\jpegblip"))continue;n="image/jpeg"}s.push({hex:n?o[a].replace(i,"").replace(/[^\da-fA-F]/g,""):null,type:n})}return s},e.prototype.removeClassName=function(e){for(var t=e.querySelectorAll("*[class]"),n=0;n<t.length;n++)t[n].removeAttribute("class")},e.prototype.breakLineAddition=function(e){for(var n=e.querySelectorAll("*"),i=0;i<n.length;i++)if(0===n[i].children.length&&"&nbsp;"===n[i].innerHTML&&"&nbsp;"===n[i].innerHTML&&!n[i].closest("li")&&!n[i].closest("td")){var r=this.findDetachElem(n[i]),o=t.createElement("br");t.isNullOrUndefined(r.parentElement)||(r.parentElement.insertBefore(o,r),t.detach(r))}},e.prototype.findDetachElem=function(e){return!t.isNullOrUndefined(e.parentElement)&&""===e.parentElement.textContent.trim()&&"TD"!==e.parentElement.tagName&&t.isNullOrUndefined(e.parentElement.querySelector("img"))?this.findDetachElem(e.parentElement):e},e.prototype.removeUnwantedElements=function(e){for(var t=e.innerHTML,n=0;n<this.removableElements.length;n++){var i=new RegExp("<"+this.removableElements[n]+">","g"),r=new RegExp("</"+this.removableElements[n]+">","g");t=(t=t.replace(i,"")).replace(r,"")}e.innerHTML=t,e.querySelectorAll(":empty")},e.prototype.findDetachEmptyElem=function(e){return t.isNullOrUndefined(e.parentElement)?null:""===e.parentElement.textContent.trim()&&"MSWord-Content"!==e.parentElement.getAttribute("id")&&t.isNullOrUndefined(e.parentElement.querySelector("img"))?this.findDetachEmptyElem(e.parentElement):e},e.prototype.removeEmptyElements=function(e){for(var n=e.querySelectorAll(":empty"),i=0;i<n.length;i++)if(t.isNullOrUndefined(n[i].closest("td"))||t.isNullOrUndefined(n[i].closest("td").querySelector(".MsoNormal"))||(n[i].innerHTML="-"),"IMG"!==n[i].tagName&&"BR"!==n[i].tagName&&"IFRAME"!==n[i].tagName&&"TD"!==n[i].tagName&&"HR"!==n[i].tagName){var r=this.findDetachEmptyElem(n[i]);t.isNullOrUndefined(r)||t.detach(r)}},e.prototype.styleCorrection=function(e,n){var i=e.querySelectorAll("style");if(i.length>0){var r=i[0].innerHTML.match(/[\S ]+\s+{[\s\S]+?}/gi),o=t.isNullOrUndefined(r)?null:this.findStyleObject(r),s=Object.keys(o),a=s.map(function(e){return o[e]});a=this.removeUnwantedStyle(a,n),this.filterStyles(e,n);for(var l=void 0,d=!1,c=0;c<s.length;c++){if(""===s[c].split(".")[0])l=e.getElementsByClassName(s[c].split(".")[1]),d=!0;else{if(1===s[c].split(".").length&&s[c].split(".")[0].indexOf("@")>=0)continue;l=1===s[c].split(".").length&&s[c].split(".")[0].indexOf("@")<0?e.getElementsByTagName(s[c]):e.querySelectorAll(s[c])}for(var p=0;p<l.length;p++){var h=l[p].getAttribute("style");if(t.isNullOrUndefined(h)||""===h.trim())a[c]=a[c].replace(/text-indent:-(.*?)(?=;|$)/gm,""),l[p].setAttribute("style",a[c]);else{var u=a[c].split(";");if(!d)for(var m=0;m<u.length;m++)h.indexOf(u[m].split(":")[0])>=0&&(u.splice(m,1),m--);a[c]=u.join(";")+";";var g=h+a[c];l[p].setAttribute("style",g)}}d=!1}}},e.prototype.filterStyles=function(e,t){for(var n=e.querySelectorAll("*[style]"),i=0;i<n.length;i++){for(var r=n[i].getAttribute("style").split(";"),o="",s=0;s<r.length;s++)t.indexOf(r[s].split(":")[0].trim())>=0&&(o+=r[s]+";");n[i].setAttribute("style",o)}},e.prototype.removeUnwantedStyle=function(e,t){for(var n=0;n<e.length;n++){var i=e[n].split(";");e[n]="";for(var r=0;r<i.length;r++)t.indexOf(i[r].split(":")[0])>=0&&(e[n]+=i[r]+";")}return e},e.prototype.findStyleObject=function(e){for(var t={},n=0;n<e.length;n++){var i=e[n],r=i.replace(/([\S ]+\s+){[\s\S]+?}/gi,"$1"),o=i.replace(/[\S ]+\s+{([\s\S]+?)}/gi,"$1");r=r.replace(/^[\s]|[\s]$/gm,""),o=o.replace(/^[\s]|[\s]$/gm,""),r=r.replace(/\n|\r|\n\r/g,""),o=o.replace(/\n|\r|\n\r/g,"");for(var s=r.split(", "),a=0;a<s.length;a++)t[s[a]]=o}return t},e.prototype.removingComments=function(e){var t=e.innerHTML;t=t.replace(/<!--[\s\S]*?-->/g,""),e.innerHTML=t},e.prototype.cleanUp=function(e,n){for(var i,r=[],o=e.querySelectorAll("*"),s=0;s<o.length;s++)-1===this.ignorableNodes.indexOf(o[s].nodeName)||3===o[s].nodeType&&""===o[s].textContent.trim()?r.push(o[s]):(o[s].className&&-1!==o[s].className.toLowerCase().indexOf("msolistparagraph")&&1!==o[s].childElementCount&&!t.isNullOrUndefined(o[s].getAttribute("style"))&&o[s].getAttribute("style").indexOf("mso-list:")>=0&&(o[s].className.indexOf("MsoListParagraphCxSpFirst")>=0&&n.length>0&&null!==n[n.length-1]&&n.push(null),n.push(o[s])),!i||-1===this.blockNode.indexOf(o[s].nodeName.toLowerCase())||o[s].className&&-1!==o[s].className.toLowerCase().indexOf("msolistparagraph")&&!t.isNullOrUndefined(o[s].getAttribute("style"))&&o[s].getAttribute("style").indexOf("mso-list:")>=0||n.push(null),-1!==this.blockNode.indexOf(o[s].nodeName.toLowerCase())&&(i=!!(o[s].className&&-1!==o[s].className.toLowerCase().indexOf("msolistparagraph")&&!t.isNullOrUndefined(o[s].getAttribute("style"))&&o[s].getAttribute("style").indexOf("mso-list:")>=0)));return n.length&&null!==n[n.length-1]&&n.push(null),n},e.prototype.listConverter=function(e){for(var n,i,r=[],o=[],s="",a="",l=0;l<e.length;l++)if(null!==e[l]){e[l].getAttribute("style")&&-1!==e[l].getAttribute("style").indexOf("mso-outline-level")&&e[l].setAttribute("style",e[l].getAttribute("style").replace("mso-outline-level","mso-outline")),n=(s=e[l].getAttribute("style"))&&-1!==s.indexOf("level")?parseInt(s.charAt(s.indexOf("level")+5),null):1,this.listContents=[],this.getListContent(e[l]);var d=void 0,c=void 0;if(!t.isNullOrUndefined(this.listContents[0])){d=this.listContents[0].trim().length>1?"ol":"ul",c=this.getlistStyleType(this.listContents[0],d);for(var p=[],h=1;h<this.listContents.length;h++)p.push(this.listContents[h]);var u=void 0;t.isNullOrUndefined(e[l].className)||(u=e[l].className),t.isNullOrUndefined(e[l].getAttribute("style"))||(e[l].setAttribute("style",e[l].getAttribute("style").replace("text-align:start;","")),""!==e[l].style.textAlign&&(e[l].setAttribute("style","text-align:"+e[l].style.textAlign),a=e[l].getAttribute("style"))),o.push({listType:d,content:p,nestedLevel:n,class:u,listStyle:a,listStyleTypeName:c})}}else r.push({content:this.makeConversion(o),node:e[l-1]}),o=[];for(i=e.shift();i;){for(var m=[],g=0;g<r.length;g++)if(r[g].node===i){for(var f=0;f<r[g].content.childNodes.length;f++)m.push(r[g].content.childNodes[f]);for(f=0;f<m.length;f++)i.parentElement.insertBefore(m[f],i);break}i.remove(),(i=e.shift())||(i=e.shift())}},e.prototype.getlistStyleType=function(e,t){var n;if("ol"===t)switch(e.split(".")[0]){case"A":n="upper-alpha";break;case"a":n="lower-alpha";break;case"I":n="upper-roman";break;case"i":n="lower-roman";break;case"α":n="lower-greek";break;default:n="decimal"}else switch(e.split(".")[0]){case"o":n="circle";break;case"§":n="square";break;default:n="disc"}return n},e.prototype.makeConversion=function(e){for(var n,i,r,o=t.createElement("div"),s=1,a=0,l=0;l<e.length;l++){var d=t.createElement("p");if(d.innerHTML=e[l].content.join(" "),1===e[l].nestedLevel&&0===a&&e[l].content)o.appendChild(n=t.createElement(e[l].listType)),(i=t.createElement("li")).appendChild(d),n.appendChild(i),n.setAttribute("level",e[l].nestedLevel.toString()),n.style.listStyleType=e[l].listStyleTypeName;else if(e[l].nestedLevel===s)i.parentElement.tagName.toLowerCase()===e[l].listType?(i.parentElement.appendChild(i=t.createElement("li")),i.appendChild(d)):((n=t.createElement(e[l].listType)).style.listStyleType=e[l].listStyleTypeName,i.parentElement.parentElement.appendChild(n),(i=t.createElement("li")).appendChild(d),n.appendChild(i),n.setAttribute("level",e[l].nestedLevel.toString()));else if(e[l].nestedLevel>s)if(t.isNullOrUndefined(i))o.appendChild(n=t.createElement(e[l].listType)),(i=t.createElement("li")).appendChild(d),n.appendChild(i),n.setAttribute("level",e[l].nestedLevel.toString()),n.style.listStyleType=e[l].listStyleTypeName;else{for(var c=0;c<e[l].nestedLevel-s;c++)i.appendChild(n=t.createElement(e[l].listType)),i=t.createElement("li"),c!=e[l].nestedLevel-s-1&&e[l].nestedLevel-s>1&&(i.style.listStyleType="none"),n.appendChild(i);i.appendChild(d),n.setAttribute("level",e[l].nestedLevel.toString()),n.style.listStyleType=e[l].listStyleTypeName}else if(1===e[l].nestedLevel)o.lastChild.tagName.toLowerCase()===e[l].listType?n=o.lastChild:(o.appendChild(n=t.createElement(e[l].listType)),n.style.listStyleType=e[l].listStyleTypeName),(i=t.createElement("li")).appendChild(d),n.appendChild(i),n.setAttribute("level",e[l].nestedLevel.toString());else for(r=i;r.parentElement;)if((r=r.parentElement).attributes.getNamedItem("level")){if(parseInt(r.attributes.getNamedItem("level").textContent,null)===e[l].nestedLevel){(i=t.createElement("li")).appendChild(d),r.appendChild(i);break}if(e[l].nestedLevel>parseInt(r.attributes.getNamedItem("level").textContent,null)){r.appendChild(n=t.createElement(e[l].listType)),(i=t.createElement("li")).appendChild(d),n.appendChild(i),n.setAttribute("level",e[l].nestedLevel.toString()),n.style.listStyleType=e[l].listStyleTypeName;break}}i.setAttribute("class",e[l].class);var p=i.getAttribute("style");i.setAttribute("style",t.isNullOrUndefined(p)?"":p),s=e[l].nestedLevel,a++}return o},e.prototype.getListContent=function(e){var n="",i=e.firstElementChild;if(""!==i.textContent.trim()||t.isNullOrUndefined(i.firstElementChild)||"IMG"!==i.firstElementChild.nodeName){var r=["b","em"];if(i.childNodes.length>0&&(i.querySelectorAll("b").length>0||i.querySelectorAll("em").length>0))for(var o=0;o<i.childNodes.length;o++){var s=i.childNodes[o].nodeName.toLowerCase();i.childNodes[o].textContent.trim().length>1&&-1!==r.indexOf(s)?(n="<"+s+">"+i.childNodes[o].textContent+"</"+s+">",this.listContents.push(n)):1===i.childNodes[o].textContent.trim().length&&this.listContents.push(i.childNodes[o].textContent.trim())}else n=i.textContent.trim(),this.listContents.push(n)}else n=e.innerHTML.trim(),this.listContents.push(""),this.listContents.push(n);t.detach(i),this.listContents.push(e.innerHTML)},e}(),Xo=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on(vo,this.insertText,this)},e.prototype.insertText=function(e){var t=document.createTextNode(e.value);xo.Insert(this.parent.currentDocument,t,this.parent.editableElement),e.callBack&&e.callBack({requestType:e.subCommand,editorMode:"HTML",event:e.event,range:this.parent.nodeSelection.getRange(this.parent.currentDocument),elements:this.parent.nodeSelection.getSelectedNodes(this.parent.currentDocument)})},e}(),Yo=function(){function e(e){this.currentDocument=e.document,this.editableElement=e.editableElement,this.nodeSelection=new No,this.nodeCutter=new Oo,this.domNode=new Eo(this.editableElement,this.currentDocument),this.observer=new t.Observer(this),this.listObj=new To(this),this.formatObj=new Lo(this),this.alignmentObj=new Do(this),this.indentsObj=new Mo(this),this.linkObj=new ko(this),this.imgObj=new Ho(this),this.selectionObj=new _o(this),this.inserthtmlObj=new Wo(this),this.insertTextObj=new Xo(this),this.clearObj=new Qo(this),this.tableObj=new jo(this),this.undoRedoManager=new Ko(this,e.options),this.msWordPaste=new Go(this),this.wireEvents()}return e.prototype.wireEvents=function(){this.observer.on("keydown",this.editorKeyDown,this),this.observer.on("keyup",this.editorKeyUp,this),this.observer.on("keyup",this.editorKeyUp,this),this.observer.on(Cr,this.onPropertyChanged,this),this.observer.on(Sr,this.onWordPaste,this),this.observer.on("onBegin",this.onBegin,this)},e.prototype.onWordPaste=function(e){this.observer.notify(Nr,e)},e.prototype.onPropertyChanged=function(e){this.observer.notify(yr,e)},e.prototype.editorKeyDown=function(e){this.observer.notify(br,e)},e.prototype.editorKeyUp=function(e){this.observer.notify(vr,e)},e.prototype.onBegin=function(e){this.observer.notify(Er,e)},e.prototype.execCommand=function(e,t,n,i,r,o,s,a){switch(e.toLowerCase()){case"lists":this.observer.notify("list-type",{subCommand:t,event:n,callBack:i,selector:s,item:o,enterAction:a});break;case"formats":this.observer.notify(fr,{subCommand:t,event:n,callBack:i,selector:s,exeValue:o,enterAction:a});break;case"alignments":this.observer.notify(po,{subCommand:t,event:n,callBack:i,selector:s,value:o});break;case"indents":this.observer.notify(ho,{subCommand:t,event:n,callBack:i,selector:s});break;case"links":this.observer.notify(Zr,{command:e,value:t,item:o,event:n,callBack:i});break;case"files":this.observer.notify(Jr,{command:e,value:"Image",item:o,event:n,callBack:i,selector:s});break;case"images":this.observer.notify(Jr,{command:e,value:t,item:o,event:n,callBack:i,selector:s});break;case"table":switch(t.toString().toLocaleLowerCase()){case"createtable":this.observer.notify($r,{item:o,event:n,callBack:i,enterAction:a});break;case"insertrowbefore":case"insertrowafter":this.observer.notify(eo,{item:o,event:n,callBack:i});break;case"insertcolumnleft":case"insertcolumnright":this.observer.notify(to,{item:o,event:n,callBack:i});break;case"deleterow":this.observer.notify(no,{item:o,event:n,callBack:i});break;case"deletecolumn":this.observer.notify(io,{item:o,event:n,callBack:i});break;case"tableremove":this.observer.notify(ro,{item:o,event:n,callBack:i});break;case"tableheader":this.observer.notify(oo,{item:o,event:n,callBack:i});break;case"aligntop":case"alignmiddle":case"alignbottom":this.observer.notify(so,{item:o,event:n,callBack:i});break;case"merge":this.observer.notify(ao,{item:o,event:n,callBack:i});break;case"horizontalsplit":this.observer.notify(co,{item:o,event:n,callBack:i});break;case"verticalsplit":this.observer.notify(lo,{item:o,event:n,callBack:i})}break;case"font":case"style":case"effects":case"casing":this.observer.notify(fo,{subCommand:t,event:n,callBack:i,value:r,selector:s,enterAction:a});break;case"inserthtml":this.observer.notify(bo,{subCommand:t,callBack:i,value:r});break;case"inserttext":this.observer.notify(vo,{subCommand:t,callBack:i,value:r});break;case"clear":this.observer.notify(yo,{subCommand:t,event:n,callBack:i,selector:s,enterAction:a});break;case"actions":this.observer.notify(gr,{subCommand:t,event:n,callBack:i,selector:s})}},e}(),Jo=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),$o=function(e){function n(n){var i=e.call(this)||this;return i.initialize(),t.extend(i,i,n,!0),i.currentDocument&&i.element&&i.updateFormatter(i.element,i.currentDocument,n.options),i}return Jo(n,e),n.prototype.initialize=function(){this.keyConfig=Ur},n.prototype.updateFormatter=function(e,t,n){e&&t&&(this.editorManager=new Yo({document:t,editableElement:e,options:n}))},n}(Tr),Zo={bold:!1,italic:!1,subscript:!1,superscript:!1,strikethrough:!1,orderedlist:!1,unorderedlist:!1,underline:!1,alignments:null,backgroundcolor:null,fontcolor:null,fontname:null,fontsize:null,formats:null,createlink:!1,insertcode:!1},es=function(){function e(){}return e.get=function(e,t,n,i,r,o){for(var s=JSON.parse(JSON.stringify(Zo)),a=JSON.parse(JSON.stringify(Zo)),l=new No,d=o?[o]:l.getNodeCollection(l.getRange(e)),c=d.length,p=!1,h=l.getRange(e),u=0;u<d.length;u++){for(;3===d[u].nodeType&&3===h.startContainer.nodeType&&d[u].parentNode&&d[u].parentNode.lastElementChild&&"BR"!==d[u].parentNode.lastElementChild.nodeName&&0===this.getImmediateBlockNode(d[u].parentNode).textContent.replace(/\u200B/g,"").length&&0===h.startContainer.textContent.replace(/\u200B/g,"").length&&0===l.get(e).toString().replace(/\u200B/g,"").length;)d[u]=d[u].parentNode.lastElementChild.firstChild,p=!0;p&&d[u]&&(l.setCursorPoint(e,d[u],d[u].textContent.length),p=!1),("BR"!==d[u].nodeName&&3!==d[u].nodeType||c>1&&3===d[u].nodeType&&""===d[u].textContent.trim())&&(d.splice(u,1),u--)}for(u=0;u<d.length;u++)s=this.getFormatParent(e,s,d[u],t,n,i,r),(0===u&&s.bold||!s.bold)&&(a.bold=s.bold),(0===u&&s.insertcode||!s.insertcode)&&(a.insertcode=s.insertcode),(0===u&&s.italic||!s.italic)&&(a.italic=s.italic),(0===u&&s.underline||!s.underline)&&(a.underline=s.underline),(0===u&&s.strikethrough||!s.strikethrough)&&(a.strikethrough=s.strikethrough),(0===u&&s.superscript||!s.superscript)&&(a.superscript=s.superscript),(0===u&&s.subscript||!s.subscript)&&(a.subscript=s.subscript),(0===u&&s.fontcolor||!s.fontcolor)&&(a.fontcolor=s.fontcolor),(0===u&&s.fontname||!s.fontname)&&(a.fontname=s.fontname),(0===u&&s.fontsize||!s.fontsize)&&(a.fontsize=s.fontsize),(0===u&&s.backgroundcolor||!s.backgroundcolor)&&(a.backgroundcolor=s.backgroundcolor),(0===u&&s.orderedlist||!s.orderedlist)&&(a.orderedlist=s.orderedlist),(0===u&&s.unorderedlist||!s.unorderedlist)&&(a.unorderedlist=s.unorderedlist),(0===u&&s.alignments||!s.alignments)&&(a.alignments=s.alignments),(0===u&&s.formats||!s.formats)&&(a.formats=s.formats),(0===u&&s.createlink||!s.createlink)&&(a.createlink=s.createlink),(0===u&&s.numberFormatList||!s.numberFormatList)&&(a.numberFormatList=s.numberFormatList),(0===u&&s.bulletFormatList||!s.bulletFormatList)&&(a.bulletFormatList=s.bulletFormatList),s=JSON.parse(JSON.stringify(Zo));return a},e.getImmediateBlockNode=function(e){do{e=e.parentNode}while(e&&uo.indexOf(e.nodeName.toLocaleLowerCase())<0);return e},e.getFormatParent=function(e,t,n,i,r,o,s){if(i.contains(n)||3===n.nodeType&&3!==i.nodeType&&i.contains(n.parentNode))do{t=this.isFormattedNode(e,t,n,r,o,s),n=n.parentNode}while(n&&n!==i);return t},e.isFormattedNode=function(e,t,n,i,r,o){return t.bold||(t.bold=qo.isBold(n)),t.italic||(t.italic=qo.isItalic(n)),t.underline||(t.underline=qo.isUnderline(n)),t.strikethrough||(t.strikethrough=qo.isStrikethrough(n)),t.superscript||(t.superscript=qo.isSuperscript(n)),t.subscript||(t.subscript=qo.isSubscript(n)),t.fontcolor||(t.fontcolor=this.isFontColor(e,n)),t.fontname||(t.fontname=this.isFontName(e,n,o)),t.fontsize||(t.fontsize=this.isFontSize(n,r)),t.backgroundcolor||(t.backgroundcolor=this.isBackgroundColor(n)),t.orderedlist||(t.orderedlist=this.isOrderedList(n)),t.unorderedlist||(t.unorderedlist=this.isUnorderedList(n)),t.alignments||(t.alignments=this.isAlignment(n)),t.formats||(t.formats=this.isFormats(n,i),"pre"===t.formats&&(t.insertcode=!0)),t.createlink||(t.createlink=this.isLink(n)),t.numberFormatList||(t.numberFormatList=this.isNumberFormatList(n)),t.bulletFormatList||(t.bulletFormatList=this.isBulletFormatList(n)),t},e.isFontColor=function(e,t){var n=t.style&&t.style.color;return null!==n&&void 0!==n&&""!==n||3===t.nodeType||(n=this.getComputedStyle(e,t,"color")),null!==n&&""!==n&&void 0!==n?n:null},e.isLink=function(e){return"a"===e.nodeName.toLocaleLowerCase()},e.isBackgroundColor=function(e){var t=e.style&&e.style.backgroundColor;return null!==t&&""!==t&&void 0!==t?t:null},e.isFontSize=function(e,t){var n=e.style&&e.style.fontSize;return null!==n&&""!==n&&void 0!==n&&(null===t||void 0===t||t.indexOf(n)>-1)?n:null},e.isFontName=function(e,t,n){var i=t.style&&t.style.fontFamily;null!==i&&void 0!==i&&""!==i||3===t.nodeType||(i=this.getComputedStyle(e,t,"font-family"));var r=null;return null!==i&&""!==i&&void 0!==i&&(null===n||void 0===n||n.filter(function(e,t){var n=new RegExp(i,"i");(e.replace(/"/g,"").replace(/ /g,"").toLowerCase()===i.replace(/"/g,"").replace(/ /g,"").toLowerCase()||e.search(n)>-1)&&(r=t)})&&null!==r)?null!==r?n[r]:i.replace(/"/g,""):null},e.isOrderedList=function(e){return"ol"===e.nodeName.toLocaleLowerCase()},e.isUnorderedList=function(e){return"ul"===e.nodeName.toLocaleLowerCase()},e.isAlignment=function(e){var t=e.style&&e.style.textAlign;return"left"===t?"justifyleft":"center"===t?"justifycenter":"right"===t?"justifyright":"justify"===t?"justifyfull":null},e.isFormats=function(e,t){return(void 0===t||null===t)&&uo.indexOf(e.nodeName.toLocaleLowerCase())>-1||null!==t&&void 0!==t&&t.indexOf(e.nodeName.toLocaleLowerCase())>-1?e.nodeName.toLocaleLowerCase():null},e.getComputedStyle=function(e,t,n){return e.defaultView.getComputedStyle(t,null).getPropertyValue(n)},e.isNumberFormatList=function(e){var t=e.style&&e.style.listStyleType;return"lower-alpha"===t?"Lower Alpha":"number"===t?"Number":"upper-alpha"===t?"Upper Alpha":"lower-roman"===t?"Lower Roman":"upper-roman"===t?"Upper Roman":"lower-greek"===t?"Lower Greek":"none"===t?"None":null},e.isBulletFormatList=function(e){var t=e.style&&e.style.listStyleType;return"circle"===t?"Circle":"square"===t?"Square":"none"===t?"None":"disc"===t?"Disc":null},e}(),ts=function(){function e(e){this.parent=e,this.toolbarStatus=this.prevToolbarStatus={bold:!1,italic:!1,subscript:!1,superscript:!1,strikethrough:!1,orderedlist:!1,unorderedlist:!1,underline:!1,alignments:null,backgroundcolor:null,fontcolor:null,fontname:null,fontsize:null,formats:null,createlink:!1,insertcode:!1},this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.on(_,this.onRefreshHandler,this),this.parent.on(q,this.removeEventListener,this)},e.prototype.removeEventListener=function(){this.parent.off(_,this.onRefreshHandler),this.parent.off(q,this.removeEventListener)},e.prototype.onRefreshHandler=function(e){if(!this.parent.readonly){var t=[],n=[],i=[];this.parent.fontSize.items.forEach(function(e){t.push(e.value)}),this.parent.fontFamily.items.forEach(function(e){n.push(e.value)}),this.parent.format.types.forEach(function(e){i.push(e.value.toLocaleLowerCase())}),this.toolbarStatus=es.get(this.parent.contentModule.getDocument(),this.parent.contentModule.getEditPanel(),i,t,n,e.documentNode);var r=JSON.stringify(this.toolbarStatus);this.parent.notify(V,this.toolbarStatus),JSON.stringify(this.prevToolbarStatus)!==r&&(this.parent.notify(Tt,{html:JSON.parse(r),markdown:null}),this.prevToolbarStatus=JSON.parse(r))}},e}(),ns=function(){function e(e,t){this.parent=e,this.serviceLocator=t}return e.prototype.renderPanel=function(){var e=this.parent,t=this.parent.createElement("div",{className:"e-rte-content",id:this.parent.getID()+"rte-view"}),n=T(e.value,e);this.editableElement=this.parent.createElement("div",{className:"e-content",id:this.parent.getID()+"_rte-edit-view",attrs:{contenteditable:"true"},innerHTML:n}),t.appendChild(this.editableElement),this.setPanel(t),e.element.appendChild(t)},e.prototype.getPanel=function(){return this.contentPanel},e.prototype.getEditPanel=function(){return this.editableElement},e.prototype.getText=function(){var e=this.getEditPanel().innerText;return"\n"===e?"":e},e.prototype.setPanel=function(e){this.contentPanel=e},e.prototype.getDocument=function(){return this.getEditPanel().ownerDocument},e}(),is=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),rs=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return is(n,e),n.prototype.renderPanel=function(){var e=this.parent,t="\n<!DOCTYPE html> \n <html>\n <head>\n <meta charset='utf-8' /> \n <style>\n @charset \"UTF-8\";\n body {\n font-family: \"Roboto\", sans-serif;\n font-size: 14px;\n }\n html, body{height: 100%;margin: 0;}\n body.e-cursor{cursor:default}\n span.e-selected-node\t{background-color: #939393;color: white;}\n span.e-selected-node.e-highlight {background-color: #1d9dd8;}\n body{color:#333;word-wrap:break-word;padding: 8px;box-sizing: border-box;}\n .e-rte-image {border: 0;cursor: pointer;display:\n block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-image.e-imginline {display: inline-block;float: none;max-width: calc(100% - (2 * 5px));padding: 1px;vertical-align: bottom;}\n .e-rte-image.e-imgcenter {cursor: pointer;display: block;float: none;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-image.e-imgright { float: right; margin: 0 auto;margin-left: 5px;text-align: right;}\n .e-rte-image.e-imgleft {float: left;margin: 0 auto;margin-right: 5px;text-align: left;}\n .e-img-caption { display: inline-block; float: none; margin: 5px auto; max-width: 100%;position: relative;}\n .e-img-caption.e-caption-inline {display: inline-block;float: none;\n margin: 5px auto;margin-left: 5px;margin-right: 5px;max-width: calc(100% - (2 * 5px));\n position: relativetext-align: center;vertical-align: bottom;}\n .e-img-inner {box-sizing: border-box;display: block;font-size: 16px;font-weight: initial;\n margin: auto;opacity: .9;text-align: center;width: 100%;}\n .e-img-wrap {display: inline-block;margin: auto;padding: 0;text-align: center;width: 100%;}\n .e-imgleft {float: left;margin: 0 5px 0 0;text-align: left;}\n .e-imgright {float: right;margin: 0 0 0 5px;text-align: right;}\n .e-imgcenter {cursor: pointer;display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}\n .e-control img:not(.e-resize) {border: 2px solid transparent; z-index: 1000}\n .e-imginline {display: inline-block;float: none;margin-left: 5px;margin-right: 5px;\n max-width: calc(100% - (2 * 5px));vertical-align: bottom;}\n .e-imgbreak {border: 0;cursor: pointer;\n display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-image.e-img-focus:not(.e-resize) {border: solid 2px #4a90e2;}\n img.e-img-focus::selection { background: transparent;color: transparent;}\n span.e-rte-imageboxmark { width: 10px; height: 10px; position: absolute; display: block;\n background: #4a90e2; border: 1px solid #fff; z-index: 1000;}\n .e-mob-rte.e-mob-span span.e-rte-imageboxmark { background: #4a90e2; border: 1px solid #fff; }\n .e-mob-rte span.e-rte-imageboxmark { background: #fff; border: 1px solid #4a90e2;\n border-radius: 15px; height: 20px; width: 20px; }\n .e-mob-rte.e-mob-span span.e-rte-imageboxmark { background: #4a90e2; border: 1px solid #fff; }\n .e-rte-content .e-content img.e-resize { z-index: 1000; }\n .e-img-caption .e-img-inner { outline: 0; }\n .e-img-caption a:focus-visible { outline: none; }\n .e-img-caption .e-rte-image.e-imgright, .e-img-caption .e-rte-image.e-imgleft { float: none; margin: 0;}\n body{box-sizing: border-box;min-height: 100px;outline: 0 solid transparent;\n overflow-x: auto;padding: 16px;position: relative;text-align: inherit;z-index: 2;}\n p{margin: 0 0 10px;margin-bottom: 10px;}\n li{margin-bottom: 10px;}\n h1{font-size: 2.17em;font-weight: 400;line-height: 1;margin: 10px 0;}\n h2{font-size: 1.74em;font-weight: 400;margin: 10px 0;}\n h3{font-size: 1.31em;font-weight: 400;margin: 10px 0;}\n h4{font-size: 16px;font-weight: 400;line-height: 1.5;margin: 0;}\n h5{font-size: 00.8em;font-weight: 400;margin: 0;}\n h6{font-size: 00.65em;font-weight: 400;margin: 0;}\n blockquote{margin: 10px 0;margin-left: 0;padding-left: 5px;border-left: solid 2px #5c5c5c;}\n pre{background-color: inherit;border: 0;border-radius: 0;color: #333;\n font-size: inherit;line-height: inherit;margin: 0 0 10px;overflow: visible;padding: 0;\n white-space: pre-wrap;word-break: inherit;word-wrap: break-word;}\n strong, b{font-weight: 700;}\n a{text-decoration: none;user-select: auto;}\n a:hover{text-decoration: underline;};\n p:last-child, pre:last-child, blockquote:last-child{margin-bottom: 0;}\n h3+h4, h4+h5, h5+h6{margin-top: 00.6em;}\n ul:last-child{margin-bottom: 0;}\n table { border-collapse: collapse; empty-cells: show;}\n table td,table th {border: 1px solid #BDBDBD; height: 20px; padding: 2px 5px; vertical-align: middle;}\n table.e-alternate-border tbody tr:nth-child(2n) {background-color: #F5F5F5;}\n table th {background-color: #E0E0E0;}\n table.e-dashed-border td,table.e-dashed-border th { border: 1px dashed #BDBDBD} \n table .e-cell-select {border: 1px double #4a90e2;}\n span.e-table-box { cursor: nwse-resize; display: block; height: 10px; position: absolute; width: 10px; }\n span.e-table-box.e-rmob {height: 14px;width: 14px;}\n .e-row-resize, .e-column-resize { background-color: transparent; background-repeat: repeat;\n bottom: 0;cursor: col-resize;height: 1px;overflow: visible;position: absolute;width: 1px; }\n .e-row-resize { cursor: row-resize; height: 1px;}\n .e-table-rhelper { cursor: col-resize; opacity: .87;position: absolute;}\n .e-table-rhelper.e-column-helper { width: 1px; }\n .e-table-rhelper.e-row-helper {height: 1px;}\n .e-reicon::before { border-bottom: 6px solid transparent; border-right: 6px solid;\n border-top: 6px solid transparent; content: ''; display: block; height: 0;\n position: absolute; right: 4px; top: 4px; width: 20px; }\n .e-reicon::after { border-bottom: 6px solid transparent; border-left: 6px solid;\n border-top: 6px solid transparent; content: ''; display: block;\n height: 0; left: 4px; position: absolute; top: 4px; width: 20px; z-index: 3; }\n .e-row-helper.e-reicon::after { top: 10px; transform: rotate(90deg); }\n .e-row-helper.e-reicon::before { left: 4px; top: -20px; transform: rotate(90deg); }\n span.e-table-box { background-color: #ffffff; border: 1px solid #BDBDBD; }\n span.e-table-box.e-rbox-select { background-color: #BDBDBD; border: 1px solid #BDBDBD; }\n .e-table-rhelper { background-color: #4a90e2;}\n .e-rtl { direction: rtl; }\n </style>\n </head>"+('<body spellcheck="false" autocorrect="off" contenteditable="true">'+T(e.value,e)+"</body></html>"),n=this.parent.createElement("iframe",{id:this.parent.getID()+"_rte-view",className:"e-rte-content",styles:"display:block;",attrs:{srcdoc:t}});this.setPanel(n),e.element.appendChild(n),n.contentDocument.body.id=this.parent.getID()+"_rte-edit-view",n.contentDocument.body.setAttribute("aria-owns",this.parent.getID()),n.contentDocument.open(),t=this.setThemeColor(t,{color:"#333"}),n.contentDocument.write(t),n.contentDocument.close(),e.enableRtl&&this.contentPanel.contentDocument.body.setAttribute("class","e-rtl")},n.prototype.setThemeColor=function(e,t){var n=getComputedStyle(this.parent.element,".e-richtexteditor").getPropertyValue("color");return e.replace(t.color,n)},n.prototype.getEditPanel=function(){return t.isNullOrUndefined(this.contentPanel.contentDocument)?this.parent.inputElement:this.contentPanel.contentDocument.body},n.prototype.getDocument=function(){return this.getEditPanel().ownerDocument},n}(ns),os=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.on(ft,this.enableXhtmlValidation,this),this.parent.on(q,this.removeEventListener,this)},e.prototype.removeEventListener=function(){this.parent.off(ft,this.enableXhtmlValidation),this.parent.off(q,this.removeEventListener)},e.prototype.enableXhtmlValidation=function(){this.parent.enableXhtml&&(t.isNullOrUndefined(this.parent.inputElement)?this.currentElement=this.parent.element:this.currentElement=this.parent.inputElement,this.clean(this.currentElement),this.AddRootElement(),this.ImageTags(),this.removeTags(),this.RemoveUnsupported(),this.currentElement.innerHTML=this.selfEncloseValidation(this.currentElement.innerHTML,"\n"===this.currentElement.innerText?this.currentElement.innerText.length:this.currentElement.innerText.trim().length),this.parent.setProperties({value:this.currentElement.innerHTML},!0))},e.prototype.selfEncloseValidation=function(e,t){if(0===t&&e.indexOf("table")<0&&e.indexOf("img")<0){var n=e.split("&nbsp;");n[n.length-1]="&#8203;"+n[n.length-1],e=n.join("")}e=e.replace(/<br>/g,"<br/>").replace(/<hr>/g,"<hr/>").replace(/ /g," ");for(var i,r=[],o=[],s=[/<img(.*?)>/gi,/<area(.*?)>/gi,/<base(.*?)>/gi,/<col (.*?)>/gi,/<embed(.*?)>/gi,/<input(.*?)>/gi,/<link(.*?)>/gi,/<meta(.*?)>/gi,/<param(.*?)>/gi,/<source(.*?)>/gi,/<track(.*?)>/gi,/<wbr(.*?)>/gi],a=0;a<s.length;a++){for(i=s[a].exec(e);null!==i;)r.push(i[0].toString()),i=s[a].exec(e);o=r.slice(0);for(var l=0;l<r.length;l++)-1!==r[l].indexOf("/")&&r[l].lastIndexOf("/")===r[l].length-2||(r[l]=r[l].substr(0,r[l].length-1)+" /"+r[l].substr(r[l].length-1,r[l].length));for(var d=0;d<=r.length-1;d++)e=e.replace(o[d],r[d])}return e},e.prototype.AddRootElement=function(){if(1===this.currentElement.childNodes.length&&"DIV"!==this.currentElement.firstChild.nodeName||this.currentElement.childNodes.length>1){for(var e=this.parent.createElement("div");this.currentElement.childNodes.length>0;)e.appendChild(this.currentElement.childNodes[0]);this.currentElement.appendChild(e)}},e.prototype.clean=function(e){for(var t=0;t<e.childNodes.length;t++){var n=e.childNodes[t];8===n.nodeType||"V:IMAGE"===n.nodeName?(e.removeChild(n),t--):1===n.nodeType&&this.clean(n)}return this.currentElement.innerHTML},e.prototype.ImageTags=function(){for(var e=this.currentElement.querySelectorAll("IMG"),t=e.length-1;t>=0;t--)if(!e[t].hasAttribute("alt")){e[t].setAttribute("alt","")}},e.prototype.removeTags=function(){for(var e=[["br","ul"],["br","ol"],["table","span"],["div","span"],["p","span"]],t=0;t<e.length;t++)this.RemoveElementNode(e[t][0],e[t][1])},e.prototype.RemoveElementNode=function(e,n){for(var i=this.currentElement.querySelectorAll(n),r=0;r<i.length;r++)for(var o=i[r].querySelectorAll(e),s=o.length;s>0;s--)t.detach(o[s-1])},e.prototype.RemoveUnsupported=function(){for(var e=this.currentElement.querySelectorAll("u"),n=e.length-1;n>=0;n--){var i=this.parent.createElement("span");i.style.textDecoration="underline",i.innerHTML=e[n].innerHTML,e[n].parentNode.insertBefore(i,e[n]),t.detach(e[n])}var r=this.currentElement.querySelectorAll("strong");for(n=r.length-1;n>=0;n--){var o=this.parent.createElement("b");o.innerHTML=r[n].innerHTML,r[n].parentNode.insertBefore(o,r[n]),t.detach(r[n])}var s=["language","role","target","contenteditable","cellspacing","cellpadding","border","valign","colspan"];for(n=0;n<=s.length;n++)this.RemoveAttributeByName(s[n])},e.prototype.RemoveAttributeByName=function(e){if(null!==this.currentElement.firstChild&&3!==this.currentElement.firstChild.nodeType)for(var t=0;t<this.currentElement.childNodes.length;t++){var n=this.currentElement.childNodes[t];if(3!==n.nodeType&&"TABLE"!==n.nodeName&&"TBODY"!==n.nodeName&&"THEAD"!==n.nodeName&&"TH"!==n.nodeName&&"TR"!==n.nodeName&&"TD"!==n.nodeName&&(n.hasAttribute(e)&&n.removeAttribute(e),n.hasChildNodes()))for(var i=0;i<n.childNodes.length;i++){var r=n.childNodes[i];if(3!==r.nodeType&&"TABLE"!==r.nodeName&&"TBODY"!==r.nodeName&&"THEAD"!==r.nodeName&&"TH"!==r.nodeName&&"TR"!==r.nodeName&&"TD"!==r.nodeName&&r.hasAttribute(e)&&r.removeAttribute(e),r.hasChildNodes())for(var o=0;o<r.childNodes.length;o++)3!==r.childNodes[o].nodeType&&"TABLE"!==r.childNodes[o].nodeName&&"TBODY"!==r.childNodes[o].nodeName&&"THEAD"!==r.childNodes[o].nodeName&&"TH"!==r.childNodes[o].nodeName&&"TR"!==r.childNodes[o].nodeName&&"TD"!==r.childNodes[o].nodeName&&r.childNodes[o].hasAttribute(e)&&r.childNodes[o].removeAttribute(e)}}},e}(),ss=function(){function n(e,t){this.rangeCollection=[],this.isImageDelete=!1,this.parent=e,this.locator=t,this.renderFactory=this.locator.getService("rendererFactory"),this.xhtmlValidation=new os(e),this.addEventListener()}return n.prototype.destroy=function(){this.removeEventListener()},n.prototype.sanitizeHelper=function(e){return e=k(e,this.parent)},n.prototype.addEventListener=function(){this.parent.isDestroyed||(this.nodeSelectionObj=new No,this.colorPickerModule=new sr(this.parent,this.locator),this.parent.on(U,this.instantiateRenderer,this),this.parent.on(G,this.onToolbarClick,this),this.parent.on(Z,this.onKeyDown,this),this.parent.on($,this.onKeyUp,this),this.parent.on(K,this.renderColorPicker,this),this.parent.on(j,this.render,this),this.parent.on(J,this.onPropertyChanged,this),this.parent.on(q,this.destroy,this),this.parent.on(We,this.selectAll,this),this.parent.on(Ve,this.selectRange,this),this.parent.on(Qe,this.getSelectedHtml,this),this.parent.on(Re,this.onSelectionSave,this),this.parent.on(Ie,this.onSelectionRestore,this),this.parent.on(et,this.updateReadOnly,this),this.parent.on(Ge,this.onPaste,this),this.parent.on(A,this.isTableClassAdded,this))},n.prototype.updateReadOnly=function(){this.parent.readonly?(t.attributes(this.parent.contentModule.getEditPanel(),{contenteditable:"false"}),t.addClass([this.parent.element],_n)):(t.attributes(this.parent.contentModule.getEditPanel(),{contenteditable:"true"}),t.removeClass([this.parent.element],_n))},n.prototype.isTableClassAdded=function(){for(var e=this.parent.inputElement.querySelectorAll("table"),t=0;t<e.length;t++)e[t].classList.contains("e-rte-table")||e[t].classList.add("e-rte-table")},n.prototype.onSelectionSave=function(){var e=this.contentRenderer.getDocument(),t=this.nodeSelectionObj.getRange(e);this.saveSelection=this.nodeSelectionObj.save(t,e)},n.prototype.onSelectionRestore=function(e){this.parent.isBlur=!1,this.contentRenderer.getEditPanel().focus(),(t.isNullOrUndefined(e.items)||e.items)&&this.saveSelection.restore()},n.prototype.onKeyUp=function(e){var n,i=e.args,r=this.parent.getRange(),o=new RegExp(String.fromCharCode(8203),"g");[8,9,13,16,17,18,20,27,37,38,39,40,44,45,46,91,112,113,114,115,116,117,118,119,120,121,122,123].indexOf(i.keyCode)<0&&!i.shiftKey&&!i.ctrlKey&&!i.altKey&&(8203===r.startContainer.textContent.charCodeAt(0)&&(n=r.startOffset-1,r.startContainer.textContent=r.startContainer.textContent.replace(o,""),this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.parent.contentModule.getDocument(),r.startContainer,n)),!t.isNullOrUndefined(r.startContainer.previousSibling)&&!t.isNullOrUndefined(r.startContainer.previousSibling.parentElement)&&r.startContainer.parentElement===r.startContainer.previousSibling.parentElement&&8203===r.startContainer.previousSibling.textContent.charCodeAt(0)&&r.startContainer.previousSibling.textContent.length<=1&&(r.startContainer.previousSibling.textContent=r.startContainer.previousSibling.textContent.replace(o,"")),8203===r.endContainer.textContent.charCodeAt(r.endOffset)&&(n=r.startOffset,r.endContainer.textContent=r.endContainer.textContent.replace(o,""),this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.parent.contentModule.getDocument(),r.startContainer,n)))},n.prototype.onKeyDown=function(e){var n,i=this,r=e.args;if("chrome"===t.Browser.info.name&&(n=this.parent.getRange(),this.backSpaceCleanup(e,n),this.deleteCleanup(e,n)),9===r.keyCode&&this.parent.enableTabKey&&!t.isNullOrUndefined(r.target)&&t.isNullOrUndefined(t.closest(r.target,".e-rte-toolbar"))){var o=this.nodeSelectionObj.getRange(this.contentRenderer.getDocument()),s=this.nodeSelectionObj.getParentNodeCollection(o);if("LI"!==s[0].nodeName&&!t.closest(s[0],"li")&&!t.closest(s[0],"table")||0!==o.startOffset)if(r.preventDefault(),r.shiftKey){if(this.rangeCollection.length>0&&4===this.rangeCollection[this.rangeCollection.length-1].startContainer.textContent.length){var a=this.rangeCollection[this.rangeCollection.length-1].startContainer;this.nodeSelectionObj.setSelectionText(this.contentRenderer.getDocument(),a,a,0,a.textContent.length),xo.Insert(this.contentRenderer.getDocument(),document.createTextNode("")),this.rangeCollection.pop()}}else xo.Insert(this.contentRenderer.getDocument(),"&nbsp;&nbsp;&nbsp;&nbsp;"),this.rangeCollection.push(this.nodeSelectionObj.getRange(this.contentRenderer.getDocument()))}if(("space"===e.args.action||"enter"===e.args.action||13===e.args.keyCode)&&(this.spaceLink(e.args),"HTML"===this.parent.editorMode&&!this.parent.readonly)){var l=this.parent.getText().trim().length-this.parent.getSelection().length+1;if(!(-1===this.parent.maxLength||l<=this.parent.maxLength||13!==e.args.keyCode))return void e.args.preventDefault();this.parent.notify(it,{args:e.args})}if("space"===e.args.action){var d=this.parent.getRange(),c=d.startContainer.textContent.slice(0,d.startOffset),p=this.isOrderedList(c),h=this.isUnOrderedList(c);if(p&&!h||h&&!p){var u={callBack:null,event:e.args,name:"keydown-handler"},m={cancel:!1,item:{command:"Lists",subCommand:p?"OL":"UL"},name:"actionBegin",originalEvent:e.args,requestType:p?"OL":"UL"};this.parent.trigger(ve,m,function(t){t.cancel||(i.parent.formatter.editorManager.observer.notify("onBegin",u),i.parent.trigger(ye,{editorMode:i.parent.editorMode,elements:i.parent.formatter.editorManager.domNode.blockNodes(),event:e.args,name:ye,range:i.parent.getRange(),requestType:p?"OL":"UL"}))})}}"chrome"!==t.Browser.info.name||(t.isNullOrUndefined(this.rangeElement)||t.isNullOrUndefined(this.oldRangeElement))&&(t.isNullOrUndefined(this.deleteRangeElement)||t.isNullOrUndefined(this.deleteOldRangeElement))||"TD"===n.startContainer.parentElement.tagName||"TH"===n.startContainer.parentElement.tagName||(this.rangeElement=null,this.oldRangeElement=null,this.deleteRangeElement=null,this.deleteOldRangeElement=null,this.isImageDelete||r.preventDefault(),r.preventDefault())},n.prototype.isOrderedList=function(e){e=e.replace(/\u200B/g,"");var n=[/^[1]+[.]+$/,/^[i]+[.]+$/,/^[a]+[.]+$/];if(!t.isNullOrUndefined(e))for(var i=0;i<n.length;i++)if(n[i].test(e))return!0;return!1},n.prototype.isUnOrderedList=function(e){e=e.replace(/\u200B/g,"");var n=[/^[*]$/,/^[-]$/];if(!t.isNullOrUndefined(e))for(var i=0;i<n.length;i++)if(n[i].test(e))return!0;return!1},n.prototype.backSpaceCleanup=function(e,n){var i=!1;if("Backspace"===e.args.code&&8===e.args.keyCode&&0===n.startOffset&&0===n.endOffset&&0===this.parent.getSelection().length&&n.startContainer.textContent.length>0&&"TD"!==n.startContainer.parentElement.tagName&&"TH"!==n.startContainer.parentElement.tagName){if(this.rangeElement=this.getRootBlockNode(n.startContainer),"OL"===this.rangeElement.tagName||"UL"===this.rangeElement.tagName){var r=this.getRangeLiNode(n.startContainer);r.previousElementSibling&&r.previousElementSibling.childElementCount>0&&(this.oldRangeElement="BR"===r.previousElementSibling.lastElementChild.nodeName?r.previousElementSibling:r.previousElementSibling.lastElementChild,t.isNullOrUndefined(r.lastElementChild)||"BR"===r.lastElementChild.nodeName?this.rangeElement=r:(this.rangeElement=r.lastElementChild,i=!0))}else{if(this.rangeElement===this.parent.inputElement||"TABLE"===this.rangeElement.tagName||!t.isNullOrUndefined(this.rangeElement.previousElementSibling)&&"TABLE"===this.rangeElement.previousElementSibling.tagName)return;this.oldRangeElement=this.rangeElement.previousElementSibling}if(t.isNullOrUndefined(this.oldRangeElement))return;if("OL"!==this.oldRangeElement.tagName&&"UL"!==this.oldRangeElement.tagName||(this.oldRangeElement=this.oldRangeElement.lastElementChild.lastElementChild?this.oldRangeElement.lastElementChild.lastElementChild:this.oldRangeElement.lastElementChild),this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.parent.contentModule.getDocument(),this.oldRangeElement,this.oldRangeElement.childNodes.length),this.oldRangeElement.querySelector("BR")&&t.detach(this.oldRangeElement.querySelector("BR")),!t.isNullOrUndefined(this.rangeElement)&&this.oldRangeElement!==this.rangeElement){for(;this.rangeElement.firstChild;)this.oldRangeElement.appendChild(this.rangeElement.childNodes[0]);i?t.detach(this.rangeElement.parentElement):t.detach(this.rangeElement),this.oldRangeElement.normalize()}}},n.prototype.deleteCleanup=function(e,n){var i,r,o=!1;if("Delete"===e.args.code&&46===e.args.keyCode&&0!==this.parent.contentModule.getText().trim().length&&0===this.parent.getSelection().length&&"TD"!==n.startContainer.parentElement.tagName&&"TH"!==n.startContainer.parentElement.tagName){if(this.deleteRangeElement=r=this.getRootBlockNode(n.startContainer),"OL"===this.deleteRangeElement.tagName||"UL"===this.deleteRangeElement.tagName)(i=this.getRangeLiNode(n.startContainer)).nextElementSibling&&i.nextElementSibling.childElementCount>0&&!i.nextElementSibling.querySelector("BR")?t.isNullOrUndefined(i.lastElementChild)?this.deleteRangeElement=i:(this.deleteRangeElement=i.lastElementChild,o=!0):this.deleteRangeElement=this.getRangeElement(i);else if(3===this.deleteRangeElement.nodeType||"TABLE"===this.deleteRangeElement.tagName||!t.isNullOrUndefined(this.deleteRangeElement.nextElementSibling)&&"TABLE"===this.deleteRangeElement.nextElementSibling.tagName)return;if(this.getCaretIndex(n,this.deleteRangeElement)===this.deleteRangeElement.textContent.length){if(t.isNullOrUndefined(i)?this.deleteOldRangeElement=this.deleteRangeElement.nextElementSibling:o||!t.isNullOrUndefined(i.nextElementSibling)?this.deleteOldRangeElement=this.getRangeElement(i.nextElementSibling):this.deleteOldRangeElement=r.nextElementSibling,t.isNullOrUndefined(this.deleteOldRangeElement))return;if(0===n.startOffset&&1===n.endOffset&&"IMG"===this.deleteRangeElement.childNodes[0].nodeName?(this.parent.formatter.editorManager.nodeSelection.setSelectionText(this.parent.contentModule.getDocument(),this.deleteRangeElement,this.deleteRangeElement,0,1),this.isImageDelete=!0):(this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.parent.contentModule.getDocument(),this.deleteRangeElement,this.deleteRangeElement.childNodes.length),this.isImageDelete=!1),this.deleteRangeElement.querySelector("BR")&&t.detach(this.deleteRangeElement.querySelector("BR")),t.isNullOrUndefined(this.deleteRangeElement)||"OL"===this.deleteOldRangeElement.tagName||"UL"===this.deleteOldRangeElement.tagName||this.deleteOldRangeElement===this.deleteRangeElement)this.deleteRangeElement=null,this.deleteOldRangeElement=null;else{for(;this.deleteOldRangeElement.firstChild;)this.deleteRangeElement.appendChild(this.deleteOldRangeElement.childNodes[0]);o?t.detach(this.deleteOldRangeElement.parentElement):t.detach(this.deleteOldRangeElement),this.deleteRangeElement.normalize()}}else this.deleteRangeElement=null}},n.prototype.getCaretIndex=function(e,t){var n=0;if(0!==this.parent.contentModule.getDocument().getSelection().rangeCount){var i=e.cloneRange();i.selectNodeContents(t),i.setEnd(e.endContainer,e.endOffset),n=i.toString().length}return n},n.prototype.getRangeElement=function(e){return e.lastElementChild?"BR"===e.lastElementChild.tagName?e.lastElementChild.previousElementSibling?e.lastElementChild.previousElementSibling:e:e.lastElementChild:e},n.prototype.getRootBlockNode=function(e){for(;e&&this.parent&&this.parent.inputElement!==e&&e.parentElement!==this.parent.inputElement;e=e)e=e.parentElement;return e},n.prototype.getRangeLiNode=function(e){for(var t=e.parentElement;t!==this.parent.inputElement&&(1!==t.nodeType||"LI"!==t.tagName);)t=t.parentElement;return t},n.prototype.onPaste=function(e){var n=new RegExp(/([^\S]|^)(((https?\:\/\/)|(www\.))(\S+))/gi);if(e.text.match(n)){if(e.isWordPaste)return;e.args.preventDefault();for(var i=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument()),r=(this.parent.formatter.editorManager.nodeSelection.save(i,this.parent.contentModule.getDocument()),new RegExp(/([^\S]|^)(((https?\:\/\/)))/gi)),o=new RegExp(/([^\S]|^)(((www\.))(\S+))/gi),s=e.text.split("\n"),a="",l=0;l<s.length;l++)if(""===s[l].trim())a+=O(this.parent);else{for(var d="",c=!0,p=s[l].split(" "),h=0;h<p.length;h++)""===p[h].trim()?d+=c?"&nbsp;":" ":(c=!1,d+=p[h]+" ");a+=0===l?"<span>"+d.trim()+"</span>":"<p>"+d.trim()+"</p>"}var u=this.parent.createElement("div");u.setAttribute("class","pasteContent"),u.style.display="inline",u.innerHTML=a.replace("&para","&amp;para");var m=u.querySelectorAll("span, p");for(l=0;l<m.length;l++){var g=m[l].innerHTML.split(" "),f="";for(h=0;h<g.length;h++)g[h].match(r)||g[h].match(o)?f+='<a className="e-rte-anchor" href="'+g[h]+'" title="'+g[h]+'"target="_blank">'+g[h]+" </a>":f+=g[h]+" ";m[l].innerHTML=f.trim()}t.isNullOrUndefined(this.parent.pasteCleanupModule)?this.parent.formatter.editorManager.execCommand("insertHTML",null,null,null,u):e.callBack(u.innerHTML)}},n.prototype.spaceLink=function(e){var t=this.nodeSelectionObj.getRange(this.contentRenderer.getDocument()),n=this.nodeSelectionObj.getParentNodeCollection(t),i=t.startContainer.textContent.substr(0,t.endOffset),r=i.split(" "),o=r[r.length-1],s=t.startOffset-(i.length-r[r.length-1].length);o=o.slice(0,s);var a=new RegExp(/([^\S]|^)(((https?\:\/\/)|(www\.))(\S+))/gi);if("A"!==n[0].nodeName&&o.match(a)){var l=this.nodeSelectionObj.save(t,this.parent.contentModule.getDocument()),d={url:o.indexOf("http")>-1?o:"http://"+o,selection:l,selectParent:this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(t),text:o,title:"",target:"_blank"};this.parent.formatter.process(this.parent,{item:{command:"Links",subCommand:"CreateLink"}},e,d)}},n.prototype.onToolbarClick=function(e){var n,i,r,o=e.item,s=t.closest(e.originalEvent.target,".e-rte-quick-popup");if(s&&!s.classList.contains("e-rte-inline-popup")){if("SourceCode"!==o.subCommand&&"Preview"!==o.subCommand&&"FontColor"!==o.subCommand&&"BackgroundColor"!==o.subCommand){I()&&"Images"===o.command&&this.nodeSelectionObj.restore();var a=this.nodeSelectionObj.getRange(this.parent.contentModule.getDocument());n=this.nodeSelectionObj.save(a,this.parent.contentModule.getDocument()),i=this.nodeSelectionObj.getNodeCollection(a),r=this.nodeSelectionObj.getParentNodeCollection(a)}"Images"===o.command&&this.parent.notify(le,{member:"image",args:e,selectNode:i,selection:n,selectParent:r}),"Links"===o.command&&this.parent.notify(de,{member:"link",args:e,selectNode:i,selection:n,selectParent:r}),"Table"===o.command&&this.parent.notify($e,{member:"table",args:e,selectNode:i,selection:n,selectParent:r})}else{var l=document.getElementById(this.parent.getID()+"_rtelink"),d=document.getElementById(this.parent.getID()+"_image");if("SourceCode"!==o.subCommand&&"Preview"!==o.subCommand&&"FontColor"!==o.subCommand&&"BackgroundColor"!==o.subCommand){a=this.nodeSelectionObj.getRange(this.parent.contentModule.getDocument());t.isNullOrUndefined(l)&&t.isNullOrUndefined(d)&&(n=this.nodeSelectionObj.save(a,this.parent.contentModule.getDocument())),i=this.nodeSelectionObj.getNodeCollection(a),r=this.nodeSelectionObj.getParentNodeCollection(a)}switch(o.subCommand){case"Maximize":this.parent.notify(ie,{args:e});break;case"Minimize":this.parent.notify(re,{args:e});break;case"CreateLink":this.parent.notify(me,{member:"link",args:e,selectNode:i,selection:n,selectParent:r});break;case"RemoveLink":this.parent.notify(ge,{member:"link",args:e,selectNode:i,selection:n,selectParent:r});break;case"Print":this.parent.print();break;case"Image":this.parent.notify(Se,{member:"image",args:e,selectNode:i,selection:n,selectParent:r});break;case"CreateTable":this.parent.notify(Ye,{member:"table",args:e,selection:n});break;case"SourceCode":this.parent.notify(ke,{member:"viewSource",args:e});break;case"Preview":this.parent.notify(De,{member:"updateSource",args:e});break;case"FontColor":case"BackgroundColor":break;case"File":this.parent.notify(yt,{member:"fileManager",args:e,selectNode:i,selection:n,selectParent:r});break;default:this.parent.formatter.process(this.parent,e,e.originalEvent,null)}}},n.prototype.renderColorPicker=function(e){this.colorPickerModule.renderColorPickerInput(e)},n.prototype.instantiateRenderer=function(){this.parent.iframeSettings.enable?this.renderFactory.addRenderer(e.RenderType.Content,new rs(this.parent,this.locator)):this.renderFactory.addRenderer(e.RenderType.Content,new ns(this.parent,this.locator))},n.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off(j,this.render),this.parent.off(J,this.onPropertyChanged),this.parent.off(G,this.onToolbarClick),this.parent.off(K,this.renderColorPicker),this.parent.off(q,this.destroy),this.parent.off(Z,this.onKeyDown),this.parent.off(U,this.instantiateRenderer),this.parent.off(We,this.selectAll),this.parent.off(Ve,this.selectRange),this.parent.off(Qe,this.getSelectedHtml),this.parent.off(Re,this.onSelectionSave),this.parent.off(Ie,this.onSelectionRestore),this.parent.off(et,this.updateReadOnly),this.parent.off(Ge,this.onPaste),this.parent.off(A,this.isTableClassAdded))},n.prototype.render=function(){this.contentRenderer=this.renderFactory.getRenderer(e.RenderType.Content);var n=this.contentRenderer.getEditPanel(),i={undoRedoSteps:this.parent.undoRedoSteps,undoRedoTimer:this.parent.undoRedoTimer};if(t.isNullOrUndefined(this.parent.formatter)){var r=new $o({currentDocument:this.contentRenderer.getDocument(),element:n,options:i});this.parent.setProperties({formatter:r},!0)}else this.parent.formatter.updateFormatter(n,this.contentRenderer.getDocument(),i);this.parent.enableXhtml&&this.parent.notify(ft,{}),this.parent.toolbarSettings.enable&&(this.toolbarUpdate=new ts(this.parent)),this.parent.inlineMode.enable&&(t.isNullOrUndefined(this.parent.fontFamily.default)||(n.style.fontFamily=this.parent.fontFamily.default),t.isNullOrUndefined(this.parent.fontSize.default)||(n.style.fontSize=this.parent.fontSize.default)),this.parent.notify(Q,{})},n.prototype.onPropertyChanged=function(e){if(!t.isNullOrUndefined(e.newProp.formatter)){var n=this.contentRenderer.getEditPanel(),i={undoRedoSteps:this.parent.undoRedoSteps,undoRedoTimer:this.parent.undoRedoTimer};this.parent.formatter.updateFormatter(n,this.contentRenderer.getDocument(),i)}},n.prototype.getModuleName=function(){return"htmlEditor"},n.prototype.selectAll=function(){var e=S(this.parent.contentModule.getDocument(),this.parent.contentModule.getEditPanel());e.length>0&&this.parent.formatter.editorManager.nodeSelection.setSelectionText(this.parent.contentModule.getDocument(),e[0],e[e.length-1],0,e[e.length-1].textContent.length)},n.prototype.selectRange=function(e){this.parent.formatter.editorManager.nodeSelection.setRange(this.parent.contentModule.getDocument(),e.range)},n.prototype.getSelectedHtml=function(e){e.callBack(this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument()).toString())},n}(),as=function(){function n(e,t){this.inlineNode=["a","abbr","acronym","audio","b","bdi","bdo","big","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","font","i","iframe","img","input","ins","kbd","label","map","mark","meter","noscript","object","output","picture","progress","q","ruby","s","samp","script","select","slot","small","span","strong","sub","sup","svg","template","textarea","time","u","tt","var","video","wbr"],this.blockNode=["div","h1","h2","h3","h4","h5","h6","address","blockquote","button","center","dd","dir","dl","dt","fieldset","frameset","hr","iframe","isindex","li","map","menu","noframes","noscript","object","ol","pre","td","tr","th","tbody","tfoot","thead","table","ul","header","article","nav","footer","section","aside","main","figure","figcaption"],this.isNotFromHtml=!1,this.containsHtml=!1,this.parent=e,this.locator=t,this.renderFactory=this.locator.getService("rendererFactory"),this.i10n=t.getService("rteLocale"),this.dialogRenderObj=t.getService("dialogRenderObject"),this.addEventListener()}return n.prototype.addEventListener=function(){this.nodeSelectionObj=new No,this.parent.isDestroyed||(this.parent.on(nt,this.pasteClean,this),this.parent.on(Mt,this.setCssClass,this),this.parent.on(q,this.destroy,this))},n.prototype.destroy=function(){this.removeEventListener()},n.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off(nt,this.pasteClean),this.parent.off(Mt,this.setCssClass),this.parent.off(q,this.destroy))},n.prototype.pasteClean=function(n){var i,r=this,o={requestType:"Paste",editorMode:this.parent.editorMode,event:n},s=null;if(n.args&&!t.isNullOrUndefined(n.args.clipboardData)&&(s=n.args.clipboardData.getData("text/html")),this.parent.trigger(St,{value:s}),n.args&&null!==s&&"HTML"===this.parent.editorMode){if(0===s.length){var a=new RegExp(/<\/[a-z][\s\S]*>/i);s=n.args.clipboardData.getData("text/plain"),this.isNotFromHtml=""!==s,s=(s=s.replace(/</g,"&lt;")).replace(/>/g,"&gt;"),this.containsHtml=a.test(s);var l=n&&n.args.clipboardData&&n.args.clipboardData.items.length>0?null===n.args.clipboardData.items[0].getAsFile()?t.isNullOrUndefined(n.args.clipboardData.items[1])?null:n.args.clipboardData.items[1].getAsFile():n.args.clipboardData.items[0].getAsFile():null;if(this.parent.notify(Ge,{file:l,args:n.args,text:s,callBack:function(e){"object"==typeof(i=e)?r.parent.formatter.editorManager.execCommand("Images","Image",n.args,r.imageFormatting.bind(r,o),"pasteCleanup",i,"pasteCleanupModule"):s=i}}),!a.test(s)){var d=this.parent.createElement("div");d.innerHTML=this.splitBreakLine(s),s=d.innerHTML}}else s.length>0&&this.parent.formatter.editorManager.observer.notify(Sr,{args:n.args,text:n.text,allowedStylePropertiesArray:this.parent.pasteCleanupSettings.allowedStyleProps,callBack:function(e){s=e.trim()}});this.contentRenderer=this.renderFactory.getRenderer(e.RenderType.Content);var c=this.contentRenderer.getDocument(),p=this.nodeSelectionObj.getRange(c);if(this.saveSelection=this.nodeSelectionObj.save(p,c),this.parent.trigger(Et,{value:s},function(e){s=e.value}),this.parent.pasteCleanupSettings.prompt){n.args.preventDefault();var h=this.parent.createElement("div");h.innerHTML=s,""===h.textContent&&t.isNullOrUndefined(h.querySelector("img"))&&t.isNullOrUndefined(h.querySelector("table"))||this.pasteDialog(s,o)}else this.parent.pasteCleanupSettings.plainText?(n.args.preventDefault(),this.plainFormatting(s,o)):this.parent.pasteCleanupSettings.keepFormat?(n.args.preventDefault(),this.formatting(s,!1,o)):(n.args.preventDefault(),this.formatting(s,!0,o))}},n.prototype.splitBreakLine=function(e){for(var t=e.split("\n"),n="",i=0;i<t.length;i++)if(""===t[i].trim())n+=O(this.parent);else{n+="<p>"+this.makeSpace(t[i]).trim()+"</p>"}return n},n.prototype.makeSpace=function(e){for(var t="",n=!0,i=e.split(" "),r=0;r<i.length;r++)""===i[r].trim()?t+=n?"&nbsp;":" ":(n=!1,t+=i[r]+" ");return t},n.prototype.imgUploading=function(e){var n=e.querySelectorAll(".pasteContent_Img");if(this.parent.insertImageSettings.saveUrl&&n.length>0){for(var i=[],r=[],o=[],s=0;s<n.length;s++)n[s].getAttribute("src").split(",")[0].indexOf("base64")>=0&&(i.push(n[s].getAttribute("src")),r.push(t.getUniqueID("rte_image")),o.push(n[s]));var a=[];for(s=0;s<i.length;s++)a.push(this.base64ToFile(i[s],r[s]));for(s=0;s<a.length;s++)this.uploadMethod(a[s],o[s]);t.isNullOrUndefined(this.parent.insertImageSettings.path)&&"Blob"===this.parent.insertImageSettings.saveFormat&&this.getBlob(n)}else"Blob"===this.parent.insertImageSettings.saveFormat&&this.getBlob(n);var l=e.querySelectorAll(".pasteContent_Img");for(s=0;s<l.length;s++)l[s].classList.remove("pasteContent_Img"),""===l[s].getAttribute("class").trim()&&n[s].removeAttribute("class")},n.prototype.getBlob=function(e){for(var n=0;n<e.length;n++)if(!t.isNullOrUndefined(e[n].getAttribute("src"))&&e[n].getAttribute("src").split(",")[0].indexOf("base64")>=0){var i=URL.createObjectURL(D(e[n].getAttribute("src")));e[n].setAttribute("src",i)}},n.prototype.toolbarEnableDisable=function(e){this.parent.inlineMode.enable||this.parent.toolbarModule.baseToolbar.toolbarObj.disable(e)},n.prototype.uploadMethod=function(e,n){var i=this,s=document.createElement("div");document.body.appendChild(s),s.setAttribute("display","none"),n.style.opacity="0.5";var a=this.parent.createElement("div");this.parent.element.appendChild(a);var l=this.parent.createElement("input",{id:this.parent.element.id+"_upload",attrs:{type:"File",name:"UploadFiles"}}),d=this.parent.iframeSettings.enable?-50:-90;this.popupObj=new r.Popup(a,{relateTo:n,height:"85px",width:"300px",offsetY:d,content:l,viewPortElement:this.parent.element,position:{X:"center",Y:"top"},enableRtl:this.parent.enableRtl,zIndex:10001,close:function(e){i.parent.isBlur=!1,i.popupObj.destroy(),t.detach(i.popupObj.element)}}),this.popupObj.element.style.display="none",t.addClass([this.popupObj.element],[ai,si]),t.isNullOrUndefined(this.parent.cssClass)||t.addClass([this.popupObj.element],this.parent.cssClass);var c=e.size>1e6?300:100;setTimeout(function(){i.refreshPopup(n,i.popupObj)},c);var p,h;this.uploadObj=new o.Uploader({asyncSettings:{saveUrl:this.parent.insertImageSettings.saveUrl,removeUrl:this.parent.insertImageSettings.removeUrl},cssClass:di,dropArea:this.parent.inputElement,allowedExtensions:this.parent.insertImageSettings.allowedTypes.toString(),success:function(e){setTimeout(function(){i.popupClose(i.popupObj,i.uploadObj,n,e)},900)},uploading:function(e){i.parent.isServerRendered||i.parent.trigger(pt,e,function(e){e.cancel?(t.isNullOrUndefined(n)||t.detach(n),t.isNullOrUndefined(i.popupObj.element)||t.detach(i.popupObj.element)):i.parent.inputElement.contentEditable="false"})},beforeUpload:function(e){i.parent.isServerRendered?((h=JSON.parse(JSON.stringify(e))).filesData=p,e.cancel=!0,i.parent.trigger(pt,h,function(e){e.cancel||(i.toolbarEnableDisable(!0),i.uploadObj.currentRequestHeader=e.currentRequest?e.currentRequest:i.uploadObj.currentRequestHeader,i.uploadObj.customFormDatas=e.customFormData&&e.customFormData.length>0?e.customFormData:i.uploadObj.customFormDatas,i.uploadObj.uploadFiles(p,null))})):(i.parent.trigger(bt,e),i.toolbarEnableDisable(!0))},failure:function(e){setTimeout(function(){i.uploadFailure(n,i.uploadObj,i.popupObj,e)},900)},canceling:function(){i.parent.inputElement.contentEditable="true"," "===n.nextSibling.textContent&&t.detach(n.nextSibling),t.detach(n),i.popupObj.close()},selected:function(e){e.cancel=!0,i.parent.isServerRendered&&(p=e.filesData)},removing:function(){i.parent.inputElement.contentEditable="true"," "===n.nextSibling.textContent&&t.detach(n.nextSibling),t.detach(n),i.popupObj.close()}}),this.uploadObj.appendTo(this.popupObj.element.childNodes[0]);var u=[{name:e.name,rawFile:e,size:e.size,type:e.type,validationMessages:{minSize:"",maxSize:""},statusCode:"1"}];this.uploadObj.createFileList(u),this.uploadObj.filesData.push(u[0]),p=u,this.uploadObj.upload(u),this.popupObj.element.getElementsByClassName("e-file-select-wrap")[0].style.display="none",t.detach(this.popupObj.element.querySelector(".e-rte-dialog-upload .e-file-select-wrap"))},n.prototype.uploadFailure=function(e,n,i,r){this.parent.inputElement.contentEditable="true",t.detach(e),i&&i.close(),this.parent.trigger(ut,r),n.destroy()},n.prototype.popupClose=function(e,n,i,r){var o=this;this.parent.inputElement.contentEditable="true",r.element=i,this.parent.trigger(ht,r,function(e){if(!t.isNullOrUndefined(o.parent.insertImageSettings.path)){var n=o.parent.insertImageSettings.path+e.file.name;i.src=n,i.setAttribute("alt",e.file.name)}}),e.close(),i.style.opacity="1",n.destroy(),this.toolbarEnableDisable(!1)},n.prototype.refreshPopup=function(e,t){(this.parent.iframeSettings.enable?this.parent.element.offsetTop+e.offsetTop:e.offsetTop)>this.parent.element.offsetTop+this.parent.element.offsetHeight?(t.relateTo=this.parent.inputElement,t.offsetY=this.parent.iframeSettings.enable?-30:-65,t.element.style.display="block"):t&&(t.refreshPosition(e),t.element.style.display="block")},n.prototype.base64ToFile=function(e,n){for(var i=e.split(","),r=i[0].match(/:(.*?);/)[1].split("/")[1],o=atob(i[1]),s=o.length,a=new Uint8Array(s);s--;)a[s]=o.charCodeAt(s);if(t.Browser.isIE||navigator.appVersion.indexOf("Edge")>-1){var l=new Blob([a],{type:r});return t.extend(l,{name:n+"."+(t.isNullOrUndefined(r)?"":r)}),l}return new File([a],n+"."+(t.isNullOrUndefined(r)?"":r),{type:r})},n.prototype.imageFormatting=function(t,n){var i=this.parent.createElement("span");i.appendChild(n.elements[0]);var r=i.innerHTML;this.contentRenderer=this.renderFactory.getRenderer(e.RenderType.Content);var o=this.contentRenderer.getDocument(),s=this.nodeSelectionObj.getRange(o);this.saveSelection=this.nodeSelectionObj.save(s,o),this.parent.pasteCleanupSettings.prompt?this.pasteDialog(r,t):this.parent.pasteCleanupSettings.plainText?this.plainFormatting(r,t):this.parent.pasteCleanupSettings.keepFormat?this.formatting(r,!1,t):this.formatting(r,!0,t)},n.prototype.radioRender=function(){this.keepRadioButton=new s.RadioButton({label:this.i10n.getConstant("keepFormat"),name:"pasteOption",checked:!0}),this.keepRadioButton.isStringTemplate=!0;var e=this.parent.element.querySelector("#keepFormating");this.keepRadioButton.appendTo(e),this.cleanRadioButton=new s.RadioButton({label:this.i10n.getConstant("cleanFormat"),name:"pasteOption"}),this.cleanRadioButton.isStringTemplate=!0;var t=this.parent.element.querySelector("#cleanFormat");this.cleanRadioButton.appendTo(t),this.plainTextRadioButton=new s.RadioButton({label:this.i10n.getConstant("plainText"),name:"pasteOption"}),this.plainTextRadioButton.isStringTemplate=!0;var n=this.parent.element.querySelector("#plainTextFormat");this.plainTextRadioButton.appendTo(n)},n.prototype.selectFormatting=function(e,t,n,i){n?this.formatting(e,!1,t):i?this.formatting(e,!0,t):this.plainFormatting(e,t)},n.prototype.pasteDialog=function(e,t){var n=this,i=!1,r=this.parent.height,o={buttons:[{click:function(){if(!n.dialogObj.isDestroyed){var o=n.parent.element.querySelector("#keepFormating").checked,s=n.parent.element.querySelector("#cleanFormat").checked;n.dialogObj.hide(),n.parent.height=i?r:n.parent.height,i=!1;var a=n.dialogObj;n.dialogRenderObj.close(a),n.dialogObj.destroy(),n.selectFormatting(e,t,o,s)}},buttonModel:{isPrimary:!0,cssClass:"e-flat "+ei,content:this.i10n.getConstant("pasteDialogOk")}},{click:function(){if(!n.dialogObj.isDestroyed){n.dialogObj.hide(),n.parent.height=i?r:n.parent.height,i=!1;var e=n.dialogObj;n.dialogRenderObj.close(e),n.dialogObj.destroy()}},buttonModel:{cssClass:"e-flat "+ti,content:this.i10n.getConstant("pasteDialogCancel")}}],header:this.i10n.getConstant("pasteFormat"),content:this.i10n.getConstant("pasteFormatContent")+'<br/><div><div style="padding-top:24px;"><input type="radio" class="'+Jn+'" id="keepFormating"/></div><div style="padding-top:20px;"><input type="radio" class="'+$n+'" id="cleanFormat"/></div><div style="padding-top:20px;"><input type="radio" class="'+Zn+'" id="plainTextFormat"/></div></div>',target:this.parent.element,width:"300px",height:"265px",cssClass:ni,isModal:!0,visible:!1};this.dialogObj=this.dialogRenderObj.render(o);var s=this.parent.element.querySelector("#"+this.parent.getID()+"_pasteCleanupDialog");null!==s&&""!==s.innerHTML&&this.destroyDialog(s),null===s&&(s=this.parent.createElement("div",{id:this.parent.getID()+"_pasteCleanupDialog"}),this.parent.element.appendChild(s)),this.dialogObj.appendTo(s),this.radioRender(),this.parent.element.offsetHeight<parseInt(this.dialogObj.height.split("px")[0],null)&&(this.parent.height=parseInt(this.dialogObj.height.split("px")[0],null)+40,i=!0),this.dialogObj.show(),this.setCssClass({cssClass:this.parent.cssClass})},n.prototype.updateCss=function(e,n){e&&n.cssClass&&(t.isNullOrUndefined(n.oldCssClass)?e.setProperties({cssClass:(e.cssClass+" "+n.cssClass).trim()}):e.setProperties({cssClass:(e.cssClass.replace(n.oldCssClass,"").trim()+" "+n.cssClass).trim()}))},n.prototype.setCssClass=function(e){this.popupObj&&e.cssClass&&(t.isNullOrUndefined(e.oldCssClass)?t.addClass([this.popupObj.element],e.cssClass):(t.removeClass([this.popupObj.element],e.oldCssClass),t.addClass([this.popupObj.element],e.cssClass))),this.updateCss(this.dialogObj,e),this.updateCss(this.uploadObj,e),this.updateCss(this.plainTextRadioButton,e),this.updateCss(this.cleanRadioButton,e),this.updateCss(this.keepRadioButton,e)},n.prototype.destroyDialog=function(e){var n=this.parent.element.querySelector(".e-dlg-container");t.detach(n);for(var i=e.children.length,r=0;r<i;r++)t.detach(e.children[0])},n.prototype.cleanAppleClass=function(e){for(var n=e.querySelectorAll("br.Apple-interchange-newline"),i=0;i<n.length;i++)t.detach(n[i]);return e},n.prototype.formatting=function(e,n,i){var r=this,o=this.parent.createElement("div",{className:"pasteContent",styles:"display:inline;"});this.isNotFromHtml&&this.containsHtml&&(e=this.splitBreakLine(e)),o.innerHTML=e,o=this.cleanAppleClass(o),null!==this.parent.pasteCleanupSettings.deniedTags&&(o=this.deniedTags(o)),n?o=this.deniedAttributes(o,n):null!==this.parent.pasteCleanupSettings.deniedAttrs&&(o=this.deniedAttributes(o,n)),null!==this.parent.pasteCleanupSettings.allowedStyleProps&&(o=this.allowedStyle(o)),this.saveSelection.restore(),o.innerHTML=this.sanitizeHelper(o.innerHTML);for(var s=o.querySelectorAll("img"),a=0;a<s.length;a++)s[a].classList.add("pasteContent_Img"),"auto"!==this.parent.insertImageSettings.width&&s[a].setAttribute("width",this.parent.insertImageSettings.width),"0"!==this.parent.insertImageSettings.minWidth&&0!==this.parent.insertImageSettings.minWidth&&(s[a].style.minWidth=this.parent.insertImageSettings.minWidth.toString()),null!==this.parent.insertImageSettings.maxWidth&&(s[a].style.maxWidth=this.parent.getInsertImgMaxWidth().toString()),"auto"!==this.parent.insertImageSettings.height&&s[a].setAttribute("height",this.parent.insertImageSettings.height),"0"!==this.parent.insertImageSettings.minHeight&&0!==this.parent.insertImageSettings.minHeight&&(s[a].style.minHeight=this.parent.insertImageSettings.minHeight.toString()),null!==this.parent.insertImageSettings.maxHeight&&(s[a].style.maxHeight=this.parent.insertImageSettings.maxHeight.toString());this.addTempClass(o),""===o.textContent&&t.isNullOrUndefined(o.querySelector("img"))&&t.isNullOrUndefined(o.querySelector("table"))||(this.parent.formatter.editorManager.execCommand("inserthtml","pasteCleanup",i,function(e){t.extend(i,{elements:e.elements,imageElements:e.imgElem},!0),r.parent.formatter.onSuccess(r.parent,i)},o),this.removeTempClass(),this.parent.notify(_,{}),this.imgUploading(this.parent.inputElement),this.parent.iframeSettings.enable&&this.parent.updateValue())},n.prototype.addTempClass=function(e){for(var t=e.children,n=0;n<t.length;n++)t[n].classList.add("pasteContent_RTE")},n.prototype.removeTempClass=function(){for(var e=this.parent.inputElement.querySelectorAll(".pasteContent_RTE"),t=0;t<e.length;t++)e[t].classList.remove("pasteContent_RTE"),""===e[t].getAttribute("class")&&e[t].removeAttribute("class")},n.prototype.sanitizeHelper=function(e){return e=k(e,this.parent)},n.prototype.plainFormatting=function(e,n){var i=this,r=this.parent.createElement("div",{className:"pasteContent",styles:"display:inline;"});if(r.innerHTML=e,this.detachInlineElements(r),this.getTextContent(r),""!==r.textContent.trim()){if(!t.isNullOrUndefined(r.firstElementChild)&&"BR"!==r.firstElementChild.tagName){var o=r.firstElementChild;if(!t.isNullOrUndefined(r.firstElementChild)){for(var s=this.parent.createElement("span"),a=0,l=0;a<o.childNodes.length;a++,l++)if("#text"===o.childNodes[a].nodeName)s.appendChild(o.childNodes[a]),r.insertBefore(s,r.firstElementChild),a--;else{if("#text"===o.childNodes[a].nodeName||0!==l)break;for(var d=0;d<o.childNodes[a].childNodes.length;d++)s.appendChild(o.childNodes[a].childNodes[d]),r.insertBefore(s,r.firstElementChild),d--;a--}o.hasChildNodes()||t.detach(o)}}this.removeEmptyElements(r),this.saveSelection.restore(),r.innerHTML=this.sanitizeHelper(r.innerHTML),this.addTempClass(r),this.parent.formatter.editorManager.execCommand("inserthtml","pasteCleanup",n,function(e){t.extend(n,{elements:e.elements,imageElements:e.imgElem},!0),i.parent.formatter.onSuccess(i.parent,n)},r),this.removeTempClass()}else this.saveSelection.restore(),t.extend(n,{elements:[]},!0),this.parent.formatter.onSuccess(this.parent,n)},n.prototype.getTextContent=function(e){for(var n=0;n<this.blockNode.length;n++)for(var i=e.querySelectorAll(this.blockNode[n]),r=0;r<i.length;r++){for(var o=void 0,s=0,a=0,l=void 0;s<i[r].childNodes.length;s++,a++)if("DIV"===i[r].childNodes[s].nodeName||"P"===i[r].childNodes[s].nodeName||"#text"===i[r].childNodes[s].nodeName&&"&nbsp;"!==i[r].childNodes[s].nodeValue.replace(/\u00a0/g,"&nbsp;")&&""===i[r].childNodes[s].textContent.trim())o=i[r].childNodes[s].parentElement,i[r].childNodes[s].parentElement.parentElement.insertBefore(i[r].childNodes[s],i[r].childNodes[s].parentElement),s--;else{if(o=i[r].childNodes[s].parentElement,"text"===l){o.previousElementSibling.appendChild(i[r].childNodes[s])}else{var d=this.parent.createElement("div",{id:"newDiv"});d.appendChild(i[r].childNodes[s]),o.parentElement.insertBefore(d,o)}s--,l="text"}t.isNullOrUndefined(o)||t.detach(o)}var c=e.querySelectorAll("*");for(n=0;n<c.length;n++){var p=c[n].attributes;for(r=0;r<p.length;r++)c[n].removeAttribute(p[r].name),r--}},n.prototype.detachInlineElements=function(e){for(var n=0;n<this.inlineNode.length;n++)for(var i=e.querySelectorAll(this.inlineNode[n]),r=0;r<i.length;r++){for(var o=void 0,s=0;s<i[r].childNodes.length;s++)o=i[r].childNodes[s].parentElement,i[r].childNodes[s].parentElement.parentElement.insertBefore(i[r].childNodes[s],i[r].childNodes[s].parentElement),s--;t.isNullOrUndefined(o)||t.detach(o)}},n.prototype.findDetachEmptyElem=function(e){return t.isNullOrUndefined(e.parentElement)?null:""===e.parentElement.textContent.trim()&&"pasteContent"!==e.parentElement.getAttribute("class")?this.findDetachEmptyElem(e.parentElement):e},n.prototype.removeEmptyElements=function(e){for(var n=e.querySelectorAll(":empty"),i=0;i<n.length;i++)if("BR"!==n[i].tagName){var r=this.findDetachEmptyElem(n[i]);t.isNullOrUndefined(r)||t.detach(r)}},n.prototype.tagGrouping=function(e){for(var t=e.slice(),n=Object.keys(jr),i=n.map(function(e){return jr[e]}),r=[],o=0;o<t.length;o++)if(t[o].split("[").length>1&&(t[o]=t[o].split("[")[0].trim()),n.indexOf(t[o])>-1)for(var s=0;s<i[n.indexOf(t[o])].length;s++)t.indexOf(i[n.indexOf(t[o])][s])<0&&r.indexOf(i[n.indexOf(t[o])][s])<0&&r.push(i[n.indexOf(t[o])][s]);return e=e.concat(r)},n.prototype.attributesfilter=function(e){for(var t=0;t<e.length;t++)if(e[t].split("[").length>1){for(var n=e[t].split("[")[1].split("]")[0].split(","),i=[],r=[],o=0;o<n.length;o++)n[o].indexOf("!")<0?i.push(n[o].trim()):r.push(n[o].split("!")[1].trim());var s=i.length>1?i.join("]["):i.join(),a=r.length>1?r.join("]["):r.join();if(a.length>0){var l=""!==s?e[t].split("[")[0]+"["+s+"]":e[t].split("[")[0];e[t]=l+":not(["+a+"])"}else e[t]=e[t].split("[")[0]+"["+s+"]"}return e},n.prototype.deniedTags=function(e){var n=t.isNullOrUndefined(this.parent.pasteCleanupSettings.deniedTags)?[]:this.parent.pasteCleanupSettings.deniedTags.slice();n=this.attributesfilter(n),n=this.tagGrouping(n);for(var i=0;i<n.length;i++)for(var r=e.querySelectorAll(n[i]),o=r.length-1;o>=0;o--){for(var s=r[o].parentNode;r[o].firstChild;)s.insertBefore(r[o].firstChild,r[o]);s.removeChild(r[o])}return e},n.prototype.deniedAttributes=function(e,n){var i=t.isNullOrUndefined(this.parent.pasteCleanupSettings.deniedAttrs)?[]:this.parent.pasteCleanupSettings.deniedAttrs.slice();n&&i.push("style");for(var r=0;r<i.length;r++)for(var o=e.querySelectorAll("["+i[r]+"]"),s=0;s<o.length;s++)o[s].removeAttribute(i[r]);return e},n.prototype.allowedStyle=function(e){var n=t.isNullOrUndefined(this.parent.pasteCleanupSettings.allowedStyleProps)?[]:this.parent.pasteCleanupSettings.allowedStyleProps.slice();n.push("list-style-type","list-style");for(var i=e.querySelectorAll("[style]"),r=0;r<i.length;r++){for(var o="",s=[],a=i[r].getAttribute("style").split(";"),l=0;l<a.length;l++)n.indexOf(a[l].split(":")[0].trim())>=0&&s.push(a[l]);i[r].removeAttribute("style"),(o=""===s.join(";").trim()?s.join(";"):s.join(";")+";")&&i[r].setAttribute("style",o)}return e},n.prototype.getModuleName=function(){return"pasteCleanup"},n}(),ls=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.isDestroyed||(this.parent.on(j,this.renderResizable,this),this.parent.on(q,this.destroy,this))},e.prototype.renderResizable=function(){var e=this.parent.enableRtl?"e-south-west":"e-south-east";this.resizer=this.parent.createElement("div",{id:this.parent.getID()+"-resizable",className:"e-icons "+ii+" "+e}),this.parent.element.classList.add(ci),this.parent.element.appendChild(this.resizer),this.touchStartEvent="msie"===t.Browser.info.name?"pointerdown":"touchstart",t.EventHandler.add(this.resizer,"mousedown",this.resizeStart,this),t.EventHandler.add(this.resizer,this.touchStartEvent,this.resizeStart,this)},e.prototype.resizeStart=function(e){var t=this;e.cancelable&&e.preventDefault(),this.wireResizeEvents(),this.parent.notify(vt,{});var n={event:e,requestType:"editor"};this.parent.trigger(pe,n,function(e){e.cancel&&t.unwireResizeEvents()})},e.prototype.performResize=function(e){var n=this,i={event:e,requestType:"editor"};this.parent.trigger(he,i,function(e){e.cancel&&n.unwireResizeEvents()});var r=this.parent.element.getBoundingClientRect();if(this.isMouseEvent(e))this.parent.element.style.height=e.clientY-r.top+"px",this.parent.element.style.width=this.parent.enableRtl?r.right-e.clientX+"px":e.clientX-r.left+"px";else{var o="msie"!==t.Browser.info.name?e.touches[0]:e;this.parent.element.style.height=o.clientY-r.top+"px",this.parent.element.style.width=this.parent.enableRtl?r.right-e.clientX+"px":e.clientX-r.left+"px"}this.parent.toolbarSettings.enable||this.parent.setContentHeight("",!1),this.parent.refreshUI()},e.prototype.stopResize=function(e){this.parent.refreshUI(),this.unwireResizeEvents();var t={event:e,requestType:"editor"};this.parent.trigger(ue,t)},e.prototype.getEventType=function(e){return e.indexOf("mouse")>-1?"mouse":"touch"},e.prototype.isMouseEvent=function(e){var n=!1;return("mouse"===this.getEventType(e.type)||!t.isNullOrUndefined(e.pointerType)&&"mouse"===this.getEventType(e.pointerType))&&(n=!0),n},e.prototype.wireResizeEvents=function(){t.EventHandler.add(document,"mousemove",this.performResize,this),t.EventHandler.add(document,"mouseup",this.stopResize,this),this.touchMoveEvent="msie"===t.Browser.info.name?"pointermove":"touchmove",this.touchEndEvent="msie"===t.Browser.info.name?"pointerup":"touchend",t.EventHandler.add(document,this.touchMoveEvent,this.performResize,this),t.EventHandler.add(document,this.touchEndEvent,this.stopResize,this)},e.prototype.unwireResizeEvents=function(){t.EventHandler.remove(document,"mousemove",this.performResize),t.EventHandler.remove(document,"mouseup",this.stopResize),t.EventHandler.remove(document,this.touchMoveEvent,this.performResize),t.EventHandler.remove(document,this.touchEndEvent,this.stopResize)},e.prototype.destroy=function(){this.removeEventListener()},e.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off(j,this.renderResizable),this.parent.element.classList.remove(ci),t.EventHandler.remove(this.resizer,"mousedown",this.resizeStart),t.EventHandler.remove(this.resizer,this.touchStartEvent,this.resizeStart),this.resizer&&t.detach(this.resizer),this.parent.off(q,this.destroy))},e.prototype.getModuleName=function(){return"resize"},e}(),ds=function(){function n(e,t){a.FileManager.Inject(a.ContextMenu,a.DetailsView,a.NavigationPane,a.Toolbar),this.parent=e,this.i10n=t.getService("rteLocale"),this.dialogRenderObj=t.getService("dialogRenderObject"),this.rendererFactory=t.getService("rendererFactory"),this.addEventListener()}return n.prototype.initialize=function(){this.parent.fileManagerModule=this,this.contentModule=this.rendererFactory.getRenderer(e.RenderType.Content)},n.prototype.render=function(e){var n,i=this;n=e.selectNode&&"IMG"===e.selectNode[0].nodeName?this.parent.localeObj.getConstant("dialogUpdate"):this.i10n.getConstant("dialogInsert");var r=this.parent.localeObj.getConstant("fileDialogHeader"),o=this.i10n.getConstant("dialogCancel");this.dlgButtons=[{click:this.insertImageUrl.bind(this),buttonModel:{content:n,cssClass:"e-flat e-insertImage",isPrimary:!0}},{click:function(e){i.cancelDialog()},buttonModel:{cssClass:"e-flat e-cancel",content:o}}],this.dlgButtons[0].buttonModel.disabled=!0,this.selectObj={selection:e.selection,args:e.args,selectParent:e.selectParent};var s=this.parent.createElement("div",{className:"e-rte-file-manager-dialog",id:this.parent.getID()+"_file-manager-dialog",attrs:{"aria-owns":this.parent.getID()}});document.body.appendChild(s),this.fileWrap=this.parent.createElement("div",{id:this.parent.getID()+"_rte-file-manager",className:"e-img-file-wrap"}),s.appendChild(this.fileWrap),s.appendChild(this.getInputUrlElement());var a={visible:!1,isModal:!0,header:r,target:document.body,locale:this.parent.locale,enableRtl:this.parent.enableRtl,cssClass:Tn,animationSettings:{effect:"None"},showCloseIcon:!0,closeOnEscape:!0,width:"720px",height:"auto",position:{X:"center",Y:"center"},buttons:this.dlgButtons,created:this.renderFileManager.bind(this),close:function(e){i.parent.isBlur=!1,e&&e.event.returnValue&&i.selectObj.selection.restore(),i.destroyComponents(),i.dialogRenderObj.close(e)}};this.dialogObj=this.dialogRenderObj.render(a),this.dialogObj.createElement=this.parent.createElement,this.dialogObj.appendTo(s),this.dialogObj.show(!!t.Browser.isDevice),this.setCssClass({cssClass:this.parent.cssClass})},n.prototype.setCssClass=function(e){this.dialogObj&&e.cssClass&&(t.isNullOrUndefined(e.oldCssClass)?this.dialogObj.setProperties({cssClass:(this.dialogObj.cssClass+" "+e.cssClass).trim()}):this.dialogObj.setProperties({cssClass:(this.dialogObj.cssClass.replace(e.oldCssClass,"").trim()+" "+e.cssClass).trim()}))},n.prototype.renderFileManager=function(){var e=this,n=this;this.fileObj=new a.FileManager({allowMultiSelection:!1,locale:this.parent.locale,enableRtl:this.parent.enableRtl,path:this.parent.fileManagerSettings.path,view:this.parent.fileManagerSettings.view,enablePersistence:this.parent.enablePersistence,cssClass:this.parent.fileManagerSettings.cssClass,sortOrder:this.parent.fileManagerSettings.sortOrder,ajaxSettings:this.parent.fileManagerSettings.ajaxSettings,showThumbnail:this.parent.fileManagerSettings.showThumbnail,rootAliasName:this.parent.fileManagerSettings.rootAliasName,uploadSettings:this.parent.fileManagerSettings.uploadSettings,searchSettings:this.parent.fileManagerSettings.searchSettings,toolbarSettings:this.parent.fileManagerSettings.toolbarSettings,showHiddenItems:this.parent.fileManagerSettings.showHiddenItems,allowDragAndDrop:this.parent.fileManagerSettings.allowDragAndDrop,showFileExtension:this.parent.fileManagerSettings.showFileExtension,detailsViewSettings:this.parent.fileManagerSettings.detailsViewSettings,contextMenuSettings:this.parent.fileManagerSettings.contextMenuSettings,navigationPaneSettings:this.parent.fileManagerSettings.navigationPaneSettings,fileSelect:function(t){var i=t.fileDetails;i.isFile&&n.parent.insertImageSettings.allowedTypes.indexOf(i.type)>-1?(n.inputUrl.value=n.parent.fileManagerSettings.ajaxSettings.getImageUrl+"?path="+(i.filterPath&&i.filterPath.replace(/\\/g,"/"))+i.name,e.dlgButtons[0].buttonModel.disabled=!1):(n.inputUrl.value="",e.dlgButtons[0].buttonModel.disabled=!0),e.dialogObj.buttons=e.dlgButtons},created:function(){e.inputUrl.removeAttribute("disabled")},success:function(){e.fileObj.refreshLayout()}}),t.Browser.isDevice&&(this.fileObj.height="85%"),this.fileObj.appendTo(this.fileWrap),t.EventHandler.add(this.parent.element.ownerDocument,"mousedown",this.onDocumentClick,this)},n.prototype.getInputUrlElement=function(){var e=this.parent.createElement("div",{className:"imgUrl"}),t=this.parent.createElement("div",{className:"e-rte-label"});t.innerHTML='<label for="rteSample_img_url">'+this.i10n.getConstant("linkWebUrl")+"</label>",e.appendChild(t);var n=this.i10n.getConstant("imageUrl");return this.inputUrl=this.parent.createElement("input",{className:"e-input e-img-url",attrs:{placeholder:n,spellcheck:"false",disabled:"true"}}),e.appendChild(this.inputUrl),e},n.prototype.insertImageUrl=function(e){var n=this.inputUrl.value;if(0===this.parent.formatter.getUndoRedoStack().length&&this.parent.formatter.saveData(),""!==n){if("HTML"===this.parent.editorMode&&t.isNullOrUndefined(t.closest(this.selectObj.selection.range.startContainer.parentNode,"#"+this.contentModule.getPanel().id))){this.contentModule.getEditPanel().focus();var i=this.parent.formatter.editorManager.nodeSelection.getRange(this.contentModule.getDocument());this.selectObj.selection=this.parent.formatter.editorManager.nodeSelection.save(i,this.contentModule.getDocument()),this.selectObj.selectParent=this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(i)}var r=/[\w-]+.(jpg|png|jpeg|gif)/g,o=t.isNullOrUndefined(n.match(r))||"HTML"!==this.parent.editorMode?"":n.match(r)[0],s={cssClass:"inline"===this.parent.insertImageSettings.display?bn:un,url:n,selection:this.selectObj.selection,altText:o,selectParent:this.selectObj.selectParent,width:{width:this.parent.insertImageSettings.width,minWidth:this.parent.insertImageSettings.minWidth,maxWidth:this.parent.getInsertImgMaxWidth()},height:{height:this.parent.insertImageSettings.height,minHeight:this.parent.insertImageSettings.minHeight,maxHeight:this.parent.insertImageSettings.maxHeight}};this.parent.formatter.process(this.parent,this.selectObj.args,this.selectObj.args.originalEvent,s),this.dialogObj.hide({returnValue:!1})}},n.prototype.cancelDialog=function(){this.parent.isBlur=!1,this.dialogObj.hide({returnValue:!0})},n.prototype.onDocumentClick=function(e){var n=e.target,i="#document"!==n.nodeName&&!t.isNullOrUndefined(n.previousElementSibling)&&n.previousElementSibling;t.isNullOrUndefined(this.dialogObj)||t.closest(n,"#"+this.parent.getID()+"_file-manager-dialog")||t.closest(n,"#"+this.parent.getID()+"_rte-file-manager_tb_sortby-popup")||t.closest(n,"#"+this.parent.getID()+"_rte-file-manager_tb_view-popup")||t.closest(n,"#"+this.parent.getID()+"_rte-file-manager_contextmenu")||!t.isNullOrUndefined(t.closest(n,".e-contextmenu-wrapper"))&&t.closest(n,".e-contextmenu-wrapper").querySelector("#"+this.parent.getID()+"_rte-file-manager_contextmenu")||t.isNullOrUndefined(i)||i.classList.contains("e-rte-file-manager-dialog")||t.isNullOrUndefined(i)||i.id===this.parent.getID()+"_rte-file-manager_contextmenu"?this.parent.isRTE=!0:(this.dialogObj.hide({returnValue:!0}),this.parent.isBlur=!0,C(this.parent.element,"focusout"))},n.prototype.addEventListener=function(){this.parent.on(j,this.initialize,this),this.parent.on(yt,this.render,this),this.parent.on(Mt,this.setCssClass,this),this.parent.on(q,this.destroy,this)},n.prototype.removeEventListener=function(){t.EventHandler.remove(this.parent.element.ownerDocument,"mousedown",this.onDocumentClick),this.parent.off(j,this.initialize),this.parent.off(yt,this.render),this.parent.off(Mt,this.setCssClass),this.parent.off(q,this.destroy)},n.prototype.destroyComponents=function(){this.fileObj&&(this.fileObj.destroy(),this.fileObj=null),this.dialogObj&&(this.dialogObj.destroy(),t.detach(this.dialogObj.element),this.dialogObj=null)},n.prototype.destroy=function(){this.parent.isDestroyed||(this.destroyComponents(),this.removeEventListener())},n.prototype.getModuleName=function(){return"fileManager"},n}(),cs=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.showFullScreen=function(e){var n=this;if(!0!==this.parent.toolbarSettings.enable||"Markdown"===this.parent.editorMode||t.isNullOrUndefined(this.parent.quickToolbarModule)||this.parent.quickToolbarModule.hideQuickToolbars(),this.scrollableParent=r.getScrollableParent(this.parent.element),!this.parent.element.classList.contains(Wt)){var i={cancel:!1,requestType:"Maximize",targetItem:"Maximize",args:e};this.parent.trigger(ve,i,function(i){if(!i.cancel){n.parent.toolbarSettings.enableFloating&&!n.parent.inlineMode.enable&&n.parent.toolbarSettings.enable&&(n.parent.getToolbarElement().style.width="100%",n.parent.getToolbarElement().style.top="0px"),n.parent.element.classList.add(Wt),n.toggleParentOverflow(!0);var r=n.parent.element.querySelectorAll(".e-toolbar-extended.e-popup-open").length>0;n.parent.setContentHeight(null,r),n.parent.toolbarModule&&(n.parent.getBaseToolbarObject().toolbarObj.items[0].properties||n.parent.getBaseToolbarObject().toolbarObj.removeItems(0),t.Browser.isDevice&&n.parent.toolbarModule.removeFixedTBarClass(),n.parent.toolbarModule.updateItem({targetItem:"Maximize",updateItem:"Minimize",baseToolbar:n.parent.getBaseToolbarObject()})),n.parent.refreshUI(),n.parent.trigger(ye,{requestType:"Maximize",targetItem:"Maximize",args:e})}})}},e.prototype.hideFullScreen=function(e){var n=this;if(!0!==this.parent.toolbarSettings.enable||"Markdown"===this.parent.editorMode||t.isNullOrUndefined(this.parent.quickToolbarModule)||this.parent.quickToolbarModule.hideQuickToolbars(),this.parent.element.classList.contains(Wt)){var i={cancel:!1,requestType:"Minimize",targetItem:"Minimize",args:e};this.parent.trigger(ve,i,function(i){if(!i.cancel){n.parent.element.classList.remove(Wt);for(var r=document.querySelectorAll(".e-rte-overflow"),o=0;o<r.length;o++)t.removeClass([r[o]],["e-rte-overflow"]);var s=n.parent.element.querySelectorAll(".e-toolbar-extended.e-popup-open").length>0;n.parent.setContentHeight(null,s),n.parent.toolbarModule&&(n.parent.getBaseToolbarObject().toolbarObj.items[0].properties||n.parent.getBaseToolbarObject().toolbarObj.removeItems(0),n.parent.toolbarModule.updateItem({targetItem:"Minimize",updateItem:"Maximize",baseToolbar:n.parent.getBaseToolbarObject()}),t.Browser.isDevice&&n.parent.inlineMode.enable&&n.parent.toolbarModule.addFixedTBarClass()),n.parent.trigger(ye,{requestType:"Minimize",targetItem:"Minimize",args:e})}})}},e.prototype.toggleParentOverflow=function(e){if(!t.isNullOrUndefined(this.scrollableParent))for(var n=0;n<this.scrollableParent.length;n++)if("#document"===this.scrollableParent[n].nodeName){var i=document.querySelector("body");t.addClass([i],["e-rte-overflow"])}else{i=this.scrollableParent[n];t.addClass([i],["e-rte-overflow"])}},e.prototype.onKeyDown=function(e){var t=e.args;switch(t.action){case"full-screen":this.showFullScreen(e.args),t.preventDefault();break;case"escape":this.hideFullScreen(e.args),t.preventDefault()}},e.prototype.addEventListener=function(){this.parent.on(Z,this.onKeyDown,this),this.parent.on(q,this.destroy,this),this.parent.on(tt,this.moduleDestroy,this)},e.prototype.removeEventListener=function(){this.parent.off(Z,this.onKeyDown),this.parent.off(q,this.destroy),this.parent.off(tt,this.moduleDestroy)},e.prototype.destroy=function(){this.parent.element.classList.contains(Wt)&&this.toggleParentOverflow(!1);for(var e=document.querySelectorAll(".e-rte-overflow"),n=0;n<e.length;n++)t.removeClass([e[n]],["e-rte-overflow"]);this.removeEventListener()},e.prototype.moduleDestroy=function(){this.parent=null},e}(),ps=function(){function t(e,t){this.parent=e,this.locator=t,this.renderer=this.locator.getService("rendererFactory"),this.addEventListener()}return t.prototype.render=function(){this.parent;this.contentRenderer=this.renderer.getRenderer(e.RenderType.Content),this.contentRenderer.renderPanel()},t.prototype.refresh=function(e){void 0===e&&(e={requestType:"refresh"}),this.parent.notify(e.requestType+"-begin",e)},t.prototype.destroy=function(){this.removeEventListener()},t.prototype.moduleDestroy=function(){this.parent=null},t.prototype.addEventListener=function(){this.parent.isDestroyed||(this.parent.on(J,this.refresh,this),this.parent.on($,this.keyUp,this),this.parent.on(tt,this.moduleDestroy,this))},t.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off(J,this.refresh),this.parent.off($,this.keyUp),this.parent.off(tt,this.moduleDestroy))},t.prototype.keyUp=function(e){if("HTML"===this.parent.editorMode)switch(e.args.which){case 46:case 8:var t=this.parent.contentModule.getEditPanel().childNodes;if(0===t.length||1===t.length&&0===t[0].childNodes.length&&("BR"===t[0].tagName||("P"===t[0].tagName||"DIV"===t[0].tagName)&&""===t[0].textContent)){var n=this.parent.contentModule.getEditPanel();"DIV"===this.parent.enterKey?n.innerHTML="<div><br/></div>":"BR"===this.parent.enterKey?n.innerHTML="<br/>":n.innerHTML="<p><br/></p>",this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.parent.contentModule.getDocument(),n.childNodes[0],0)}}},t}(),hs=function(){function n(e,t){this.parent=e,this.rteID=e.element.id,this.i10n=t.getService("rteLocale"),this.addEventListener(),this.serviceLocator=t,this.rendererFactory=t.getService("rendererFactory"),this.dialogRenderObj=t.getService("dialogRenderObject")}return n.prototype.addEventListener=function(){this.parent.isDestroyed||(this.parent.on(me,this.linkDialog,this),this.parent.on(wt,this.showDialog,this),this.parent.on(Ot,this.closeDialog,this),this.parent.on(Z,this.onKeyDown,this),this.parent.on(Ee,this.showLinkQuickToolbar,this),this.parent.on(ot,this.clearDialogObj,this),this.parent.on(de,this.onToolbarAction,this),this.parent.on(F,this.onIframeMouseDown,this),this.parent.on(ge,this.removeLink,this),this.parent.on(fe,this.editLink,this),this.parent.on(be,this.openLink,this),this.parent.on(He,this.editAreaClickHandler,this),this.parent.on(Mt,this.setCssClass,this),this.parent.on(q,this.destroy,this),this.parent.on(tt,this.moduleDestroy,this))},n.prototype.onToolbarAction=function(e){switch(e.args.item.subCommand){case"OpenLink":this.parent.notify(be,e);break;case"EditLink":this.parent.notify(fe,e);break;case"RemoveLink":this.parent.notify(ge,e)}},n.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off(me,this.linkDialog),this.parent.off(wt,this.showDialog),this.parent.off(Ot,this.closeDialog),this.parent.off(Z,this.onKeyDown),this.parent.off(Ee,this.showLinkQuickToolbar),this.parent.off(ot,this.clearDialogObj),this.parent.off(de,this.onToolbarAction),this.parent.off(ge,this.removeLink),this.parent.off(F,this.onIframeMouseDown),this.parent.off(fe,this.editLink),this.parent.off(be,this.openLink),this.parent.off(He,this.editAreaClickHandler),this.parent.off(Mt,this.setCssClass),this.parent.off(q,this.destroy),this.parent.off(tt,this.moduleDestroy))},n.prototype.onIframeMouseDown=function(){this.dialogObj&&this.dialogObj.hide({returnValue:!0})},n.prototype.updateCss=function(e,n){e&&n.cssClass&&(t.isNullOrUndefined(n.oldCssClass)?e.setProperties({cssClass:(e.cssClass+" "+n.cssClass).trim()}):e.setProperties({cssClass:(e.cssClass.replace(n.oldCssClass,"").trim()+" "+n.cssClass).trim()}))},n.prototype.setCssClass=function(e){this.updateCss(this.checkBoxObj,e),this.updateCss(this.dialogObj,e)},n.prototype.showLinkQuickToolbar=function(e){if(!t.isNullOrUndefined(e.args)&&"enter"!==e.args.action&&"space"!==e.args.action){var n=void 0,i=void 0;if("Links"!==e.type||t.isNullOrUndefined(this.parent.quickToolbarModule)||t.isNullOrUndefined(this.parent.quickToolbarModule.linkQTBar))return;this.quickToolObj=this.parent.quickToolbarModule;var r,o=this.parent.element.getBoundingClientRect().top,s=this.parent.element.getBoundingClientRect().left,a=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument());if([].forEach.call(e.elements,function(e,t){0===t&&(r="#text"===e.nodeName?e.parentNode:e)}),e.isNotify){var l=this.parent.toolbarModule.getToolbarElement(),d=r.getBoundingClientRect().top,c=r.getBoundingClientRect().left,p=d-o,h=l?l.offsetHeight+this.parent.toolbarModule.getExpandTBarPopHeight():0;n=this.parent.iframeSettings.enable?s+c:r.getBoundingClientRect().left,i=window.pageYOffset+(this.parent.iframeSettings.enable?o+h+d:o+p)}else{var u=void 0;u=e.args.touches?e.args.changedTouches[0]:u=e.args,n=this.parent.iframeSettings.enable?window.pageXOffset+s+u.clientX:u.pageX,i=this.parent.iframeSettings.enable?window.pageYOffset+o+u.clientY:u.pageY}this.quickToolObj.linkQTBar&&this.quickToolObj.linkQTBar.showPopup(n,i,a.endContainer)}},n.prototype.hideLinkQuickToolbar=function(){this.quickToolObj&&this.quickToolObj.linkQTBar&&document.body.contains(this.quickToolObj.linkQTBar.element)&&this.quickToolObj.linkQTBar.hidePopup()},n.prototype.editAreaClickHandler=function(n){if(this.parent.readonly)this.hideLinkQuickToolbar();else{var i=n.args,r=this.parent.quickToolbarSettings.showOnRightClick;if(!(2===i.which||r&&1===i.which||!r&&3===i.which)&&"HTML"===this.parent.editorMode&&this.parent.quickToolbarModule&&this.parent.quickToolbarModule.linkQTBar){this.quickToolObj=this.parent.quickToolbarModule;var o=i.target;o=this.getAnchorNode(o),this.contentModule=this.rendererFactory.getRenderer(e.RenderType.Content);var s=this.quickToolObj.linkQTBar.element.classList.contains("e-rte-pop");if("A"===o.nodeName&&o.childNodes.length>0&&"IMG"!==o.childNodes[0].nodeName&&"IMG"!==n.args.target.nodeName&&!t.isNullOrUndefined(t.closest(this.parent.getRange().startContainer.parentElement,"A"))&&!t.isNullOrUndefined(t.closest(this.parent.getRange().endContainer.parentElement,"A"))){if(s)return;this.showLinkQuickToolbar({args:i,isNotify:!1,type:"Links",elements:[i.target]})}else this.hideLinkQuickToolbar()}}},n.prototype.onKeyDown=function(e){var n=e.args;switch(n.action){case"escape":t.isNullOrUndefined(this.dialogObj)||this.dialogObj.close();break;case"insert-link":this.openDialog(!0,e),n.preventDefault()}},n.prototype.openDialog=function(e,t){if(e||this.parent.contentModule.getEditPanel().focus(),"HTML"===this.parent.editorMode){var n=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument()),i=this.parent.formatter.editorManager.nodeSelection.save(n,this.parent.contentModule.getDocument()),r=this.parent.formatter.editorManager.nodeSelection.getNodeCollection(n),o=this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(n),s={args:t?t.args:{item:{command:"Links",subCommand:"CreateLink"},originalEvent:void 0},selectNode:r,selection:i,selectParent:o};this.linkDialog(s)}else{var a=this.parent.contentModule.getEditPanel();this.parent.formatter.editorManager.markdownSelection.save(a.selectionStart,a.selectionEnd),this.linkDialog({args:{item:{command:"Links",subCommand:"Link"},originalEvent:t&&t.args},member:"link",text:this.parent.formatter.editorManager.markdownSelection.getSelectedText(this.parent.contentModule.getEditPanel()),module:"Markdown",name:"insertLink"})}},n.prototype.showDialog=function(){this.openDialog(!1),this.setCssClass({cssClass:this.parent.cssClass})},n.prototype.closeDialog=function(){this.dialogObj&&this.dialogObj.hide({returnValue:!0})},n.prototype.clearDialogObj=function(){this.dialogObj&&(this.dialogObj.destroy(),t.detach(this.dialogObj.element),this.dialogObj=null)},n.prototype.linkDialog=function(e,n){var i=this;if(this.dialogObj)this.dialogObj.hide({returnValue:!0});else if("HTML"===this.parent.editorMode&&e.selectParent.length>0&&!t.isNullOrUndefined(e.selectParent[0].classList)&&e.selectParent[0].classList.contains("e-rte-anchor")&&t.isNullOrUndefined(n))this.editLink(e);else{var r=this.i10n.getConstant("linkWebUrl"),o=this.i10n.getConstant("linkText"),a=this.i10n.getConstant("linkTooltipLabel"),l=this.i10n.getConstant("linkurl"),d=this.i10n.getConstant("textPlaceholder"),c=this.i10n.getConstant("linkTitle"),p=this.parent.createElement("div",{className:"e-rte-link-dialog "+this.parent.cssClass,id:this.rteID+"_rtelink"});this.parent.element.appendChild(p);var h=this.parent.createElement("div",{className:"e-rte-linkcontent "+this.parent.cssClass,id:this.rteID+"_linkContent"}),u="HTML"===this.parent.editorMode?"<label>"+a+'</label></div><div class="e-rte-field '+this.parent.cssClass+'"><input type="text" data-role ="none" spellcheck="false" placeholder = "'+c+'" class="e-input e-rte-linkTitle '+this.parent.cssClass+'"></div><div class="e-rte-label '+this.parent.cssClass+'"></div><div class="e-rte-field '+this.parent.cssClass+'"><input type="checkbox" class="e-rte-linkTarget '+this.parent.cssClass+'" data-role ="none"></div>':"",m=N('<div class="e-rte-label '+this.parent.cssClass+'"><label>'+r+'</label></div><div class="e-rte-field '+this.parent.cssClass+'"><input type="text" data-role ="none" spellcheck="false" placeholder="'+l+'" class="e-input e-rte-linkurl '+this.parent.cssClass+'"/></div><div class="e-rte-label '+this.parent.cssClass+'"><label>'+o+'</label></div><div class="e-rte-field '+this.parent.cssClass+'"> <input type="text" data-role ="none" spellcheck="false" class="e-input e-rte-linkText '+this.parent.cssClass+'" placeholder="'+d+'"></div><div class="e-rte-label '+this.parent.cssClass+'">'+u);h.appendChild(m);var g=h.querySelector(".e-rte-linkTarget"),f=h.querySelector(".e-rte-linkurl"),b=h.querySelector(".e-rte-linkText"),v=h.querySelector(".e-rte-linkTitle"),y=this.i10n.getConstant("linkOpenInNewWindow");this.checkBoxObj=new s.CheckBox({label:y,checked:!0,enableRtl:this.parent.enableRtl,cssClass:this.parent.cssClass}),this.checkBoxObj.isStringTemplate=!0,this.checkBoxObj.createElement=this.parent.createElement,this.checkBoxObj.appendTo(g);var C="HTML"===this.parent.editorMode?e.selection.getRange(this.parent.contentModule.getDocument()).toString():e.text,S=this.i10n.getConstant("dialogInsert"),E=this.i10n.getConstant("dialogCancel"),T=e.selection,w={selfLink:this,selection:e.selection,selectParent:e.selectParent,args:e.args},O={header:this.i10n.getConstant("linkHeader"),content:h,cssClass:Tn+" "+this.parent.cssClass,enableRtl:this.parent.enableRtl,locale:this.parent.locale,showCloseIcon:!0,closeOnEscape:!0,width:t.Browser.isDevice?"290px":"310px",height:"inherit",isModal:t.Browser.isDevice,buttons:[{click:this.insertlink.bind(w),buttonModel:{content:S,cssClass:"e-flat e-insertLink "+this.parent.cssClass,isPrimary:!0}},{click:this.cancelDialog.bind(w),buttonModel:{cssClass:"e-flat "+this.parent.cssClass,content:E}}],target:t.Browser.isDevice?document.body:this.parent.element,animationSettings:{effect:"None"},close:function(e){i.parent.isBlur=!1,e&&e.event.returnValue&&("HTML"===i.parent.editorMode?T.restore():i.parent.formatter.editorManager.markdownSelection.restore(i.parent.contentModule.getEditPanel())),i.dialogObj.destroy(),t.detach(i.dialogObj.element);var n=i.dialogObj;i.dialogRenderObj.close(n),i.dialogObj=null}};this.dialogObj=this.dialogRenderObj.render(O),this.dialogObj.createElement=this.parent.createElement,this.dialogObj.appendTo(p),p.style.maxHeight="inherit",t.isNullOrUndefined(this.dialogObj)||(t.isNullOrUndefined(n)||(f.value=n.url,b.value=n.text,v.value=n.title,n.target?this.checkBoxObj.checked=!0:this.checkBoxObj.checked=!1,this.dialogObj.header=n.header,this.dialogObj.element.querySelector(".e-insertLink").textContent=n.btnText),this.checkUrl(!1),("HTML"===this.parent.editorMode&&t.isNullOrUndefined(n)&&(!t.isNullOrUndefined(C)&&""!==C&&0===e.selection.range.startOffset||e.selection.range.startOffset!==e.selection.range.endOffset)||"Markdown"===e.module)&&(b.value=C),t.EventHandler.add(this.parent.element.ownerDocument,"mousedown",this.onDocumentClick,this),this.quickToolObj&&(this.hideLinkQuickToolbar(),this.quickToolObj.inlineQTBar&&document.body.contains(this.quickToolObj.inlineQTBar.element)&&this.quickToolObj.inlineQTBar.hidePopup()))}},n.prototype.insertlink=function(e){var n,i=this.selfLink.dialogObj.element,r=i.querySelector(".e-rte-linkurl").value,o=i.querySelector(".e-rte-linkText").value;"HTML"===this.selfLink.parent.editorMode&&(n=i.querySelector(".e-rte-linkTitle").value);var s=this.selfLink.checkBoxObj.checked?"_blank":null;if(""!==r){this.selfLink.isUrl(r)?this.selfLink.checkUrl(!1):(o=""===o?r:o,r=this.selfLink.parent.enableAutoUrl?r:r.indexOf("http")>-1?r:"http://"+r);var a=this.selfLink;if("HTML"===a.parent.editorMode&&t.isNullOrUndefined(t.closest(this.selection.range.startContainer.parentNode,"[id='"+a.parent.contentModule.getPanel().id+"']"))){a.parent.contentModule.getEditPanel().focus(),t.Browser.isIE&&a.parent.iframeSettings.enable&&this.selection.restore();var l=a.parent.formatter.editorManager.nodeSelection.getRange(a.parent.contentModule.getDocument());this.selection=a.parent.formatter.editorManager.nodeSelection.save(l,a.parent.contentModule.getDocument()),this.selectParent=a.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(l)}var d={url:r,text:o,title:n,target:s,selection:this.selection,selectParent:this.selectParent};document.body.contains(a.dialogObj.element)&&this.selfLink.dialogObj.hide({returnValue:!1}),I()&&a.parent.iframeSettings.enable&&t.select("iframe",a.parent.element).contentWindow.focus(),"HTML"===a.parent.editorMode&&this.selection.restore(),0===a.parent.formatter.getUndoRedoStack().length&&a.parent.formatter.saveData();var c;if(t.isNullOrUndefined(this.args)||"KeyK"!==this.args.code)c=this.args;else{var p=this.args;t.extend(this.args,{item:{command:"Links",subCommand:"CreateLink"},originalEvent:p},!0);c={item:{command:"Links",subCommand:"CreateLink"},originalEvent:p}}this.selfLink.parent.formatter.process(this.selfLink.parent,c,!t.isNullOrUndefined(this.args)&&this.args.originalEvent,d),this.selfLink.parent.contentModule.getEditPanel().focus()}else this.selfLink.checkUrl(!0)},n.prototype.isUrl=function(e){return/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/gi.test(e)},n.prototype.checkUrl=function(e){var n=this.dialogObj.element.querySelector(".e-rte-linkurl");e?(t.addClass([n],"e-error"),n.setSelectionRange(0,n.value.length),n.focus()):t.removeClass([n],"e-error")},n.prototype.removeLink=function(e){0===this.parent.formatter.getUndoRedoStack().length&&this.parent.formatter.saveData();var n=this.getAnchorNode(e.selectParent[0]);this.parent.formatter.process(this.parent,e.args,e.args,{selectNode:e.selectNode,selectParent:e.selectParent,selection:e.selection,text:n.innerText,subCommand:e.args.item.subCommand}),I()&&this.parent.iframeSettings.enable?t.select("iframe",this.parent.element).contentWindow.focus():this.parent.contentModule.getEditPanel().focus(),this.hideLinkQuickToolbar()},n.prototype.openLink=function(e){var t=this.getAnchorNode(e.selectParent[0]);(t.classList.contains("e-rte-anchor")||"A"===t.tagName)&&this.parent.formatter.process(this.parent,e.args,e.args,{url:t.href,text:t.innerText,target:""===t.target?"_self":"_blank",selectNode:e.selectNode,subCommand:e.args.item.subCommand})},n.prototype.getAnchorNode=function(e){var n=t.closest(e,"a");return n||e},n.prototype.editLink=function(e){var t=this.getAnchorNode(e.selectNode[0]),n=this.getAnchorNode(e.selectParent[0]);if((n="A"===t.nodeName?t:n).classList.contains("e-rte-anchor")||"A"===n.tagName){var i=this.i10n.getConstant("dialogUpdate"),r={url:n.getAttribute("href"),text:n.innerText,title:n.title,target:n.target,header:this.i10n.getConstant("editLink"),btnText:i};this.linkDialog(e,r)}},n.prototype.cancelDialog=function(e){this.selfLink.parent.isBlur=!1,this.selfLink.dialogObj.hide({returnValue:!0}),I()?this.selection.restore():this.selfLink.parent.contentModule.getEditPanel().focus()},n.prototype.onDocumentClick=function(e){var n=e.target;!t.isNullOrUndefined(this.dialogObj)&&(!t.closest(n,"[id='"+this.dialogObj.element.id+"']")&&this.parent.toolbarSettings.enable&&this.parent.getToolbarElement()&&!this.parent.getToolbarElement().contains(e.target)||(this.parent.getToolbarElement()&&this.parent.getToolbarElement().contains(e.target)||this.parent.inlineMode.enable&&!t.closest(n,"#"+this.dialogObj.element.id))&&!t.closest(n,"#"+this.parent.getID()+"_toolbar_CreateLink")&&!n.querySelector("#"+this.parent.getID()+"_toolbar_CreateLink"))&&(this.dialogObj.hide({returnValue:!0}),t.EventHandler.remove(this.parent.element.ownerDocument,"mousedown",this.onDocumentClick),this.parent.isBlur=!0,C(this.parent.element,"focusout"))},n.prototype.destroy=function(){this.removeEventListener()},n.prototype.moduleDestroy=function(){this.parent=null},n.prototype.getModuleName=function(){return"link"},n}(),us=function(){function n(e,t){this.isImgUploaded=!1,this.isAllowedTypes=!0,this.pageX=null,this.pageY=null,this.mouseX=null,this.deletedImg=[],this.parent=e,this.rteID=e.element.id,this.i10n=t.getService("rteLocale"),this.rendererFactory=t.getService("rendererFactory"),this.dialogRenderObj=t.getService("dialogRenderObject"),this.addEventListener()}return n.prototype.addEventListener=function(){this.parent.isDestroyed||(this.parent.on(Z,this.onKeyDown,this),this.parent.on($,this.onKeyUp,this),this.parent.on(Se,this.insertImage,this),this.parent.on(Lt,this.showDialog,this),this.parent.on(xt,this.closeDialog,this),this.parent.on(ce,this.onWindowResize,this),this.parent.on(Ee,this.showImageQuickToolbar,this),this.parent.on(ot,this.clearDialogObj,this),this.parent.on(le,this.onToolbarAction,this),this.parent.on(Le,this.caption,this),this.parent.on(Oe,this.deleteImg,this),this.parent.on(Te,this.insertImgLink,this),this.parent.on(we,this.insertAltText,this),this.parent.on(He,this.editAreaClickHandler,this),this.parent.on(F,this.onIframeMouseDown,this),this.parent.on(xe,this.imageSize,this),this.parent.on(oe,this.alignmentSelect,this),this.parent.on(j,this.afterRender,this),this.parent.on(Nt,this.afterRender,this),this.parent.on(Ge,this.imagePaste,this),this.parent.on(Mt,this.setCssClass,this),this.parent.on(q,this.removeEventListener,this),this.parent.on(tt,this.moduleDestroy,this))},n.prototype.removeEventListener=function(){if(!this.parent.isDestroyed){this.parent.off(Z,this.onKeyDown),this.parent.off($,this.onKeyUp),this.parent.off(ce,this.onWindowResize),this.parent.off(Se,this.insertImage),this.parent.off(Lt,this.showDialog),this.parent.off(xt,this.closeDialog),this.parent.off(Ee,this.showImageQuickToolbar),this.parent.off(ot,this.clearDialogObj),this.parent.off(Le,this.caption),this.parent.off(le,this.onToolbarAction),this.parent.off(Oe,this.deleteImg),this.parent.off(Te,this.insertImgLink),this.parent.off(we,this.insertAltText),this.parent.off(He,this.editAreaClickHandler),this.parent.off(F,this.onIframeMouseDown),this.parent.off(xe,this.imageSize),this.parent.off(oe,this.alignmentSelect),this.parent.off(j,this.afterRender),this.parent.off(Nt,this.afterRender),this.parent.off(Ge,this.imagePaste),this.parent.off(Mt,this.setCssClass),this.parent.off(q,this.removeEventListener),this.parent.off(tt,this.moduleDestroy);var e=this.parent.iframeSettings.enable?this.parent.inputElement.ownerDocument:this.parent.inputElement;e.removeEventListener("drop",this.dragDrop.bind(this),!0),e.removeEventListener("dragstart",this.dragStart.bind(this),!0),e.removeEventListener("dragenter",this.dragEnter.bind(this),!0),e.removeEventListener("dragover",this.dragOver.bind(this),!0),t.isNullOrUndefined(this.contentModule)||(t.EventHandler.remove(this.contentModule.getEditPanel(),t.Browser.touchEndEvent,this.imageClick),this.parent.formatter.editorManager.observer.off(Ze,this.undoStack),this.parent.insertImageSettings.resize&&(t.EventHandler.remove(this.parent.contentModule.getEditPanel(),t.Browser.touchStartEvent,this.resizeStart),t.EventHandler.remove(this.parent.element.ownerDocument,"mousedown",this.onDocumentClick),t.EventHandler.remove(this.contentModule.getEditPanel(),"cut",this.onCutHandler)))}},n.prototype.updateCss=function(e,n){e&&n.cssClass&&(t.isNullOrUndefined(n.oldCssClass)?e.setProperties({cssClass:(e.cssClass+" "+n.cssClass).trim()}):e.setProperties({cssClass:(e.cssClass.replace(n.oldCssClass,"").trim()+" "+n.cssClass).trim()}))},n.prototype.setCssClass=function(e){this.popupObj&&e.cssClass&&(t.isNullOrUndefined(e.oldCssClass)?t.addClass([this.popupObj.element],e.cssClass):(t.removeClass([this.popupObj.element],e.oldCssClass),t.addClass([this.popupObj.element],e.cssClass))),this.updateCss(this.checkBoxObj,e),this.updateCss(this.widthNum,e),this.updateCss(this.heightNum,e),this.updateCss(this.uploadObj,e),this.updateCss(this.dialogObj,e)},n.prototype.onIframeMouseDown=function(){this.dialogObj&&this.dialogObj.hide({returnValue:!0})},n.prototype.afterRender=function(){this.contentModule=this.rendererFactory.getRenderer(e.RenderType.Content),t.EventHandler.add(this.contentModule.getEditPanel(),t.Browser.touchEndEvent,this.imageClick,this),this.parent.insertImageSettings.resize&&(t.EventHandler.add(this.parent.contentModule.getEditPanel(),t.Browser.touchStartEvent,this.resizeStart,this),t.EventHandler.add(this.parent.element.ownerDocument,"mousedown",this.onDocumentClick,this),t.EventHandler.add(this.contentModule.getEditPanel(),"cut",this.onCutHandler,this));var n=this.parent.iframeSettings.enable?this.parent.inputElement.ownerDocument:this.parent.inputElement;n.addEventListener("drop",this.dragDrop.bind(this),!0),n.addEventListener("dragstart",this.dragStart.bind(this),!0),n.addEventListener("dragenter",this.dragOver.bind(this),!0),n.addEventListener("dragover",this.dragOver.bind(this),!0)},n.prototype.undoStack=function(e){if("undo"===e.subCommand.toLowerCase()||"redo"===e.subCommand.toLowerCase())for(var n=0;n<this.parent.formatter.getUndoRedoStack().length;n++){var i=this.parent.createElement("div"),r=N(this.parent.formatter.getUndoRedoStack()[n].text);i.appendChild(r);var o=i.querySelectorAll("img");if(i.querySelector(".e-img-resize")&&o.length>0){for(var s=0;s<o.length;s++)o[s].style.outline="";t.detach(i.querySelector(".e-img-resize")),this.parent.formatter.getUndoRedoStack()[n].text=i.innerHTML}}},n.prototype.resizeEnd=function(e){this.resizeBtnInit(),this.imgEle.parentElement.style.cursor="auto",t.Browser.isDevice&&t.removeClass([e.target.parentElement],"e-mob-span");var n={event:e,requestType:"images"};this.parent.trigger(ue,n);this.getPointX(e),this.parent.iframeSettings.enable?(window.pageYOffset,this.parent.element.getBoundingClientRect().top,e.clientY):e.pageY;this.parent.formatter.editorManager.observer.on(Ze,this.undoStack,this),this.parent.formatter.saveData()},n.prototype.resizeStart=function(e,n){var i=this;if(!this.parent.readonly){var r=n||e.target;if(this.prevSelectedImgEle=this.imgEle,"IMG"===r.tagName){this.parent.preventDefaultResize(e);var o=r;this.imgResizeDiv&&this.contentModule.getEditPanel().contains(this.imgResizeDiv)&&t.detach(this.imgResizeDiv),this.imageResize(o)}if(r.classList.contains("e-rte-imageboxmark")){if(0===this.parent.formatter.getUndoRedoStack().length&&this.parent.formatter.saveData(),this.pageX=this.getPointX(e),this.pageY=this.getPointY(e),e.preventDefault(),e.stopImmediatePropagation(),this.resizeBtnInit(),this.quickToolObj&&this.quickToolObj.imageQTBar.hidePopup(),r.classList.contains("e-rte-topLeft")&&(this.resizeBtnStat.topLeft=!0),r.classList.contains("e-rte-topRight")&&(this.resizeBtnStat.topRight=!0),r.classList.contains("e-rte-botLeft")&&(this.resizeBtnStat.botLeft=!0),r.classList.contains("e-rte-botRight")&&(this.resizeBtnStat.botRight=!0),t.Browser.isDevice&&this.contentModule.getEditPanel().contains(this.imgResizeDiv)&&!this.imgResizeDiv.classList.contains("e-mob-span"))t.addClass([this.imgResizeDiv],"e-mob-span");else{var s={event:e,requestType:"images"};this.parent.trigger(pe,s,function(e){e.cancel&&i.cancelResizeAction()})}t.EventHandler.add(this.contentModule.getDocument(),t.Browser.touchEndEvent,this.resizeEnd,this)}}},n.prototype.imageClick=function(e){t.Browser.isDevice&&("IMG"===e.target.tagName&&"A"===e.target.parentElement.tagName||"IMG"===e.target.tagName?(this.contentModule.getEditPanel().setAttribute("contenteditable","false"),e.target.focus()):this.parent.readonly||this.contentModule.getEditPanel().setAttribute("contenteditable","true")),"IMG"===e.target.tagName&&"A"===e.target.parentElement.tagName&&e.preventDefault()},n.prototype.onCutHandler=function(){this.imgResizeDiv&&this.contentModule.getEditPanel().contains(this.imgResizeDiv)&&this.cancelResizeAction()},n.prototype.imageResize=function(e){this.resizeBtnInit(),this.imgEle=e,t.addClass([this.imgEle],"e-resize"),this.imgResizeDiv=this.parent.createElement("span",{className:"e-img-resize "+this.parent.cssClass,id:this.rteID+"_imgResize"}),this.imgResizeDiv.appendChild(this.parent.createElement("span",{className:"e-rte-imageboxmark e-rte-topLeft "+this.parent.cssClass,styles:"cursor: nwse-resize"})),this.imgResizeDiv.appendChild(this.parent.createElement("span",{className:"e-rte-imageboxmark e-rte-topRight "+this.parent.cssClass,styles:"cursor: nesw-resize"})),this.imgResizeDiv.appendChild(this.parent.createElement("span",{className:"e-rte-imageboxmark e-rte-botLeft "+this.parent.cssClass,styles:"cursor: nesw-resize"})),this.imgResizeDiv.appendChild(this.parent.createElement("span",{className:"e-rte-imageboxmark e-rte-botRight "+this.parent.cssClass,styles:"cursor: nwse-resize"})),t.Browser.isDevice&&t.addClass([this.imgResizeDiv],"e-mob-rte"),e.style.outline="2px solid #4a90e2",this.imgResizePos(e,this.imgResizeDiv),this.resizeImgDupPos(e),this.contentModule.getEditPanel().appendChild(this.imgResizeDiv),t.EventHandler.add(this.contentModule.getDocument(),t.Browser.touchMoveEvent,this.resizing,this)},n.prototype.getPointX=function(e){return e.touches&&e.touches.length?e.touches[0].pageX:e.pageX},n.prototype.getPointY=function(e){return e.touches&&e.touches.length?e.touches[0].pageY:e.pageY},n.prototype.imgResizePos=function(e,n){var i=this.calcPos(e),r=i.top,o=i.left,s=e.width,a=e.height,l=t.Browser.isDevice?4*parseInt(e.style.outline.slice(-3),10)+2:2*parseInt(e.style.outline.slice(-3),10)+2,d=t.Browser.isDevice?0:2;n.querySelector(".e-rte-botLeft").style.left=o-l+"px",n.querySelector(".e-rte-botLeft").style.top=a-l+r+"px",n.querySelector(".e-rte-botRight").style.left=s-(l-d)+o+"px",n.querySelector(".e-rte-botRight").style.top=a-l+r+"px",n.querySelector(".e-rte-topRight").style.left=s-(l-d)+o+"px",n.querySelector(".e-rte-topRight").style.top=r-l+"px",n.querySelector(".e-rte-topLeft").style.left=o-l+"px",n.querySelector(".e-rte-topLeft").style.top=r-l+"px"},n.prototype.calcPos=function(e){for(var n,i={top:0,left:0},r=e.ownerDocument,o=(e.offsetParent&&(e.offsetParent.classList.contains("e-img-caption")||["TD","TH","TABLE","A"].indexOf(e.offsetParent.tagName)>-1)?t.closest(e,"#"+this.parent.getID()+"_rte-edit-view"):e.offsetParent)||r.documentElement;o&&(o===r.body||o===r.documentElement)&&"static"===o.style.position;)o=o.parentNode;return o&&o!==e&&1===o.nodeType&&(i=o.getBoundingClientRect()),e.offsetParent&&e.offsetParent.classList.contains("e-img-caption")?(n=e.getBoundingClientRect(),{top:n.top-i.top,left:n.left-i.left}):{top:e.offsetTop,left:e.offsetLeft}},n.prototype.setAspectRatio=function(e,n,i,r){if(!t.isNullOrUndefined(e.width)){var o=""!==e.style.width?e.style.width.match(/^\d+(\.\d*)?%$/g)?parseFloat(e.style.width):parseInt(e.style.width,10):e.width,s=""!==e.style.height?parseInt(e.style.height,10):e.height;if(o>s)if(e.style.minWidth=0===this.parent.insertImageSettings.minWidth?"20px":t.formatUnit(this.parent.insertImageSettings.minWidth),this.parent.insertImageSettings.resizeByPercent){if(0!==parseInt(""+e.getBoundingClientRect().width,10)&&0!==parseInt(""+o,10)){var a=(e.offsetWidth+this.mouseX)/e.offsetWidth*("NaN"==parseFloat(e.style.width).toString()?e.offsetWidth/parseFloat(getComputedStyle(this.parent.element).width)*100:parseFloat(e.style.width));e.style.width=(a>3?a:3)+"%"}else e.style.width=this.pixToPerc(o/s*i,e.previousElementSibling||e.parentElement)+"%";e.style.height=null,e.removeAttribute("height")}else if(""===e.style.width&&""!==e.style.height)e.style.height=i+"px";else if(""!==e.style.width&&""===e.style.height){var l=o/s*i+o/s<this.parent.inputElement.getBoundingClientRect().right-32?o/s*i+o/s:this.parent.inputElement.getBoundingClientRect().right-32;e.style.width=l.toString()+"px"}else if(""!==e.style.width){l=o/s*i<this.parent.inputElement.getBoundingClientRect().right-32?o/s*i:this.parent.inputElement.getBoundingClientRect().right-32;e.style.width=l+"px",e.style.height=i+"px"}else this.parent.iframeSettings.enable?e.setAttribute("width",(e.width+this.mouseX).toString()):e.setAttribute("width",(e.offsetWidth+this.mouseX).toString());else if(s>o)if(this.parent.insertImageSettings.resizeByPercent){if(0!==parseInt(""+e.getBoundingClientRect().width,10)&&0!==parseInt(""+o,10)){a=(e.offsetWidth+this.mouseX)/e.offsetWidth*("NaN"==parseFloat(e.style.width).toString()?e.offsetWidth/parseFloat(getComputedStyle(this.parent.element).width)*100:parseFloat(e.style.width));e.style.width=(a>3?a:3)+"%"}else e.style.width=this.pixToPerc(n/s*i,e.previousElementSibling||e.parentElement)+"%";e.style.height=null,e.removeAttribute("height")}else""!==e.style.width?(e.style.width=n+"px",e.style.height=s/o*n+"px"):e.setAttribute("width",this.resizeBtnStat.botRight?(this.getPointX(r.event)-e.getBoundingClientRect().left).toString():n.toString());else this.parent.insertImageSettings.resizeByPercent?(e.style.width=this.pixToPerc(n,e.previousElementSibling||e.parentElement)+"%",e.style.height=null,e.removeAttribute("height")):(e.style.width=n+"px",e.style.height=n+"px")}},n.prototype.pixToPerc=function(e,t){return e/parseFloat(getComputedStyle(t).width)*100},n.prototype.imgDupMouseMove=function(e,n,i){var r=this,o={event:i,requestType:"images"};this.parent.trigger(he,o,function(i){if(i.cancel)r.cancelResizeAction();else{if(parseInt(r.parent.insertImageSettings.minWidth,10)>=parseInt(e,10)||parseInt(r.parent.getInsertImgMaxWidth(),10)<=parseInt(e,10)&&t.isNullOrUndefined(r.imgEle.style.width))return;if(!r.parent.insertImageSettings.resizeByPercent&&(parseInt(r.parent.insertImageSettings.minHeight,10)>=parseInt(n,10)||parseInt(r.parent.insertImageSettings.maxHeight,10)<=parseInt(n,10)))return;r.imgEle.parentElement.style.cursor="pointer",r.setAspectRatio(r.imgEle,parseInt(e,10),parseInt(n,10),o),r.resizeImgDupPos(r.imgEle),r.imgResizePos(r.imgEle,r.imgResizeDiv),r.parent.setContentHeight("",!1)}})},n.prototype.resizing=function(e){this.imgEle.offsetWidth>=this.parent.getInsertImgMaxWidth()?this.imgEle.style.maxHeight=this.imgEle.offsetHeight+"px":t.isNullOrUndefined(this.parent.insertImageSettings.maxHeight)&&(this.imgEle.style.maxHeight=""),this.imgEle.style.maxWidth=this.parent.getInsertImgMaxWidth()+"px";var n=this.getPointX(e),i=this.getPointY(e),r=this.resizeBtnStat.botLeft||this.resizeBtnStat.topLeft?-(n-this.pageX):n-this.pageX,o=this.resizeBtnStat.topLeft||this.resizeBtnStat.topRight?-(i-this.pageY):i-this.pageY,s=parseInt(this.imgDupPos.width,10)+r,a=parseInt(this.imgDupPos.height,10)+o;this.mouseX=r,this.pageX=n,this.pageY=i,this.resizeBtnStat.botRight?this.imgDupMouseMove(s+"px",a+"px",e):this.resizeBtnStat.botLeft?this.imgDupMouseMove(s+"px",a+"px",e):this.resizeBtnStat.topRight?this.imgDupMouseMove(s+"px",a+"px",e):this.resizeBtnStat.topLeft&&this.imgDupMouseMove(s+"px",a+"px",e)},n.prototype.cancelResizeAction=function(){t.EventHandler.remove(this.contentModule.getDocument(),t.Browser.touchMoveEvent,this.resizing),t.EventHandler.remove(this.contentModule.getDocument(),t.Browser.touchEndEvent,this.resizeEnd),this.imgEle&&this.imgResizeDiv&&this.contentModule.getEditPanel().contains(this.imgResizeDiv)&&(t.detach(this.imgResizeDiv),this.imgEle.style.outline="",this.imgResizeDiv=null,this.pageX=null,this.pageY=null)},n.prototype.resizeImgDupPos=function(e){this.imgDupPos={width:""!==e.style.width&&this.parent.insertImageSettings&&!this.parent.insertImageSettings.resizeByPercent?this.imgEle.style.width:e.width+"px",height:""!==e.style.height?this.imgEle.style.height:e.height+"px"}},n.prototype.resizeBtnInit=function(){return this.resizeBtnStat={botLeft:!1,botRight:!1,topRight:!1,topLeft:!1}},n.prototype.onToolbarAction=function(e){I()&&this.parent.notify(Ie,{});switch(e.args.item.subCommand){case"Replace":this.parent.fileManagerSettings.enable?this.parent.notify(yt,e):this.parent.notify(Se,e);break;case"Caption":this.parent.notify(Le,e);break;case"InsertLink":this.parent.notify(Te,e);break;case"AltText":this.parent.notify(we,e);break;case"Remove":this.parent.notify(Oe,e);break;case"Dimension":this.parent.notify(xe,e);break;case"OpenImageLink":this.openImgLink(e);break;case"EditImageLink":this.editImgLink(e);break;case"RemoveImageLink":this.removeImgLink(e)}},n.prototype.openImgLink=function(e){var t=""===e.selectParent[0].parentNode.target?"_self":"_blank";this.parent.formatter.process(this.parent,e.args,e.args,{url:e.selectParent[0].parentNode.href,target:t,selectNode:e.selectNode,subCommand:e.args.item.subCommand})},n.prototype.editImgLink=function(e){var t=e.selectParent[0].parentNode,n=this.i10n.getConstant("dialogUpdate"),i={url:t.href,target:t.target,header:"Edit Link",btnText:n};this.insertImgLink(e,i)},n.prototype.removeImgLink=function(e){t.Browser.isIE&&this.contentModule.getEditPanel().focus(),e.selection.restore();var n=!(!this.contentModule.getEditPanel().contains(this.captionEle)||!t.select("a",this.captionEle)),i=n?[this.captionEle]:[e.selectNode[0].parentElement];this.parent.formatter.process(this.parent,e.args,e.args,{insertElement:e.selectNode[0],selectParent:i,selection:e.selection,subCommand:e.args.item.subCommand}),this.quickToolObj&&document.body.contains(this.quickToolObj.imageQTBar.element)&&(this.quickToolObj.imageQTBar.hidePopup(),t.isNullOrUndefined(e.selectParent)||t.removeClass([e.selectParent[0]],"e-img-focus")),n&&t.select(".e-img-inner",this.captionEle).focus()},n.prototype.onKeyDown=function(e){var n,i,r,o,s=e.args;this.deletedImg=[];var a;if("HTML"===this.parent.editorMode&&(a=(n=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument())).startContainer===n.endContainer&&n.startOffset===n.endOffset),!a&&"HTML"===this.parent.editorMode&&[27,112,113,114,115,116,117,118,119,120,121,122,123,44,45,9,16,17,18,19,20,33,34,35,36,37,38,39,40,91,92,93,144,145,182,183].indexOf(s.which)<0)for(var l=this.parent.formatter.editorManager.nodeSelection.getNodeCollection(n),d=0;d<l.length;d++)"IMG"===l[d].nodeName&&this.deletedImg.push(l[d]);if("HTML"===this.parent.editorMode&&(8===s.which&&"Backspace"===s.code||46===s.which&&"Delete"===s.code)){var c=n.startContainer===n.endContainer&&n.startOffset===n.endOffset;8===s.which&&"Backspace"===s.code&&c?this.checkImageBack(n):46===s.which&&"Delete"===s.code&&c&&this.checkImageDel(n)}if(!t.isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection)&&"KeyK"!==s.code&&(n=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument()),i=this.parent.formatter.editorManager.nodeSelection.save(n,this.parent.contentModule.getDocument()),r=this.parent.formatter.editorManager.nodeSelection.getNodeCollection(n),o=this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(n),!s.ctrlKey&&s.key&&(1===s.key.length||"enter"===s.action)&&"IMG"===o[0].tagName&&o[0].parentElement)){var p=o[0].parentElement.childNodes[0];this.contentModule.getEditPanel().querySelector(".e-img-resize")&&this.removeResizeEle(),this.parent.formatter.editorManager.nodeSelection.setSelectionText(this.contentModule.getDocument(),p,p,p.textContent.length,p.textContent.length),t.removeClass([o[0]],"e-img-focus"),this.quickToolObj.imageQTBar.hidePopup()}if(!s.ctrlKey||89!==s.keyCode&&90!==s.keyCode||this.undoStack({subCommand:90===s.keyCode?"undo":"redo"}),8===s.keyCode||46===s.keyCode){if(r&&"IMG"===r[0].nodeName&&r.length<1){s.preventDefault();var h={selectNode:r,selection:i,selectParent:o,args:{item:{command:"Images",subCommand:"Remove"},originalEvent:s}};this.deleteImg(h,s.keyCode)}this.parent.contentModule.getEditPanel().querySelector(".e-img-resize")&&this.removeResizeEle()}switch("Backspace"===s.code&&(s.action="backspace"),s.action){case"escape":t.isNullOrUndefined(this.dialogObj)||this.dialogObj.close();break;case"backspace":case"delete":for(d=0;d<this.deletedImg.length;d++){var u=this.deletedImg[d].src;this.imageRemovePost(u)}"Markdown"!==this.parent.editorMode&&(3===n.startContainer.nodeType?"Backspace"===s.code?n.startContainer.previousElementSibling&&0===n.startOffset&&n.startContainer.previousElementSibling.classList.contains(mn)&&n.startContainer.previousElementSibling.classList.contains(fn)&&t.detach(n.startContainer.previousElementSibling):n.startContainer.nextElementSibling&&n.endContainer.textContent.length===n.endOffset&&n.startContainer.nextElementSibling.classList.contains(mn)&&n.startContainer.nextElementSibling.classList.contains(fn)&&t.detach(n.startContainer.nextElementSibling):1===n.startContainer.nodeType&&n.startContainer.querySelector("."+mn+"."+fn)?t.detach(n.startContainer.querySelector("."+mn+"."+fn)):1===n.startContainer.nodeType&&n.startContainer.querySelector("."+mn+"."+un)&&t.detach(n.startContainer.querySelector("."+mn+"."+un)));break;case"insert-image":this.openDialog(!0,s,i,r,o),s.preventDefault()}},n.prototype.openDialog=function(e,n,i,r,o){var s,a,l,d;e||t.isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection)?(a=i,l=r,d=o):(s=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument()),a=this.parent.formatter.editorManager.nodeSelection.save(s,this.parent.contentModule.getDocument()),l=this.parent.formatter.editorManager.nodeSelection.getNodeCollection(s),d=this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(s)),"HTML"===this.parent.editorMode?this.insertImage({args:{item:{command:"Images",subCommand:"Image"},originalEvent:n},selectNode:l,selection:a,selectParent:d}):this.insertImage({args:{item:{command:"Images",subCommand:"Image"},originalEvent:n},member:"image",text:this.parent.formatter.editorManager.markdownSelection.getSelectedText(this.parent.contentModule.getEditPanel()),module:"Markdown",name:"insertImage"})},n.prototype.showDialog=function(){this.openDialog(!1),this.setCssClass({cssClass:this.parent.cssClass})},n.prototype.closeDialog=function(){this.dialogObj&&this.dialogObj.hide({returnValue:!0})},n.prototype.onKeyUp=function(e){if(!t.isNullOrUndefined(this.deletedImg)&&this.deletedImg.length>0)for(var n=0;n<this.deletedImg.length;n++){var i={element:this.deletedImg[n],src:this.deletedImg[n].getAttribute("src")};this.parent.trigger(gt,i)}},n.prototype.checkImageBack=function(e){"#text"!==e.startContainer.nodeName||0!==e.startOffset||t.isNullOrUndefined(e.startContainer.previousSibling)||"IMG"!==e.startContainer.previousSibling.nodeName?"#text"===e.startContainer.nodeName||t.isNullOrUndefined(e.startContainer.childNodes[e.startOffset-1])||"IMG"!==e.startContainer.childNodes[e.startOffset-1].nodeName||this.deletedImg.push(e.startContainer.childNodes[e.startOffset-1]):this.deletedImg.push(e.startContainer.previousSibling)},n.prototype.checkImageDel=function(e){"#text"!==e.startContainer.nodeName||e.startOffset!==e.startContainer.textContent.length||t.isNullOrUndefined(e.startContainer.nextSibling)||"IMG"!==e.startContainer.nextSibling.nodeName?"#text"===e.startContainer.nodeName||t.isNullOrUndefined(e.startContainer.childNodes[e.startOffset])||"IMG"!==e.startContainer.childNodes[e.startOffset].nodeName||this.deletedImg.push(e.startContainer.childNodes[e.startOffset]):this.deletedImg.push(e.startContainer.nextSibling)},n.prototype.alignmentSelect=function(e){var n=e.item;if(document.body.contains(document.body.querySelector(".e-rte-quick-toolbar"))&&"Images"===n.command){var i=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument()),r=this.parent.formatter.editorManager.nodeSelection.getNodeCollection(i),o={args:e,selectNode:r="IMG"===r[0].nodeName?r:[this.imgEle]};switch(0===this.parent.formatter.getUndoRedoStack().length&&this.parent.formatter.saveData(),n.subCommand){case"JustifyLeft":this.alignImage(o,"JustifyLeft");break;case"JustifyCenter":this.alignImage(o,"JustifyCenter");break;case"JustifyRight":this.alignImage(o,"JustifyRight");break;case"Inline":this.inline(o);break;case"Break":this.break(o)}this.quickToolObj&&document.body.contains(this.quickToolObj.imageQTBar.element)&&(this.quickToolObj.imageQTBar.hidePopup(),t.removeClass([r[0]],"e-img-focus")),this.cancelResizeAction()}},n.prototype.imageWithLinkQTBarItemUpdate=function(){for(var e=this.quickToolObj.imageQTBar.toolbarElement.querySelectorAll(".e-toolbar-item"),n=0;n<e.length;n++)e[n].getAttribute("title")===this.i10n.getConstant("openLink")||e[n].getAttribute("title")===this.i10n.getConstant("editLink")||e[n].getAttribute("title")===this.i10n.getConstant("removeLink")?(t.addClass([e[n]],"e-link-groups"),e[n].style.display="none"):"Insert Link"===e[n].getAttribute("title")?e[n].style.display="":e[n].classList.contains("e-rte-horizontal-separator")&&(e[n],t.detach(e[n]));var i=this.quickToolObj.imageQTBar.toolbarElement.querySelectorAll(".e-toolbar-item:not(.e-link-groups)");this.quickToolObj.imageQTBar.addQTBarItem(["-"],Math.round(i.length/2))},n.prototype.showImageQuickToolbar=function(e){var n=this;if(!("Images"!==e.type||t.isNullOrUndefined(this.parent.quickToolbarModule)||t.isNullOrUndefined(this.parent.quickToolbarModule.imageQTBar)||t.isNullOrUndefined(e.args))){this.quickToolObj=this.parent.quickToolbarModule;var i=e.args,r=e.elements;[].forEach.call(e.elements,function(e,t){0===t&&(r=e)}),r&&!t.closest(r,"a")&&this.imageWithLinkQTBarItemUpdate(),"IMG"===r.nodeName&&t.addClass([r],["e-img-focus"]);var o=this.parent.iframeSettings.enable?window.pageYOffset+this.parent.element.getBoundingClientRect().top+i.clientY:i.pageY;this.parent.quickToolbarModule.imageQTBar&&(e.isNotify?setTimeout(function(){n.parent.formatter.editorManager.nodeSelection.Clear(n.contentModule.getDocument()),n.parent.formatter.editorManager.nodeSelection.setSelectionContents(n.contentModule.getDocument(),r),n.quickToolObj.imageQTBar.showPopup(i.pageX,o,r)},400):this.quickToolObj.imageQTBar.showPopup(i.pageX,o,r))}},n.prototype.hideImageQuickToolbar=function(){t.isNullOrUndefined(this.contentModule.getEditPanel().querySelector(".e-img-focus"))||(t.removeClass([this.contentModule.getEditPanel().querySelector(".e-img-focus")],"e-img-focus"),this.quickToolObj&&this.quickToolObj.imageQTBar&&document.body.contains(this.quickToolObj.imageQTBar.element)&&this.quickToolObj.imageQTBar.hidePopup())},n.prototype.editAreaClickHandler=function(n){if(this.parent.readonly)this.hideImageQuickToolbar();else{var i=n.args,r=this.parent.quickToolbarSettings.showOnRightClick;if(2===i.which||r&&1===i.which||!r&&3===i.which)r&&1===i.which&&!t.isNullOrUndefined(i.target)&&"IMG"===i.target.tagName&&(this.parent.formatter.editorManager.nodeSelection.Clear(this.contentModule.getDocument()),this.parent.formatter.editorManager.nodeSelection.setSelectionContents(this.contentModule.getDocument(),i.target));else if("HTML"===this.parent.editorMode&&this.parent.quickToolbarModule&&this.parent.quickToolbarModule.imageQTBar){this.quickToolObj=this.parent.quickToolbarModule;var o=i.target;this.contentModule=this.rendererFactory.getRenderer(e.RenderType.Content);var s=this.quickToolObj.imageQTBar.element.classList.contains("e-rte-pop");if("IMG"===o.nodeName&&this.parent.quickToolbarModule){if(s)return;this.parent.formatter.editorManager.nodeSelection.Clear(this.contentModule.getDocument()),this.parent.formatter.editorManager.nodeSelection.setSelectionContents(this.contentModule.getDocument(),o),I()&&this.parent.notify(Re,n),t.addClass([o],"e-img-focus");var a=this.quickToolObj.imageQTBar.toolbarElement.querySelectorAll(".e-toolbar-item");if(t.closest(o,"a")){for(var l=0;l<a.length;l++)a[l].getAttribute("title")===this.i10n.getConstant("openLink")||a[l].getAttribute("title")===this.i10n.getConstant("editLink")||a[l].getAttribute("title")===this.i10n.getConstant("removeLink")?(a[l].style.display="",t.removeClass([a[l]],"e-link-groups")):"Insert Link"===a[l].getAttribute("title")?a[l].style.display="none":a[l].classList.contains("e-rte-horizontal-separator")&&(a[l],t.detach(a[l]));var d=this.quickToolObj.imageQTBar.toolbarElement.querySelectorAll(".e-toolbar-item:not(.e-link-groups)");this.quickToolObj.imageQTBar.addQTBarItem(["-"],Math.round(d.length/2))}else t.closest(o,"a")||this.imageWithLinkQTBarItemUpdate();this.showImageQuickToolbar({args:i,type:"Images",elements:[i.target]})}else this.hideImageQuickToolbar()}}},n.prototype.insertImgLink=function(e,n){var i=this;if("IMG"===e.selectNode[0].nodeName&&(this.imagDialog(e),!t.isNullOrUndefined(this.dialogObj))){var r=this.parent.createElement("div",{className:"e-img-linkwrap "+this.parent.cssClass}),o=this.i10n.getConstant("linkurl"),a=N('<div class="e-rte-field '+this.parent.cssClass+'"><input type="text" data-role ="none" class="e-input e-img-link '+this.parent.cssClass+'" spellcheck="false" placeholder="'+o+'"/></div><div class="e-rte-label"></div><div class="e-rte-field"><input type="checkbox" class="e-rte-linkTarget '+this.parent.cssClass+'" data-role ="none"></div>');r.appendChild(a);var l=r.querySelector(".e-rte-linkTarget"),d=r.querySelector(".e-img-link"),c=this.i10n.getConstant("linkOpenInNewWindow");this.checkBoxObj=new s.CheckBox({label:c,checked:!0,enableRtl:this.parent.enableRtl,cssClass:this.parent.cssClass,change:function(e){p=e.checked?"_blank":null}}),this.checkBoxObj.isStringTemplate=!0,this.checkBoxObj.createElement=this.parent.createElement,this.checkBoxObj.appendTo(l);var p=this.checkBoxObj.checked?"_blank":null,h=this.i10n.getConstant("dialogUpdate"),u={args:e.args,selfImage:this,selection:e.selection,selectNode:e.selectNode,selectParent:e.selectParent,link:d,target:p};this.dialogObj.setProperties({height:"inherit",width:"290px",header:this.parent.localeObj.getConstant("imageInsertLinkHeader"),content:r,position:{X:"center",Y:"center"},buttons:[{click:function(e){i.insertlink(u)},buttonModel:{content:h,cssClass:"e-flat e-update-link "+this.parent.cssClass,isPrimary:!0}}],cssClass:this.dialogObj.cssClass+" e-rte-img-link-dialog"}),t.isNullOrUndefined(this.parent.cssClass)||this.dialogObj.setProperties({cssClass:this.parent.cssClass}),t.isNullOrUndefined(n)||(d.value=n.url,n.target?this.checkBoxObj.checked=!0:this.checkBoxObj.checked=!1,this.dialogObj.header=n.header),this.dialogObj.element.style.maxHeight="inherit",this.dialogObj.content.querySelector("input").focus()}},n.prototype.insertAltText=function(e){var n=this;if("IMG"===e.selectNode[0].nodeName){this.imagDialog(e);var i=this.i10n.getConstant("altText");if(!t.isNullOrUndefined(this.dialogObj)){var r=this.parent.createElement("div",{className:"e-img-altwrap "+this.parent.cssClass}),o=this.i10n.getConstant("alternateHeader"),s=this.i10n.getConstant("dialogUpdate"),a=null===e.selectNode[0].getAttribute("alt")?"":e.selectNode[0].getAttribute("alt"),l=N('<div class="e-rte-field '+this.parent.cssClass+'"><input type="text" spellcheck="false" value="'+a+'" class="e-input e-img-alt '+this.parent.cssClass+'" placeholder="'+i+'"/></div>');r.appendChild(l);var d=r.querySelector(".e-img-alt"),c={args:e.args,selfImage:this,selection:e.selection,selectNode:e.selectNode,alt:d};this.dialogObj.setProperties({height:"inherit",width:"290px",header:o,content:r,position:{X:"center",Y:"center"},buttons:[{click:function(e){n.insertAlt(c)},buttonModel:{content:s,cssClass:"e-flat e-update-alt "+this.parent.cssClass,isPrimary:!0}}],cssClass:this.dialogObj.cssClass+" e-rte-img-alt-dialog"}),t.isNullOrUndefined(this.parent.cssClass)||this.dialogObj.setProperties({cssClass:this.parent.cssClass}),this.dialogObj.element.style.maxHeight="inherit",this.dialogObj.content.querySelector("input").focus()}}},n.prototype.insertAlt=function(e){if(!t.isNullOrUndefined(e.alt)){e.selection.restore(),0===this.parent.formatter.getUndoRedoStack().length&&this.parent.formatter.saveData();var n=e.alt.value;this.parent.formatter.process(this.parent,e.args,e.args,{altText:n,selectNode:e.selectNode,subCommand:e.args.item.subCommand}),this.dialogObj.hide({returnValue:!1})}},n.prototype.insertlink=function(e){if("IMG"===e.selectNode[0].nodeName){var n=e.link.value;if(""===n)return t.addClass([e.link],"e-error"),e.link.setSelectionRange(0,n.length),void e.link.focus();this.isUrl(n)?t.removeClass([e.link],"e-error"):n="http://"+n;var i=e.selfImage;if("HTML"===i.parent.editorMode&&e.selection.restore(),0===i.parent.formatter.getUndoRedoStack().length&&i.parent.formatter.saveData(),"A"===e.selectNode[0].parentElement.nodeName)return i.parent.formatter.process(i.parent,e.args,e.args,{url:n,target:i.checkBoxObj.checked?"_blank":null,selectNode:e.selectNode,subCommand:e.args.item.subCommand}),void i.dialogObj.hide({returnValue:!0});i.parent.formatter.process(i.parent,e.args,e.args,{url:n,target:i.checkBoxObj.checked?"_blank":null,selectNode:e.selectNode,subCommand:e.args.item.subCommand,selection:e.selection});var r=t.closest(e.selectNode[0],".e-img-caption");r&&t.select(".e-img-inner",r).focus(),r&&t.select(".e-img-inner",r).focus(),i.dialogObj.hide({returnValue:!1})}},n.prototype.isUrl=function(e){return/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/gi.test(e)},n.prototype.deleteImg=function(e,n){if("IMG"===e.selectNode[0].nodeName){var i={element:e.selectNode[0],src:e.selectNode[0].getAttribute("src")};0===this.parent.formatter.getUndoRedoStack().length&&this.parent.formatter.saveData(),e.selection.restore(),this.contentModule.getEditPanel().querySelector(".e-img-resize")&&this.removeResizeEle(),this.parent.formatter.process(this.parent,e.args,e.args,{selectNode:e.selectNode,captionClass:mn,subCommand:e.args.item.subCommand}),this.imageRemovePost(i.src),this.quickToolObj&&document.body.contains(this.quickToolObj.imageQTBar.element)&&this.quickToolObj.imageQTBar.hidePopup(),this.cancelResizeAction(),t.isNullOrUndefined(n)&&this.parent.trigger(gt,i)}},n.prototype.imageRemovePost=function(e){var n=this,i="";if(!t.isNullOrUndefined(this.parent.insertImageSettings.removeUrl)&&""!==this.parent.insertImageSettings.removeUrl){i=e.indexOf("http://")>-1||e.indexOf("https://")>-1?e:new URL(e,document.baseURI).href,this.removingImgName=i.replace(/^.*[\\\/]/,"");var r=new XMLHttpRequest;r.addEventListener("readystatechange",function(){4==this.readyState&&200==this.status&&n.triggerPost(this.response)}),r.open("GET",i),r.responseType="blob",r.send()}},n.prototype.triggerPost=function(e){var n=this.parent.insertImageSettings.removeUrl;if(!t.isNullOrUndefined(n)&&""!==n){var i=new File([e],this.removingImgName),r=new t.Ajax(n,"POST",!0,null),o=new FormData;o.append("UploadFiles",i),r.send(o)}},n.prototype.caption=function(e){var n=e.selectNode[0];if("IMG"===n.nodeName){e.selection.restore(),0===this.parent.formatter.getUndoRedoStack().length&&this.parent.formatter.saveData(),this.cancelResizeAction(),t.addClass([n],"e-rte-image");var i=e.args.item?e.args.item.subCommand:"Caption";if(t.isNullOrUndefined(t.closest(n,"."+mn))){this.captionEle=this.parent.createElement("span",{className:mn+" "+gn+" "+this.parent.cssClass,attrs:{contenteditable:"false",draggable:"false",style:"width:"+this.parent.insertImageSettings.width}});var r=this.parent.createElement("span",{className:"e-img-wrap "+this.parent.cssClass}),o=this.parent.createElement("span",{className:"e-img-inner "+this.parent.cssClass,attrs:{contenteditable:"true"}}),s=e.selectNode[0].parentElement;"A"===s.tagName&&s.setAttribute("contenteditable","true"),r.appendChild("A"===s.tagName?s:e.selectNode[0]),r.appendChild(o);var a=this.i10n.getConstant("imageCaption");o.innerHTML=a,this.captionEle.appendChild(r),n.classList.contains(bn)&&t.addClass([this.captionEle],fn),n.classList.contains(un)&&t.addClass([this.captionEle],un),n.classList.contains(pn)&&t.addClass([this.captionEle],pn),n.classList.contains(cn)&&t.addClass([this.captionEle],cn),n.classList.contains(hn)&&t.addClass([this.captionEle],hn),this.parent.formatter.process(this.parent,e.args,e.args,{insertElement:this.captionEle,selectNode:e.selectNode,subCommand:i}),this.parent.formatter.editorManager.nodeSelection.setSelectionText(this.contentModule.getDocument(),o.childNodes[0],o.childNodes[0],0,o.childNodes[0].textContent.length)}else t.detach(t.closest(n,"."+mn)),t.Browser.isIE&&(this.contentModule.getEditPanel().focus(),e.selection.restore()),"A"===n.parentElement.tagName?this.parent.formatter.process(this.parent,e.args,e.args,{insertElement:n.parentElement,selectNode:e.selectNode,subCommand:i}):this.parent.formatter.process(this.parent,e.args,e.args,{insertElement:n,selectNode:e.selectNode,subCommand:i});this.quickToolObj&&document.body.contains(this.quickToolObj.imageQTBar.element)&&(this.quickToolObj.imageQTBar.hidePopup(),t.removeClass([n],"e-img-focus"))}},n.prototype.imageSize=function(e){var n=this;if("IMG"===e.selectNode[0].nodeName&&(this.imagDialog(e),!t.isNullOrUndefined(this.dialogObj))){var i=this.i10n.getConstant("imageSizeHeader"),r=this.i10n.getConstant("dialogUpdate"),o=this.imgsizeInput(e),s={args:e.args,selfImage:this,selection:e.selection,selectNode:e.selectNode};this.dialogObj.setProperties({height:"inherit",width:"290px",header:i,content:o,position:{X:"center",Y:"center"},buttons:[{click:function(e){n.insertSize(s)},buttonModel:{content:r,cssClass:"e-flat e-update-size "+this.parent.cssClass,isPrimary:!0}}],cssClass:this.dialogObj.cssClass+" e-rte-img-size-dialog"}),t.isNullOrUndefined(this.parent.cssClass)||this.dialogObj.setProperties({cssClass:this.parent.cssClass}),this.dialogObj.element.style.maxHeight="inherit",this.dialogObj.content.querySelector("input").focus()}},n.prototype.break=function(e){if("IMG"===e.selectNode[0].nodeName){var t=e.args.item?e.args.item.subCommand:"Break";this.parent.formatter.process(this.parent,e.args,e.args,{selectNode:e.selectNode,subCommand:t})}},n.prototype.inline=function(e){if("IMG"===e.selectNode[0].nodeName){var t=e.args.item?e.args.item.subCommand:"Inline";this.parent.formatter.process(this.parent,e.args,e.args,{selectNode:e.selectNode,subCommand:t})}},n.prototype.alignImage=function(e,t){var n=e.args.item?e.args.item.subCommand:t;this.parent.formatter.process(this.parent,e.args,e.args,{selectNode:e.selectNode,subCommand:n})},n.prototype.clearDialogObj=function(){this.dialogObj&&(this.dialogObj.destroy(),t.detach(this.dialogObj.element),this.dialogObj=null)},n.prototype.imagDialog=function(e){var n=this;if(this.dialogObj)this.dialogObj.hide({returnValue:!0});else{var i=this.parent.createElement("div",{className:"e-rte-img-dialog "+this.parent.cssClass,id:this.rteID+"_image"});this.parent.element.appendChild(i);var r=this.i10n.getConstant("dialogInsert"),o=this.i10n.getConstant("dialogCancel"),s=this.i10n.getConstant("imageHeader"),a=e.selection,l={selfImage:this,selection:e.selection,args:e.args,selectParent:e.selectParent},d={header:s,cssClass:Tn+" "+this.parent.cssClass,enableRtl:this.parent.enableRtl,locale:this.parent.locale,showCloseIcon:!0,closeOnEscape:!0,width:t.Browser.isDevice?"290px":"340px",height:"inherit",position:{X:"center",Y:t.Browser.isDevice?"center":"top"},isModal:t.Browser.isDevice,buttons:[{click:this.insertImageUrl.bind(l),buttonModel:{content:r,cssClass:"e-flat e-insertImage "+this.parent.cssClass,isPrimary:!0,disabled:!0}},{click:function(e){n.cancelDialog(e)},buttonModel:{cssClass:"e-flat e-cancel "+this.parent.cssClass,content:o}}],target:t.Browser.isDevice?document.body:this.parent.element,animationSettings:{effect:"None"},close:function(e){n.isImgUploaded&&n.uploadObj.removing(),n.parent.isBlur=!1,e&&e.event.returnValue&&("HTML"===n.parent.editorMode?a.restore():n.parent.formatter.editorManager.markdownSelection.restore(n.parent.contentModule.getEditPanel())),n.dialogObj.destroy(),t.detach(n.dialogObj.element),n.dialogRenderObj.close(e),n.dialogObj=null}},c=this.parent.createElement("div",{className:"e-img-content "+this.parent.cssClass});(!t.isNullOrUndefined(this.parent.insertImageSettings.path)&&"Markdown"===this.parent.editorMode||"HTML"===this.parent.editorMode)&&c.appendChild(this.imgUpload(e));var p=this.parent.createElement("div",{className:"e-linkheader "+this.parent.cssClass}),h=this.i10n.getConstant("imageLinkHeader");"HTML"===this.parent.editorMode?p.innerHTML=h:p.innerHTML=this.i10n.getConstant("mdimageLink"),c.appendChild(p),c.appendChild(this.imageUrlPopup(e)),e.selectNode&&"IMG"===e.selectNode[0].nodeName?(d.header=this.parent.localeObj.getConstant("editImageHeader"),d.content=c):d.content=c,this.dialogObj=this.dialogRenderObj.render(d),this.dialogObj.createElement=this.parent.createElement,this.dialogObj.appendTo(i),t.isNullOrUndefined(this.dialogObj)||(e.selectNode&&"IMG"===e.selectNode[0].nodeName&&"insertImage"===e.name&&(this.dialogObj.element.querySelector(".e-insertImage").textContent=this.parent.localeObj.getConstant("dialogUpdate")),i.style.maxHeight="inherit",this.quickToolObj&&(this.quickToolObj.imageQTBar&&document.body.contains(this.quickToolObj.imageQTBar.element)&&(this.quickToolObj.imageQTBar.hidePopup(),t.isNullOrUndefined(e.selectParent)||t.removeClass([e.selectParent[0]],"e-img-focus")),this.quickToolObj.inlineQTBar&&document.body.contains(this.quickToolObj.inlineQTBar.element)&&this.quickToolObj.inlineQTBar.hidePopup()))}},n.prototype.cancelDialog=function(e){this.parent.isBlur=!1,this.dialogObj.hide({returnValue:!0}),this.isImgUploaded&&this.uploadObj.removing()},n.prototype.onDocumentClick=function(e){var n=e.target;"IMG"===n.nodeName&&(this.imgEle=n),this.parent&&("#document"!==n.nodeName&&(this.parent.currentTarget=e.target),!t.isNullOrUndefined(this.dialogObj)&&(!t.closest(n,"[id='"+this.dialogObj.element.id+"']")&&this.parent.toolbarSettings.enable&&this.parent.getToolbarElement()&&!this.parent.getToolbarElement().contains(e.target)||this.parent.getToolbarElement()&&this.parent.getToolbarElement().contains(e.target)&&!t.closest(n,"#"+this.parent.getID()+"_toolbar_Image")&&!n.querySelector("#"+this.parent.getID()+"_toolbar_Image"))&&(e.offsetX>e.target.clientWidth||e.offsetY>e.target.clientHeight||(this.dialogObj.hide({returnValue:!0}),this.parent.isBlur=!0,C(this.parent.element,"focusout"))),this.parent.iframeSettings.enable&&!t.isNullOrUndefined(this.parent.currentTarget)&&"IMG"===this.parent.currentTarget.nodeName||"IMG"===e.target.tagName||!this.imgResizeDiv||this.quickToolObj&&this.quickToolObj.imageQTBar&&this.quickToolObj.imageQTBar.element.contains(e.target)||!this.contentModule.getEditPanel().contains(this.imgResizeDiv)||this.cancelResizeAction(),!this.contentModule.getEditPanel().querySelector(".e-img-resize")||this.parent.iframeSettings.enable&&"IMG"===this.parent.currentTarget.nodeName||("IMG"!==n.tagName&&this.removeResizeEle(),"IMG"===n.tagName||t.isNullOrUndefined(this.imgEle)?t.isNullOrUndefined(this.prevSelectedImgEle)||this.prevSelectedImgEle===n||(this.prevSelectedImgEle.style.outline=""):this.imgEle.style.outline=""))},n.prototype.removeResizeEle=function(){t.EventHandler.remove(this.contentModule.getDocument(),t.Browser.touchMoveEvent,this.resizing),t.EventHandler.remove(this.contentModule.getDocument(),t.Browser.touchEndEvent,this.resizeEnd),t.detach(this.contentModule.getEditPanel().querySelector(".e-img-resize"))},n.prototype.onWindowResize=function(){t.isNullOrUndefined(this.contentModule)||t.isNullOrUndefined(this.contentModule.getEditPanel().querySelector(".e-img-resize"))||this.cancelResizeAction()},n.prototype.imageUrlPopup=function(e){var n=this,i=this.parent.createElement("div",{className:"imgUrl "+this.parent.cssClass}),r=this.i10n.getConstant("imageUrl");return this.inputUrl=this.parent.createElement("input",{className:"e-input e-img-url "+this.parent.cssClass,attrs:{placeholder:r,spellcheck:"false"}}),this.inputUrl.addEventListener("input",function(){t.isNullOrUndefined(n.inputUrl)||(0===n.inputUrl.value.length?n.dialogObj.getButtons(0).element.disabled=!0:n.dialogObj.getButtons(0).element.removeAttribute("disabled"))}),i.appendChild(this.inputUrl),i},n.prototype.insertImageUrl=function(e){var n=this.selfImage;n.isImgUploaded=!1;var i=n.inputUrl.value;if(0===n.parent.formatter.getUndoRedoStack().length&&n.parent.formatter.saveData(),t.isNullOrUndefined(n.uploadUrl)||""===n.uploadUrl.url){if(""!==i){if("HTML"===n.parent.editorMode&&t.isNullOrUndefined(t.closest(this.selection.range.startContainer.parentNode,"[id='"+n.contentModule.getPanel().id+"']"))){n.contentModule.getEditPanel().focus();var r=n.parent.formatter.editorManager.nodeSelection.getRange(n.contentModule.getDocument());this.selection=n.parent.formatter.editorManager.nodeSelection.save(r,n.contentModule.getDocument()),this.selectParent=n.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(r)}var o=/[\w-]+.(jpg|png|jpeg|gif)/g,s=t.isNullOrUndefined(i.match(o))||"HTML"!==n.parent.editorMode?"":i.match(o)[0],a={cssClass:"inline"===n.parent.insertImageSettings.display?bn:un,url:i,selection:this.selection,altText:s,selectParent:this.selectParent,width:{width:n.parent.insertImageSettings.width,minWidth:n.parent.insertImageSettings.minWidth,maxWidth:n.parent.getInsertImgMaxWidth()},height:{height:n.parent.insertImageSettings.height,minHeight:n.parent.insertImageSettings.minHeight,maxHeight:n.parent.insertImageSettings.maxHeight}};n.parent.formatter.process(n.parent,this.args,this.args.originalEvent,a),n.dialogObj.hide({returnValue:!1})}}else n.uploadUrl.cssClass="inline"===n.parent.insertImageSettings.display?bn:un,n.dialogObj.hide({returnValue:!1}),n.parent.formatter.process(n.parent,this.args,this.args.originalEvent,n.uploadUrl),n.uploadUrl.url="",n.contentModule.getEditPanel().querySelector(".e-img-resize")&&(n.imgEle.style.outline="",n.removeResizeEle())},n.prototype.imgsizeInput=function(e){var n=this,i=e.selectNode[0],r=this.i10n.getConstant("imageHeight"),s=this.i10n.getConstant("imageWidth"),a=this.parent.createElement("div",{className:"e-img-sizewrap "+this.parent.cssClass}),l=!t.isNullOrUndefined(this.changedWidthValue)||"auto"!==i.style.width.toString()&&""===i.style.width?t.isNullOrUndefined(this.changedWidthValue)?parseInt(i.getClientRects()[0].width.toString(),10).toString():this.changedWidthValue:i.style.width,d=!t.isNullOrUndefined(this.changedHeightValue)||"auto"!==i.style.height.toString()&&""===i.style.height?t.isNullOrUndefined(this.changedHeightValue)?parseInt(i.getClientRects()[0].height.toString(),10).toString():this.changedHeightValue:i.style.height;this.changedWidthValue=null,this.changedHeightValue=null;var c=N('<div class="e-rte-label '+this.parent.cssClass+'"><label>'+s+'</label></div><div class="e-rte-field '+this.parent.cssClass+'"><input type="text" id="imgwidth" class="e-img-width '+this.parent.cssClass+'" value='+l+' /></div><div class="e-rte-label '+this.parent.cssClass+'"><label>'+r+'</label></div><div class="e-rte-field '+this.parent.cssClass+'"> <input type="text" id="imgheight" class="e-img-height '+this.parent.cssClass+'" value='+d+" /></div>");return a.appendChild(c),this.widthNum=new o.TextBox({value:t.formatUnit(l),enableRtl:this.parent.enableRtl,cssClass:this.parent.cssClass,input:function(e){n.inputWidthValue=t.formatUnit(n.inputValue(e.value))}}),this.widthNum.createElement=this.parent.createElement,this.widthNum.appendTo(a.querySelector("#imgwidth")),this.heightNum=new o.TextBox({value:t.formatUnit(d),enableRtl:this.parent.enableRtl,cssClass:this.parent.cssClass,input:function(e){n.inputHeightValue=t.formatUnit(n.inputValue(e.value))}}),this.heightNum.createElement=this.parent.createElement,this.heightNum.appendTo(a.querySelector("#imgheight")),a},n.prototype.inputValue=function(e){return"auto"===e||-1!==e.indexOf("%")||-1!==e.indexOf("px")||e.match(/(\d+)/)?e:"auto"},n.prototype.insertSize=function(e){e.selection.restore();var t=e.selfImage;0===t.parent.formatter.getUndoRedoStack().length&&t.parent.formatter.saveData();var n=t.dialogObj.element;this.changedWidthValue=this.inputWidthValue,this.changedHeightValue=this.inputHeightValue;var i=n.querySelector(".e-img-width").value,r=n.parentElement.querySelector(".e-img-height").value;t.parent.formatter.process(this.parent,e.args,e.args,{width:i,height:r,selectNode:e.selectNode,subCommand:e.args.item.subCommand}),this.imgResizeDiv&&t.imgResizePos(e.selectNode[0],this.imgResizeDiv),t.dialogObj.hide({returnValue:!0})},n.prototype.insertImage=function(e){if(this.imagDialog(e),!t.isNullOrUndefined(this.dialogObj)){this.dialogObj.element.style.maxHeight="inherit";var n=this.dialogObj.element.querySelector(".e-img-content");!t.isNullOrUndefined(this.parent.insertImageSettings.path)&&"Markdown"===this.parent.editorMode||"HTML"===this.parent.editorMode?document.getElementById(this.rteID+"_insertImage").focus():n.querySelector(".e-img-url").focus()}},n.prototype.imgUpload=function(e){var n,i,r=this,a=this,l=a.parent.iframeSettings.enable;if("HTML"===a.parent.editorMode&&(!l&&t.isNullOrUndefined(t.closest(e.selection.range.startContainer.parentNode,"[id='"+this.parent.contentModule.getPanel().id+"']"))||l&&!c(e.selection.range.startContainer.parentNode.ownerDocument.querySelector("body"),"e-lib"))){this.contentModule.getEditPanel().focus();var d=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument());n=this.parent.formatter.editorManager.nodeSelection.save(d,this.parent.contentModule.getDocument()),i=this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(d)}else n=e.selection,i=e.selectParent;var p=this.parent.createElement("div",{className:"e-img-uploadwrap e-droparea "+this.parent.cssClass}),h=this.i10n.getConstant("imageDeviceUploadMessage"),u=this.i10n.getConstant("imageUploadMessage"),m=this.parent.createElement("span",{className:"e-droptext "+this.parent.cssClass}),g=this.parent.createElement("span",{className:"e-rte-upload-text "+this.parent.cssClass,innerHTML:t.Browser.isDevice?h:u});m.appendChild(g);var f=this.parent.createElement("button",{className:"e-browsebtn "+this.parent.cssClass,id:this.rteID+"_insertImage",attrs:{autofocus:"true",type:"button"}});m.appendChild(f),p.appendChild(m);var b=this.i10n.getConstant("browse");this.browseButton=new s.Button({content:b,enableRtl:this.parent.enableRtl}),this.browseButton.isStringTemplate=!0,this.browseButton.createElement=this.parent.createElement,this.browseButton.appendTo(f);var v=t.Browser.isDevice?m:f;t.EventHandler.add(v,"click",this.fileSelect,this);var y=this.parent.createElement("input",{id:this.rteID+"_upload",attrs:{type:"File",name:"UploadFiles"},className:this.parent.cssClass});p.appendChild(y);var C,N,S,E,T;return this.uploadObj=new o.Uploader({asyncSettings:{saveUrl:this.parent.insertImageSettings.saveUrl,removeUrl:this.parent.insertImageSettings.removeUrl},dropArea:m,multiple:!1,enableRtl:this.parent.enableRtl,cssClass:this.parent.cssClass,allowedExtensions:this.parent.insertImageSettings.allowedTypes.toString(),selected:function(e){a.isImgUploaded=!0,S=e,E=e.filesData,r.parent.isServerRendered&&(S=JSON.parse(JSON.stringify(e)),e.cancel=!0,N=e.filesData,S.filesData=N),r.parent.trigger(ct,S,function(e){if(!e.cancel){if(r.checkExtension(e.filesData[0]),C=e.filesData[0].name,"HTML"===r.parent.editorMode&&t.isNullOrUndefined(r.parent.insertImageSettings.path)){var o=new FileReader;o.addEventListener("load",function(e){var s="Base64"===r.parent.insertImageSettings.saveFormat?o.result:URL.createObjectURL(D(o.result));a.uploadUrl={url:s,selection:n,altText:C,selectParent:i,width:{width:a.parent.insertImageSettings.width,minWidth:a.parent.insertImageSettings.minWidth,maxWidth:a.parent.getInsertImgMaxWidth()},height:{height:a.parent.insertImageSettings.height,minHeight:a.parent.insertImageSettings.minHeight,maxHeight:a.parent.insertImageSettings.maxHeight}},a.inputUrl.setAttribute("disabled","true"),t.isNullOrUndefined(a.parent.insertImageSettings.saveUrl)&&r.isAllowedTypes&&!t.isNullOrUndefined(r.dialogObj)&&r.dialogObj.getButtons(0).element.removeAttribute("disabled")}),o.readAsDataURL(e.filesData[0].rawFile)}r.parent.isServerRendered&&r.uploadObj._internalRenderSelect(e,N)}})},beforeUpload:function(e){r.parent.isServerRendered?((T=JSON.parse(JSON.stringify(e))).filesData=E,e.cancel=!0,r.parent.trigger(pt,T,function(e){e.cancel||(r.uploadObj.currentRequestHeader=e.currentRequest?e.currentRequest:r.uploadObj.currentRequestHeader,r.uploadObj.customFormDatas=e.customFormData&&e.customFormData.length>0?e.customFormData:r.uploadObj.customFormDatas,r.uploadObj.uploadFiles(N,null))})):r.parent.trigger(bt,e)},uploading:function(e){r.parent.isServerRendered||r.parent.trigger(pt,e)},success:function(e){r.parent.trigger(ht,e,function(e){if(!t.isNullOrUndefined(r.parent.insertImageSettings.path)){var o=r.parent.insertImageSettings.path+e.file.name;a.uploadUrl={url:o,selection:n,altText:C,selectParent:i,width:{width:a.parent.insertImageSettings.width,minWidth:a.parent.insertImageSettings.minWidth,maxWidth:a.parent.getInsertImgMaxWidth()},height:{height:a.parent.insertImageSettings.height,minHeight:a.parent.insertImageSettings.minHeight,maxHeight:a.parent.insertImageSettings.maxHeight}},a.inputUrl.setAttribute("disabled","true")}"upload"!==e.operation||t.isNullOrUndefined(r.dialogObj)||r.dialogObj.getButtons(0).element.removeAttribute("disabled")})},failure:function(e){r.parent.trigger(ut,e)},removing:function(){r.parent.trigger(mt,e,function(e){a.isImgUploaded=!1,r.dialogObj.getButtons(0).element.disabled=!0,a.inputUrl.removeAttribute("disabled"),a.uploadUrl&&(a.uploadUrl.url="")})}}),this.uploadObj.isStringTemplate=!0,this.uploadObj.createElement=this.parent.createElement,this.uploadObj.appendTo(y),p},n.prototype.checkExtension=function(e){this.uploadObj.allowedExtensions&&(-1===this.uploadObj.allowedExtensions.toLocaleLowerCase().indexOf(("."+e.type).toLocaleLowerCase())?(this.dialogObj.getButtons(0).element.setAttribute("disabled","disabled"),this.isAllowedTypes=!1):this.isAllowedTypes=!0)},n.prototype.fileSelect=function(){return this.dialogObj.element.getElementsByClassName("e-file-select-wrap")[0].querySelector("button").click(),!1},n.prototype.dragStart=function(e){if("IMG"!==e.target.nodeName)return!0;this.parent.trigger(ve,e,function(t){t.cancel?e.preventDefault():(e.dataTransfer.effectAllowed="copyMove",e.target.classList.add(oi))})},n.prototype.dragEnter=function(e){e.dataTransfer.dropEffect="copy",e.preventDefault()},n.prototype.dragOver=function(e){if(!("edge"===t.Browser.info.name&&e.dataTransfer.items[0].type.split("/")[0].indexOf("image")>-1||t.Browser.isIE&&"Files"===e.dataTransfer.types[0]))return!0;e.preventDefault()},n.prototype.dragDrop=function(e){var n=this;this.parent.trigger(Ct,e,function(e){var i=n.parent.inputElement.ownerDocument.querySelector("."+oi),r=i&&"IMG"===i.tagName||e.dataTransfer.files.length>0;!e.cancel&&r?n.parent.trigger(ve,e,function(i){if(i.cancel)e.preventDefault();else{if(t.closest(e.target,"#"+n.parent.getID()+"_toolbar")||"false"===n.parent.inputElement.contentEditable)return void e.preventDefault();n.parent.element.querySelector(".e-img-resize")&&t.detach(n.imgResizeDiv),e.preventDefault();var r=void 0;n.contentModule.getDocument().caretRangeFromPoint?r=n.contentModule.getDocument().caretRangeFromPoint(e.clientX,e.clientY):e.rangeParent?(r=n.contentModule.getDocument().createRange()).setStart(e.rangeParent,e.rangeOffset):r=n.getDropRange(e.clientX,e.clientY),n.parent.notify(Ve,{range:r});if(n.parent.element.querySelector(".e-droparea"))return;n.insertDragImage(e)}}):r&&e.preventDefault()})},n.prototype.getDropRange=function(e,t){var n=this.contentModule.getDocument().createRange();this.parent.formatter.editorManager.nodeSelection.setRange(this.contentModule.getDocument(),n);var i=this.contentModule.getDocument().elementFromPoint(e,t),r=i.childNodes.length>0?i.childNodes[0]:i,o=0;if("<br>"===this.parent.inputElement.firstChild.innerHTML)n.setStart(r,o),n.setEnd(r,o);else{var s=void 0;do{o++,n.setStart(r,o),n.setEnd(r,o+1),s=n.getBoundingClientRect()}while(s.left<e&&o<r.length-1)}return n},n.prototype.insertDragImage=function(e){var t=this;e.preventDefault();var n=this.parent.element.querySelector(""+ai);this.parent.notify("drop",{args:e}),n&&n.classList.add(sn);var i=this.parent.inputElement.ownerDocument.querySelector("."+oi);if(e.dataTransfer.files.length>0&&null===i){if(e.dataTransfer.files.length>1)return;for(var r=e.dataTransfer.files,o=r[0].name,s=o.substring(o.lastIndexOf(".")),a=this.parent.insertImageSettings.allowedTypes,l=0;l<a.length;l++)if(s.toLocaleLowerCase()===a[l].toLowerCase())if(this.parent.insertImageSettings.saveUrl)this.onSelect(e);else{var d={args:e,text:"",file:r[0]};e.preventDefault(),this.imagePaste(d)}}else{var c=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument());if(i&&"IMG"===i.tagName){i.nextElementSibling&&i.nextElementSibling.classList.contains("e-img-inner")?c.insertNode(i.parentElement.parentElement):c.insertNode(i),i.classList.remove(oi);var p={elements:[i]};i.addEventListener("load",function(){t.parent.trigger(ye,p)}),this.parent.formatter.editorManager.nodeSelection.Clear(this.contentModule.getDocument());d=e;this.resizeStart(d,i),this.hideImageQuickToolbar()}}},n.prototype.onSelect=function(e){var n=this,i=this,r=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument()),o=this.parent.createElement("ul",{className:li});this.parent.element.appendChild(o);var s={name:"",size:0,status:"",statusCode:"",type:"",rawFile:e.dataTransfer.files[0],validationMessages:{}},a=this.parent.createElement("IMG");a.style.opacity="0.5",a.classList.add(ri),a.classList.add(bn),a.classList.add("e-resize");var l=s.rawFile,d=new FileReader;d.addEventListener("load",function(){var e=URL.createObjectURL(D(d.result));a.src="Blob"===i.parent.insertImageSettings.saveFormat?e:d.result}),l&&d.readAsDataURL(l),r.insertNode(a),this.uploadMethod(e,a);var c={elements:[a]};a.addEventListener("load",function(){n.parent.trigger(ye,c)}),t.detach(o)},n.prototype.uploadMethod=function(e,n){var i=this,s=!1,a=this,l=this.parent.createElement("div");this.parent.element.appendChild(l);var d=this.parent.createElement("input",{id:this.rteID+"_upload",attrs:{type:"File",name:"UploadFiles"}}),c=this.parent.iframeSettings.enable?-50:-90;this.popupObj=new r.Popup(l,{relateTo:n,height:"85px",width:"300px",offsetY:c,content:d,viewPortElement:this.parent.element,position:{X:"center",Y:"top"},enableRtl:this.parent.enableRtl,zIndex:10001,close:function(e){i.parent.isBlur=!1,i.popupObj.destroy(),t.detach(i.popupObj.element),i.popupObj=null,i.parent.inlineMode.enable||i.parent.toolbarModule.baseToolbar.toolbarObj.disable(!1)}}),this.popupObj.element.style.display="none",t.addClass([this.popupObj.element],ai),t.addClass([this.popupObj.element],si),t.isNullOrUndefined(this.parent.cssClass)||t.addClass([this.popupObj.element],this.parent.cssClass);var p=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument()),h=e.dataTransfer.files[0].size>1e6?300:100;setTimeout(function(){a.refreshPopup(n)},h);var u,m;this.uploadObj=new o.Uploader({asyncSettings:{saveUrl:this.parent.insertImageSettings.saveUrl,removeUrl:this.parent.insertImageSettings.removeUrl},cssClass:di+" "+this.parent.cssClass,dropArea:this.parent.element,allowedExtensions:this.parent.insertImageSettings.allowedTypes.toString(),removing:function(){i.parent.inputElement.contentEditable="true",s=!1,t.detach(n),i.popupObj.close()},canceling:function(){i.parent.inputElement.contentEditable="true",s=!1,t.detach(n),i.popupObj.close(),i.quickToolObj.imageQTBar.hidePopup(),setTimeout(function(){i.uploadObj.destroy()},900)},beforeUpload:function(e){i.parent.isServerRendered?((m=JSON.parse(JSON.stringify(e))).filesData=u,s=!0,e.cancel=!0,i.parent.trigger(pt,m,function(e){e.cancel||(i.parent.inlineMode.enable||i.parent.toolbarModule.baseToolbar.toolbarObj.disable(!0),i.uploadObj.currentRequestHeader=e.currentRequest?e.currentRequest:i.uploadObj.currentRequestHeader,i.uploadObj.customFormDatas=e.customFormData&&e.customFormData.length>0?e.customFormData:i.uploadObj.customFormDatas,i.uploadObj.uploadFiles(u,null),i.parent.inputElement.contentEditable="false")})):(i.parent.trigger(bt,e),i.parent.inlineMode.enable||i.parent.toolbarModule.baseToolbar.toolbarObj.disable(!0))},uploading:function(e){i.parent.isServerRendered||(s=!0,i.parent.trigger(pt,e,function(e){e.cancel?(t.isNullOrUndefined(n)||t.detach(n),t.isNullOrUndefined(i.popupObj.element)||t.detach(i.popupObj.element)):i.parent.inputElement.contentEditable="false"}))},selected:function(e){s&&(e.cancel=!0),i.parent.isServerRendered&&(u=e.filesData)},failure:function(t){s=!1,i.parent.inputElement.contentEditable="true";var r={args:e,type:"Images",isNotify:void 0,elements:n};setTimeout(function(){i.uploadFailure(n,r,t)},900)},success:function(t){if("cancel"!==t.operation){s=!1,i.parent.inputElement.contentEditable="true";var r={args:e,type:"Images",isNotify:void 0,elements:n};setTimeout(function(){i.uploadSuccess(n,e,r,t)},900)}}}),this.uploadObj.appendTo(this.popupObj.element.childNodes[0]),this.popupObj.element.querySelector(".e-rte-dialog-upload .e-file-select-wrap").style.display="none",p.selectNodeContents(n),this.parent.formatter.editorManager.nodeSelection.setRange(this.contentModule.getDocument(),p)},n.prototype.refreshPopup=function(e){(this.parent.iframeSettings.enable?this.parent.element.offsetTop+e.offsetTop:e.offsetTop)>this.parent.element.offsetTop+this.parent.element.offsetHeight?(this.popupObj.relateTo=this.parent.inputElement,this.popupObj.offsetY=this.parent.iframeSettings.enable?-30:-65,this.popupObj.element.style.display="block"):this.popupObj&&(this.popupObj.refreshPosition(e),this.popupObj.element.style.display="block")},n.prototype.uploadFailure=function(e,n,i){t.detach(e),this.popupObj&&this.popupObj.close(),this.parent.trigger(ut,i),this.uploadObj.destroy()},n.prototype.uploadSuccess=function(e,n,i,r){var o=this;e.style.opacity="1",e.classList.add("e-img-focus"),r.element=e,this.parent.trigger(ht,r,function(n){if(!t.isNullOrUndefined(o.parent.insertImageSettings.path)){var i=o.parent.insertImageSettings.path+n.file.name;e.src=i,e.setAttribute("alt",n.file.name)}}),this.popupObj&&(this.popupObj.close(),this.uploadObj.destroy()),this.showImageQuickToolbar(i),this.resizeStart(n,e)},n.prototype.imagePaste=function(e){var n=this;if(0===e.text.length&&!t.isNullOrUndefined(e.file)){var i=this,r=new FileReader;e.args.preventDefault(),r.addEventListener("load",function(o){var s={cssClass:"inline"===i.parent.insertImageSettings.display?bn:un,url:"Base64"!==n.parent.insertImageSettings.saveFormat&&t.isNullOrUndefined(e.callBack)?URL.createObjectURL(D(r.result)):r.result,width:{width:i.parent.insertImageSettings.width,minWidth:i.parent.insertImageSettings.minWidth,maxWidth:i.parent.getInsertImgMaxWidth()},height:{height:i.parent.insertImageSettings.height,minHeight:i.parent.insertImageSettings.minHeight,maxHeight:i.parent.insertImageSettings.maxHeight}};t.isNullOrUndefined(e.callBack)?(i.parent.formatter.process(i.parent,{item:{command:"Images",subCommand:"Image"}},e.args,s),n.showPopupToolBar(e,s)):e.callBack(s)}),r.readAsDataURL(e.file)}},n.prototype.showPopupToolBar=function(t,n){var i=this,r='img[src="'+n.url+'"]',o=this.parent.inputElement.querySelector(r);this.parent.quickToolbarModule.createQTBar("Image","MultiRow",this.parent.quickToolbarSettings.image,e.RenderType.ImageToolbar);var s={args:t.args,type:"Images",isNotify:void 0,elements:o};o&&setTimeout(function(){i.showImageQuickToolbar(s),i.resizeStart(t.args,o)},0)},n.prototype.destroy=function(){this.prevSelectedImgEle=void 0,this.removeEventListener()},n.prototype.moduleDestroy=function(){this.parent=null},n.prototype.getModuleName=function(){return"image"},n}(),ms=function(){function n(e,t){this.parent=e;var n=t;this.rendererFactory=n.getService("rendererFactory"),this.addEventListener()}return n.prototype.addEventListener=function(){this.parent.on(ke,this.sourceCode,this),this.parent.on(j,this.onInitialEnd,this),this.parent.on(De,this.updateSourceCode,this),this.parent.on(q,this.destroy,this),this.parent.on(tt,this.moduleDestroy,this)},n.prototype.onInitialEnd=function(){this.parent.formatter.editorManager.observer.on(br,this.onKeyDown,this)},n.prototype.removeEventListener=function(){this.unWireEvent(),this.parent.off(ke,this.sourceCode),this.parent.off(De,this.updateSourceCode),this.parent.off(j,this.onInitialEnd),this.parent.off(q,this.destroy),this.parent.off(tt,this.moduleDestroy),this.parent.formatter.editorManager.observer.off(br,this.onKeyDown)},n.prototype.getSourceCode=function(){return this.parent.createElement("textarea",{className:"e-rte-srctextarea "+this.parent.cssClass})},n.prototype.wireEvent=function(e){this.keyboardModule=new or(e,{keyAction:this.previewKeyDown.bind(this),keyConfigs:this.parent.formatter.keyConfig,eventName:"keydown"}),t.EventHandler.add(this.previewElement,"mousedown",this.mouseDownHandler,this)},n.prototype.unWireEvent=function(){this.keyboardModule&&this.keyboardModule.destroy(),this.previewElement&&t.EventHandler.remove(this.previewElement,"mousedown",this.mouseDownHandler)},n.prototype.wireBaseKeyDown=function(){this.parent.keyboardModule=new or(this.contentModule.getEditPanel(),{keyAction:this.parent.keyDown.bind(this.parent),keyConfigs:this.parent.formatter.keyConfig,eventName:"keydown"})},n.prototype.unWireBaseKeyDown=function(){this.parent.keyboardModule.destroy()},n.prototype.mouseDownHandler=function(e){this.parent.notify(Ue,{args:e})},n.prototype.previewKeyDown=function(e){switch(e.action){case"html-source":this.updateSourceCode(e),e.preventDefault();break;case"toolbar-focus":if(this.parent.toolbarSettings.enable){this.parent.toolbarModule.baseToolbar.toolbarObj.element.querySelector('.e-toolbar-item[aria-disabled="false"][title] [tabindex]').focus()}}},n.prototype.onKeyDown=function(e){switch(e.event.action){case"html-source":e.event.preventDefault(),this.sourceCode(e),e.callBack({requestType:"SourceCode",editorMode:"HTML",event:e.event})}},n.prototype.sourceCode=function(n){this.parent.isBlur=!1,this.parent.trigger(ve,{requestType:"SourceCode",targetItem:"SourceCode",args:n});var i=t.selectAll("."+rn,this.parent.element);if(this.contentModule=this.rendererFactory.getRenderer(e.RenderType.Content),this.parent.notify(Ne,{targetItem:"SourceCode",updateItem:"Preview",baseToolbar:this.parent.getBaseToolbarObject()}),t.isNullOrUndefined(this.previewElement)&&(this.previewElement=this.getSourceCode()),this.parent.updateValueData(),this.parent.iframeSettings.enable){var r=void 0;(r=t.isNullOrUndefined(this.parent.element.querySelector("#"+this.parent.element.id+"_source-view"))?this.parent.createElement("div",{className:"e-source-content",id:this.parent.element.id+"_source-view"}):this.parent.element.querySelector("#"+this.parent.element.id+"_source-view")).appendChild(this.previewElement),this.parent.element.appendChild(r),r.style.height=this.contentModule.getPanel().style.height,r.style.marginTop=this.contentModule.getPanel().style.marginTop,this.getPanel().value=this.getTextAreaValue(),this.contentModule.getPanel().style.display="none",r.style.display="block",this.getPanel().style.display="block"}else this.contentModule.getPanel().appendChild(this.previewElement),this.getPanel().value=this.getTextAreaValue(),this.contentModule.getEditPanel().style.display="none",this.previewElement.style.display="block";if(this.parent.isBlur=!1,this.parent.disableToolbarItem(this.parent.toolbarSettings.items),this.parent.enableToolbarItem("SourceCode"),this.parent.getToolbar()&&t.removeClass([this.parent.getToolbar()],[En]),t.removeClass(i,[Sn]),this.parent.setContentHeight("sourceCode",!0),this.wireEvent(this.previewElement),this.unWireBaseKeyDown(),this.previewElement.focus(),this.parent.updateValue(),!t.isNullOrUndefined(this.parent.placeholder)&&!this.parent.iframeSettings.enable){this.parent.element.querySelector(".rte-placeholder.e-rte-placeholder").style.display="none"}this.parent.trigger(ye,{requestType:"SourceCode",targetItem:"SourceCode",args:n}),this.parent.invokeChangeEvent()},n.prototype.updateSourceCode=function(e){this.parent.isBlur=!1,this.parent.trigger(ve,{requestType:"Preview",targetItem:"Preview",args:e});var n=this.getPanel();this.parent.notify(Ne,{targetItem:"Preview",updateItem:"SourceCode",baseToolbar:this.parent.getBaseToolbarObject()});var i,r=this.parent.serializeValue(n.value);if(i=null===r||""===r?"DIV"===this.parent.enterKey?"<div><br/></div>":"BR"===this.parent.enterKey?"<br/>":"<p><br/></p>":r,this.parent.iframeSettings.enable?(n.parentElement.style.display="none",n.style.display="none",this.contentModule.getPanel().style.display="block",this.contentModule.getEditPanel().innerHTML=i):(n.style.display="none",this.contentModule.getEditPanel().style.display="block",this.contentModule.getEditPanel().innerHTML=i),this.parent.isBlur=!1,this.parent.enableToolbarItem(this.parent.toolbarSettings.items),this.parent.getToolbar()&&t.removeClass([this.parent.getToolbar()],[En]),this.parent.setContentHeight("preview",!0),this.unWireEvent(),this.wireBaseKeyDown(),this.contentModule.getEditPanel().focus(),this.parent.updateValue(),!t.isNullOrUndefined(this.parent.placeholder)&&0===this.contentModule.getEditPanel().innerText.length){this.parent.element.querySelector(".rte-placeholder.e-rte-placeholder").style.display="block"}this.parent.trigger(ye,{requestType:"Preview",targetItem:"Preview",args:e}),this.parent.formatter.enableUndo(this.parent),this.parent.invokeChangeEvent(),this.parent.notify(A,{})},n.prototype.getTextAreaValue=function(){return"<p><br></p>"===this.contentModule.getEditPanel().innerHTML||"<div><br></div>"===this.contentModule.getEditPanel().innerHTML||"<br>"===this.contentModule.getEditPanel().innerHTML||1===this.contentModule.getEditPanel().childNodes.length&&"P"===this.contentModule.getEditPanel().childNodes[0].tagName&&7===this.contentModule.getEditPanel().innerHTML.length||"DIV"===this.contentModule.getEditPanel().childNodes[0].tagName&&11===this.contentModule.getEditPanel().innerHTML.length?"":this.parent.value},n.prototype.getPanel=function(){return this.parent.element&&this.parent.element.querySelector(".e-rte-srctextarea")},n.prototype.getViewPanel=function(){return this.parent.iframeSettings.enable&&this.getPanel()?this.getPanel().parentElement:this.getPanel()},n.prototype.destroy=function(){this.removeEventListener()},n.prototype.moduleDestroy=function(){this.parent=null},n}(),gs=function(){function n(e,t){this.ensureInsideTableList=!0,this.pageX=null,this.pageY=null,this.moveEle=null,this.currentColumnResize="",this.currentMarginLeft=0,this.parent=e,this.rteID=e.element.id,this.l10n=t.getService("rteLocale"),this.rendererFactory=t.getService("rendererFactory"),this.dialogRenderObj=t.getService("dialogRenderObject"),this.addEventListener()}return n.prototype.addEventListener=function(){this.parent.isDestroyed||(this.parent.on(Ye,this.renderDlgContent,this),this.parent.on(j,this.afterRender,this),this.parent.on(Nt,this.afterRender,this),this.parent.on(kt,this.showDialog,this),this.parent.on(Dt,this.closeDialog,this),this.parent.on(Je,this.docClick,this),this.parent.on(He,this.editAreaClickHandler,this),this.parent.on(ot,this.clearDialogObj,this),this.parent.on($e,this.onToolbarAction,this),this.parent.on(oe,this.dropdownSelect,this),this.parent.on(Z,this.keyDown,this),this.parent.on(ee,this.selectionTable,this),this.parent.on(Mt,this.setCssClass,this),this.parent.on(q,this.destroy,this),this.parent.on(tt,this.moduleDestroy,this))},n.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off(Ye,this.renderDlgContent),this.parent.off(j,this.afterRender),this.parent.off(Nt,this.afterRender),this.parent.off(Je,this.docClick),this.parent.off(kt,this.showDialog),this.parent.off(Dt,this.closeDialog),this.parent.off(He,this.editAreaClickHandler),this.parent.off(ot,this.clearDialogObj),this.parent.off($e,this.onToolbarAction),this.parent.off(oe,this.dropdownSelect),this.parent.off(Ae,this.cellSelect),this.parent.off(ze,this.setBGColor),this.parent.off(Z,this.keyDown),this.parent.off(ee,this.selectionTable),this.parent.off(Mt,this.setCssClass),this.parent.off(q,this.destroy),this.parent.off(tt,this.moduleDestroy))},n.prototype.updateCss=function(e,n){e&&n.cssClass&&(t.isNullOrUndefined(n.oldCssClass)?e.setProperties({cssClass:(e.cssClass+" "+n.cssClass).trim()}):e.setProperties({cssClass:(e.cssClass.replace(n.oldCssClass,"").trim()+" "+n.cssClass).trim()}))},n.prototype.setCssClass=function(e){this.popupObj&&e.cssClass&&(t.isNullOrUndefined(e.oldCssClass)?t.addClass([this.popupObj.element],e.cssClass):(t.removeClass([this.popupObj.element],e.oldCssClass),t.addClass([this.popupObj.element],e.cssClass))),this.updateCss(this.createTableButton,e),this.updateCss(this.editdlgObj,e);for(var n=[this.columnTextBox,this.rowTextBox,this.tableWidthNum,this.tableCellPadding,this.tableCellSpacing],i=0;i<n.length;i++)this.updateCss(n[i],e)},n.prototype.selectionTable=function(e){var n=e.args.target;"mozilla"!==t.Browser.info.name||t.isNullOrUndefined(t.closest(n,"table"))||"TABLE"!==t.closest(n,"table").tagName||this.parent.contentModule.getEditPanel().setAttribute("contenteditable","true")},n.prototype.afterRender=function(){t.isNullOrUndefined(this.contentModule)&&(this.contentModule=this.rendererFactory.getRenderer(e.RenderType.Content),this.parent.on(ze,this.setBGColor,this),this.parent.on(Ae,this.cellSelect,this),this.parent.tableSettings.resize&&t.EventHandler.add(this.parent.contentModule.getEditPanel(),t.Browser.touchStartEvent,this.resizeStart,this),!t.Browser.isDevice&&this.parent.tableSettings.resize&&t.EventHandler.add(this.contentModule.getEditPanel(),"mouseover",this.resizeHelper,this))},n.prototype.dropdownSelect=function(e){var t=e.item;if(document.body.contains(document.body.querySelector(".e-rte-quick-toolbar"))&&"Table"===t.command){var n=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument()),i={args:e,selection:this.parent.formatter.editorManager.nodeSelection.save(n,this.contentModule.getDocument()),selectParent:this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(n)};switch(t.subCommand){case"InsertRowBefore":case"InsertRowAfter":this.addRow(i.selection,e);break;case"InsertColumnLeft":case"InsertColumnRight":this.addColumn(i.selection,e);break;case"DeleteColumn":case"DeleteRow":this.removeRowColumn(i.selection,e);break;case"AlignTop":case"AlignMiddle":case"AlignBottom":this.verticalAlign(i,e);break;case"Dashed":case"Alternate":case"Custom":this.tableStyles(i,t.subCommand);break;case"Merge":case"VerticalSplit":case"HorizontalSplit":this.UpdateCells(i.selection,e)}}},n.prototype.UpdateCells=function(e,t){this.parent.formatter.process(this.parent,t,t,{selection:e,subCommand:t.item.subCommand}),this.hideTableQuickToolbar()},n.prototype.keyDown=function(e){var n=e.args;switch(n.action){case"escape":break;case"insert-table":this.openDialog(!0,e),n.preventDefault()}if(!t.isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection)&&this.contentModule&&"KeyK"!==n.code){var i=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument()),r=this.parent.formatter.editorManager.nodeSelection.save(i,this.contentModule.getDocument()),o=this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(i)[0];if(o=o&&"TD"!==o.tagName&&"TH"!==o.tagName?o.parentElement:o,(8===n.keyCode||46===n.keyCode||n.ctrlKey&&88===n.keyCode)&&(o&&"TBODY"===o.tagName?(n.preventDefault(),this.removeTable(r,n,!0)):o&&o.querySelectorAll("table").length>0&&(this.removeResizeElement(),this.hideTableQuickToolbar())),o&&"TD"!==o.tagName&&"TH"!==o.tagName){var s=t.closest(o,"td");o=!t.isNullOrUndefined(s)&&this.parent.inputElement.contains(s)?s:o}if(o&&("TD"===o.tagName||"TH"===o.tagName))switch(n.keyCode){case 9:case 37:case 39:this.tabSelection(n,r,o);break;case 40:case 38:this.tableArrowNavigation(n,r,o)}}},n.prototype.openDialog=function(e,t){if(e||this.parent.contentModule.getEditPanel().focus(),"HTML"===this.parent.editorMode){var n=this.parent.contentModule.getDocument(),i=this.parent.formatter.editorManager.nodeSelection.getRange(n),r=this.parent.formatter.editorManager.nodeSelection.save(i,n),o={originalEvent:t?t.args:{action:"insert-table"},item:{command:"Table",subCommand:"CreateTable"}};this.insertTableDialog({self:this,args:o,selection:r})}},n.prototype.showDialog=function(){this.openDialog(!1),this.setCssClass({cssClass:this.parent.cssClass})},n.prototype.closeDialog=function(){this.editdlgObj&&this.editdlgObj.hide({returnValue:!0})},n.prototype.onToolbarAction=function(e){switch(e.args.item.subCommand){case"TableHeader":this.tableHeader(e.selection,e.args);break;case"TableRemove":this.removeTable(e.selection,e.args);break;case"TableEditProperties":this.editTable(e)}},n.prototype.verticalAlign=function(e,n){var i=t.closest(e.selectParent[0],"td")||t.closest(e.selectParent[0],"th");i&&this.parent.formatter.process(this.parent,n,n,{tableCell:i,subCommand:n.item.subCommand})},n.prototype.tableStyles=function(e,n){var i=t.closest(e.selectParent[0],"table");if("Dashed"===n&&(this.parent.element.classList.contains(Vn)?this.parent.element.classList.remove(Vn):this.parent.element.classList.add(Vn),i.classList.contains(Vn)?i.classList.remove(Vn):i.classList.add(Vn)),"Alternate"===n&&(this.parent.element.classList.contains(Qn)?this.parent.element.classList.remove(Qn):this.parent.element.classList.add(Qn),i.classList.contains(Qn)?i.classList.remove(Qn):i.classList.add(Qn)),e.args&&e.args.item.cssClass)for(var r=e.args.item.cssClass.split(" "),o=0;o<r.length;o++)i.classList.contains(r[o])?i.classList.remove(r[o]):i.classList.add(r[o]);this.parent.formatter.saveData(),this.parent.formatter.editorManager.nodeSelection.restore()},n.prototype.insideList=function(e){for(var t=this.parent.formatter.editorManager.domNode.blockNodes(),n=[],i=0;i<t.length;i++)"LI"===t[i].parentNode.tagName?n.push(t[i].parentNode):"LI"===t[i].tagName&&"P"!==t[i].childNodes[0].tagName&&"OL"!==t[i].childNodes[0].tagName&&"UL"!==t[i].childNodes[0].tagName&&n.push(t[i]);return n.length>1||n.length&&0===e.startOffset&&0===e.endOffset?(this.ensureInsideTableList=!0,!0):(this.ensureInsideTableList=!1,!1)},n.prototype.tabSelection=function(e,n,i){var r=this.insideList(n.range);if((37!==e.keyCode&&39!==e.keyCode||3!==n.range.startContainer.nodeType)&&!r)if(e.preventDefault(),i.classList.remove(Wn),e.shiftKey||37===e.keyCode){var o=t.isNullOrUndefined(i.previousSibling)?t.isNullOrUndefined(t.closest(i,"tr").previousSibling)?t.isNullOrUndefined(t.closest(i,"table").previousSibling)?i:"td"===t.closest(i,"table").previousSibling.nodeName.toLowerCase()?t.closest(i,"table").previousSibling:i:t.closest(i,"tr").previousSibling.childNodes[t.closest(i,"tr").previousSibling.childNodes.length-1]:i.previousSibling;if(i===o&&0===i.cellIndex&&t.closest(i,"table").tHead){var s=t.closest(i,"table");o=s.rows[0].cells[s.rows[0].cells.length-1]}37===e.keyCode&&i===o&&(o=t.closest(i,"table").previousSibling),o&&(""!==o.textContent.trim()&&t.closest(o,"td")?n.setSelectionNode(this.contentModule.getDocument(),o):n.setSelectionText(this.contentModule.getDocument(),o,o,0,0))}else{var a=t.isNullOrUndefined(i.nextSibling)?t.isNullOrUndefined(t.closest(i,"tr").nextSibling)?t.isNullOrUndefined(t.closest(i,"table").nextSibling)?i:"td"===t.closest(i,"table").nextSibling.nodeName.toLowerCase()?t.closest(i,"table").nextSibling:i:t.closest(i,"tr").nextSibling.childNodes[0]:i.nextSibling;i===a&&"TH"===i.nodeName&&(a=t.closest(i,"table").rows[1].cells[0]),39===e.keyCode&&i===a&&(a=t.closest(i,"table").nextSibling),a&&(""!==a.textContent.trim()&&t.closest(a,"td")?n.setSelectionNode(this.contentModule.getDocument(),a):n.setSelectionText(this.contentModule.getDocument(),a,a,0,0)),i===a&&39!==e.keyCode&&a&&(i.classList.add(Wn),this.addRow(n,e,!0),i.classList.remove(Wn),""!==(a=a.parentElement.nextSibling?a.parentElement.nextSibling.firstChild:a.parentElement.firstChild).textContent.trim()&&t.closest(a,"td")?n.setSelectionNode(this.contentModule.getDocument(),a):n.setSelectionText(this.contentModule.getDocument(),a,a,0,0))}},n.prototype.tableArrowNavigation=function(e,n,i){var r=n.range.startContainer;40===e.keyCode&&3===r.nodeType&&(r.nextSibling&&"BR"===r.nextSibling.nodeName||r.parentNode&&"TD"!==r.parentNode.nodeName)||38===e.keyCode&&3===r.nodeType&&(r.previousSibling&&"BR"===r.previousSibling.nodeName||r.parentNode&&"TD"!==r.parentNode.nodeName)||(e.preventDefault(),i.classList.remove(Wn),(i=40===e.keyCode?t.isNullOrUndefined(t.closest(i,"tr").nextElementSibling)?t.closest(i,"table").tHead&&"TH"===i.nodeName?t.closest(i,"table").rows[1].cells[i.cellIndex]:t.isNullOrUndefined(t.closest(i,"table").nextSibling)?i:t.closest(i,"table").nextSibling:t.closest(i,"tr").nextElementSibling.children[i.cellIndex]:t.isNullOrUndefined(t.closest(i,"tr").previousElementSibling)?t.closest(i,"table").tHead&&"TH"!==i.nodeName?t.closest(i,"table").tHead.rows[0].cells[i.cellIndex]:t.isNullOrUndefined(t.closest(i,"table").previousSibling)?i:t.closest(i,"table").previousSibling:t.closest(i,"tr").previousElementSibling.children[i.cellIndex])&&n.setSelectionText(this.contentModule.getDocument(),i,i,0,0))},n.prototype.setBGColor=function(e){for(var t=this.parent.formatter.editorManager.nodeSelection.getRange(this.contentModule.getDocument()),n=(this.parent.formatter.editorManager.nodeSelection.save(t,this.contentModule.getDocument()),this.curTable.querySelectorAll(".e-cell-select")),i=0;i<n.length;i++)n[i].style.backgroundColor=e.item.value;this.parent.formatter.saveData()},n.prototype.hideTableQuickToolbar=function(){this.quickToolObj&&this.quickToolObj.tableQTBar&&document.body.contains(this.quickToolObj.tableQTBar.element)&&this.quickToolObj.tableQTBar.hidePopup()},n.prototype.tableHeader=function(e,t){this.parent.formatter.process(this.parent,t,t.originalEvent,{selection:e,subCommand:t.item.subCommand})},n.prototype.editAreaClickHandler=function(n){if(!this.parent.readonly&&t.isNullOrUndefined(t.closest(n.args.target,".e-img-caption"))){var i=n.args,r=this.parent.quickToolbarSettings.showOnRightClick;if(!(2===i.which||r&&1===i.which||!r&&3===i.which)&&"HTML"===this.parent.editorMode&&this.parent.quickToolbarModule&&this.parent.quickToolbarModule.tableQTBar){this.quickToolObj=this.parent.quickToolbarModule;var o=i.target;this.contentModule=this.rendererFactory.getRenderer(e.RenderType.Content);if(this.quickToolObj.tableQTBar.element.classList.contains("e-rte-pop"))return;var s=this.parent.formatter.editorManager.nodeSelection.getRange(this.contentModule.getDocument()),a=t.closest(o,"table"),l=this.parent.getRange().startContainer.parentElement,d=this.parent.getRange().endContainer.parentElement;if(o&&"A"!==o.nodeName&&"IMG"!==o.nodeName&&l===d&&("TD"===o.nodeName||"TH"===o.nodeName||"TABLE"===o.nodeName||a&&this.parent.contentModule.getEditPanel().contains(a))&&(3!==s.startContainer.nodeType||s.collapsed)){var c=this.parent.formatter.editorManager.nodeSelection.getRange(this.contentModule.getDocument());this.parent.formatter.editorManager.nodeSelection.save(c,this.contentModule.getDocument()),this.parent.formatter.editorManager.nodeSelection.Clear(this.contentModule.getDocument());var p=this.parent.iframeSettings.enable?window.pageYOffset+this.parent.element.getBoundingClientRect().top+i.clientY:i.pageY;this.quickToolObj.tableQTBar.showPopup(i.pageX,p,o),this.parent.formatter.editorManager.nodeSelection.restore()}else this.hideTableQuickToolbar()}}},n.prototype.tableCellSelect=function(e){var n=e.target,i=Array.prototype.slice.call(n.parentElement.parentElement.children).indexOf(n.parentElement),r=Array.prototype.slice.call(n.parentElement.children).indexOf(n),o=this.dlgDiv.querySelectorAll(".e-rte-tablecell");Array.prototype.forEach.call(o,function(e){var n=Array.prototype.slice.call(e.parentElement.parentElement.children).indexOf(e.parentElement),o=Array.prototype.slice.call(e.parentElement.children).indexOf(e);t.removeClass([e],"e-active"),n<=i&&o<=r&&t.addClass([e],"e-active")}),this.tblHeader.innerHTML=r+1+"x"+(i+1)},n.prototype.tableMouseUp=function(e){t.EventHandler.remove(this.curTable,"mousemove",this.tableMove)},n.prototype.tableCellLeave=function(e){t.removeClass(this.dlgDiv.querySelectorAll(".e-rte-tablecell"),"e-active"),t.addClass([this.dlgDiv.querySelector(".e-rte-tablecell")],"e-active"),this.tblHeader.innerHTML="1x1"},n.prototype.tableCellClick=function(e){var t=e.target,n=Array.prototype.slice.call(t.parentElement.parentElement.children).indexOf(t.parentElement)+1,i=Array.prototype.slice.call(t.parentElement.children).indexOf(t)+1;this.self.tableInsert(n,i,e,this)},n.prototype.tableInsert=function(e,n,i,r){var o=r.self?r.self:this,s=r.selection.range.startContainer;"P"!==s.nodeName||""!==s.textContent.trim()||s.childNodes.length>0||(s.innerHTML="<br />");var a=s.parentNode;if("HTML"===o.parent.editorMode&&(o.parent.iframeSettings.enable&&!c(a.ownerDocument.querySelector("body"),"e-lib")||!o.parent.iframeSettings.enable&&t.isNullOrUndefined(t.closest(a,"[id='"+o.contentModule.getPanel().id+"']")))){o.contentModule.getEditPanel().focus();var l=o.parent.formatter.editorManager.nodeSelection.getRange(o.contentModule.getDocument());r.selection=o.parent.formatter.editorManager.nodeSelection.save(l,o.contentModule.getDocument())}var d={rows:e,columns:n,width:{minWidth:o.parent.tableSettings.minWidth,maxWidth:o.parent.tableSettings.maxWidth,width:o.parent.tableSettings.width},selection:r.selection};o.popupObj&&o.popupObj.hide(),o.editdlgObj&&o.editdlgObj.hide(),o.parent.formatter.process(o.parent,r.args,r.args.originalEvent,d),o.contentModule.getEditPanel().focus(),o.parent.on(Ae,o.cellSelect,o)},n.prototype.cellSelect=function(e){var n=e.args.target,i=t.closest(n,"td,th");n="TD"!==n.nodeName&&i&&this.parent.contentModule.getEditPanel().contains(i)?i:n,t.removeClass(this.contentModule.getEditPanel().querySelectorAll("table td, table th"),Wn),!n||"TD"!==n.tagName&&"TH"!==n.tagName||(t.addClass([n],Wn),this.activeCell=n,this.curTable=this.curTable?this.curTable:t.closest(n,"table"),t.EventHandler.add(this.curTable,"mousemove",this.tableMove,this),t.EventHandler.add(this.curTable,"mouseup",this.tableMouseUp,this),this.removeResizeElement(),this.helper&&this.contentModule.getEditPanel().contains(this.helper)&&t.detach(this.helper)),"mozilla"!==t.Browser.info.name||t.isNullOrUndefined(t.closest(n,"table"))||"TABLE"!==t.closest(n,"table").tagName||this.parent.contentModule.getEditPanel().setAttribute("contenteditable","false")},n.prototype.tableMove=function(e){this.parent.formatter.editorManager.observer.notify("TABLE_MOVE",{event:e,selectNode:[this.activeCell]})},n.prototype.resizeHelper=function(e){if(!this.parent.readonly){var n=e.target||e.targetTouches[0].target,i=t.closest(n,"table.e-rte-table");t.isNullOrUndefined(this.curTable)||t.isNullOrUndefined(i)||i===this.curTable||!this.parent.contentModule.getEditPanel().contains(i)||(this.removeResizeElement(),this.removeHelper(e),this.cancelResizeAction()),"TABLE"!==n.nodeName&&"TD"!==n.nodeName&&"TH"!==n.nodeName||(this.curTable=i&&this.parent.contentModule.getEditPanel().contains(i)&&("TD"===n.nodeName||"TH"===n.nodeName)?i:n,this.removeResizeElement(),this.tableResizeEleCreation(this.curTable,e))}},n.prototype.tableResizeEleCreation=function(e,n){this.parent.preventDefaultResize(n);for(var i=e.rows[this.calMaxCol(e)].cells,r=[],o=0;o<e.rows.length;o++)r.push(Array.prototype.slice.call(e.rows[o].cells,0,1)[0]);var s=parseInt(getComputedStyle(e).height,10),a=parseInt(getComputedStyle(e).width,10),l=this.calcPos(e);for(o=0;i.length>=o;o++){var d=this.parent.createElement("span",{attrs:{"data-col":o.toString(),unselectable:"on",contenteditable:"false"}});d.classList.add(mi,Kn),i.length===o?d.style.cssText="height: "+s+"px; width: 4px; top: "+l.top+"px; left:"+(l.left+this.calcPos(i[o-1]).left+i[o-1].offsetWidth)+"px;":d.style.cssText="height: "+s+"px; width: 4px; top: "+l.top+"px; left:"+(l.left+this.calcPos(i[o]).left)+"px;",this.contentModule.getEditPanel().appendChild(d)}for(o=0;r.length>o;o++){var c=this.parent.createElement("span",{attrs:{"data-row":o.toString(),unselectable:"on",contenteditable:"false"}});c.classList.add(mi,Gn);var p=t.isNullOrUndefined(e.getAttribute("cellspacing"))&&""===e.getAttribute("cellspacing")?this.calcPos(r[o]).left:0;c.style.cssText="width: "+a+"px; height: 4px; top: "+(this.calcPos(r[o]).top+l.top+r[o].offsetHeight-2)+"px; left:"+(p+l.left)+"px;",this.contentModule.getEditPanel().appendChild(c)}var h=this.parent.createElement("span",{className:Xn+" "+this.parent.cssClass,attrs:{"data-col":i.length.toString(),unselectable:"on",contenteditable:"false"}});h.style.cssText="top: "+(l.top+s-4)+"px; left:"+(l.left+a-4)+"px;",t.Browser.isDevice&&h.classList.add("e-rmob"),this.contentModule.getEditPanel().appendChild(h)},n.prototype.removeResizeElement=function(){var e=this.parent.contentModule.getEditPanel().querySelectorAll(".e-column-resize, .e-row-resize, .e-table-box");if(e.length>0)for(var n=0;n<e.length;n++)t.detach(e[n])},n.prototype.calcPos=function(e){for(var n={top:0,left:0},i=e.getBoundingClientRect(),r=e.ownerDocument,o=e.offsetParent||r.documentElement,s=!1;o&&(o===r.body||o===r.documentElement)&&"static"===o.style.position;)o=o.parentNode;if("TD"===o.nodeName&&"TABLE"===e.nodeName&&(o=t.closest(o,".e-rte-content"),s=!0),o&&o!==e&&1===o.nodeType&&(n=o.getBoundingClientRect()),s){s=!1;return{top:this.parent.inputElement&&this.parent.inputElement.scrollTop>0?this.parent.inputElement.scrollTop+i.top-n.top:i.top-n.top,left:this.parent.inputElement&&this.parent.inputElement.scrollLeft>0?this.parent.inputElement.scrollLeft+i.left-n.left:i.left-n.left}}return{top:e.offsetTop,left:e.offsetLeft}},n.prototype.getPointX=function(e){return e.touches&&e.touches.length?e.touches[0].pageX:e.pageX},n.prototype.getPointY=function(e){return e.touches&&e.touches.length?e.touches[0].pageY:e.pageY},n.prototype.resizeStart=function(e){var n=this;if(!this.parent.readonly){t.Browser.isDevice&&this.resizeHelper(e);var i=e.target;if(i.classList.contains(Kn)||i.classList.contains(Gn)||i.classList.contains(Xn)){if(e.preventDefault(),this.parent.preventDefaultResize(e),t.removeClass(this.curTable.querySelectorAll("td,th"),Wn),this.parent.formatter.editorManager.nodeSelection.Clear(this.contentModule.getDocument()),this.pageX=this.getPointX(e),this.pageY=this.getPointY(e),this.resizeBtnInit(),this.hideTableQuickToolbar(),i.classList.contains(Kn)&&(this.resizeBtnStat.column=!0,parseInt(i.getAttribute("data-col"),10)===this.curTable.rows[this.calMaxCol(this.curTable)].cells.length?(this.currentColumnResize="last",this.columnEle=this.curTable.rows[this.calMaxCol(this.curTable)].cells[parseInt(i.getAttribute("data-col"),10)-1]):(0===parseInt(i.getAttribute("data-col"),10)?this.currentColumnResize="first":this.currentColumnResize="middle",this.columnEle=this.curTable.rows[this.calMaxCol(this.curTable)].cells[parseInt(i.getAttribute("data-col"),10)]),this.colIndex=this.columnEle.cellIndex,this.moveEle=e.target,this.appendHelper()),i.classList.contains(Gn)&&(this.rowEle=this.curTable.rows[parseInt(i.getAttribute("data-row"),10)],this.resizeBtnStat.row=!0,this.appendHelper()),i.classList.contains(Xn)&&(this.resizeBtnStat.tableBox=!0),t.Browser.isDevice&&this.helper&&!this.helper.classList.contains("e-reicon"))this.helper.classList.add("e-reicon"),t.EventHandler.add(document,t.Browser.touchStartEvent,this.removeHelper,this),t.EventHandler.add(this.helper,t.Browser.touchStartEvent,this.resizeStart,this);else{var r={event:e,requestType:"Table"};this.parent.trigger(pe,r,function(e){e.cancel&&n.cancelResizeAction()})}t.EventHandler.add(this.contentModule.getDocument(),t.Browser.touchMoveEvent,this.resizing,this),t.EventHandler.add(this.contentModule.getDocument(),t.Browser.touchEndEvent,this.resizeEnd,this)}}},n.prototype.removeHelper=function(e){!e.target.classList.contains("e-reicon")&&this.helper&&(t.EventHandler.remove(document,t.Browser.touchStartEvent,this.removeHelper),t.EventHandler.remove(this.helper,t.Browser.touchStartEvent,this.resizeStart),this.helper&&this.contentModule.getEditPanel().contains(this.helper)&&t.detach(this.helper),this.pageX=null,this.helper=null)},n.prototype.appendHelper=function(){this.helper=this.parent.createElement("div",{className:"e-table-rhelper "+this.parent.cssClass}),t.Browser.isDevice&&this.helper.classList.add("e-reicon"),this.contentModule.getEditPanel().appendChild(this.helper),this.setHelperHeight()},n.prototype.setHelperHeight=function(){var e=this.calcPos(this.curTable);this.resizeBtnStat.column?(this.helper.classList.add("e-column-helper"),this.helper.style.cssText="height: "+getComputedStyle(this.curTable).height+"; top: "+e.top+"px; left:"+(e.left+this.calcPos(this.columnEle).left+("last"===this.currentColumnResize?this.columnEle.offsetWidth+2:0)-1)+"px;"):(this.helper.classList.add("e-row-helper"),this.helper.style.cssText="width: "+getComputedStyle(this.curTable).width+"; top: "+(this.calcPos(this.rowEle).top+e.top+this.rowEle.offsetHeight)+"px; left:"+(this.calcPos(this.rowEle).left+e.left)+"px;")},n.prototype.updateHelper=function(){var e=this.calcPos(this.curTable);if(this.resizeBtnStat.column){var t=e.left+this.calcPos(this.columnEle).left+("last"===this.currentColumnResize?this.columnEle.offsetWidth+2:0)-1;this.helper.style.left=t+"px"}else{var n=this.calcPos(this.rowEle).top+e.top+this.rowEle.offsetHeight;this.helper.style.top=n+"px"}},n.prototype.calMaxCol=function(e){for(var t,n=0,i=0;i<e.rows.length;i++)n<e.rows[i].cells.length&&(t=i,n=e.rows[i].cells.length);return t},n.prototype.resizing=function(e){var n=this,i=this.getPointX(e),r=this.getPointY(e),o=this.parent.enableRtl?-(i-this.pageX):i-this.pageX,s=this.parent.enableRtl?-(r-this.pageY):r-this.pageY;this.pageX=i,this.pageY=r;var a={event:e,requestType:"table"};this.parent.trigger(he,a,function(i){if(i.cancel)n.cancelResizeAction();else{var r=n.contentModule.getEditPanel().querySelector(".e-table-box"),a=parseInt(getComputedStyle(n.curTable).width,10),l=parseInt(getComputedStyle(n.curTable).height,10),d=+getComputedStyle(n.contentModule.getEditPanel()).paddingRight.match(/\d/g).join(""),c=n.contentModule.getEditPanel().offsetWidth-(n.contentModule.getEditPanel().offsetWidth-n.contentModule.getEditPanel().clientWidth)-2*d,p=void 0;if(t.isNullOrUndefined(n.curTable.parentElement.closest("table"))||t.isNullOrUndefined(n.curTable.closest("td"))||!n.contentModule.getEditPanel().contains(n.curTable.closest("td")))p=c;else{var h=n.curTable.closest("td"),u=+getComputedStyle(h).paddingRight.match(/\d/g).join("");p=h.offsetWidth-(h.offsetWidth-h.clientWidth)-2*u}if(n.resizeBtnStat.column){var m=parseFloat(n.columnEle.offsetWidth.toString()),g="TH"===n.curTable.rows[0].cells[0].nodeName?1:0,f=parseFloat(n.curTable.style.width.split("%")[0]),b=parseFloat(n.curTable.rows[g].cells[n.colIndex].style.width.split("%")[0]);if("first"===n.currentColumnResize){if(o-=.75,n.removeResizeElement(),(0!==o&&5<b||o<0)&&f<=100&&n.convertPixelToPercentage(a-o,p)<=100){var v=n.findFirstLastColCells(n.curTable,!0);n.curTable.style.width=n.convertPixelToPercentage(a-o,p)>100?"100%":n.convertPixelToPercentage(a-o,p)+"%";var y=f-n.convertPixelToPercentage(a-o,p);n.currentMarginLeft=n.currentMarginLeft+y,n.curTable.style.marginLeft="calc("+("100%"===n.curTable.style.width?0:n.currentMarginLeft)+"%)";for(var C=0;C<v.length;C++)n.curTable.rows[C].cells[n.colIndex].style.width=b-y+"%"}}else if("last"===n.currentColumnResize){if(o+=.75,n.removeResizeElement(),(0!==o&&5<b||o>0)&&f<=100&&n.convertPixelToPercentage(a+o,p)<=100){var N=n.findFirstLastColCells(n.curTable,!1);n.curTable.style.width=n.convertPixelToPercentage(a+o,p)>100?"100%":n.convertPixelToPercentage(a+o,p)+"%";for(y=f-n.convertPixelToPercentage(a+o,p),C=0;C<N.length;C++)n.curTable.rows[C].cells[n.colIndex].style.width=b-y+"%"}}else{var S=n.curTable.rows[n.calMaxCol(n.curTable)].cells,E=m-o,T=parseFloat(n.columnEle.offsetWidth.toString())+parseFloat(S[n.colIndex-1].offsetWidth.toString());for(C=0;C<n.curTable.rows.length;C++)if(T-E>20&&E>20){var w=T-E,O=E;t.isNullOrUndefined(n.curTable.rows[C].cells[n.colIndex-1])||(n.curTable.rows[C].cells[n.colIndex-1].style.width=n.convertPixelToPercentage(w,a)+"%"),t.isNullOrUndefined(n.curTable.rows[C].cells[n.colIndex])||(n.curTable.rows[C].cells[n.colIndex].style.width=n.convertPixelToPercentage(O,a)+"%")}}n.updateHelper()}else if(n.resizeBtnStat.row){n.parent.preventDefaultResize(e);var L=parseFloat(n.rowEle.clientHeight.toString())+s;L>20&&(n.rowEle.style.height=L+"px"),n.curTable.style.height="",t.isNullOrUndefined(r)||(r.style.cssText="top: "+(n.calcPos(n.curTable).top+l-4)+"px; left:"+(n.calcPos(n.curTable).left+a-4)+"px;"),n.updateHelper()}else if(n.resizeBtnStat.tableBox){t.Browser.isDevice||t.EventHandler.remove(n.contentModule.getEditPanel(),"mouseover",n.resizeHelper);var x=n.curTable.style.width.indexOf("%")>-1;n.curTable.style.width=x?n.convertPixelToPercentage(a+o,p)+"%":a+o+"px",n.curTable.style.height=l+s+"px",r.classList.add("e-rbox-select"),r.style.cssText="top: "+(n.calcPos(n.curTable).top+l-4)+"px; left:"+(n.calcPos(n.curTable).left+a-4)+"px;"}}})},n.prototype.findFirstLastColCells=function(e,t){for(var n=[],i=e.querySelectorAll("tr"),r=0;r<i.length;r++)if(i[r].closest("table")===e){var o=i[r].querySelectorAll("th, td");n.push(t?o[0]:o[o.length-1])}return n},n.prototype.convertPixelToPercentage=function(e,t){return e/t*100},n.prototype.cancelResizeAction=function(){t.EventHandler.remove(this.contentModule.getDocument(),t.Browser.touchMoveEvent,this.resizing),t.EventHandler.remove(this.contentModule.getDocument(),t.Browser.touchEndEvent,this.resizeEnd),this.removeResizeElement()},n.prototype.resizeEnd=function(e){this.resizeBtnInit(),t.EventHandler.remove(this.contentModule.getDocument(),t.Browser.touchMoveEvent,this.resizing),t.EventHandler.remove(this.contentModule.getDocument(),t.Browser.touchEndEvent,this.resizeEnd),this.contentModule.getEditPanel().querySelector(".e-table-box")&&this.contentModule.getEditPanel().contains(this.contentModule.getEditPanel().querySelector(".e-table-box"))&&(t.Browser.isDevice||t.EventHandler.add(this.contentModule.getEditPanel(),"mouseover",this.resizeHelper,this),this.removeResizeElement()),this.helper&&this.contentModule.getEditPanel().contains(this.helper)&&(t.detach(this.helper),this.helper=null),this.pageX=null,this.pageY=null,this.moveEle=null;var n={event:e,requestType:"table"};this.parent.trigger(ue,n),this.parent.formatter.saveData()},n.prototype.resizeBtnInit=function(){return this.resizeBtnStat={column:!1,row:!1,tableBox:!1}},n.prototype.addRow=function(e,t,n){var i;n&&(i={item:{command:"Table",subCommand:"InsertRowAfter"}});var r={selection:e,subCommand:n?i.item.subCommand:t.item.subCommand};this.parent.formatter.process(this.parent,n?i:t,t,r)},n.prototype.addColumn=function(e,t){this.parent.formatter.process(this.parent,t,t,{selection:e,width:this.parent.tableSettings.width,subCommand:t.item.subCommand})},n.prototype.removeRowColumn=function(e,t){this.parent.formatter.process(this.parent,t,t,{selection:e,subCommand:t.item.subCommand}),this.hideTableQuickToolbar()},n.prototype.removeTable=function(e,t,n){var i;n&&(i={item:{command:"Table",subCommand:"TableRemove"}});var r={selection:e,subCommand:n?i.item.subCommand:t.item.subCommand};this.parent.formatter.process(this.parent,n?i:t,t.originalEvent,r),this.contentModule.getEditPanel().focus(),null!==this.parent.inputElement.innerHTML&&""!==this.parent.inputElement.innerHTML||("DIV"===this.parent.enterKey?this.contentModule.getEditPanel().innerHTML="<div><br/></div>":"BR"===this.parent.enterKey?this.contentModule.getEditPanel().innerHTML="<br/>":this.contentModule.getEditPanel().innerHTML="<p><br/></p>"),this.removeResizeElement(),this.hideTableQuickToolbar()},n.prototype.renderDlgContent=function(e){var n=this;if(t.Browser.isDevice||this.parent.inlineMode.enable)this.insertTableDialog(e);else if(this.popupObj)this.popupObj.hide();else{this.hideTableQuickToolbar();var i=this.l10n.getConstant("inserttablebtn");this.dlgDiv=this.parent.createElement("div",{className:"e-rte-table-popup "+this.parent.cssClass,id:this.rteID+"_table"}),this.tblHeader=this.parent.createElement("div",{className:"e-rte-popup-header "+this.parent.cssClass}),this.tblHeader.innerHTML="1X1",this.dlgDiv.appendChild(this.tblHeader);var o=this.parent.createElement("div",{className:"e-rte-table-span "+this.parent.cssClass});this.drawTable(o,e),this.dlgDiv.appendChild(o),this.dlgDiv.appendChild(this.parent.createElement("span",{className:"e-span-border "+this.parent.cssClass}));var a=this.parent.createElement("button",{className:"e-insert-table-btn "+this.parent.cssClass,id:this.rteID+"_insertTable",attrs:{type:"button",tabindex:"0"}});t.isNullOrUndefined(this.parent.getToolbarElement().querySelector(".e-expended-nav"))||this.parent.getToolbarElement().querySelector(".e-expended-nav").setAttribute("tabindex","1"),this.dlgDiv.appendChild(a),this.createTableButton=new s.Button({iconCss:"e-icons e-create-table",content:i,cssClass:"e-flat "+this.parent.cssClass,enableRtl:this.parent.enableRtl,locale:this.parent.locale}),this.createTableButton.isStringTemplate=!0,this.createTableButton.appendTo(a),t.EventHandler.add(a,"click",this.insertTableDialog,{self:this,args:e.args,selection:e.selection}),this.parent.getToolbar().appendChild(this.dlgDiv);var l=e.args.originalEvent.target;l=l.classList.contains("e-toolbar-item")?l.firstChild:l.parentElement,this.popupObj=new r.Popup(this.dlgDiv,{targetType:"relative",relateTo:l,collision:{X:"fit",Y:"none"},offsetY:8,viewPortElement:this.parent.element,position:{X:"left",Y:"bottom"},enableRtl:this.parent.enableRtl,zIndex:10001,close:function(e){n.parent.isBlur=!1,n.popupObj.destroy(),t.detach(n.popupObj.element),n.popupObj=null}}),t.addClass([this.popupObj.element],"e-popup-open"),t.isNullOrUndefined(this.parent.cssClass)||t.addClass([this.popupObj.element],this.parent.cssClass),this.popupObj.refreshPosition(l)}},n.prototype.docClick=function(e){var n=e.args.target;n&&n.classList&&(this.popupObj&&!t.closest(n,"[id='"+this.popupObj.element.id+"']")||this.editdlgObj&&!t.closest(n,"#"+this.editdlgObj.element.id))&&!n.classList.contains("e-create-table")&&n.offsetParent&&!n.offsetParent.classList.contains("e-rte-backgroundcolor-dropdown")&&(this.popupObj&&this.popupObj.hide(),this.editdlgObj&&this.editdlgObj.hide(),this.parent.isBlur=!0,C(this.parent.element,"focusout"));var i=t.closest(n,"td"),r=!(!i||!this.parent.contentModule.getEditPanel().contains(i));!n||"TD"===n.tagName||"TH"===n.tagName||r||null!==t.closest(n,".e-rte-quick-popup")||!n.offsetParent||n.offsetParent.classList.contains("e-quick-dropdown")||n.offsetParent.classList.contains("e-rte-backgroundcolor-dropdown")||t.closest(n,".e-rte-dropdown-popup")||t.closest(n,".e-rte-elements")||(t.removeClass(this.parent.inputElement.querySelectorAll("table td"),Wn),t.Browser.isIE||this.hideTableQuickToolbar()),!n||!n.classList||n.classList.contains(Kn)||n.classList.contains(Gn)||n.classList.contains(Xn)||this.removeResizeElement()},n.prototype.drawTable=function(e,n){for(var i,r,o=0;o<3;o++){i=this.parent.createElement("div",{className:"e-rte-table-row "+this.parent.cssClass,attrs:{"data-column":""+o}});for(var s=0;s<10;s++){var a=o>2?"none":"inline-block";r=this.parent.createElement("div",{className:"e-rte-tablecell e-default "+this.parent.cssClass,attrs:{"data-cell":""+s}}),i.appendChild(r),r.style.display=a,0===s&&0===o&&t.addClass([r],"e-active"),t.EventHandler.add(r,"mousemove",this.tableCellSelect,this),t.EventHandler.add(i,"mouseleave",this.tableCellLeave,this),t.EventHandler.add(r,"mouseup",this.tableCellClick,{self:this,args:n.args,selection:n.selection})}e.appendChild(i)}},n.prototype.editTable=function(e){var t=this;this.createDialog(e);var n=this.tableDlgContent(e),i=this.l10n.getConstant("dialogUpdate"),r=this.l10n.getConstant("dialogCancel"),o=this.l10n.getConstant("tableEditHeader");this.editdlgObj.setProperties({height:"initial",width:"290px",content:n,header:o,buttons:[{click:this.applyProperties.bind(this,e),buttonModel:{content:i,cssClass:"e-flat e-size-update "+this.parent.cssClass,isPrimary:!0}},{click:function(e){t.cancelDialog(e)},buttonModel:{cssClass:"e-flat e-cancel "+this.parent.cssClass,content:r}}],cssClass:this.editdlgObj.cssClass+" e-rte-edit-table-prop-dialog"}),this.editdlgObj.element.style.maxHeight="none",this.editdlgObj.content.querySelector("input").focus(),this.hideTableQuickToolbar()},n.prototype.insertTableDialog=function(e){var n=this.self?this.self:this;n.popupObj&&n.popupObj.hide(),n.createDialog(e);var i=n.tableCellDlgContent(),r=n.l10n.getConstant("dialogInsert"),o=n.l10n.getConstant("dialogCancel");t.isNullOrUndefined(n.editdlgObj)||(n.editdlgObj.setProperties({height:"initial",width:"290px",content:i,buttons:[{click:n.customTable.bind(this,e),buttonModel:{content:r,cssClass:"e-flat e-insert-table "+n.parent.cssClass,isPrimary:!0}},{click:function(e){n.cancelDialog(e)},buttonModel:{cssClass:"e-flat e-cancel "+n.parent.cssClass,content:o}}]}),t.isNullOrUndefined(n.parent.cssClass)||n.editdlgObj.setProperties({cssClass:n.parent.cssClass}),n.editdlgObj.element.style.maxHeight="none",n.editdlgObj.content.querySelector("input").focus())},n.prototype.tableCellDlgContent=function(){var e=this.l10n.getConstant("columns"),t=this.l10n.getConstant("rows"),n=this.parent.createElement("div",{className:"e-cell-wrap "+this.parent.cssClass}),i=N('<div class="e-rte-field '+this.parent.cssClass+'"><input type="text" data-role ="none" id="tableColumn" class="e-table-column '+this.parent.cssClass+'"/></div><div class="e-rte-field '+this.parent.cssClass+'"><input type="text" data-role ="none" id="tableRow" class="e-table-row '+this.parent.cssClass+'" /></div>');return n.appendChild(i),this.columnTextBox=new o.NumericTextBox({format:"n0",min:1,value:3,placeholder:e,floatLabelType:"Auto",max:50,enableRtl:this.parent.enableRtl,locale:this.parent.locale,cssClass:this.parent.cssClass}),this.columnTextBox.isStringTemplate=!0,this.columnTextBox.appendTo(n.querySelector("#tableColumn")),this.rowTextBox=new o.NumericTextBox({format:"n0",min:1,value:3,placeholder:t,floatLabelType:"Auto",max:50,enableRtl:this.parent.enableRtl,locale:this.parent.locale,cssClass:this.parent.cssClass}),this.rowTextBox.isStringTemplate=!0,this.rowTextBox.appendTo(n.querySelector("#tableRow")),n},n.prototype.clearDialogObj=function(){this.editdlgObj&&(this.editdlgObj.destroy(),t.detach(this.editdlgObj.element),this.editdlgObj=null)},n.prototype.createDialog=function(e){var n=this;if(this.editdlgObj)this.editdlgObj.hide({returnValue:!0});else{var i=this.parent.createElement("div",{className:"e-rte-edit-table "+this.parent.cssClass,id:this.rteID+"_tabledialog"});this.parent.element.appendChild(i);var r=this.l10n.getConstant("dialogInsert"),o=this.l10n.getConstant("dialogCancel"),s={header:this.l10n.getConstant("tabledialogHeader"),cssClass:Tn+" "+this.parent.cssClass,enableRtl:this.parent.enableRtl,locale:this.parent.locale,showCloseIcon:!0,closeOnEscape:!0,width:t.Browser.isDevice?"290px":"340px",height:"initial",position:{X:"center",Y:t.Browser.isDevice?"center":"top"},isModal:t.Browser.isDevice,buttons:[{buttonModel:{content:r,cssClass:"e-flat e-insert-table "+this.parent.cssClass,isPrimary:!0}},{click:function(e){n.cancelDialog(e)},buttonModel:{cssClass:"e-flat e-cancel "+this.parent.cssClass,content:o}}],target:t.Browser.isDevice?document.body:this.parent.element,animationSettings:{effect:"None"},close:function(e){n.parent.isBlur=!1,n.editdlgObj.destroy(),t.detach(n.editdlgObj.element),n.dialogRenderObj.close(e),n.editdlgObj=null}};this.editdlgObj=this.dialogRenderObj.render(s),this.editdlgObj.appendTo(i),this.quickToolObj&&this.quickToolObj.inlineQTBar&&document.body.contains(this.quickToolObj.inlineQTBar.element)&&this.quickToolObj.inlineQTBar.hidePopup()}},n.prototype.customTable=function(e,n){var i=this.self?this.self:this;if(i.rowTextBox.value&&i.columnTextBox.value){var r=t.Browser.isDevice||!t.isNullOrUndefined(e.args)&&!t.isNullOrUndefined(e.args.originalEvent)&&"insert-table"===e.args.originalEvent.action||i.parent.inlineMode.enable?e:this;i.tableInsert(i.rowTextBox.value,i.columnTextBox.value,n,r)}},n.prototype.cancelDialog=function(e){this.parent.isBlur=!1,this.editdlgObj.hide({returnValue:!0})},n.prototype.applyProperties=function(e,n){var i=this.editdlgObj.element,r=t.closest(e.selectNode[0],"table");if(r.style.width=i.querySelector(".e-table-width").value+"px",""!==i.querySelector(".e-cell-padding").value)for(var o=r.querySelectorAll("td"),s=0;s<o.length;s++){var a="";""===o[s].style.padding?a=o[s].getAttribute("style")+" padding:"+i.querySelector(".e-cell-padding").value+"px;":(o[s].style.padding=i.querySelector(".e-cell-padding").value+"px",a=o[s].getAttribute("style")),o[s].setAttribute("style",a)}r.cellSpacing=i.querySelector(".e-cell-spacing").value,t.isNullOrUndefined(r.cellSpacing)&&"0"===r.cellSpacing?t.removeClass([r],ui):t.addClass([r],ui),this.parent.formatter.saveData(),this.editdlgObj.hide({returnValue:!0})},n.prototype.tableDlgContent=function(e){var n=e.selectParent[0],i=this.l10n.getConstant("tableWidth"),r=this.l10n.getConstant("cellpadding"),s=this.l10n.getConstant("cellspacing"),a=this.parent.createElement("div",{className:"e-table-sizewrap "+this.parent.cssClass}),l=t.closest(n,"table").getClientRects()[0].width,d=t.closest(n,"td").style.padding,c=t.closest(n,"table").getAttribute("cellspacing"),p=N('<div class="e-rte-field '+this.parent.cssClass+'"><input type="text" data-role ="none" id="tableWidth" class="e-table-width '+this.parent.cssClass+'" /></div><div class="e-rte-field '+this.parent.cssClass+'"><input type="text" data-role ="none" id="cellPadding" class="e-cell-padding '+this.parent.cssClass+'" /> </div><div class="e-rte-field '+this.parent.cssClass+'"><input type="text" data-role ="none" id="cellSpacing" class="e-cell-spacing '+this.parent.cssClass+'" /></div>');return a.appendChild(p),this.tableWidthNum=new o.NumericTextBox({format:"n0",min:0,value:l,placeholder:i,floatLabelType:"Auto",enableRtl:this.parent.enableRtl,locale:this.parent.locale}),this.tableWidthNum.isStringTemplate=!0,this.tableWidthNum.appendTo(a.querySelector("#tableWidth")),this.tableCellPadding=new o.NumericTextBox({format:"n0",min:0,value:""!==d?parseInt(d,null):0,placeholder:r,floatLabelType:"Auto",enableRtl:this.parent.enableRtl,locale:this.parent.locale}),this.tableCellPadding.isStringTemplate=!0,this.tableCellPadding.appendTo(a.querySelector("#cellPadding")),this.tableCellSpacing=new o.NumericTextBox({format:"n0",min:0,value:""===c||t.isNullOrUndefined(c)?0:parseInt(c,null),placeholder:s,floatLabelType:"Auto",enableRtl:this.parent.enableRtl,locale:this.parent.locale}),this.tableCellSpacing.isStringTemplate=!0,this.tableCellSpacing.appendTo(a.querySelector("#cellSpacing")),a},n.prototype.destroy=function(){this.removeEventListener()},n.prototype.moduleDestroy=function(){this.parent=null},n.prototype.getModuleName=function(){return"table"},n}(),fs=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.isDestroyed||(this.parent.on(tt,this.moduleDestroy,this),this.parent.on(q,this.removeEventListener,this))},e.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off(q,this.removeEventListener),this.parent.off(tt,this.moduleDestroy))},e.prototype.render=function(e){var n;return e.beforeOpen=this.beforeOpen.bind(this),e.open=this.open.bind(this),t.isNullOrUndefined(e.close)&&(e.close=this.close.bind(this)),e.beforeClose=this.beforeClose.bind(this),n=new r.Dialog(e),n.isStringTemplate=!0,n},e.prototype.beforeOpen=function(e){this.parent.trigger(rt,e,this.beforeOpenCallback.bind(this,e))},e.prototype.beforeOpenCallback=function(e){e.cancel&&this.parent.notify(ot,null)},e.prototype.open=function(e){this.parent.trigger("dialogOpen",e)},e.prototype.beforeClose=function(e){this.parent.trigger(st,e,function(e){e.cancel||e.container.classList.contains("e-popup-close")&&(e.cancel=!0)})},e.prototype.close=function(e){this.parent.trigger("dialogClose",e)},e.prototype.moduleDestroy=function(){this.parent=null},e}(),bs={bold:{command:"Style",subCommand:"Bold",value:"strong"},italic:{command:"Style",subCommand:"Italic",value:"em"},underline:{command:"Style",subCommand:"Underline",value:"span"},strikeThrough:{command:"Style",subCommand:"StrikeThrough",value:"span"},insertCode:{command:"Formats",subCommand:"Pre",value:"pre"},superscript:{command:"Effects",subCommand:"SuperScript",value:"sup"},subscript:{command:"Effects",subCommand:"SubScript",value:"sub"},uppercase:{command:"Casing",subCommand:"UpperCase"},lowercase:{command:"Casing",subCommand:"LowerCase"},fontColor:{command:"font",subCommand:"fontcolor",value:"#ff0000"},fontName:{command:"font",subCommand:"fontname",value:"Segoe UI"},fontSize:{command:"font",subCommand:"fontsize",value:"10pt"},backColor:{command:"font",subCommand:"backgroundcolor",value:"#ffff00"},justifyCenter:{command:"Alignments",subCommand:"JustifyCenter"},justifyFull:{command:"Alignments",subCommand:"JustifyFull"},justifyLeft:{command:"Alignments",subCommand:"JustifyLeft"},justifyRight:{command:"Alignments",subCommand:"JustifyRight"},undo:{command:"Actions",subCommand:"Undo"},redo:{command:"Actions",subCommand:"Redo"},createLink:{command:"Links",subCommand:"createLink"},editLink:{command:"Links",subCommand:"createLink"},createImage:{command:"Images",subCommand:"Images"},formatBlock:{command:"Formats",value:"P"},heading:{command:"Formats",value:"H1"},indent:{command:"Indents",subCommand:"Indent"},outdent:{command:"Indents",subCommand:"Outdent"},insertHTML:{command:"InsertHTML",subCommand:"InsertHTML",value:""},insertText:{command:"InsertText",subCommand:"InsertText",value:""},insertHorizontalRule:{command:"InsertHTML",subCommand:"InsertHTML",value:"<hr/>"},insertImage:{command:"Images",subCommand:"Image"},editImage:{command:"Images",subCommand:"Image"},insertTable:{command:"Table",subCommand:"CreateTable"},insertBrOnReturn:{command:"InsertHTML",subCommand:"InsertHTML",value:"<br/>"},insertOrderedList:{command:"Lists",value:"OL"},insertUnorderedList:{command:"Lists",value:"UL"},insertParagraph:{command:"Formats",value:"P"},removeFormat:{command:"Clear",subCommand:"ClearFormat"}},vs=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ys=function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Cs=function(n){function i(){return null!==n&&n.apply(this,arguments)||this}return vs(i,n),ys([t.Property(!0)],i.prototype,"enable",void 0),ys([t.Property(!0)],i.prototype,"enableFloating",void 0),ys([t.Property(e.ToolbarType.Expand)],i.prototype,"type",void 0),ys([t.Property(Ii)],i.prototype,"items",void 0),ys([t.Property({})],i.prototype,"itemConfigs",void 0),i}(t.ChildProperty),Ns=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return vs(n,e),ys([t.Property([".jpeg",".jpg",".png"])],n.prototype,"allowedTypes",void 0),ys([t.Property("inline")],n.prototype,"display",void 0),ys([t.Property("Blob")],n.prototype,"saveFormat",void 0),ys([t.Property("auto")],n.prototype,"width",void 0),ys([t.Property("auto")],n.prototype,"height",void 0),ys([t.Property(null)],n.prototype,"saveUrl",void 0),ys([t.Property(null)],n.prototype,"path",void 0),ys([t.Property(!0)],n.prototype,"resize",void 0),ys([t.Property(null)],n.prototype,"removeUrl",void 0),ys([t.Property(0)],n.prototype,"minWidth",void 0),ys([t.Property(null)],n.prototype,"maxWidth",void 0),ys([t.Property(0)],n.prototype,"minHeight",void 0),ys([t.Property(null)],n.prototype,"maxHeight",void 0),ys([t.Property(!1)],n.prototype,"resizeByPercent",void 0),n}(t.ChildProperty),Ss=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return vs(n,e),ys([t.Complex({getImageUrl:null,url:null,uploadUrl:null},a.AjaxSettings)],n.prototype,"ajaxSettings",void 0),ys([t.Property(!1)],n.prototype,"allowDragAndDrop",void 0),ys([t.Complex({visible:!0,file:["Open","|","Cut","Copy","|","Delete","Rename","|","Details"],folder:["Open","|","Cut","Copy","Paste","|","Delete","Rename","|","Details"],layout:["SortBy","View","Refresh","|","Paste","|","NewFolder","Upload","|","Details","|","SelectAll"]},a.ContextMenuSettings)],n.prototype,"contextMenuSettings",void 0),ys([t.Property("")],n.prototype,"cssClass",void 0),ys([t.Complex({},a.DetailsViewSettings)],n.prototype,"detailsViewSettings",void 0),ys([t.Property(!1)],n.prototype,"enable",void 0),ys([t.Complex({maxWidth:"650px",minWidth:"240px",visible:!0},a.NavigationPaneSettings)],n.prototype,"navigationPaneSettings",void 0),ys([t.Property("/")],n.prototype,"path",void 0),ys([t.Property(null)],n.prototype,"rootAliasName",void 0),ys([t.Complex({},a.SearchSettings)],n.prototype,"searchSettings",void 0),ys([t.Property(!0)],n.prototype,"showFileExtension",void 0),ys([t.Property(!1)],n.prototype,"showHiddenItems",void 0),ys([t.Property(!0)],n.prototype,"showThumbnail",void 0),ys([t.Property("Ascending")],n.prototype,"sortOrder",void 0),ys([t.Complex({visible:!0,items:["NewFolder","Upload","Cut","Copy","Paste","Delete","Download","Rename","SortBy","Refresh","Selection","View","Details"]},a.ToolbarSettings)],n.prototype,"toolbarSettings",void 0),ys([t.Complex({autoUpload:!0,minFileSize:0,maxFileSize:3e7,allowedExtensions:"",autoClose:!1},a.UploadSettings)],n.prototype,"uploadSettings",void 0),ys([t.Property("LargeIcons")],n.prototype,"view",void 0),n}(t.ChildProperty),Es=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return vs(n,e),ys([t.Property("100%")],n.prototype,"width",void 0),ys([t.Property(Ri)],n.prototype,"styles",void 0),ys([t.Property(!0)],n.prototype,"resize",void 0),ys([t.Property(0)],n.prototype,"minWidth",void 0),ys([t.Property(null)],n.prototype,"maxWidth",void 0),n}(t.ChildProperty),Ts=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return vs(n,e),ys([t.Property(!0)],n.prototype,"enable",void 0),ys([t.Property(!1)],n.prototype,"showOnRightClick",void 0),ys([t.Property("hide")],n.prototype,"actionOnScroll",void 0),ys([t.Property(["Open","Edit","UnLink"])],n.prototype,"link",void 0),ys([t.Property(["Replace","Align","Caption","Remove","-","InsertLink","OpenImageLink","EditImageLink","RemoveImageLink","Display","AltText","Dimension"])],n.prototype,"image",void 0),ys([t.Property(["Cut","Copy","Paste"])],n.prototype,"text",void 0),ys([t.Property(["TableHeader","TableRows","TableColumns","BackgroundColor","-","TableRemove","Alignments","TableCellVerticalAlign","Styles"])],n.prototype,"table",void 0),n}(t.ChildProperty),ws=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return vs(n,e),ys([t.Property(!1)],n.prototype,"prompt",void 0),ys([t.Property(null)],n.prototype,"deniedAttrs",void 0),ys([t.Property(["background","background-color","border","border-bottom","border-left","border-radius","border-right","border-style","border-top","border-width","clear","color","cursor","direction","display","float","font","font-family","font-size","font-weight","font-style","height","left","line-height","list-style-type","margin","margin-top","margin-left","margin-right","margin-bottom","max-height","max-width","min-height","min-width","overflow","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","position","right","table-layout","text-align","text-decoration","text-indent","top","vertical-align","visibility","white-space","width"])],n.prototype,"allowedStyleProps",void 0),ys([t.Property(null)],n.prototype,"deniedTags",void 0),ys([t.Property(!0)],n.prototype,"keepFormat",void 0),ys([t.Property(!1)],n.prototype,"plainText",void 0),n}(t.ChildProperty),Os=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return vs(n,e),ys([t.Property(null)],n.prototype,"default",void 0),ys([t.Property("65px")],n.prototype,"width",void 0),ys([t.Property(Bi)],n.prototype,"items",void 0),n}(t.ChildProperty),Ls=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return vs(n,e),ys([t.Property(null)],n.prototype,"default",void 0),ys([t.Property("35px")],n.prototype,"width",void 0),ys([t.Property(Pi)],n.prototype,"items",void 0),n}(t.ChildProperty),xs=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return vs(n,e),ys([t.Property(null)],n.prototype,"default",void 0),ys([t.Property("65px")],n.prototype,"width",void 0),ys([t.Property(Ai)],n.prototype,"types",void 0),n}(t.ChildProperty),ks=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return vs(n,e),ys([t.Property("#ff0000")],n.prototype,"default",void 0),ys([t.Property("Palette")],n.prototype,"mode",void 0),ys([t.Property(10)],n.prototype,"columns",void 0),ys([t.Property(Ui)],n.prototype,"colorCode",void 0),ys([t.Property(!1)],n.prototype,"modeSwitcher",void 0),n}(t.ChildProperty),Ds=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return vs(n,e),ys([t.Property("#ffff00")],n.prototype,"default",void 0),ys([t.Property("Palette")],n.prototype,"mode",void 0),ys([t.Property(10)],n.prototype,"columns",void 0),ys([t.Property(Hi)],n.prototype,"colorCode",void 0),ys([t.Property(!1)],n.prototype,"modeSwitcher",void 0),n}(t.ChildProperty),Ms=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return vs(n,e),ys([t.Property(ji)],n.prototype,"types",void 0),n}(t.ChildProperty),Rs=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return vs(n,e),ys([t.Property(Fi)],n.prototype,"types",void 0),n}(t.ChildProperty),Is=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Bs=function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Ps=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return Is(n,e),Bs([t.Property([])],n.prototype,"styles",void 0),Bs([t.Property([])],n.prototype,"scripts",void 0),n}(t.ChildProperty),As=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return Is(n,e),Bs([t.Property(!1)],n.prototype,"enable",void 0),Bs([t.Property(null)],n.prototype,"attributes",void 0),Bs([t.Complex({},Ps)],n.prototype,"resources",void 0),n}(t.ChildProperty),Us=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Hs=function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},js=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return Us(n,e),Hs([t.Property(!1)],n.prototype,"enable",void 0),Hs([t.Property(!0)],n.prototype,"onSelection",void 0),n}(t.ChildProperty),Fs=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.on(it,this.enterHandler,this),this.parent.on(q,this.destroy,this),this.parent.on(tt,this.moduleDestroy,this)},e.prototype.destroy=function(){this.removeEventListener()},e.prototype.moduleDestroy=function(){this.parent=null},e.prototype.removeEventListener=function(){this.parent.off(it,this.enterHandler),this.parent.off(q,this.destroy),this.parent.off(tt,this.moduleDestroy)},e.prototype.getRangeNode=function(){this.range=this.parent.getRange(),this.startNode="#text"===this.range.startContainer.nodeName?this.range.startContainer.parentElement:this.range.startContainer,this.endNode="#text"===this.range.endContainer.nodeName?this.range.endContainer.parentElement:this.range.endContainer},e.prototype.enterHandler=function(e){var n=this;this.getRangeNode();var i=!0;if(!t.isNullOrUndefined(this.startNode.closest("TABLE"))&&!t.isNullOrUndefined(this.endNode.closest("TABLE"))){i=!1;for(var r=this.startNode,o=r;!this.parent.formatter.editorManager.domNode.isBlockNode(r);)o=r,r=r.parentElement;i="TD"!==o.tagName&&"TBODY"!==o.tagName}if(13===e.args.which&&"Enter"===e.args.code&&t.isNullOrUndefined(this.startNode.closest("LI"))&&t.isNullOrUndefined(this.endNode.closest("LI"))&&i&&t.isNullOrUndefined(this.startNode.closest("PRE"))&&t.isNullOrUndefined(this.endNode.closest("PRE"))){var s=e.args.shiftKey,a={cancel:!1,name:ve,requestType:s?"ShiftEnterAction":"EnterAction",originalEvent:e.args};this.parent.trigger(ve,a,function(r){if(!r.cancel){if(n.range.startOffset!==n.range.endOffset||n.range.startContainer!==n.range.endContainer)if(n.range.deleteContents(),"#text"===n.range.startContainer.nodeName&&0===n.range.startContainer.textContent.length&&n.range.startContainer.parentElement!==n.parent.inputElement)"BR"===n.parent.enterKey?n.range.startContainer.parentElement.innerHTML="&#8203;":n.range.startContainer.parentElement.innerHTML="<br>";else if(n.range.startContainer===n.parent.inputElement&&""===n.range.startContainer.innerHTML){n.range.startContainer.innerHTML="<br>";var o=n.range.startContainer.childNodes[n.range.startOffset];n.parent.formatter.editorManager.nodeSelection.setCursorPoint(n.parent.contentModule.getDocument(),o,0)}else if(n.parent.inputElement===n.range.startContainer){if("#text"===(o=n.range.startContainer.childNodes[n.range.startOffset]).nodeName&&0===o.textContent.length)n.parent.formatter.editorManager.nodeSelection.setCursorPoint(n.parent.contentModule.getDocument(),o,o.previousSibling.textContent.length);else if(n.parent.formatter.editorManager.nodeSelection.setCursorPoint(n.parent.contentModule.getDocument(),o,o.textContent.length>=0?0:1),0===o.previousSibling.textContent.length)t.detach(o.previousSibling);else if(0===o.textContent.length){for(var a=o.previousSibling.lastChild;"#text"!==a.nodeName;)a=a.lastChild;n.parent.formatter.editorManager.nodeSelection.setCursorPoint(n.parent.contentModule.getDocument(),a,a.textContent.length),t.detach(o)}else if("BR"!==n.parent.enterKey&&0!==o.previousSibling.textContent.length&&0!==o.textContent.length)return void e.args.preventDefault();n.getRangeNode()}if(n.range.startContainer===n.range.endContainer&&n.range.startOffset===n.range.endOffset&&n.range.startContainer===n.parent.inputElement&&(n.parent.formatter.editorManager.nodeSelection.setCursorPoint(n.parent.contentModule.getDocument(),n.range.startContainer.childNodes[n.range.startOffset],0),n.getRangeNode()),"P"===n.parent.enterKey&&!s||"DIV"===n.parent.enterKey&&!s||"P"===n.parent.shiftEnterKey&&s||"DIV"===n.parent.shiftEnterKey&&s){var l=void 0;l=i&&n.parent.formatter.editorManager.domNode.isBlockNode(n.startNode)?n.startNode:n.parent.formatter.editorManager.domNode.blockParentNode(n.startNode);var d=!1,c=!1;if(0==n.range.startOffset||0==n.range.endOffset||n.range.startContainer!==n.range.endContainer||!t.isNullOrUndefined(l.childNodes[0])&&"IMG"===l.childNodes[0].nodeName)0===n.range.startOffset&&0===n.range.endOffset&&(c=!0);else{var p=n.range.startContainer.textContent.substring(0,n.range.startOffset);160!=p.charCodeAt(n.range.startOffset-1)&&0===p.trim().length&&(c=!0)}n.removeBRElement(l);if(!(-1!=t.Browser.userAgent.indexOf("Firefox")&&0===n.range.startOffset&&n.range.startContainer===n.range.endContainer&&"#text"===n.range.startContainer.nodeName&&!n.parent.formatter.editorManager.domNode.isBlockNode(n.range.startContainer.previousSibling)&&n.range.startContainer.parentElement===n.range.startContainer.previousSibling.parentElement)&&(0===n.range.startOffset&&0===n.range.endOffset||c)&&(t.isNullOrUndefined(n.range.startContainer.previousSibling)||"IMG"!==n.range.startContainer.previousSibling.nodeName&&"BR"!==n.range.startContainer.previousSibling.nodeName)){var h=void 0,u=void 0;"IMG"===n.range.startContainer.nodeName?(u=n.createInsertElement(s),d=!0,h=!1):0!==l.textContent.trim().length||"IMG"===l.childNodes[0].nodeName?(u=n.parent.formatter.editorManager.nodeCutter.SplitNode(n.range,l,!1).cloneNode(!0),h=!1):(u=n.parent.formatter.editorManager.nodeCutter.SplitNode(n.range,l,!0).cloneNode(!0),h=!0);for(var m=n.createInsertElement(s);u.firstChild;)m.appendChild(u.firstChild);if(l.parentElement.insertBefore(m,l),!h){a=m;for(var g=void 0;!t.isNullOrUndefined(a)&&"#text"!==a.nodeName;)g=a,a=a.lastChild;g.innerHTML="<br>",d||t.detach(l)}n.parent.formatter.editorManager.nodeSelection.setCursorPoint(n.parent.contentModule.getDocument(),m.nextElementSibling,0)}else if(0!==l.textContent.length||!t.isNullOrUndefined(l.childNodes[0])&&"IMG"===l.childNodes[0].nodeName){u=n.parent.formatter.editorManager.nodeCutter.SplitNode(n.range,l,!0);if(t.isNullOrUndefined(u.childNodes[0])||"#text"!==u.childNodes[0].nodeName||0!==u.childNodes[0].textContent.length||t.detach(u.childNodes[0]),0===u.textContent.trim().length){var f=n.parent.createElement("br");if("A"===n.startNode.nodeName){var b=n.startNode.parentElement;n.startNode.parentElement.insertBefore(f,n.startNode),t.detach(n.startNode),n.startNode=b}else n.startNode.appendChild(f);"\n"===u.childNodes[0].textContent&&t.detach(u.childNodes[0]),n.parent.formatter.editorManager.nodeSelection.setCursorPoint(n.parent.contentModule.getDocument(),n.startNode,0)}if(("P"===n.parent.enterKey||"DIV"===n.parent.enterKey)&&!s||("DIV"===n.parent.shiftEnterKey||"P"===n.parent.shiftEnterKey)&&s){for(var v=n.createInsertElement(s);u.firstChild;)v.appendChild(u.firstChild);n.parent.formatter.editorManager.domNode.insertAfter(v,u),t.detach(u),n.parent.formatter.editorManager.nodeSelection.setCursorPoint(n.parent.contentModule.getDocument(),n.parent.formatter.editorManager.domNode.isBlockNode(n.startNode)?v:n.startNode,0)}}else if(t.isNullOrUndefined(l.children[0])||"BR"===l.children[0].tagName){(m=n.createInsertElement(s)).innerHTML="<br>",n.parent.formatter.editorManager.domNode.insertAfter(m,l),n.parent.formatter.editorManager.nodeSelection.setCursorPoint(n.parent.contentModule.getDocument(),m,0)}else{var u=n.parent.formatter.editorManager.nodeCutter.SplitNode(n.range,l,!1).cloneNode(!0);n.parent.formatter.editorManager.domNode.insertAfter(u,l),n.parent.formatter.editorManager.nodeSelection.setCursorPoint(n.parent.contentModule.getDocument(),u,u.textContent.length>=0?0:1)}e.args.preventDefault()}if("BR"===n.parent.enterKey&&!s||"BR"===n.parent.shiftEnterKey&&s){var y=void 0;if(n.parent.formatter.editorManager.domNode.isBlockNode(n.startNode))y=n.startNode;else{for(var C=n.startNode,N=C;!n.parent.formatter.editorManager.domNode.isBlockNode(C);)N=C,C=C.parentElement;y=C===n.parent.inputElement?N:C}n.removeBRElement(y);for(var S=y.lastChild;!t.isNullOrUndefined(S)&&"#text"!==S.nodeName&&"BR"!==S.nodeName;)S=S.lastChild;var E=n.range.startContainer===S?n.range.startContainer.textContent.length:y.textContent.length;if(y!==n.parent.inputElement&&n.parent.formatter.editorManager.domNode.isBlockNode(y)&&n.range.startOffset===n.range.endOffset&&n.range.startOffset===E){var T=n.parent.createElement("br");if("BR"===S.nodeName&&0===y.textContent.length)n.parent.formatter.editorManager.domNode.insertAfter(T,S);else{var w=n.parent.createElement("br");n.parent.formatter.editorManager.domNode.insertAfter(T,n.range.startContainer),n.parent.formatter.editorManager.domNode.insertAfter(w,n.range.startContainer)}n.parent.formatter.editorManager.nodeSelection.setCursorPoint(n.parent.contentModule.getDocument(),T,0)}else if(t.isNullOrUndefined(y)||y===n.parent.inputElement||"BR"===y.nodeName)n.insertBRElement();else if(0===y.textContent.trim().length||1===y.textContent.trim().length&&8203===y.textContent.charCodeAt(0)){u=n.parent.formatter.editorManager.nodeCutter.SplitNode(n.range,y,!0).cloneNode(!0);n.parent.formatter.editorManager.domNode.insertAfter(u,y);var O=n.parent.createElement("br");u.parentElement.insertBefore(O,u),n.parent.formatter.editorManager.nodeSelection.setCursorPoint(n.parent.contentModule.getDocument(),u,0)}else{u=void 0,O=n.parent.createElement("br");if(0!==n.range.startOffset||0!==n.range.endOffset||t.isNullOrUndefined(y.previousSibling)||"BR"!==y.previousSibling.nodeName)n.insertBRElement();else{u=n.parent.formatter.editorManager.nodeCutter.SplitNode(n.range,y,!1).cloneNode(!0),n.parent.formatter.editorManager.domNode.insertAfter(O,y),n.insertFocusContent();for(a=O.nextSibling;!t.isNullOrUndefined(a)&&"#text"!==a.nodeName;)a=a.lastChild;n.parent.formatter.editorManager.nodeSelection.setCursorPoint(n.parent.contentModule.getDocument(),a,0)}}e.args.preventDefault()}n.parent.trigger(ye,{requestType:s?"ShiftEnterAction":"EnterAction",args:e.args})}})}},e.prototype.removeBRElement=function(e){-1!=t.Browser.userAgent.indexOf("Firefox")&&this.range.endOffset===e.textContent.length&&(0!==e.textContent.length||e.querySelectorAll("BR").length>1)&&!t.isNullOrUndefined(e.lastChild)&&"BR"===e.lastChild.nodeName&&t.detach(e.lastChild)},e.prototype.insertBRElement=function(){var e=!1,n=this.parent.createElement("br");if("BR"===this.startNode.nodeName&&"BR"===this.endNode.nodeName&&0===this.range.startOffset&&this.range.startOffset===this.range.endOffset?(this.parent.formatter.editorManager.domNode.insertAfter(n,this.startNode),e=!0):(this.startNode!==this.parent.inputElement||t.isNullOrUndefined(this.range.startContainer.previousSibling)||"BR"!==this.range.startContainer.previousSibling.nodeName||0!==this.range.startContainer.textContent.length||(e=!0),this.range.insertNode(n)),e||!t.isNullOrUndefined(n.nextElementSibling)&&"BR"===n.nextElementSibling.tagName||!t.isNullOrUndefined(n.nextSibling)&&n.nextSibling.textContent.length>0)this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.parent.contentModule.getDocument(),t.isNullOrUndefined(n.nextSibling)?n:n.nextSibling,0),e=!1;else{var i=this.parent.createElement("br");this.range.insertNode(i),this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.parent.contentModule.getDocument(),n,0)}},e.prototype.insertFocusContent=function(){0===this.range.startContainer.textContent.length&&("#text"===this.range.startContainer.nodeName?this.range.startContainer.parentElement.innerHTML="&#8203;":this.range.startContainer.innerHTML="&#8203;")},e.prototype.createInsertElement=function(e){var t;return"DIV"===this.parent.enterKey&&!e||"DIV"===this.parent.shiftEnterKey&&e?t=this.parent.createElement("div"):("P"===this.parent.enterKey&&!e||"P"===this.parent.shiftEnterKey&&e)&&(t=this.parent.createElement("p")),t},e}(),qs=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),zs=function(){return(zs=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++){t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e}).apply(this,arguments)},_s=function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Ws=function(n){function i(e,t){var i=n.call(this,e,t)||this;return i.needsID=!0,i}return qs(i,n),i.prototype.requiredModules=function(){var e=[];return this.toolbarSettings.enable&&(e.push({member:"toolbar",args:[this,this.serviceLocator]}),e.push({member:"link",args:[this,this.serviceLocator]}),e.push({member:"table",args:[this,this.serviceLocator]}),e.push({member:"image",args:[this,this.serviceLocator]}),this.quickToolbarSettings.enable&&e.push({member:"quickToolbar",args:[this,this.serviceLocator]})),this.showCharCount&&e.push({member:"count",args:[this,this.serviceLocator]}),"Markdown"===this.editorMode&&e.push({member:"markdownEditor",args:[this,this.serviceLocator]}),"HTML"===this.editorMode&&(e.push({member:"htmlEditor",args:[this,this.serviceLocator]}),e.push({member:"pasteCleanup",args:[this,this.serviceLocator]})),this.fileManagerSettings.enable&&e.push({member:"fileManager",args:[this,this.serviceLocator]}),this.enableResize&&e.push({member:"resize",args:[this]}),e},i.prototype.updateEnable=function(){this.enabled?(t.removeClass([this.element],Pt),this.element.setAttribute("aria-disabled","false"),t.isNullOrUndefined(this.htmlAttributes.tabindex)?this.inputElement.setAttribute("tabindex","0"):this.inputElement.setAttribute("tabindex",this.htmlAttributes.tabindex)):(this.getToolbar()&&(t.removeClass(this.getToolbar().querySelectorAll("."+Sn),Sn),t.removeClass([this.getToolbar()],[Ft,qt])),t.addClass([this.element],Pt),this.element.tabIndex=-1,this.element.setAttribute("aria-disabled","true"),this.inputElement.setAttribute("tabindex","-1"))},i.prototype.setEnable=function(){this.updateEnable(),this.enabled?this.eventInitializer():this.unWireEvents()},i.prototype.initializeValue=function(){this.isFocusOut=!1,this.isRTE=!1,this.isBlur=!0,this.defaultResetValue=null,this.isResizeInitialized=!1},i.prototype.preRender=function(){this.initializeValue(),this.onBlurHandler=this.blurHandler.bind(this),this.onFocusHandler=this.focusHandler.bind(this),this.onResizeHandler=this.resizeHandler.bind(this),this.clickPoints={clientX:0,clientY:0},this.initialValue=this.value,this.serviceLocator=new $i,this.initializeServices(),this.setContainer(),this.persistData(),t.setStyleAttribute(this.element,{width:t.formatUnit(this.width)}),t.attributes(this.element,{role:"application"})},i.prototype.persistData=function(){if(this.enablePersistence&&"TEXTAREA"===this.originalElement.tagName){this.element.id=this.originalElement.id+"_wrapper";var e=window.localStorage.getItem(this.getModuleName()+this.element.id);t.isNullOrUndefined(e)||""===e||this.setProperties(JSON.parse(e),!0)}},i.prototype.setContainer=function(){this.originalElement=this.element.cloneNode(!0),null!==this.value&&null===this.valueTemplate||this.setValue(),this.element.hasAttribute("tabindex")&&(this.htmlAttributes={tabindex:this.element.getAttribute("tabindex")},this.element.removeAttribute("tabindex")),this.element.innerHTML="";for(var e=["class","style","id","ejs-for"],n={},i=0;i<this.element.attributes.length;i++)-1!==e.indexOf(this.element.attributes[i].name)||/^data-val/.test(this.element.attributes[i].name)||(n[this.element.attributes[i].name]=this.element.getAttribute(this.element.attributes[i].name));if(t.extend(n,this.htmlAttributes,n),this.setProperties({htmlAttributes:n},!0),t.isNullOrUndefined(this.htmlAttributes.id)||(this.element.id=this.htmlAttributes.id),"TEXTAREA"===this.element.tagName){var r=this.createElement("div",{className:this.element.getAttribute("class")});this.element.innerHTML="",this.element.parentElement.insertBefore(r,this.element),this.valueContainer=this.element,t.removeClass([this.valueContainer],this.element.getAttribute("class").split(" ")),this.element=r}else this.valueContainer=this.createElement("textarea",{id:this.getID()+"-value",attrs:{"aria-labelledby":this.getID()}});if(this.valueContainer.name=this.getID(),t.addClass([this.valueContainer],Yn),!t.isNullOrUndefined(this.cssClass))for(var o=this.cssClass.split(" "),s=0;s<o.length;s++)t.addClass([this.valueContainer],o[s]);this.element.appendChild(this.valueContainer)},i.prototype.getPersistData=function(){return this.addOnPersist(["value"])},i.prototype.focusIn=function(){this.enabled&&(this.inputElement.focus(),this.focusHandler({}))},i.prototype.focusOut=function(){this.enabled&&(this.inputElement.blur(),this.blurHandler({}))},i.prototype.selectAll=function(){this.notify(We,{})},i.prototype.selectRange=function(e){this.notify(Ve,{range:e})},i.prototype.getSelection=function(){var e="";return this.notify(Qe,{callBack:function(t){e=t}}),e},i.prototype.executeCommand=function(e,n,i){if(n=this.htmlPurifier(e,n),"HTML"===this.editorMode){var r=this.getRange();this.iframeSettings.enable&&this.formatter.editorManager.nodeSelection.Clear(this.element.ownerDocument);(!(!this.iframeSettings.enable||r.startContainer!==this.inputElement)||!this.inputElement.contains(r.startContainer))&&this.focusIn()}var o=bs[e];if(i&&i.undo&&i.undo&&0===this.formatter.getUndoRedoStack().length&&this.formatter.saveData(),-1!==this.maxLength&&!t.isNullOrUndefined(o.command)){var s=0;if("Links"===o.command&&(s=0===n.text.length?n.url.length:n.text.length),"Images"!==o.command&&"Table"!==o.command&&"Files"!==o.command||(s=1),"InsertHTML"===o.command)if(t.isNullOrUndefined(n))t.isNullOrUndefined(o.value)||"<hr/>"!==o.value&&"<br/>"!==o.value||(s=1);else{var a=this.createElement("div");a.innerHTML=n,s=a.textContent.length}"InsertText"===o.command&&(s=n.length);var l=this.getText().trim().length-this.getSelection().length+s;if(!(-1===this.maxLength||l<=this.maxLength))return}this.formatter.editorManager.execCommand(o.command,o.subCommand?o.subCommand:n||o.value,null,null,n||o.value,n||o.value),i&&i.undo&&(this.formatter.saveData(),this.formatter.enableUndo(this)),this.setPlaceHolder(),this.notify(H,{})},i.prototype.htmlPurifier=function(e,n){if("HTML"===this.editorMode)switch(e){case"insertHTML":this.enableHtmlSanitizer&&(n="string"==typeof n?this.htmlEditorModule.sanitizeHelper(n):this.htmlEditorModule.sanitizeHelper(n.outerHTML));break;case"insertTable":t.isNullOrUndefined(n.width)&&(n.width={minWidth:this.tableSettings.minWidth,maxWidth:this.tableSettings.maxWidth,width:this.tableSettings.width});break;case"insertImage":var i=this.createElement("img",{attrs:{src:n.url}}),r=i.outerHTML;this.enableHtmlSanitizer&&(r=this.htmlEditorModule.sanitizeHelper(i.outerHTML));var o=""!==r&&this.createElement("div",{innerHTML:r}).firstElementChild.getAttribute("src")||null;o=t.isNullOrUndefined(o)?"":o,n.url=o,t.isNullOrUndefined(n.width)&&(n.width={minWidth:this.insertImageSettings.minWidth,maxWidth:this.insertImageSettings.maxWidth,width:this.insertImageSettings.width}),t.isNullOrUndefined(n.height)&&(n.height={minHeight:this.insertImageSettings.minHeight,maxHeight:this.insertImageSettings.maxHeight,height:this.insertImageSettings.height});break;case"createLink":var s=this.createElement("a",{attrs:{href:n.url}}),a=s.outerHTML;this.enableHtmlSanitizer&&(a=this.htmlEditorModule.sanitizeHelper(s.outerHTML));var l=""!==a&&this.createElement("div",{innerHTML:a}).firstElementChild.getAttribute("href")||null;l=t.isNullOrUndefined(l)?"":l,n.url=l}return n},i.prototype.encode=function(e){var t=this.createElement("div");return t.innerText=e.trim(),t.innerHTML.replace(/<br\s*[\/]?>/gi,"\n")},i.prototype.render=function(){this.value&&!this.valueTemplate&&this.setProperties({value:this.serializeValue(this.value)},!0),this.renderModule=new ps(this,this.serviceLocator),this.sourceCodeModule=new ms(this,this.serviceLocator),this.notify(U,{}),this.trigger("load"),this.RTERender();new mr(this);this.notify(j,{}),this.enableXhtml&&this.setProperties({value:this.getXhtml()},!0),this.toolbarSettings.enable&&"Expand"===this.toolbarSettings.type&&!t.isNullOrUndefined(this.getToolbar())&&this.toolbarSettings.items.indexOf("Undo")>-1&&this.toolbarSettings.items.indexOf("Redo")>-1&&this.disableToolbarItem(["Undo","Redo"]),this.setContentHeight(),null!==this.value&&(this.valueContainer.defaultValue=this.value),this.enabled?this.eventInitializer():this.unWireEvents(),this.notify(Mt,{cssClass:this.cssClass}),this.notify(A,{}),this.renderComplete()},i.prototype.eventInitializer=function(){this.wireEvents()},i.prototype.cleanList=function(e){var n=this.getRange(),i=n.startContainer,r=n.endContainer,o=n.startOffset,s=i===r,a=r.textContent.length,l="#text"===n.endContainer.nodeName?n.endContainer.parentElement:n.endContainer,d=t.closest(l,"LI");if(!t.isNullOrUndefined(d)&&l.textContent.length===n.endOffset&&!n.collapsed&&t.isNullOrUndefined(l.nextElementSibling)){for(var c=0;c<d.childNodes.length;c++)"#text"===d.childNodes[c].nodeName&&0===d.childNodes[c].textContent.trim().length&&(t.detach(d.childNodes[c]),c--);for(var p=d;null!==p.lastChild&&"#text"!==p.nodeName;)p=p.lastChild;this.formatter.editorManager.nodeSelection.setSelectionText(this.contentModule.getDocument(),s?i:"BR"!==p.nodeName||t.isNullOrUndefined(p.previousSibling)?i:p.previousSibling,r,o,"BR"===p.nodeName?0:a)}},i.prototype.keyDown=function(e){if(this.notify(Z,{member:"keydown",args:e}),this.restrict(e),"HTML"===this.editorMode&&this.cleanList(e),"HTML"===this.editorMode&&(8===e.which&&"Backspace"===e.code||46===e.which&&"Delete"===e.code)){var n=this.getRange(),i="#text"===n.startContainer.nodeName?n.startContainer.parentElement:n.startContainer;if(t.closest(i,"pre")&&8===e.which&&8203===n.startContainer.textContent.charCodeAt(n.startOffset-1)||46===e.which&&8203===n.startContainer.textContent.charCodeAt(n.startOffset)){var r=new RegExp(String.fromCharCode(8203),"g"),o=8===e.which?n.startOffset-1:n.startOffset;n.startContainer.textContent=n.startContainer.textContent.replace(r,""),this.formatter.editorManager.nodeSelection.setCursorPoint(this.contentModule.getDocument(),n.startContainer,o)}else if("Backspace"===e.code&&8===e.which&&8203===n.startContainer.textContent.charCodeAt(0)&&n.collapsed){var s=n.startContainer.parentElement,a=void 0,l=void 0;for(l=0;l<s.childNodes.length;l++)s.childNodes[l]===n.startContainer&&(a=l);var d=!0,c=[];for(l=a;l>=0;l--)3===s.childNodes[l].nodeType&&8203===s.childNodes[l].textContent.charCodeAt(0)&&d?c.push(l):d=!1;if(c.length>0)for(l=c.length-1;l>0;l--)s.childNodes[c[l]].textContent="";this.formatter.editorManager.nodeSelection.setCursorPoint(this.contentModule.getDocument(),n.startContainer,n.startOffset)}}if(0===this.formatter.getUndoRedoStack().length&&this.formatter.saveData(),"insert-link"!==e.action&&(e.action&&"paste"!==e.action&&"space"!==e.action||9===e.which||"Backspace"===e.code&&8===e.which))switch(this.formatter.process(this,null,e),e.action){case"toolbar-focus":if(this.toolbarSettings.enable){this.toolbarModule.baseToolbar.toolbarObj.element.querySelector('.e-toolbar-item[aria-disabled="false"][title] [tabindex]').focus()}break;case"escape":this.contentModule.getEditPanel().focus()}t.isNullOrUndefined(this.placeholder)||(t.isNullOrUndefined(this.placeHolderWrapper)||1===this.inputElement.textContent.length?this.setPlaceHolder():this.placeHolderWrapper.style.display="none"),this.autoResize()},i.prototype.keyUp=function(e){if("HTML"===this.editorMode){var n=this.getRange();if(-1!=t.Browser.userAgent.indexOf("Firefox")&&"#text"===n.startContainer.nodeName&&n.startContainer.parentElement===this.inputElement&&"BR"!==this.enterKey){var i=this.getRange(),r=this.createElement(this.enterKey);i.startContainer.parentElement.insertBefore(r,i.startContainer),r.appendChild(i.startContainer),this.formatter.editorManager.nodeSelection.setSelectionText(this.contentModule.getDocument(),r.childNodes[0],r.childNodes[0],r.childNodes[0].textContent.length,r.childNodes[0].textContent.length)}}this.notify($,{member:"keyup",args:e}),"KeyX"!==e.code||88!==e.which||88!==e.keyCode||!e.ctrlKey||""!==this.inputElement.innerHTML&&"<br>"!==this.inputElement.innerHTML||(this.inputElement.innerHTML=T(O(this),this));var o=32===e.which||13===e.which||8===e.which||46===e.which;("shift"!==e.key&&!e.ctrlKey&&e.key&&1===e.key.length||o||"Markdown"===this.editorMode&&("shift"!==e.key&&!e.ctrlKey&&e.key&&1===e.key.length||o)&&!this.inlineMode.enable)&&this.formatter.onKeyHandler(this,e),(this.inputElement&&0!==this.inputElement.textContent.length||this.element.querySelectorAll(".e-toolbar-item.e-active").length>0)&&this.notify(_,{args:e}),t.isNullOrUndefined(this.placeholder)||"Enter"===e.key&&13===e.keyCode||"<p><br></p>"!==this.inputElement.innerHTML&&"<div><br></div>"!==this.inputElement.innerHTML&&"<br>"!==this.inputElement.innerHTML||this.setPlaceHolder()},i.prototype.serializeValue=function(e){return"HTML"!==this.editorMode||t.isNullOrUndefined(e)||(this.enableHtmlEncode?(e=this.htmlEditorModule.sanitizeHelper(x(e)),e=this.encode(e)):e=this.htmlEditorModule.sanitizeHelper(e)),e},i.prototype.sanitizeHtml=function(e){return this.serializeValue(e)},i.prototype.updateValue=function(e){if(t.isNullOrUndefined(e)){var n=this.inputElement.innerHTML;this.setProperties({value:L(n)?null:n})}else this.setProperties({value:e})},i.prototype.triggerEditArea=function(e){if(h()){var t=e.touches?e.changedTouches[0]:e;this.clickPoints.clientX===t.clientX&&this.clickPoints.clientY===t.clientY&&this.notify(He,{member:"editAreaClick",args:e})}else this.notify(He,{member:"editAreaClick",args:e})},i.prototype.notifyMouseUp=function(e){var t=e.touches?e.changedTouches[0]:e;this.notify(ee,{member:"mouseUp",args:e,touchData:{prevClientX:this.clickPoints.clientX,prevClientY:this.clickPoints.clientY,clientX:t.clientX,clientY:t.clientY}}),this.inputElement&&("HTML"===this.editorMode&&0!==this.inputElement.textContent.length||"Markdown"===this.editorMode&&0!==this.inputElement.value.length)&&this.notify(_,{args:e}),this.triggerEditArea(e)},i.prototype.mouseUp=function(e){if(this.quickToolbarSettings.showOnRightClick&&t.Browser.isDevice){var n=e.target,i=t.closest(n,"table");if(n&&"A"===n.nodeName||"IMG"===n.nodeName||"TD"===n.nodeName||"TH"===n.nodeName||"TABLE"===n.nodeName||i&&this.contentModule.getEditPanel().contains(i))return}if(this.notifyMouseUp(e),3===e.detail){var r=this.getRange(),o=this.formatter.editorManager.domNode.getSelection();/\s+$/.test(o.toString())&&((t.isNullOrUndefined(r.startContainer.parentElement)||(t.isNullOrUndefined(r.startContainer.parentElement.nextSibling)||3===r.startContainer.parentElement.nextSibling.nodeType&&!/\s+$/.test(r.startContainer.parentElement.nextSibling.textContent))&&r.startOffset!==r.endOffset)&&"li"!==r.startContainer.parentElement.tagName.toLocaleLowerCase()||(r.setStart(r.startContainer,r.startOffset),r.setEnd(r.startContainer,r.startContainer.textContent.length)))}},i.prototype.ensureModuleInjected=function(e){return this.getInjectedModules().indexOf(e)>=0},i.prototype.onCopy=function(){this.contentModule.getDocument().execCommand("copy",!1,null)},i.prototype.onCut=function(){this.contentModule.getDocument().execCommand("cut",!1,null)},i.prototype.onPaste=function(e){var n=this,i={originalEvent:e,cancel:!1,requestType:"Paste"};this.trigger(ve,i,function(i){var r=n.inputElement.textContent.length-n.getSelection().length+(t.isNullOrUndefined(e)||t.isNullOrUndefined(e.clipboardData)?0:e.clipboardData.getData("text/plain").length);if("Markdown"===n.editorMode){var o={requestType:"Paste",editorMode:n.editorMode,event:e};return setTimeout(function(){n.formatter.onSuccess(n,o)},0),void(-1===n.maxLength||r<=n.maxLength||e.preventDefault())}if(!i.cancel&&"true"===n.inputElement.contentEditable&&(-1===n.maxLength||r<=n.maxLength))if(t.isNullOrUndefined(n.pasteCleanupModule)){var s={requestType:"Paste",editorMode:n.editorMode,event:e},a=null,l=!1;e&&!t.isNullOrUndefined(e.clipboardData)&&(a=e.clipboardData.getData("text/plain"),l=e.clipboardData.getData("text/html").indexOf("MsoNormal")>0);var d=e&&e.clipboardData&&e.clipboardData.items.length>0?e.clipboardData.items[0].getAsFile():null;null!==a&&n.notify(Ge,{file:d,args:e,text:a,isWordPaste:l}),setTimeout(function(){n.formatter.onSuccess(n,s)},0)}else n.notify(nt,{args:e});else e.preventDefault()})},i.prototype.clipboardAction=function(e,t){switch(e.toLowerCase()){case"cut":this.onCut(),this.formatter.onSuccess(this,{requestType:"Cut",editorMode:this.editorMode,event:t});break;case"copy":this.onCopy(),this.formatter.onSuccess(this,{requestType:"Copy",editorMode:this.editorMode,event:t});break;case"paste":this.onPaste(t)}},i.prototype.destroy=function(){if(!this.isDestroyed&&this.isRendered){if(null===this.element.offsetParent)return t.isNullOrUndefined(this.toolbarModule)||this.toolbarModule.destroy(),void this.notify(tt,{});if(this.notify(q,{}),this.destroyDependentModules(),t.isNullOrUndefined(this.timeInterval)||(clearInterval(this.timeInterval),this.timeInterval=null),this.unWireEvents(),"TEXTAREA"===this.originalElement.tagName){this.element.parentElement.insertBefore(this.valueContainer,this.element),this.valueContainer.id=this.getID(),this.valueContainer.removeAttribute("name"),t.detach(this.element),""!==this.originalElement.innerHTML.trim()?(this.valueContainer.value=this.originalElement.innerHTML.trim(),this.setProperties({value:t.isNullOrUndefined(this.initialValue)?null:this.initialValue},!0)):this.valueContainer.value=this.valueContainer.defaultValue,this.element=this.valueContainer;for(var e=0;e<this.originalElement.classList.length;e++)t.addClass([this.element],this.originalElement.classList[e]);if(!t.isNullOrUndefined(this.cssClass)){var i=this.cssClass.split(" ");for(e=0;e<i.length;e++)t.addClass([this.element],i[e])}t.removeClass([this.element],Yn)}else""!==this.originalElement.innerHTML.trim()?(this.element.innerHTML=this.originalElement.innerHTML.trim(),this.setProperties({value:t.isNullOrUndefined(this.initialValue)?null:this.initialValue},!0)):this.element.innerHTML="";if(this.placeholder&&this.placeHolderWrapper&&(this.placeHolderWrapper=null),!t.isNullOrUndefined(this.cssClass)){var r=this.cssClass.split(" ");for(e=0;e<r.length;e++)""!==r[e].trim()&&t.removeClass([this.element],r[e])}this.removeHtmlAttributes(),this.removeAttributes(),n.prototype.destroy.call(this),this.isRendered=!1,this.enablePersistence&&window.localStorage.removeItem(this.getModuleName()+this.element.id)}},i.prototype.removeHtmlAttributes=function(){if(this.htmlAttributes)for(var e=Object.keys(this.htmlAttributes),t=0;t<e.length&&this.element.hasAttribute(e[t]);t++)this.element.removeAttribute(e[t])},i.prototype.removeAttributes=function(){this.enabled||t.removeClass([this.element],Pt),this.enableRtl&&t.removeClass([this.element],"e-rtl"),this.readonly&&t.removeClass([this.element],_n),""!==this.element.style.width&&""===this.originalElement.style.width&&this.element.style.removeProperty("width"),""!==this.element.style.height&&""===this.originalElement.style.height&&this.element.style.removeProperty("height"),this.element.removeAttribute("aria-disabled"),this.element.removeAttribute("role"),this.element.removeAttribute("tabindex")},i.prototype.destroyDependentModules=function(){this.renderModule.destroy(),this.formatter.editorManager.undoRedoManager.destroy(),this.sourceCodeModule.destroy()},i.prototype.getContent=function(){return this.contentModule.getPanel()},i.prototype.getText=function(){return this.contentModule.getText()},i.prototype.getSelectedHtml=function(){var e=this.createElement("div"),t=this.contentModule.getDocument().getSelection();if(t.rangeCount>0){var n=t.getRangeAt(0).cloneContents();e.appendChild(n)}return e.innerHTML},i.prototype.showInlineToolbar=function(){if(this.inlineMode.enable){var e=this.getRange(),t="#text"===e.endContainer.nodeName?e.endContainer.parentElement:e.endContainer,n=e.getClientRects()[0].left,i=e.getClientRects()[0].top;this.quickToolbarModule.showInlineQTBar(n,i,t)}},i.prototype.hideInlineToolbar=function(){this.quickToolbarModule.hideInlineQTBar()},i.prototype.getModuleName=function(){return"richtexteditor"},i.prototype.onPropertyChanged=function(e,i){for(var r=0,o=Object.keys(e);r<o.length;r++){var s=o[r];switch(s){case"enterKey":case"value":var a=void 0;a="enterKey"===s?null===this.value||"<div><br></div>"===this.value||"<p><br></p>"===this.value||"<br>"===this.value?null:this.value:e[s];var l="HTML"===this.editorMode?T(a,this):a;(!t.isNullOrUndefined(a)&&""!==a||"enterKey"===s)&&(this.value=this.serializeValue(this.enableHtmlEncode?this.encode(x(l)):l)),this.updatePanelValue(),this.inputElement&&this.notify(A,{}),this.setPlaceHolder(),this.notify(ft,{module:"XhtmlValidation",newProp:e,oldProp:i}),this.enableXhtml&&this.setProperties({value:this.getXhtml()},!0),this.showCharCount&&this.countModule.refresh();break;case"valueTemplate":this.setValue(),this.showCharCount&&this.countModule.refresh();break;case"width":this.setWidth(e[s]),this.toolbarSettings.enable&&!this.inlineMode.enable&&(this.toolbarModule.refreshToolbarOverflow(),this.resizeHandler());break;case"height":this.setHeight(e[s]),this.setContentHeight(),this.autoResize();break;case"readonly":this.setReadOnly(!1);break;case"cssClass":this.element.classList.remove(i[s]),this.setCssClass(e[s]),this.notify(Mt,{cssClass:e[s],oldCssClass:i[s]});break;case"enabled":this.setEnable();break;case"enableRtl":this.updateRTL();break;case"placeholder":this.placeholder=e[s],this.setPlaceHolder();break;case"htmlAttributes":P(this.htmlAttributes,this,!1,!1);break;case"iframeSettings":var d=i[s];if(d.resources){var c=this.contentModule.getDocument().querySelector("head"),p=void 0;d.resources.scripts&&(p=c.querySelectorAll("."+At),this.removeSheets(p)),d.resources.styles&&(p=c.querySelectorAll("."+Ut),this.removeSheets(p))}this.setIframeSettings();break;case"locale":n.prototype.refresh.call(this);break;case"inlineMode":this.notify(J,{module:"quickToolbar",newProp:e,oldProp:i}),this.setContentHeight();break;case"toolbarSettings":this.notify(J,{module:"toolbar",newProp:e,oldProp:i}),this.setContentHeight();break;case"maxLength":this.showCharCount&&this.countModule.refresh();break;case"showCharCount":e[s]&&this.countModule?this.countModule.renderCount():!1===e[s]&&this.countModule&&this.countModule.destroy();break;case"enableHtmlEncode":this.updateValueData(),this.updatePanelValue(),this.setPlaceHolder(),this.showCharCount&&this.countModule.refresh();break;case"undoRedoSteps":case"undoRedoTimer":this.formatter.editorManager.observer.notify(Cr,{newProp:e,oldProp:i});break;case"enableXhtml":this.notify(ft,{module:"XhtmlValidation",newProp:e,oldProp:i});break;case"quickToolbarSettings":e.quickToolbarSettings.showOnRightClick?this.wireContextEvent():this.unWireContextEvent(),this.notify(J,{newProp:e,oldProp:i});break;default:this.notify(J,{newProp:e,oldProp:i})}}},i.prototype.updateValueData=function(){this.enableHtmlEncode?this.setProperties({value:this.encode(x(this.inputElement.innerHTML))},!0):this.setProperties({value:/<[a-z][\s\S]*>/i.test(this.inputElement.innerHTML)?this.inputElement.innerHTML:x(this.inputElement.innerHTML)})},i.prototype.removeSheets=function(e){var n;for(n=0;n<e.length;n++)t.detach(e[n])},i.prototype.updatePanelValue=function(){var e=this.value;e=this.enableHtmlEncode&&this.value?x(e):e;var t=this.element.querySelector(".e-rte-srctextarea");e?(t&&"block"===t.style.display&&(t.value=this.value),this.valueContainer&&(this.valueContainer.value=this.enableHtmlEncode?this.value:e),"HTML"===this.editorMode&&this.inputElement&&this.inputElement.innerHTML.replace("&amp;","&").trim()!==e.trim()?this.inputElement.innerHTML=e:"Markdown"===this.editorMode&&this.inputElement&&this.inputElement.value.trim()!==e.trim()&&(this.inputElement.value=e)):(t&&"block"===t.style.display&&(t.value=""),"HTML"===this.editorMode?"DIV"===this.enterKey?this.inputElement.innerHTML="<div><br/></div>":"BR"===this.enterKey?this.inputElement.innerHTML="<br/>":(this.inputElement.innerHTML="<p><br/></p>",""===e&&this.formatter&&this.inputElement&&this.formatter.editorManager.nodeSelection.setCursorPoint(this.contentModule.getDocument(),this.inputElement.firstElementChild,this.inputElement.firstElementChild.childElementCount)):this.inputElement.value="",this.valueContainer&&(this.valueContainer.value="")),this.showCharCount&&this.countModule.refresh()},i.prototype.setHeight=function(e){this.element.style.height="auto"!==e?t.formatUnit(e):"auto","Expand"===this.toolbarSettings.type&&("string"==typeof this.height&&this.height.indexOf("px")>-1||"number"==typeof this.height)?this.element.classList.add(gi):this.element.classList.remove(gi)},i.prototype.setPlaceHolder=function(){this.inputElement&&this.placeholder&&!0!==this.iframeSettings.enable&&("Markdown"!==this.editorMode?(this.placeHolderWrapper||(this.placeHolderWrapper=this.createElement("span",{className:"rte-placeholder e-rte-placeholder "+this.cssClass}),this.inputElement&&this.inputElement.parentElement.insertBefore(this.placeHolderWrapper,this.inputElement),t.attributes(this.placeHolderWrapper,{style:"font-size: 14px; margin-left: 0px; margin-right: 0px;"})),this.placeHolderWrapper.innerHTML=this.placeholder,0!==this.inputElement.textContent.length||t.isNullOrUndefined(this.inputElement.firstChild)||"BR"!==this.inputElement.firstChild.nodeName&&("P"!==this.inputElement.firstChild.nodeName&&"DIV"!==this.inputElement.firstChild.nodeName||t.isNullOrUndefined(this.inputElement.firstChild.firstChild)||"BR"!==this.inputElement.firstChild.firstChild.nodeName)?this.placeHolderWrapper.style.display="none":this.placeHolderWrapper.style.display="block"):this.inputElement.setAttribute("placeholder",this.placeholder))},i.prototype.setWidth=function(e){"auto"!==e?t.setStyleAttribute(this.element,{width:t.formatUnit(this.width)}):this.element.style.width="auto"},i.prototype.setCssClass=function(e){if(!t.isNullOrUndefined(e))for(var n=e.split(" "),i=0;i<n.length;i++)""!==n[i].trim()&&this.element.classList.add(n[i])},i.prototype.updateRTL=function(){this.notify(Xe,{enableRtl:this.enableRtl}),this.enableRtl?this.element.classList.add("e-rtl"):this.element.classList.remove("e-rtl")},i.prototype.updateReadOnly=function(){this.notify(et,{editPanel:this.inputElement,mode:this.readonly})},i.prototype.setReadOnly=function(e){this.updateReadOnly(),e||(this.readonly&&this.enabled?this.unbindEvents():this.enabled&&this.bindEvents())},i.prototype.print=function(){var e,n=this,i={element:this.inputElement,requestType:"print",cancel:!1};this.trigger(ve,i,function(i){if(e=window.open("","print","height="+window.outerHeight+",width="+window.outerWidth),"msie"===t.Browser.info.name&&e.resizeTo(screen.availWidth,screen.availHeight),e=t.print(n.inputElement,e),!i.cancel){n.trigger(ye,{requestType:"print"})}})},i.prototype.refreshUI=function(){this.renderModule.refresh()},i.prototype.showFullScreen=function(){this.fullScreenModule.showFullScreen()},i.prototype.enableToolbarItem=function(e,t){this.toolbarModule.enableTBarItems(this.getBaseToolbarObject(),e,!0,t)},i.prototype.disableToolbarItem=function(e,t){this.toolbarModule.enableTBarItems(this.getBaseToolbarObject(),e,!1,t)},i.prototype.removeToolbarItem=function(e){this.toolbarModule.removeTBarItems(e)},i.prototype.getRange=function(){return this.formatter.editorManager.nodeSelection.getRange(this.contentModule.getDocument())},i.prototype.initializeServices=function(){this.serviceLocator.register("rendererFactory",new Zi),this.serviceLocator.register("rteLocale",this.localeObj=new t.L10n(this.getModuleName(),qi,this.locale)),this.serviceLocator.register("dialogRenderObject",new fs(this))},i.prototype.RTERender=function(){var n=this.serviceLocator.getService("rendererFactory");this.contentModule=n.getRenderer(e.RenderType.Content),this.fullScreenModule=new cs(this),this.enterKeyModule=new Fs(this),this.renderModule.render(),this.inputElement=this.contentModule.getEditPanel(),this.setHeight(this.height),P(this.htmlAttributes,this,!1,!0),this.iframeSettings&&this.setIframeSettings(),this.setCssClass(this.cssClass),this.updateEnable(),this.setPlaceHolder(),this.updateRTL(),this.updateReadOnly(),this.updatePanelValue(),this.enableHtmlEncode&&!t.isNullOrUndefined(this.value)&&this.setProperties({value:this.encode(x(this.value))})},i.prototype.setIframeSettings=function(){if(this.iframeSettings.resources){var e=this.iframeSettings.resources.styles,t=this.iframeSettings.resources.scripts;this.iframeSettings.resources.scripts.length>0&&this.InjectSheet(!0,t),this.iframeSettings.resources.styles.length>0&&this.InjectSheet(!1,e)}this.iframeSettings.attributes&&P(this.iframeSettings.attributes,this,!0,!1)},i.prototype.InjectSheet=function(e,t){try{if(t&&t.length>0)for(var n=this.contentModule.getDocument().querySelector("head"),i=0;i<t.length;i++)if(e){var r=this.createScriptElement();r.src=t[i],n.appendChild(r)}else{var o=this.createStyleElement();o.href=t[i],n.appendChild(o)}}catch(e){return}},i.prototype.createScriptElement=function(){var e=this.createElement("script",{className:At});return e.type="text/javascript",e},i.prototype.createStyleElement=function(){var e=this.createElement("link",{className:Ut});return e.rel="stylesheet",e},i.prototype.setValue=function(){if(this.valueTemplate){if(new RegExp(/<(?=.*? .*?\/ ?>|br|hr|input|!--|wbr)[a-z]+.*?>|<([a-z]+).*?<\/\1>/i).test(this.valueTemplate))this.setProperties({value:this.valueTemplate});else{for(var e=t.compile(this.valueTemplate)("",this,"valueTemplate"),n=0;n<e.length;n++){var i=e[n];t.append([i],this.element)}this.setProperties({value:this.element.innerHTML.trim()})}}else{var r=!t.isNullOrUndefined(this.element.innerHTML)&&this.element.innerHTML.replace(/<(\/?|\!?)(!--!--)>/g,"").trim();""!==r&&("TEXTAREA"===this.element.tagName?this.setProperties({value:x(r)}):this.setProperties({value:r}))}},i.prototype.updateResizeFlag=function(){this.isResizeInitialized=!0},i.prototype.getInsertImgMaxWidth=function(){var e=this.insertImageSettings.maxWidth,n=this.contentModule.getEditPanel(),i=window.getComputedStyle(n),r=n.offsetWidth-(14+parseFloat(i.paddingLeft.split("px")[0])+parseFloat(i.paddingRight.split("px")[0])+parseFloat(i.marginLeft.split("px")[0])+parseFloat(i.marginRight.split("px")[0]));return t.isNullOrUndefined(e)?r:e},i.prototype.setContentHeight=function(n,i){var r,o,s=0,a="string"==typeof this.height&&this.height.indexOf("%")>-1,l=this.sourceCodeModule.getPanel()&&"block"===this.sourceCodeModule.getPanel().parentElement.style.display?this.sourceCodeModule.getPanel().parentElement:this.contentModule.getPanel(),d=this.element.offsetHeight;0!==d||"auto"===this.height||this.getToolbar()||(d=parseInt(this.height,10),a&&(o=this.height));var c=this.getToolbar()?this.toolbarModule.getToolbarHeight():0,p=this.element.querySelector("."+ii),h=this.enableResize?t.isNullOrUndefined(p)?0:p.offsetHeight+8:0,u=this.getToolbar()?this.toolbarModule.getExpandTBarPopHeight():0;if(this.toolbarSettings.type===e.ToolbarType.Expand&&i&&"preview"!==n?(r="auto"===this.height&&0===h?"auto":d-(c+u+h)+"px",s=this.toolbarSettings.enableFloating?0:u):r="auto"!==this.height||this.element.classList.contains("e-rte-full-screen")||this.isResizeInitialized?a&&o?o:d-(c+h)+"px":"auto","windowResize"!==n&&(this.iframeSettings.enable?"auto"!==r&&t.setStyleAttribute(l,{height:r,marginTop:s+"px"}):t.setStyleAttribute(l,{height:r,marginTop:s+"px"})),this.iframeSettings.enable&&"sourceCode"===n){var m=t.select("."+nn,this.element);t.setStyleAttribute(m,{height:r,marginTop:s+"px"})}if(this.toolbarSettings.enableFloating&&this.getToolbar()&&!this.inlineMode.enable){var g=(i?c+u:c)+"px";t.setStyleAttribute(this.getToolbar().parentElement,{height:g})}0===h&&this.autoResize()},i.prototype.getHtml=function(){return this.serializeValue(this.contentModule.getEditPanel().innerHTML)},i.prototype.getXhtml=function(){var e=this.value;return!t.isNullOrUndefined(e)&&this.enableXhtml&&(e=this.htmlEditorModule.xhtmlValidation.selfEncloseValidation(e)),e},i.prototype.showSourceCode=function(){this.readonly||this.notify(ke,{})},i.prototype.getCharCount=function(){var e="Markdown"===this.editorMode?this.inputElement.value.trim():this.inputElement.textContent.trim();return"Markdown"!==this.editorMode&&-1!==e.indexOf("​")?e.replace(/\u200B/g,"").length:e.length},i.prototype.showDialog=function(t){t===e.DialogType.InsertLink?this.notify(wt,{}):t===e.DialogType.InsertImage?this.notify(Lt,{}):t===e.DialogType.InsertTable&&this.notify(kt,{})},i.prototype.closeDialog=function(t){t===e.DialogType.InsertLink?this.notify(Ot,{}):t===e.DialogType.InsertImage?this.notify(xt,{}):t===e.DialogType.InsertTable&&this.notify(Dt,{})},i.prototype.getBaseToolbarObject=function(){return!this.inlineMode.enable||t.Browser.isDevice&&!h()?this.toolbarModule&&this.toolbarModule.getBaseToolbar():this.quickToolbarModule&&this.quickToolbarModule.getInlineBaseToolbar()},i.prototype.getToolbar=function(){return this.toolbarModule?this.toolbarModule.getToolbarElement():null},i.prototype.getToolbarElement=function(){return this.toolbarModule&&this.toolbarModule.getToolbarElement()},i.prototype.getID=function(){return"TEXTAREA"===this.originalElement.tagName?this.valueContainer.id:this.element.id},i.prototype.mouseDownHandler=function(e){var n=e.touches?e.changedTouches[0]:e;t.addClass([this.element],[ln]),this.preventDefaultResize(e),this.notify(Ae,{args:e}),this.clickPoints={clientX:n.clientX,clientY:n.clientY}},i.prototype.preventImgResize=function(e){"img"===e.target.nodeName.toLocaleLowerCase()&&e.preventDefault()},i.prototype.preventDefaultResize=function(e){"msie"===t.Browser.info.name?this.contentModule.getEditPanel().addEventListener("mscontrolselect",this.preventImgResize):"mozilla"===t.Browser.info.name&&(this.contentModule.getDocument().execCommand("enableObjectResizing",!1,"false"),this.contentModule.getDocument().execCommand("enableInlineTableEditing",!1,"false"))},i.prototype.defaultResize=function(e){"msie"===t.Browser.info.name?this.contentModule.getEditPanel().removeEventListener("mscontrolselect",this.preventImgResize):"mozilla"===t.Browser.info.name&&(this.contentModule.getDocument().execCommand("enableObjectResizing",!0,"true"),this.contentModule.getDocument().execCommand("enableInlineTableEditing",!0,"true"))},i.prototype.resizeHandler=function(){var e=!1;document.body.contains(this.element)?(this.toolbarSettings.enable&&!this.inlineMode.enable&&(this.toolbarModule.refreshToolbarOverflow(),e=this.toolbarModule.baseToolbar.toolbarObj.element.classList.contains(En)),this.setContentHeight("windowResize",e),this.notify(ce,null)):document.defaultView.removeEventListener("resize",this.onResizeHandler,!0)},i.prototype.scrollHandler=function(e){this.notify(je,{args:e})},i.prototype.contentScrollHandler=function(e){this.notify(Fe,{args:e})},i.prototype.focusHandler=function(e){if(!this.isRTE||this.isFocusOut){this.isRTE=!this.isFocusOut,this.isFocusOut=!1,t.addClass([this.element],[ln]),"HTML"===this.editorMode?this.cloneValue="<p><br></p>"===this.inputElement.innerHTML||"<div><br></div>"===this.inputElement.innerHTML||"<br>"===this.inputElement.innerHTML?null:this.enableHtmlEncode?this.encode(x(this.inputElement.innerHTML)):this.inputElement.innerHTML:this.cloneValue=""===this.inputElement.value?null:this.inputElement.value;var n=document.activeElement;if((n===this.element||n===this.getToolbarElement()||n===this.contentModule.getEditPanel()||this.iframeSettings.enable&&n===this.contentModule.getPanel()&&e.target&&!e.target.classList.contains("e-img-inner")&&e.target&&e.target.parentElement&&!e.target.parentElement.classList.contains("e-img-wrap")||t.closest(n,".e-rte-toolbar")===this.getToolbarElement())&&(this.contentModule.getEditPanel().focus(),!t.isNullOrUndefined(this.getToolbarElement()))){this.getToolbarElement().setAttribute("tabindex","-1");for(var i=this.getToolbarElement().querySelectorAll('[tabindex="0"]'),r=0;r<i.length;r++)i[r].setAttribute("tabindex","-1")}this.preventDefaultResize(e),this.trigger("focus",{event:e,isInteracted:0!==Object.keys(e).length}),!t.isNullOrUndefined(this.saveInterval)&&this.saveInterval>0&&!this.autoSaveOnIdle&&(this.timeInterval=setInterval(this.updateValueOnIdle.bind(this),this.saveInterval)),t.EventHandler.add(document,"mousedown",this.onDocumentClick,this)}if(!t.isNullOrUndefined(this.getToolbarElement())){var o=this.getToolbarElement().querySelectorAll("input,select,button,a,[tabindex]");for(r=0;r<o.length;r++)o[r].classList.contains("e-rte-dropdown-btn")||o[r].classList.contains("e-insert-table-btn")||o[r].hasAttribute("tabindex")&&"-1"===o[r].getAttribute("tabindex")||o[r].setAttribute("tabindex","-1")}},i.prototype.getUpdatedValue=function(){var e;t.isNullOrUndefined(this.tableModule)||this.tableModule.removeResizeElement();var n=this.element.querySelector(".e-rte-srctextarea");return"HTML"===this.editorMode?(e="<p><br></p>"===this.inputElement.innerHTML||"<div><br></div>"===this.inputElement.innerHTML||"<br>"===this.inputElement.innerHTML?null:this.enableHtmlEncode?this.encode(x(this.inputElement.innerHTML)):this.inputElement.innerHTML,n&&"block"===n.style.display&&(e=n.value)):e=""===this.inputElement.value?null:this.inputElement.value,e},i.prototype.updateValueOnIdle=function(){(t.isNullOrUndefined(this.tableModule)||t.isNullOrUndefined(this.inputElement.querySelector(".e-table-box.e-rbox-select")))&&(this.setProperties({value:this.getUpdatedValue()},!0),this.valueContainer.value=this.value,this.isValueChangeBlurhandler=!1,this.invokeChangeEvent())},i.prototype.updateIntervalValue=function(){clearTimeout(this.idleInterval),this.idleInterval=setTimeout(this.updateValueOnIdle.bind(this),0)},i.prototype.updateStatus=function(e){if(!t.isNullOrUndefined(e.html)||!t.isNullOrUndefined(e.markdown)){var n=this.formatter.editorManager.undoRedoManager.getUndoStatus(),i={undo:n.undo,redo:n.redo,html:e.html,markdown:e.markdown};this.trigger(Ce,i)}},i.prototype.onDocumentClick=function(e){var n=e.target,i=t.closest(n,"."+Bt);this.element.contains(e.target)||document===e.target||i===this.element||t.closest(n,'[aria-owns="'+this.getID()+'"]')||(this.isBlur=!0,this.isRTE=!1),this.notify(Je,{args:e}),"msie"!==t.Browser.info.name&&e.detail>3&&e.preventDefault()},i.prototype.blurHandler=function(e){var n=e.relatedTarget;if(n){var i=t.closest(n,"."+Bt);i&&i===this.element?(this.isBlur=!1,n===this.getToolbarElement()&&n.setAttribute("tabindex","-1")):t.closest(n,'[aria-owns="'+this.getID()+'"]')?this.isBlur=!1:(this.isBlur=!0,n=null)}if(this.isBlur&&t.isNullOrUndefined(n)){t.removeClass([this.element],[ln]),this.notify(_e,{});var r=this.getUpdatedValue();this.setProperties({value:r}),this.notify(_,{args:e,documentNode:document}),this.isValueChangeBlurhandler=!0,this.invokeChangeEvent(),this.isFocusOut=!0,this.isBlur=!1,C(this.valueContainer,"focusout"),this.defaultResize(e),this.trigger("blur",{event:e,isInteracted:0!==Object.keys(e).length}),t.isNullOrUndefined(this.timeInterval)||(clearInterval(this.timeInterval),this.timeInterval=null),t.EventHandler.remove(document,"mousedown",this.onDocumentClick)}else this.isRTE=!0},i.prototype.contentChanged=function(){this.autoSaveOnIdle&&(t.isNullOrUndefined(this.saveInterval)||(clearTimeout(this.timeInterval),this.timeInterval=setTimeout(this.updateIntervalValue.bind(this),this.saveInterval)))},i.prototype.invokeChangeEvent=function(){var e={value:this.enableXhtml?this.getXhtml():this.value,isInteracted:this.isValueChangeBlurhandler};this.value!==this.cloneValue&&(this.trigger("change",e),this.cloneValue=this.value)},i.prototype.wireScrollElementsEvents=function(){this.scrollParentElements=r.getScrollableParent(this.element);for(var e=0,n=this.scrollParentElements;e<n.length;e++){var i=n[e];t.EventHandler.add(i,"scroll",this.scrollHandler,this)}this.iframeSettings.enable||t.EventHandler.add(this.contentModule.getPanel(),"scroll",this.contentScrollHandler,this)},i.prototype.wireContextEvent=function(){this.quickToolbarSettings.showOnRightClick&&(t.EventHandler.add(this.inputElement,"contextmenu",this.contextHandler,this),t.Browser.isDevice&&(this.touchModule=new t.Touch(this.inputElement,{tapHold:this.touchHandler.bind(this),tapHoldThreshold:500})))},i.prototype.unWireContextEvent=function(){t.EventHandler.remove(this.inputElement,"contextmenu",this.contextHandler),t.Browser.isDevice&&this.touchModule&&this.touchModule.destroy()},i.prototype.unWireScrollElementsEvents=function(){this.scrollParentElements=r.getScrollableParent(this.element);for(var e=0,n=this.scrollParentElements;e<n.length;e++){var i=n[e];t.EventHandler.remove(i,"scroll",this.scrollHandler)}this.iframeSettings.enable||t.EventHandler.remove(this.contentModule.getPanel(),"scroll",this.contentScrollHandler)},i.prototype.touchHandler=function(e){this.notifyMouseUp(e.originalEvent),this.triggerEditArea(e.originalEvent)},i.prototype.contextHandler=function(e){var n=t.closest(e.target,"a, table, img");!1!==this.inlineMode.onSelection&&(t.isNullOrUndefined(n)||!this.inputElement.contains(n)||"IMG"!==n.tagName&&"TABLE"!==n.tagName&&"A"!==n.tagName)||e.preventDefault()},i.prototype.resetHandler=function(){var e=this.valueContainer.defaultValue.trim();this.setProperties({value:""===e?null:e})},i.prototype.autoResize=function(){var e=this;if("auto"===this.height){if("Markdown"===this.editorMode)setTimeout(function(){e.setAutoHeight(e.inputElement)},0);else if(this.iframeSettings.enable){var t=this.element.querySelector("#"+this.getID()+"_rte-view");setTimeout(function(){e.setAutoHeight(t)},100),this.inputElement.style.overflow="hidden"}}else this.inputElement.style.overflow=null},i.prototype.setAutoHeight=function(e){t.isNullOrUndefined(e)||(e.style.height="",e.style.height=this.inputElement.scrollHeight+"px",e.style.overflow="hidden")},i.prototype.wireEvents=function(){this.element.addEventListener("focusin",this.onFocusHandler,!0),this.element.addEventListener("focusout",this.onBlurHandler,!0),this.on(H,this.contentChanged,this),this.on(vt,this.updateResizeFlag,this),this.on(Tt,this.updateStatus,this),this.readonly&&this.enabled||this.bindEvents()},i.prototype.restrict=function(e){if(this.maxLength>=0){var t="Markdown"===this.editorMode?this.contentModule.getText():e&&e.currentTarget.textContent;if(!t)return;for(var n=[8,16,17,37,38,39,40,46,65],i=void 0,r=0;r<=n.length-1;r++)if(e.which===n[r]){if(e.ctrlKey&&65===e.which)return;if(65!==e.which)return void(i=n[r])}t.length>=this.maxLength&&-1!==this.maxLength&&e.which!==i&&e.preventDefault()}},i.prototype.bindEvents=function(){this.keyboardModule=new or(this.inputElement,{keyAction:this.keyDown.bind(this),keyConfigs:zs({},this.formatter.keyConfig,this.keyConfig),eventName:"keydown"});var e=t.closest(this.valueContainer,"form");e&&t.EventHandler.add(e,"reset",this.resetHandler,this),t.EventHandler.add(this.inputElement,"keyup",this.keyUp,this),t.EventHandler.add(this.inputElement,"paste",this.onPaste,this),t.EventHandler.add(this.inputElement,t.Browser.touchEndEvent,t.debounce(this.mouseUp,30),this),t.EventHandler.add(this.inputElement,t.Browser.touchStartEvent,this.mouseDownHandler,this),this.wireContextEvent(),this.formatter.editorManager.observer.on(br,this.editorKeyDown,this),this.element.ownerDocument.defaultView.addEventListener("resize",this.onResizeHandler,!0),this.iframeSettings.enable&&(t.EventHandler.add(this.inputElement,"focusin",this.focusHandler,this),t.EventHandler.add(this.inputElement,"focusout",this.blurHandler,this),t.EventHandler.add(this.inputElement.ownerDocument,"scroll",this.contentScrollHandler,this),t.EventHandler.add(this.inputElement.ownerDocument,t.Browser.touchStartEvent,this.onIframeMouseDown,this)),this.wireScrollElementsEvents()},i.prototype.onIframeMouseDown=function(e){this.isBlur=!1,this.currentTarget=e.target,this.notify(F,e)},i.prototype.editorKeyDown=function(e){switch(e.event.action){case"copy":this.onCopy();break;case"cut":this.onCut();break;case"tab":this.iframeSettings.enable&&(this.isBlur=!0)}!e.callBack||"copy"!==e.event.action&&"cut"!==e.event.action&&"delete"!==e.event.action||e.callBack({requestType:e.event.action,editorMode:"HTML",event:e.event})},i.prototype.unWireEvents=function(){this.element.removeEventListener("focusin",this.onFocusHandler,!0),this.element.removeEventListener("focusout",this.onBlurHandler,!0),this.off(H,this.contentChanged),this.off(vt,this.updateResizeFlag),this.off(Tt,this.updateStatus),this.readonly&&this.enabled||this.unbindEvents()},i.prototype.unbindEvents=function(){this.keyboardModule&&this.keyboardModule.destroy();var e=t.closest(this.valueContainer,"form");e&&t.EventHandler.remove(e,"reset",this.resetHandler),t.EventHandler.remove(this.inputElement,"keyup",this.keyUp),t.EventHandler.remove(this.inputElement,"paste",this.onPaste),t.EventHandler.remove(this.inputElement,t.Browser.touchEndEvent,t.debounce(this.mouseUp,30)),t.EventHandler.remove(this.inputElement,t.Browser.touchStartEvent,this.mouseDownHandler),this.unWireContextEvent(),this.formatter&&this.formatter.editorManager.observer.off(br,this.editorKeyDown),this.element.ownerDocument.defaultView.removeEventListener("resize",this.onResizeHandler,!0),this.iframeSettings.enable&&(t.EventHandler.remove(this.inputElement,"focusin",this.focusHandler),t.EventHandler.remove(this.inputElement,"focusout",this.blurHandler),t.EventHandler.remove(this.inputElement.ownerDocument,"scroll",this.contentScrollHandler),t.EventHandler.remove(this.inputElement.ownerDocument,t.Browser.touchStartEvent,this.onIframeMouseDown)),this.unWireScrollElementsEvents()},_s([t.Complex({},Cs)],i.prototype,"toolbarSettings",void 0),_s([t.Complex({},Ts)],i.prototype,"quickToolbarSettings",void 0),_s([t.Complex({},ws)],i.prototype,"pasteCleanupSettings",void 0),_s([t.Complex({},As)],i.prototype,"iframeSettings",void 0),_s([t.Complex({},Ns)],i.prototype,"insertImageSettings",void 0),_s([t.Complex({},Es)],i.prototype,"tableSettings",void 0),_s([t.Property(0)],i.prototype,"floatingToolbarOffset",void 0),_s([t.Complex({},js)],i.prototype,"inlineMode",void 0),_s([t.Complex({},Ss)],i.prototype,"fileManagerSettings",void 0),_s([t.Property("100%")],i.prototype,"width",void 0),_s([t.Property(!1)],i.prototype,"enablePersistence",void 0),_s([t.Property(!1)],i.prototype,"enableResize",void 0),_s([t.Property({})],i.prototype,"htmlAttributes",void 0),_s([t.Property(null)],i.prototype,"placeholder",void 0),_s([t.Property(!1)],i.prototype,"autoSaveOnIdle",void 0),_s([t.Property(!1)],i.prototype,"readonly",void 0),_s([t.Property(!0)],i.prototype,"enabled",void 0),_s([t.Property(!0)],i.prototype,"enableHtmlSanitizer",void 0),_s([t.Property(!1)],i.prototype,"enableHtmlEncode",void 0),_s([t.Property(!1)],i.prototype,"enableXhtml",void 0),_s([t.Property("auto")],i.prototype,"height",void 0),_s([t.Property(null)],i.prototype,"cssClass",void 0),_s([t.Property(null)],i.prototype,"value",void 0),_s([t.Property("P")],i.prototype,"enterKey",void 0),_s([t.Property("BR")],i.prototype,"shiftEnterKey",void 0),_s([t.Property(30)],i.prototype,"undoRedoSteps",void 0),_s([t.Property(300)],i.prototype,"undoRedoTimer",void 0),_s([t.Property("HTML")],i.prototype,"editorMode",void 0),_s([t.Property(null)],i.prototype,"keyConfig",void 0),_s([t.Property(!1)],i.prototype,"showCharCount",void 0),_s([t.Property(!1)],i.prototype,"enableTabKey",void 0),_s([t.Property(!1)],i.prototype,"enableAutoUrl",void 0),_s([t.Property(-1)],i.prototype,"maxLength",void 0),_s([t.Complex({},xs)],i.prototype,"format",void 0),_s([t.Complex({},Ms)],i.prototype,"numberFormatList",void 0),_s([t.Complex({},Rs)],i.prototype,"bulletFormatList",void 0),_s([t.Complex({},Os)],i.prototype,"fontFamily",void 0),_s([t.Complex({},Ls)],i.prototype,"fontSize",void 0),_s([t.Complex({},ks)],i.prototype,"fontColor",void 0),_s([t.Complex({},Ds)],i.prototype,"backgroundColor",void 0),_s([t.Property(null)],i.prototype,"valueTemplate",void 0),_s([t.Property(1e4)],i.prototype,"saveInterval",void 0),_s([t.Event()],i.prototype,"actionBegin",void 0),_s([t.Event()],i.prototype,"actionComplete",void 0),_s([t.Event()],i.prototype,"beforeDialogOpen",void 0),_s([t.Event()],i.prototype,"dialogOpen",void 0),_s([t.Event()],i.prototype,"beforeDialogClose",void 0),_s([t.Event()],i.prototype,"dialogClose",void 0),_s([t.Event()],i.prototype,"beforeQuickToolbarOpen",void 0),_s([t.Event()],i.prototype,"quickToolbarOpen",void 0),_s([t.Event()],i.prototype,"quickToolbarClose",void 0),_s([t.Event()],i.prototype,"toolbarStatusUpdate",void 0),_s([t.Event()],i.prototype,"updatedToolbarStatus",void 0),_s([t.Event()],i.prototype,"imageSelected",void 0),_s([t.Event()],i.prototype,"beforeImageUpload",void 0),_s([t.Event()],i.prototype,"imageUploading",void 0),_s([t.Event()],i.prototype,"imageUploadSuccess",void 0),_s([t.Event()],i.prototype,"imageUploadFailed",void 0),_s([t.Event()],i.prototype,"imageRemoving",void 0),_s([t.Event()],i.prototype,"afterImageDelete",void 0),_s([t.Event()],i.prototype,"created",void 0),_s([t.Event()],i.prototype,"destroyed",void 0),_s([t.Event()],i.prototype,"beforeSanitizeHtml",void 0),_s([t.Event()],i.prototype,"blur",void 0),_s([t.Event()],i.prototype,"toolbarClick",void 0),_s([t.Event()],i.prototype,"focus",void 0),_s([t.Event()],i.prototype,"change",void 0),_s([t.Event()],i.prototype,"resizing",void 0),_s([t.Event()],i.prototype,"resizeStart",void 0),_s([t.Event()],i.prototype,"resizeStop",void 0),_s([t.Event()],i.prototype,"beforePasteCleanup",void 0),_s([t.Event()],i.prototype,"afterPasteCleanup",void 0),_s([t.Event()],i.prototype,"beforeImageDrop",void 0),_s([t.Property(null)],i.prototype,"formatter",void 0),i=_s([t.NotifyPropertyChanges],i)}(t.Component);e.Toolbar=tr,e.KeyboardEvents=or,e.BaseToolbar=Yi,e.BaseQuickToolbar=ar,e.QuickToolbar=dr,e.Count=cr,e.ColorPickerInput=sr,e.MarkdownToolbarStatus=ur,e.ExecCommandCallBack=mr,e.ToolbarAction=er,e.MarkdownEditor=Yr,e.HtmlEditor=ss,e.PasteCleanup=as,e.Resize=ls,e.DropDownButtons=Ji,e.FileManager=ds,e.FullScreen=cs,e.setAttributes=P,e.HtmlToolbarStatus=ts,e.XhtmlValidation=os,e.HTMLFormatter=$o,e.Formatter=Tr,e.MarkdownFormatter=Gr,e.ContentRender=ns,e.Render=ps,e.ToolbarRenderer=Xi,e.Link=hs,e.Image=us,e.ViewSource=ms,e.Table=gs,e.DialogRenderer=fs,e.IframeContentRender=rs,e.MarkdownRender=Xr,e.PopupRenderer=lr,e.RichTextEditor=Ws,e.executeGroup=bs,e.created="create",e.destroyed="destroy",e.tableclass=A,e.load="load",e.initialLoad=U,e.contentChanged=H,e.initialEnd=j,e.iframeMouseDown=F,e.destroy=q,e.toolbarClick=z,e.toolbarRefresh=_,e.refreshBegin=W,e.toolbarUpdated=V,e.bindOnEnd=Q,e.renderColorPicker=K,e.htmlToolbarClick=G,e.markdownToolbarClick=X,e.destroyColorPicker=Y,e.modelChanged=J,e.keyUp=$,e.keyDown=Z,e.mouseUp=ee,e.toolbarCreated=te,e.toolbarRenderComplete=ne,e.enableFullScreen=ie,e.disableFullScreen=re,e.dropDownSelect=oe,e.beforeDropDownItemRender=se,e.execCommandCallBack=ae,e.imageToolbarAction=le,e.linkToolbarAction=de,e.windowResize=ce,e.resizeStart=pe,e.onResize=he,e.resizeStop=ue,e.undo="undo",e.redo="redo",e.insertLink=me,e.unLink=ge,e.editLink=fe,e.openLink=be,e.actionBegin=ve,e.actionComplete=ye,e.updatedToolbarStatus=Ce,e.actionSuccess="actionSuccess",e.updateToolbarItem=Ne,e.insertImage=Se,e.insertCompleted=Ee,e.imageLeft="justifyLeft",e.imageRight="justifyRight",e.imageCenter="justifyCenter",e.imageBreak="break",e.imageInline="inline",e.imageLink=Te,e.imageAlt=we,e.imageDelete=Oe,e.imageCaption=Le,e.imageSize=xe,e.sourceCode=ke,e.updateSource=De,e.toolbarOpen="toolbarOpen",e.beforeDropDownOpen=Me,e.selectionSave=Re,e.selectionRestore=Ie,e.expandPopupClick=Be,e.count=Pe,e.contentFocus="contentFocus",e.contentBlur="contentBlur",e.mouseDown=Ae,e.sourceCodeMouseDown=Ue,e.editAreaClick=He,e.scroll=je,e.contentscroll=Fe,e.colorPickerChanged=qe,e.tableColorPickerChanged=ze,e.focusChange=_e,e.selectAll=We,e.selectRange=Ve,e.getSelectedHtml=Qe,e.renderInlineToolbar=Ke,e.paste=Ge,e.imgModule="imageModule",e.rtlMode=Xe,e.createTable=Ye,e.docClick=Je,e.tableToolbarAction=$e,e.checkUndo=Ze,e.readOnlyMode=et,e.moduleDestroy=tt,e.pasteClean=nt,e.enterHandler=it,e.beforeDialogOpen=rt,e.clearDialogObj=ot,e.dialogOpen="dialogOpen",e.beforeDialogClose=st,e.dialogClose="dialogClose",e.beforeQuickToolbarOpen=at,e.quickToolbarOpen=lt,e.quickToolbarClose=dt,e.popupHide="popupHide",e.imageSelected=ct,e.imageUploading=pt,e.imageUploadSuccess=ht,e.imageUploadFailed=ut,e.imageRemoving=mt,e.mediaSelected="mediaSelected",e.mediaUploading="mediaUploading",e.mediaUploadSuccess="mediaUploadSuccess",e.mediaUploadFailed="mediaUploadFailed",e.mediaRemoving="mediaRemoving",e.afterImageDelete=gt,e.afterMediaDelete="afterMediaaDelete",e.drop="drop",e.xhtmlValidation=ft,e.beforeImageUpload=bt,e.beforeMediaUpload="beforeMediaUpload",e.resizeInitialized=vt,e.renderFileManager=yt,e.beforeImageDrop=Ct,e.dynamicModule=Nt,e.beforePasteCleanup=St,e.afterPasteCleanup=Et,e.updateTbItemsStatus=Tt,e.showLinkDialog=wt,e.closeLinkDialog=Ot,e.showImageDialog=Lt,e.closeImageDialog=xt,e.closeAudioDialog="closeAudioDialog",e.showTableDialog=kt,e.closeTableDialog=Dt,e.bindCssClass=Mt,e.blockEmptyNodes=Rt,e.inlineEmptyNodes=It,e.CLS_RTE=Bt,e.CLS_RTL="e-rtl",e.CLS_CONTENT="e-content",e.CLS_DISABLED=Pt,e.CLS_SCRIPT_SHEET=At,e.CLS_STYLE_SHEET=Ut,e.CLS_TOOLBAR=Ht,e.CLS_TB_FIXED=jt,e.CLS_TB_FLOAT=Ft,e.CLS_TB_ABS_FLOAT=qt,e.CLS_INLINE=zt,e.CLS_TB_INLINE="e-rte-tb-inline",e.CLS_RTE_EXPAND_TB=_t,e.CLS_FULL_SCREEN=Wt,e.CLS_QUICK_TB=Vt,e.CLS_POP=Qt,e.CLS_TB_STATIC="e-tb-static",e.CLS_QUICK_POP=Kt,e.CLS_QUICK_DROPDOWN=Gt,e.CLS_IMAGE_POP=Xt,e.CLS_INLINE_POP=Yt,e.CLS_INLINE_DROPDOWN=Jt,e.CLS_DROPDOWN_POPUP=$t,e.CLS_DROPDOWN_ICONS=Zt,e.CLS_DROPDOWN_ITEMS=en,e.CLS_DROPDOWN_BTN=tn,e.CLS_RTE_CONTENT=nn,e.CLS_TB_ITEM=rn,e.CLS_TB_EXTENDED="e-toolbar-extended",e.CLS_TB_WRAP=on,e.CLS_POPUP="e-popup",e.CLS_SEPARATOR="e-separator",e.CLS_MINIMIZE="e-minimize",e.CLS_MAXIMIZE="e-maximize",e.CLS_BACK="e-back",e.CLS_SHOW="e-show",e.CLS_HIDE=sn,e.CLS_VISIBLE=an,e.CLS_FOCUS=ln,e.CLS_RM_WHITE_SPACE=dn,e.CLS_IMGRIGHT=cn,e.CLS_IMGLEFT=pn,e.CLS_IMGCENTER=hn,e.CLS_IMGBREAK=un,e.CLS_CAPTION=mn,e.CLS_RTE_CAPTION=gn,e.CLS_CAPINLINE=fn,e.CLS_IMGINLINE=bn,e.CLS_COUNT=vn,e.CLS_WARNING=yn,e.CLS_ERROR=Cn,e.CLS_ICONS=Nn,e.CLS_ACTIVE=Sn,e.CLS_EXPAND_OPEN=En,e.CLS_RTE_ELEMENTS=Tn,e.CLS_TB_BTN=wn,e.CLS_HR_SEPARATOR=On,e.CLS_TB_IOS_FIX=Ln,e.CLS_LIST_PRIMARY_CONTENT=xn,e.CLS_NUMBERFORMATLIST_TB_BTN=kn,e.CLS_BULLETFORMATLIST_TB_BTN=Dn,e.CLS_FORMATS_TB_BTN=Mn,e.CLS_FONT_NAME_TB_BTN=Rn,e.CLS_FONT_SIZE_TB_BTN=In,e.CLS_ALIGN_TB_BTN=Bn,e.CLS_FONT_COLOR_TARGET=Pn,e.CLS_BACKGROUND_COLOR_TARGET=An,e.CLS_COLOR_CONTENT=Un,e.CLS_FONT_COLOR_DROPDOWN=Hn,e.CLS_BACKGROUND_COLOR_DROPDOWN=jn,e.CLS_COLOR_PALETTE=Fn,e.CLS_FONT_COLOR_PICKER=qn,e.CLS_BACKGROUND_COLOR_PICKER=zn,e.CLS_RTE_READONLY=_n,e.CLS_TABLE_SEL=Wn,e.CLS_TB_DASH_BOR=Vn,e.CLS_TB_ALT_BOR=Qn,e.CLS_TB_COL_RES=Kn,e.CLS_TB_ROW_RES=Gn,e.CLS_TB_BOX_RES=Xn,e.CLS_RTE_HIDDEN=Yn,e.CLS_RTE_PASTE_KEEP_FORMAT=Jn,e.CLS_RTE_PASTE_REMOVE_FORMAT=$n,e.CLS_RTE_PASTE_PLAIN_FORMAT=Zn,e.CLS_RTE_PASTE_OK=ei,e.CLS_RTE_PASTE_CANCEL=ti,e.CLS_RTE_DIALOG_MIN_HEIGHT=ni,e.CLS_RTE_RES_HANDLE=ii,e.CLS_RTE_RES_EAST="e-south-east",e.CLS_RTE_IMAGE=ri,e.CLS_RESIZE="e-resize",e.CLS_IMG_FOCUS="e-img-focus",e.CLS_RTE_DRAG_IMAGE=oi,e.CLS_RTE_UPLOAD_POPUP=si,e.CLS_POPUP_OPEN=ai,e.CLS_IMG_RESIZE="e-img-resize",e.CLS_DROPAREA="e-droparea",e.CLS_IMG_INNER="e-img-inner",e.CLS_UPLOAD_FILES=li,e.CLS_RTE_DIALOG_UPLOAD=di,e.CLS_RTE_RES_CNT=ci,e.CLS_CUSTOM_TILE=pi,e.CLS_NOCOLOR_ITEM=hi,e.CLS_TABLE="e-rte-table",e.CLS_TABLE_BORDER=ui,e.CLS_RTE_TABLE_RESIZE=mi,e.CLS_RTE_FIXED_TB_EXPAND=gi,e.CLS_RTE_TB_ENABLED=fi,e.CLS_RTE_RES_WEST="e-south-west",e.getIndex=d,e.hasClass=c,e.getDropDownValue=p,e.isIDevice=h,e.getFormattedFontSize=u,e.pageYOffset=m,e.getTooltipText=g,e.setToolbarStatus=f,e.getCollection=b,e.getTBarItemsIndex=v,e.updateUndoRedoStatus=y,e.dispatchEvent=C,e.parseHtml=N,e.getTextNodesUnder=S,e.toObjectLowerCase=E,e.getEditValue=T,e.updateTextNode=w,e.getDefaultValue=O,e.isEditableValueEmpty=L,e.decode=x,e.sanitizeHelper=k,e.convertToBlob=D,e.getLocaleFontFormat=M,e.updateDropDownFontFormatLocale=R,e.ServiceLocator=$i,e.RendererFactory=Zi,e.EditorManager=Yo,e.IMAGE=Jr,e.TABLE=$r,e.LINK=Zr,e.INSERT_ROW=eo,e.INSERT_COLUMN=to,e.DELETEROW=no,e.DELETECOLUMN=io,e.REMOVETABLE=ro,e.TABLEHEADER=oo,e.TABLE_VERTICAL_ALIGN=so,e.TABLE_MERGE=ao,e.TABLE_VERTICAL_SPLIT=lo,e.TABLE_HORIZONTAL_SPLIT=co,e.TABLE_MOVE="TABLE_MOVE",e.ALIGNMENT_TYPE=po,e.INDENT_TYPE=ho,e.DEFAULT_TAG="p",e.BLOCK_TAGS=uo,e.IGNORE_BLOCK_TAGS=mo,e.TABLE_BLOCK_TAGS=go,e.SELECTION_TYPE=fo,e.INSERTHTML_TYPE=bo,e.INSERT_TEXT_TYPE=vo,e.CLEAR_TYPE=yo,e.SELF_CLOSING_TAGS=Co,e.CLASS_IMAGE_RIGHT=Ro,e.CLASS_IMAGE_LEFT=Io,e.CLASS_IMAGE_CENTER=Bo,e.CLASS_IMAGE_BREAK=Po,e.CLASS_CAPTION=Ao,e.CLASS_RTE_CAPTION="e-rte-img-caption",e.CLASS_CAPTION_INLINE=Uo,e.CLASS_IMAGE_INLINE="e-imginline",e.Lists=To,e.markerClassName=So,e.DOMNode=Eo,e.Alignments=Do,e.Indents=Mo,e.Formats=Lo,e.LinkCommand=ko,e.InsertMethods=wo,e.InsertTextExec=Xo,e.InsertHtmlExec=Wo,e.InsertHtml=xo,e.IsFormatted=qo,e.MsWordPaste=Go,e.NodeCutter=Oo,e.ImageCommand=Ho,e.SelectionCommands=zo,e.SelectionBasedExec=_o,e.ClearFormatExec=Qo,e.UndoRedoManager=Ko,e.TableCommand=jo,e.statusCollection=Zo,e.ToolbarStatus=es,e.NodeSelection=No,e.MarkdownParser=Qr,e.LISTS_COMMAND=wr,e.selectionCommand=Or,e.LINK_COMMAND=Lr,e.CLEAR_COMMAND=xr,e.MD_TABLE=kr,e.INSERT_TEXT_COMMAND=Dr,e.ClearFormat=Wr,e.MDLists=Mr,e.MDFormats=Rr,e.MarkdownSelection=pr,e.UndoRedoCommands=qr,e.MDSelectionFormats=Ir,e.MDLink=zr,e.MDTable=_r,e.markdownFormatTags=Br,e.markdownSelectionTags=Pr,e.markdownListsTags=Ar,e.htmlKeyConfig=Ur,e.markdownKeyConfig=Hr,e.pasteCleanupGroupingTags=jr,e.listConversionFilters={first:"MsoListParagraphCxSpFirst",middle:"MsoListParagraphCxSpMiddle",last:"MsoListParagraphCxSpLast"},e.selfClosingTags=Fr,e.KEY_DOWN="keydown",e.ACTION=gr,e.FORMAT_TYPE=fr,e.KEY_DOWN_HANDLER=br,e.LIST_TYPE="list-type",e.KEY_UP_HANDLER=vr,e.KEY_UP="keyup",e.MODEL_CHANGED_PLUGIN=yr,e.MODEL_CHANGED=Cr,e.MS_WORD_CLEANUP_PLUGIN=Nr,e.MS_WORD_CLEANUP=Sr,e.ON_BEGIN="onBegin",e.SPACE_ACTION=Er,Object.defineProperty(e,"__esModule",{value:!0})});
11
11
  //# sourceMappingURL=ej2-richtexteditor.umd.min.js.map