l.length;null){o-=1;var c=(r=this.selection.getLine(e,o)).trim().split(". ");if(("OL"===this.currentAction?/^\d+$/.test(c[0]):s.test(r.trim()))&&(d=this.getTabSpace(r)).length<=l.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,o=n.selectionEnd,r=this.selection.getSelectedParentPoints(n),s=this.selection.getLine(n,r[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]){S=this.getTabSpace(s);this.currentAction=this.getAction(s);T=this.nextOrderedListValue(d[0]);r[0].text=S+T+r[0].text;for(var p=this.selection.getAllParents(n.value).length,h="\n",u=this.getTabSpace(s),m=this.getTabSpace(r[0].text),g=!0,f=1;f1&&/^\d+$/.test(v[0].trim())&&u.length===y.length&&g){var C=this.nextOrderedListValue(v[0]);v.splice(0,1),h=h+y+C+v.join(". ")+"\n"}else h=h+b+"\n",m=this.getTabSpace(b)}}n.value=n.value.substr(0,r[0].start)+u+T+this.selection.getLine(n,r[0].line)+h,i=i+T.length+S.length,c+=T.length+S.length}else if("UL"===this.currentAction&&s&&l.test(s.trim())&&""!==s.trim().replace(l,"")||"OL"===this.currentAction&&!a){var S=this.getTabSpace(s),T=this.syntax[this.currentAction];r[0].text=S+T+r[0].text+(r[0].text.trim().length>0?"\n":""),n.value=n.value.substr(0,r[0].start)+r[0].text+n.value.substr(r[0].end,n.value.length),i=i+T.length+S.length,c+=T.length+S.length}this.restore(n,i,o+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,o=n.selectionStart,r=n.selectionEnd,s=0,a=0,l=0,d=this.selection.getSelectedParentPoints(n),c="",p=this.olListType(),h={},u=0;u0?o+c.length+g.space:0:o,s+=c.length+g.space,1!==d.length)for(var f=u;fp&&(i[o.toString()]=0)),d){var h=void 0,u=void 0;s.test(e.trim())?(u=this.syntax.UL,h=n,r.space=n.trim().length-this.syntax.UL.trim().length):/^\d+$/.test(a[0].trim())&&c?(u=a[0].trim()+". ",h=n,r.space=this.syntax.UL.trim().length-l.trim().length):/^\d+$/.test(a[0].trim())&&(u=a[0].trim()+". ",h=this.syntax.UL,r.space=this.syntax.UL.trim().length-l.trim().length),r.line=e.replace(u,h)}return r},e.prototype.restore=function(e,n,i,o){t.isNullOrUndefined(n)||t.isNullOrUndefined(n)||this.selection.save(n,i),t.isNullOrUndefined(o)||this.selection.restore(e),o&&o.callBack&&o.callBack({requestType:this.currentAction,selectedText:this.selection.getSelectedText(e),editorMode:"Markdown",event:o.event})},e.prototype.getListRegex=function(){for(var e="",t=Object.keys(this.syntax),n=0;n1))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 o=n.selectionStart,r=n.selectionEnd,s=0;if(i=this.selection.getSelectedParentPoints(n),"pre"===e.subCommand)return void(i.length>1?this.applyCodeBlock(n,e,i):(t.extend(e,e,{subCommand:"InlineCode"},!0),this.parent.observer.notify("command-type",e)));for(var a=0;a0?i-d.length:0:i,r+=d.length,1!==n.length)for(var p=0;p/g))||t.isNullOrUndefined(o[1].match(/\<\/sub>/g))||o[0].match(/\/g).length%2!=1||o[1].match(/\<\/sub>/g).length%2!=1||"SubScript"!==e||(n=!0),t.isNullOrUndefined(o[0].match(/\/g))||t.isNullOrUndefined(o[1].match(/\<\/sup>/g))||o[0].match(/\/g).length%2!=1||o[1].match(/\<\/sup>/g).length%2!=1||"SuperScript"!==e||(n=!0)),this.isBold(o[0],r)&&this.isBold(o[1],r)&&o[0].match(this.multiCharRegx(r)).length%2==1&&o[1].match(this.multiCharRegx(r)).length%2==1&&"Bold"===e&&(n=!0),o[0]=this.isBold(o[0],r)?o[0].replace(this.multiCharRegx(r),"$%@"):o[0],o[1]=this.isBold(o[1],r)?o[1].replace(this.multiCharRegx(r),"$%@"):o[1],t.isNullOrUndefined(this.isMatch(o[0],this.syntax.Italic))||t.isNullOrUndefined(this.isMatch(o[1],this.syntax.Italic))||this.isMatch(o[0],this.syntax.Italic).length%2!=1||this.isMatch(o[1],this.syntax.Italic).length%2!=1||"Italic"!==e||(n=!0),t.isNullOrUndefined(this.isMatch(o[0],this.syntax.StrikeThrough))||t.isNullOrUndefined(this.isMatch(o[1],this.syntax.StrikeThrough))||this.isMatch(o[0],this.syntax.StrikeThrough).length%2!=1||this.isMatch(o[1],this.syntax.StrikeThrough).length%2!=1||"StrikeThrough"!==e||(n=!0),t.isNullOrUndefined(this.isMatch(o[0],this.syntax.InlineCode))||t.isNullOrUndefined(this.isMatch(o[1],this.syntax.InlineCode))||this.isMatch(o[0],this.syntax.InlineCode).length%2!=1||this.isMatch(o[1],this.syntax.InlineCode).length%2!=1||"InlineCode"!==e||(n=!0),t.isNullOrUndefined(o[0].match(/\/g))||t.isNullOrUndefined(o[1].match(/\<\/sub>/g))||o[0].match(/\/g).length%2!=1||o[1].match(/\<\/sub>/g).length%2!=1||"SubScript"!==e||(n=!0),t.isNullOrUndefined(o[0].match(/\/g))||t.isNullOrUndefined(o[1].match(/\<\/sup>/g))||o[0].match(/\/g).length%2!=1||o[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,o=0,r=this.parent.markdownSelection.getSelectedInlinePoints(t);if(this.isAppliedCommand(e.subCommand)&&""!==r.text){var s=this.syntax[e.subCommand],a="SubScript"===e.subCommand?" ":"SuperScript"===e.subCommand?" ":this.syntax[e.subCommand],l="UpperCase"===e.subCommand||"LowerCase"===e.subCommand?0:s.length,d=t.value.substr(0,r.start).lastIndexOf(s),c=t.value.substr(r.end,t.value.length).indexOf(a);c+=r.end;var p=this.replaceAt(t.value.substr(0,r.start),s,"",d,r.start),h=this.replaceAt(t.value.substr(r.end,t.value.length),a,"",0,c);return t.value=p+r.text+h,void this.restore(t,n-l,i-l,e)}if(""===r.text||this.isApplied(r,e.subCommand))"UpperCase"!==e.subCommand&&"LowerCase"!==e.subCommand?("SubScript"===e.subCommand||"SuperScript"===e.subCommand?(r.text=this.textReplace(r.text,e.subCommand),r.text=this.syntax[e.subCommand]+r.text+""+this.syntax[e.subCommand].substring(1,5)):(r.text=this.textReplace(r.text,e.subCommand),r.text=this.syntax[e.subCommand]+r.text+this.syntax[e.subCommand]),t.value=t.value.substr(0,r.start)+r.text+t.value.substr(r.end,t.value.length),o=this.syntax[e.subCommand].length,r.start===r.end?this.restore(t,n+o,i+o,e):this.restore(t,n+o,i-o,e)):this.restore(t,n,i,e);else{o="UpperCase"===e.subCommand||"LowerCase"===e.subCommand?0:this.syntax[e.subCommand].length;var u=t.value.substr(r.start-this.syntax[e.subCommand].length,this.syntax[e.subCommand].length),m=void 0;if(u===e.subCommand||r.start-this.syntax[e.subCommand].length===t.value.indexOf(this.syntax[e.subCommand])&&(r.end===t.value.lastIndexOf(this.syntax[e.subCommand])||r.end===t.value.lastIndexOf(""+this.syntax[e.subCommand].substring(1,5)))){m="SubScript"===e.subCommand||"SuperScript"===e.subCommand?t.value.substr(r.end,this.syntax[e.subCommand].length+1):t.value.substr(r.end,this.syntax[e.subCommand].length);var p=this.replaceAt(t.value.substr(0,r.start),u,"",r.start-this.syntax[e.subCommand].length,r.start),h=this.replaceAt(t.value.substr(r.end,t.value.length),m,"",0,m.length);t.value=p+r.text+h,this.restore(t,n-o,i-o,e)}else"SubScript"===e.subCommand||"SuperScript"===e.subCommand?r.text=this.syntax[e.subCommand]+r.text+""+this.syntax[e.subCommand].substring(1,5):"UpperCase"===e.subCommand||"LowerCase"===e.subCommand?r.text="UpperCase"===e.subCommand?r.text.toUpperCase():r.text.toLowerCase():r.text=this.syntax[e.subCommand]+r.text+this.syntax[e.subCommand],t.value=t.value.substr(0,r.start)+r.text+t.value.substr(r.end,t.value.length),this.restore(t,n+o,i+o,e)}this.parent.undoRedoManager.saveData()},e.prototype.replaceAt=function(e,t,n,i,o){return e.slice(0,i)+e.slice(i,o).replace(t,n)+e.slice(o)},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)),o=e;o=o.replace(i,"$%@").replace(n,"");var r=new RegExp("\\$%@","g");e=o.replace(r,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(//g,"").replace(/<\/sub>/g,"");break;case"SuperScript":e=e.replace(//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,o=this.multiCharRegx(this.syntax[t].substr(0,1));if(o.test(e.text)){var r=e.text;r=r.replace(o,"$%#"),i=n.test(r)}else i=n.test(e.text);return i;case"InlineCode":return n.test(e.text)}},e}(),at={h6:"###### ",h5:"##### ",h4:"#### ",h3:"### ",h2:"## ",h1:"# ",blockquote:"> ",pre:"```\n",p:""},lt={Bold:"**",Italic:"*",StrikeThrough:"~~",InlineCode:"`",SubScript:"",SuperScript:"",UpperCase:"A-Z",LowerCase:"a-z"},dt={OL:"1. ",UL:"- "},ct={"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"},pt={"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"},ht={b:["strong"],strong:["b"],i:["emp","cite"],emp:["i","cite"],cite:["i","emp"]},ut={first:"MsoListParagraphCxSpFirst",middle:"MsoListParagraphCxSpMiddle",last:"MsoListParagraphCxSpLast"},mt=["BR","IMG"],gt=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("keyup-handler",e,this),this.parent.observer.on("keydown-handler",this.keyDown,this),this.parent.observer.on("action",this.onAction,this),this.parent.observer.on("model_changed_plugin",this.onPropertyChanged,this)},e.prototype.onPropertyChanged=function(e){for(var t=0,n=Object.keys(e.newProp);t=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(o),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}(),ft=function(){function e(e){this.parent=e,this.selection=this.parent.markdownSelection,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on("link-commands",this.createLink,this)},e.prototype.createLink=function(e){var t=this.parent.element;t.focus();var n=t.selectionStart,i=t.selectionEnd,o="Image"===e.subCommand?this.selection.getSelectedText(t):e.item.text,r="Image"===e.subCommand?n+2:n+1,s="Image"===e.subCommand?i+2:i+1;o="Image"===e.subCommand?"":"["+o+"]("+e.item.url+")",t.value=t.value.substr(0,n)+o+t.value.substr(i,t.value.length),this.parent.markdownSelection.setSelection(t,r,s),this.restore(t,r,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}(),bt=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("insert-table",this.createTable,this),this.parent.observer.on("keydown-handler",this.onKeyDown,this)},e.prototype.removeEventListener=function(){this.parent.observer.off("insert-table",this.createTable),this.parent.observer.off("keydown-handler",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 o=this.selection.getSelectedParentPoints(this.element),r=o[o.length-1].text.split(" ",2),s=this.getFormatTag();r.length<2?(this.element.value=this.updateValue(this.getTable()),this.makeSelection(n,e,t)):this.ensureFormatApply(o[o.length-1].text)?this.checkValid(e,t,this.getTable(),n,i,r,o,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>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}(),vt=function(){function e(e){this.parent=e,this.selection=this.parent.markdownSelection,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on("clear-commands",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"===t[o]||""===t[o]?t[o].length+1:t[o].length;s=""===t[o]?new RegExp("(.*?) ","ig"):""===t[o]?new RegExp("(.*?) ","ig"):new RegExp(r+"(.*?)"+r,"ig");for(var d=e.match(s),c=0;d&&c0?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-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&&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=0&&"html"!==o.nodeName&&e[t?"setStart":"setEnd"](o,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,o){var r=e.createRange();r.setStart(t,i),r.setEnd(n,o),this.setRange(e,r)},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(),o=e.defaultView.getSelection();i.setStart(t,n),i.collapse(!0),o.removeAllRanges(),o.addRange(i)},e}(),Mt={startSelection:"e-editor-select-start",endSelection:"e-editor-select-end"},Rt=function(){function e(e,t){this.parent=e,this.nodeSelection=new Dt,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&&Lt.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=0?t+=" "+r+"='"+s+"'":s.indexOf('"')>=0&&s.indexOf("'")>=0?t+=" "+r+'="'+(s=s.replace(/"/g,"""))+'"':t+=" "+r+'="'+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(Mt.startSelection)||e.childNodes[t-1].classList.contains(Mt.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/gi,"\n")},e.prototype.saveMarker=function(e,n){var i,o,r=this.parent.querySelector("."+Mt.startSelection),s=this.parent.querySelector("."+Mt.endSelection);if(""===r.textContent&&t.isNullOrUndefined(s)&&"tab"!==n&&(1===r.childNodes.length&&"BR"===r.childNodes[0].nodeName?r.innerHTML=" ":r.innerHTML=""),this.hasClass(r,Mt.startSelection)&&r.classList.length>1){a=this.createTagString("p",r,this.encode(r.textContent));this.replaceWith(r,a),(r=this.parent.querySelector("."+Mt.startSelection)).classList.remove(Mt.startSelection),i=r.childNodes[0]}else i=this.unWrap(r)[0];if(this.hasClass(s,Mt.endSelection)&&s.classList.length>1){var a=this.createTagString("p",s,this.encode(s.textContent));this.replaceWith(s,a),(s=this.parent.querySelector("."+Mt.endSelection)).classList.remove(Mt.endSelection),o=s.childNodes[0]}else o=s?this.unWrap(s)[0]:i;return e.startContainer=e.getNodeArray(i,!0),e.endContainer=e.getNodeArray(o,!1),e},e.prototype.marker=function(e,t){return''+t+" "},e.prototype.setMarker=function(e){var t=e.range,n=t.startContainer.childNodes,i=(n.length>1&&"TABLE"===n[0].nodeName?A(n[t.startOffset+1]):n[t.startOffset>0?t.startOffset-1:t.startOffset])||t.startContainer,o=t.endContainer.childNodes[t.endOffset>0?t.endOffset-1:t.endOffset]||t.endContainer;if(i.nodeType===Node.ELEMENT_NODE&&o.nodeType===Node.ELEMENT_NODE&&(i.contains(o)||o.contains(i))){var r=i.contains(o)?i:o;if(r.nodeType!==Node.TEXT_NODE){for(var s=[],a=[],l=r;r.contains(l);null)s.indexOf(l)<0&&l.childNodes&&l.childNodes.length?(s.push(l),l=l.childNodes[0]):l.nextSibling?l=l.nextSibling:l.parentNode&&(l=l.parentNode,s.push(l)),a.indexOf(l)<0&&(l.nodeType===Node.TEXT_NODE||xt.indexOf(l.parentNode.tagName.toLocaleLowerCase())>=0&&("BR"===l.tagName||"IMG"===l.tagName))&&a.push(l);a.length&&(i=i.contains(o)?a[0]:i,o=a[a.length-1])}}i!==o?(i.nodeType!==Node.TEXT_NODE&&("BR"===i.tagName&&xt.indexOf(i.parentNode.tagName.toLocaleLowerCase())>=0||"IMG"===i.tagName)?(this.replaceWith(i,this.marker(Mt.startSelection,this.encode(i.textContent))),t.startContainer.querySelector("."+Mt.startSelection).appendChild(i)):this.replaceWith(i,this.marker(Mt.startSelection,this.encode(i.textContent))),o.nodeType!==Node.TEXT_NODE&&"BR"===o.tagName&&xt.indexOf(o.parentNode.tagName.toLocaleLowerCase())>=0?(this.replaceWith(o,this.marker(Mt.endSelection,this.encode(o.textContent))),t.endContainer.querySelector("."+Mt.endSelection).appendChild(o)):this.ensureSelfClosingTag(o,Mt.endSelection,t)):this.ensureSelfClosingTag(i,Mt.startSelection,t)},e.prototype.ensureSelfClosingTag=function(e,n,i){var o=!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(Mt.startSelection,this.encode(e.textContent))),i.startContainer.querySelector("."+Mt.startSelection).appendChild(e);else{if("IMG"===e.tagName){var r=document.createElement("p");e.parentElement.insertBefore(r,e),r.appendChild(e),e=r.children[0]}if("TABLE"===e.tagName)if(o=!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=0&&(e=this.wrap(e,this.parseHTMLFragment(n)))}else if(e.nodeType!==Node.TEXT_NODE&&(e.classList.contains(Mt.startSelection)||e.classList.contains(Mt.endSelection))||t.replace(/\n/g,"").replace(/(^ *)|( *$)/g,"").length>0||t.length&&t.indexOf("\n")<0){var n="
",o=e;e=this.wrap(e,this.parseHTMLFragment(n)),!(o.nodeType===Node.ELEMENT_NODE&&o.firstChild&&"BR"===o.firstChild.nodeName&&(o.classList.contains(Mt.startSelection)||o.classList.contains(Mt.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(),o=0;o=0&&("BR"===a.tagName||a.nodeType===Node.TEXT_NODE||a.classList.contains(Mt.startSelection)||a.classList.contains(Mt.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(r);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(Mt.startSelection)||p.classList.contains(Mt.endSelection)))&&xt.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(Mt.startSelection)||p.nextSibling.classList.contains(Mt.endSelection))&&xt.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&&xt.indexOf(p.parentNode.tagName.toLocaleLowerCase())>=0&&(p.classList.contains(Mt.startSelection)||p.classList.contains(Mt.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);(r=this.blockParentNode(l))&&this.ignoreTableTag(r)&&e.indexOf(r)<0&&!t.isNullOrUndefined(r.previousElementSibling)&&"IMG"!==r.previousElementSibling.tagName&&e.push(r)}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!(Ot.indexOf(e.tagName.toLocaleLowerCase())>=0)},e}(),It=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("keydown-handler",this.keyDownHandler,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 o=0;o=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;u1||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),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.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;t0)for(var i=0;i0&&("OL"===s.nodeName||"UL"===s.nodeName)?n=r[0]:i=o[0],n)for(a=this.domNode.contents(e)[0];a&&!this.domNode.isList(a);null){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){c=t.createElement("li");t.prepend([c],i);for(var a=this.domNode.contents(e)[0];a&&!this.domNode.isList(a);null){var l=a.nextSibling;c.appendChild(a),a=l}t.prepend([i],e.parentNode),t.detach(e);d=t.createElement("li",{styles:"list-style-type: none;"});t.prepend([d],i.parentNode),t.append([i],d)}else{var d=t.createElement("li",{styles:"list-style-type: none;"});t.prepend([d],e.parentNode);var c=t.createElement(e.parentNode.tagName);t.prepend([c],d),t.append([e],c)}},e.prototype.nestedList=function(e){for(var n=!1,i=0;i0&&("OL"===d.nodeName||"UL"===d.nodeName)?s=l[0]:r=a[0],r){h=t.createElement("li");t.prepend([h],r);for(c=this.domNode.contents(e[i])[0];c&&!this.domNode.isList(c);null){p=c.nextSibling;h.appendChild(c),c=p}t.append([r],o),t.detach(e[i])}else if(s){if("LI"===o.tagName){for(var c=this.domNode.contents(e[i])[0];c&&!this.domNode.isList(c);null){var p=c.nextSibling;t.prepend([c],s),t.setStyleAttribute(e[i],{"list-style-type":"none"}),t.setStyleAttribute(s,{"list-style-type":""}),c=p}t.append([s.parentNode],o),t.detach(e[i])}}else if("LI"===o.tagName){var h=t.createElement(e[i].parentNode.tagName);t.append([h],o),t.append([e[i]],h)}}else{var u=e[i];n=!0,this.noPreviousElement(u)}}return n},e.prototype.applyListsHandler=function(e){var t=this.parent.nodeSelection.getRange(this.parent.currentDocument);this.saveSelection=this.parent.nodeSelection.save(t,this.parent.currentDocument),this.currentAction=e.subCommand,this.domNode.setMarker(this.saveSelection);for(var n=this.domNode.blockNodes(),i=0;i0&&"LI"!==n[i].tagName&&"LI"===n[i].parentNode.tagName&&(n[i]=n[i].parentNode);this.applyLists(n,this.currentAction,e.selector),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.applyLists=function(e,t,n){if(this.isRevert(e,t))this.revertList(e),this.removeEmptyListElements();else{this.checkLists(e,t);for(var i=0;i ",e[i].appendChild(o)}else if("LI"!==e[i].tagName){var r="<"+t+">",s=""+t+">",a="li"+("IMG"===e[i].tagName?"":this.domNode.attributes(e[i])),l="p"===e[i].tagName.toLowerCase()?e[i].innerHTML:e[i].outerHTML,d=r+this.domNode.createTagString(a,null,l)+s;this.domNode.replaceWith(e[i],d)}}this.cleanNode(),this.parent.editableElement.focus(),I()&&B(this.parent.editableElement,n),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=0;r--){var s=n[r],a="<"+t.toLowerCase()+" "+this.domNode.attributes(s)+">"+s.innerHTML+""+t.toLowerCase()+">";this.domNode.replaceWith(n[r],a)}},e.prototype.cleanNode=function(){for(var e=this.parent.editableElement.querySelectorAll("ol + ol, ul + ul"),t=0;t0){var n=[],i=[],o=[],r=[];o=t[t.length-1].childNodes;for(var s=0;s0)for(var l=0;l0)for(var h=0;h0&&this.nestedList(n)}},e.prototype.revertList=function(e){for(var n=[],i=e.length-1;i>=0;i--)for(var o=i-1;o>=0;o--)if(e[o].contains(e[i])||e[o]===e[i]){n.push(e[i]),e.splice(i,1);break}this.findUnSelected(n,e);for(var r=[],i=0;i
";this.domNode.wrapInner(s,this.domNode.parseHTMLFragment(h))}else if(3===this.domNode.contents(s)[0].nodeType){u=this.domNode.createTagString("p",a,this.parent.domNode.encode(this.domNode.contents(s)[0].textContent));this.domNode.replaceWith(this.domNode.contents(s)[0],u)}else if(this.domNode.contents(s)[0].classList.contains(Mt.startSelection)||this.domNode.contents(s)[0].classList.contains(Mt.endSelection)){var u=this.domNode.createTagString("p",a,this.domNode.contents(s)[0].outerHTML);this.domNode.replaceWith(this.domNode.contents(s)[0],u)}else{var m=s.firstChild;l=m.getAttribute("class"),t.attributes(m,this.domNode.rawAttributes(a)),l&&m.getAttribute("class")&&t.attributes(m,{class:l+" "+m.getAttribute("class")})}t.append([this.openTag("LI")],s),t.prepend([this.closeTag("LI")],s)}this.domNode.insertAfter(this.openTag(a.tagName),s),"LI"===a.parentNode.tagName&&(a=a.parentNode.parentNode),r.indexOf(a)<0&&r.push(a)}for(i=0;i<\/span>/g,"$1>")).replace(/<\/span>/g,"<$1 "+this.domNode.attributes(g)+">"),this.domNode.replaceWith(g,this.domNode.openTagString(g)+f.trim()+this.domNode.closeTagString(g))}for(var b=this.parent.editableElement.querySelectorAll("ul:empty, ol:empty"),i=0;i ')},e.prototype.closeTag=function(e){return this.domNode.parseHTMLFragment(' ')},e}(),Bt=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}(),Pt=function(){function e(){this.position=-1,this.nodeSelection=new Dt}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(),o=t.parentNode,r=this.nodeSelection.getIndex(t);i.collapse(n),n?i.setStartBefore(t):i.setEndAfter(t);var s=i.extractContents();if(n)t=o.childNodes[r],(s=this.spliceEmptyNode(s,!1))&&s.childNodes.length>0&&((a=!(1!==s.childNodes.length||"IMG"===s.childNodes[0].nodeName||!this.isImgElm(s)||""!==s.textContent))||(t?Bt.AppendBefore(s,t):(o.appendChild(s),(l=document.createElement("div")).innerHTML="",t=l.firstChild,o.appendChild(t))));else if(t=o.childNodes.length>1?o.childNodes[r]:o.childNodes[0],(s=this.spliceEmptyNode(s,!0))&&s.childNodes.length>0){var a=!(1!==s.childNodes.length||"IMG"===s.childNodes[0].nodeName||!this.isImgElm(s)||""!==s.textContent);if(!a)if(t)Bt.AppendBefore(s,t,!0);else{o.appendChild(s);var l=document.createElement("div");l.innerHTML="",o.insertBefore(l.firstChild,o.firstChild),t=o.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],o=0;!t.isNullOrUndefined(i.childNodes)&&o-1&&!t?this.spliceEmptyNode(e.childNodes[n],t):n>-1?this.spliceEmptyNode(e.childNodes[0],t):3!==e.nodeType&&11!==e.nodeType&&e.parentNode.removeChild(e),e},e.prototype.GetCursorStart=function(e,t,n){for(var i=(e=n?e:e.reverse())[0],o=0;o=t);o++)i=e[o];return i},e.prototype.GetCursorRange=function(e,t,n){var i=e.createRange(),o=[];o.push(0);for(var r=this.TrimLineBreak(n.data),s=r.indexOf(" ",0);-1!==s;)o.indexOf(s)<0&&o.push(s),new RegExp("\\s").test(r[s-1])&&o.indexOf(s-1)<0&&o.push(s-1),new RegExp("\\s").test(r[s+1])&&o.push(s+1),s=r.indexOf(" ",s+1);if(o.push(r.length),o.indexOf(t.startOffset)>=0||o.indexOf(t.startOffset-1)>=0&&(1!==t.startOffset||1===t.startOffset&&new RegExp("\\s").test(r[0]))||o[o.length-1]-1===t.startOffset)i=t,this.position=1;else{var a=this.GetCursorStart(o,t.startOffset,!0);this.position=t.startOffset-a,i.setStart(t.startContainer,a),i.setEnd(t.startContainer,this.GetCursorStart(o,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}(),At=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on("format-type",this.applyFormats,this),this.parent.observer.on("keyup-handler",this.onKeyUp,this),this.parent.observer.on("keydown-handler",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,o=i.lastChild;if(13===e.event.which&&n.startContainer===i&&3!==i.nodeType){var r=t.createElement("p");if(r.innerHTML=" ","BR"===o.nodeName&&o.previousSibling&&"TABLE"===o.previousSibling.nodeName)i.replaceChild(r,o),this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,r,0);else{var s=this.parent.nodeSelection.getSelectionNodeCollectionBr(n)[0];!t.isNullOrUndefined(s)&&"BR"===s.nodeName&&s.previousSibling&&"TABLE"===s.previousSibling.nodeName&&(i.replaceChild(r,s),this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,r,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,o=0===n.endContainer.textContent.length||"PRE"===n.endContainer.nodeName?n.endContainer:n.endContainer.parentElement,r=t.closest(i,"pre"),s=t.closest(o,"pre");if(!t.isNullOrUndefined(r)&&!t.isNullOrUndefined(r.parentElement)&&"LI"===r.parentElement.tagName)return;if((t.isNullOrUndefined(r)&&!t.isNullOrUndefined(s)||!t.isNullOrUndefined(r)&&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,o,0)),13===e.event.which&&!t.isNullOrUndefined(r)&&!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(r,n)}else this.isNotEndCursor(r,n);else this.paraFocus(n.startContainer)}}},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){var n=t.createElement("p");n.innerHTML=" ",this.parent.domNode.insertAfter(n,e),this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,n,0),t.detach(e.lastChild)},e.prototype.isNotEndCursor=function(e,n){var i=new Pt,o=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 r=t.createElement("br");e.childNodes[n.endOffset].parentElement.insertBefore(r,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"," "+s.innerHTML),t.detach(e))}this.setCursorPosition(o,e)},e.prototype.setCursorPosition=function(e,n){var i=!1,o=this.parent.editableElement.querySelector(".tempSpan"),r=o.parentElement;if(""===o.parentNode.textContent?i=!0:this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,o,0),e)if(i)r===n?(this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,o,0),t.detach(o)):this.focusSelectionParent(o,r);else{var s=t.createElement("br");this.parent.domNode.insertAfter(s,o),this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,o,0),t.detach(o)}else i?this.focusSelectionParent(o,r):t.detach(o)},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 o=this.parent.nodeSelection.save(n,this.parent.currentDocument);this.parent.domNode.setMarker(o);for(var r=this.parent.domNode.blockNodes(),s=0;s \s+<"));"LI"===a.tagName?(a.innerHTML="",a.insertAdjacentHTML("beforeend",c)):this.parent.domNode.replaceWith(a,c)}}this.preFormatMerge();var p=this.parent.editableElement.querySelector("."+Mt.startSelection),h=this.parent.editableElement.querySelector("."+Mt.endSelection);t.isNullOrUndefined(p)||t.isNullOrUndefined(h)||(p=p.lastChild,h=h.lastChild),o=this.parent.domNode.saveMarker(o,null),I()&&B(this.parent.editableElement,e.selector),i?this.parent.nodeSelection.setSelectionText(this.parent.currentDocument,p,h,0,h.textContent.length):o.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.preFormatMerge=function(){var e=this.parent.editableElement.querySelectorAll("PRE");if(!t.isNullOrUndefined(e))for(var n=0;n"+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;i0?a.setSelectionText(e,r,r,1,1):"IMG"===r.nodeName?this.imageFocus(r,a,e):3!==r.nodeType?a.setSelectionContents(e,r):a.setSelectionText(e,r,r,r.textContent.length,r.textContent.length)}},e.pasteInsertHTML=function(e,n,i,o,r,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);o.setSelectionText(s,p,p,0,0),i=o.getRange(s)}var h,u,m,g;d!==i.startContainer&&(!a&&(l.nodeType!==Node.ELEMENT_NODE||-1===Ot.indexOf(l.tagName.toLocaleLowerCase()))||"table"===n.nodeName.toLowerCase()&&l&&-1===Ot.indexOf(l.tagName.toLocaleLowerCase()))&&(g=r.GetSpliceNode(i,l),u=t.isNullOrUndefined(g.previousSibling)?g.parentNode.previousSibling:g.previousSibling,1===e.length?(o.setSelectionContents(s,g),i=o.getRange(s),m=!0):(h=r.GetSpliceNode(i,e[e.length-1].parentElement),h=t.isNullOrUndefined(h)?g:h,o.setSelectionText(s,g,h,0,3===h.nodeType?h.textContent.length:h.childNodes.length),i=o.getRange(s),m=!1));var f=!1;this.removingComments(n);for(var b=n.childNodes,v=0;v=0){f=!0;break}var y,C=document.createDocumentFragment();if(f){this.insertTempNode(i,n,e,r,d);var S=!0,T=void 0,E=void 0,N=void 0;for(i.deleteContents();n.firstChild;)if("#text"!==n.firstChild.nodeName||""!==n.firstChild.textContent.trim())if("#text"===n.firstChild.nodeName&&S||this.inlineNode.indexOf(n.firstChild.nodeName.toLocaleLowerCase())>=0&&S){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?(T?(N.appendChild(n.firstChild),C.appendChild(N)):((E=t.createElement("p")).appendChild(n.firstChild),C.appendChild(E)),N=E,T=!0):(C.appendChild(n.firstChild),T=!1),S=!1;else t.detach(n.firstChild);n.parentNode.replaceChild(C,n)}else if(c){var k=t.createElement("span",{className:"tempSpan"});for(i.insertNode(k);n.firstChild;)y=n.firstChild,C.appendChild(n.firstChild);k.parentNode.replaceChild(C,k)}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,o,s,d):this.cursorPos(y,n,o,s,d)},e.placeCursorEnd=function(e,n,i,o,r){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,o):i.setSelectionText(o,e,e,e.textContent.length,e.textContent.length),this.removeEmptyElements(r)},e.getNodeCollection=function(e,t,n){var i=[];return e.startOffset===e.endOffset&&e.startContainer===e.endContainer&&("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,o,r){if(e.startContainer!==r||t.isNullOrUndefined(e.startContainer.childNodes[e.endOffset-1])||"TABLE"!==e.startContainer.childNodes[e.endOffset-1].nodeName)if(e.startContainer!==r||t.isNullOrUndefined(e.startContainer.childNodes[e.endOffset])||"TABLE"!==e.startContainer.childNodes[e.endOffset].nodeName){var s=this.getImmediateBlockNode(i[i.length-1],r);if(t.isNullOrUndefined(s.parentElement)&&3!==e.endContainer.nodeType&&(s=e.endContainer,e.setEnd(s,e.endContainer.textContent.length)),"TD"===s.nodeName||"TH"===s.nodeName){var a=t.createElement("span",{className:"tempSpan"});e.insertNode(a),a.parentNode.replaceChild(n,a)}else{var l=o.GetSpliceNode(e,s);l.parentNode.replaceChild(n,l)}}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,o,r){e.classList.add("lastNode"),r.innerHTML=P(r.innerHTML),e=r.querySelector(".lastNode"),t.isNullOrUndefined(e)||(this.placeCursorEnd(e,n,i,o,r),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(Lt.indexOf(e.nodeName.toLocaleLowerCase())<0);return e},e.removingComments=function(e){var t=e.innerHTML;t=t.replace(//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;i0&&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 Dt).getRange(this.parent.currentDocument),o=!!t.isNullOrUndefined(e.item.text)||e.item.text.replace(/ /g,"").localeCompare(i.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||i.collapsed||o){var r=this.createAchorNode(e);if(r.innerText=""===e.item.text?e.item.url:e.item.text,e.item.selection.restore(),Ht.Insert(this.parent.currentDocument,r,this.parent.editableElement),!e.event||"keydown"!==e.event.type||32!==e.event.keyCode&&13!==e.event.keyCode){d="Paste"===e.item.action?r.childNodes[0].textContent.length:0;e.item.selection.setSelectionText(this.parent.currentDocument,r.childNodes[0],r.childNodes[0],d,r.childNodes[0].textContent.length)}else{var s=e.item.selection.range.startContainer;s.textContent=this.removeText(s.textContent,e.item.text)}}else this.createLinkNode(e)}else{var a=n,l="";if(t.isNullOrUndefined(e.item.url)||a.setAttribute("href",e.item.url),t.isNullOrUndefined(e.item.title)||a.setAttribute("title",e.item.title),t.isNullOrUndefined(e.item.text)||""===e.item.text||(l=a.innerText,a.innerText=e.item.text),t.isNullOrUndefined(e.item.target)?a.removeAttribute("target"):a.setAttribute("target",e.item.target),l===e.item.text)e.item.selection.setSelectionText(this.parent.currentDocument,a,a,1,1),e.item.selection.restore();else{var d="Paste"===e.item.action?a.childNodes[0].textContent.length:0;e.item.selection.setSelectionText(this.parent.currentDocument,a.childNodes[0],a.childNodes[0],d,a.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 Dt,o=new Pt,r=i.getRange(this.parent.currentDocument),s=this.getSelectionNodes(i.getNodeCollection(r)),a=i.save(r,this.parent.currentDocument),l=[],d=[],c=[],p=[],h=[],u=0;u1&&f=0},e.prototype.removeText=function(e,t){for(var n=e.split(" "),i=0;i0&&this.parent.observer.notify("keydown-handler",{event:{preventDefault:function(){},stopPropagation:function(){},shiftKey:"Indent"!==e.subCommand,which:9,action:"indent"},ignoreDefault:!0});for(s=0;s100?100/e.item.columns:parseInt(e.item.width.width,10)/e.item.columns,r=0;r0&&n?this.curTable.querySelector("tbody"):this.curTable.rows[l],"InsertRowBefore"===e.item.subCommand?h.parentElement.insertBefore(d,h):this.insertAfter(d,h)}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;3===n.nodeType&&(n=t.closest(n.parentElement,"td,th"));for(var i,o=t.closest(n,"tr"),r=t.closest(o,"table").rows,s=Array.prototype.slice.call(o.querySelectorAll("th,td")).indexOf(n),a=parseInt(e.item.width,10)/(o.querySelectorAll("td,th").length+1),l=0;l=r&&p[1]<=s&&(h>1?c.setAttribute("colspan",(h-1).toString()):(t.detach(c),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(e.callBack){var u=this.parent.nodeSelection.getRange(this.parent.currentDocument).startContainer;if("TD"!==u.nodeName){var m=this.parent.nodeSelection.getRange(this.parent.currentDocument).startOffset,g=u.children[m];g&&this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument,g,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")),this.curTable=t.closest(n,"table");var i,o,r,s=this.getCorrespondingColumns(),a=this.getSelectedCellMinMaxIndex(s);if(1===this.curTable.rows.length)e.item.selection.restore(),t.detach(t.closest(n.parentElement,"table"));else for(o=a.endRow;o>=a.startRow;o--){for(i=this.curTable.rows[o],r=0;r=0;a--)s+=parseFloat(r[a].style.width);o.style.width=s+"%";for(l=1;l<=n.length-1;l++)t.detach(n[l]);for(var l=0;l"!==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(01)){this.activeCell=this.curTable.querySelector(".e-cell-select");var i=this.activeCell.cloneNode(!0);i.removeAttribute("class"),i.innerHTML="";var o=this.getCorrespondingIndex(this.activeCell,this.getCorrespondingColumns()),r=this.getCorrespondingColumns(),s=this.activeCell.getAttribute("rowspan")?parseInt(this.activeCell.getAttribute("rowspan"),10):1;if(s>1){var a=Math.ceil(s/2);11)){this.activeCell=this.curTable.querySelector(".e-cell-select");var i=this.curTable.rows,o=this.activeCell.cloneNode(!0);o.removeAttribute("class"),o.innerHTML="";var r=parseFloat(this.activeCell.style.width)/2;if("TH"===this.activeCell.tagName&&isNaN(r)){for(var s=this.curTable.querySelector("tr").childElementCount,a=0,l=0;l1)11&&this.parent.nodeSelection.Clear(this.parent.currentDocument),"TD"===n.tagName||"TH"===n.tagName||i===o){for(var r=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(r!==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}(),Qt=function(){function e(){}return e}(),Vt=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"],e}(),Wt=function(){function e(){}return e.applyFormat=function(e,n,i,o,r){if(["bold","italic","underline","strikethrough","superscript","subscript","uppercase","lowercase","fontcolor","fontname","fontsize","backgroundcolor"].indexOf(n)>-1){"backgroundcolor"===n&&""===o&&(o="transparent");var s=!1,a=new Dt,l=new Rt(i,e),d=new Pt,c=new Vt,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=["fontcolor","fontname","fontsize","backgroundcolor"].indexOf(n)>-1;if(p.collapsed)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())m=!0,p=d.GetCursorRange(e,p,p.startContainer),u.push(p.startContainer);else{var v=this.insertCursorNode(e,a,p,c,d,n,o,i);a.endContainer=a.startContainer=a.getNodeArray(v,!0);var y="BR"===v.nodeName&&v.parentNode.childNodes;t.isNullOrUndefined(y)||1!==y.length||"BR"!==y[0].nodeName||0!==u.length?a.endOffset=a.startOffset=1:(a.setSelectionText(e,p.startContainer,p.endContainer,0,0),s=!0)}f=p.collapsed;for(var C=!1,S=0;S0?l.length>1&&n.startContainer===n.endContainer?this.getCursorFormat(i,l,r,a):i.getFormattedNode(l[0],r,a):null,c=null;return d?(c=l[0],Bt.unwrap(d)):(l.length>1&&n.startOffset>0&&l[0].firstElementChild&&"br"===l[0].firstElementChild.tagName.toLowerCase()&&(l[0].innerHTML=""),c=this.getInsertNode(e,n,r,s).firstChild),c},e.getCursorFormat=function(e,t,n,i){for(var o,r=0;r0&&g.length-1>=0&&f.childNodes.length>g[g.length-1];)f=f.childNodes[g[g.length-1]],g.pop();if("BR"!==e[n].nodeName)if(3!==f.nodeType||o&&""===f.nodeValue){var v=document.createElement("div");v.innerHTML="",3!==f.nodeType?(f.insertBefore(v.firstChild,f.firstChild),e[n]=f.firstChild):(f.parentNode.insertBefore(v.firstChild,f),e[n]=f.previousSibling,f.parentNode.removeChild(f))}else e[n]=f}}var y;"backgroundcolor"===d&&(y=i.style.fontSize);var C;if("fontsize"===d){var S=t.closest(e[n].parentElement,"span[style*=background-color]");t.isNullOrUndefined(S)||(C=S.style.backgroundColor)}var T=i.getAttribute("style"),E=i.tagName,N=Bt.unwrap(i);if(N[0]&&!s)for(var w=N[n]?N[n]:N[0],k=w;w&&w.parentElement&&w.parentElement!==h;w=w)w.parentElement&&w.parentElement.tagName.toLocaleLowerCase()===i.tagName.toLocaleLowerCase()&&(w.parentElement.childElementCount>1||a.startOffset>1)?(k.parentElement&&k.parentElement.tagName.toLocaleLowerCase()===i.tagName.toLocaleLowerCase()&&a.startOffset===a.endOffset&&1!==k.nodeType&&!t.isNullOrUndefined(k.textContent)&&k.parentElement.childElementCount>1&&(a.setStart(k,0),a.setEnd(k,k.textContent.length),l.SplitNode(a,k.parentElement,!1)),Bt.unwrap(w.parentElement),w=t.isNullOrUndefined(w.parentElement)||u.isBlockNode(w.parentElement)?w.parentElement:k):w=w.parentElement;if(N.length>0&&s){for(var L=0;L-1&&(e.event.preventDefault(),Wt.applyFormat(this.parent.currentDocument,e.event.action,this.parent.editableElement),this.callBack(e,e.event.action))},e.prototype.applySelection=function(e){Wt.applyFormat(this.parent.currentDocument,e.subCommand.toLocaleLowerCase(),this.parent.editableElement,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}(),Kt=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on("inserthtml-type",this.applyHtml,this)},e.prototype.applyHtml=function(e){if(Ht.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"),o=[].slice.call(i);e.callBack({requestType:e.subCommand,editorMode:"HTML",elements:n,imgElem:o})}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}(),Xt=function(){function e(){}return e.clear=function(e,n,i){var o=new Dt,r=new Pt,s=o.getRange(e),a=s.collapsed,l=o.getInsertNodeCollection(s),d=o.save(s,e);if(!a){var c=void 0;if(c="BR"===l[0].nodeName&&t.closest(l[0],"table")?r.GetSpliceNode(s,t.closest(l[0],"table")):r.GetSpliceNode(s,l[l.length>1&&"IMG"===l[0].nodeName?1:0]),1===l.length)o.setSelectionContents(e,c),s=o.getRange(e);else{for(var p=1,h=l[l.length-p];l.length<=p&&"BR"===l[l.length-p].nodeName;)p++,h=l[l.length-p];var u=r.GetSpliceNode(s,h);o.setSelectionText(e,c,u,0,3===u.nodeType?u.textContent.length:u.childNodes.length),s=o.getRange(e)}var m=o.getNodeCollection(s),g=m.slice();this.clearInlines(o.getSelectionNodes(g),g,o.getRange(e),r,n),this.reSelection(e,d,m),s=o.getRange(e);var f=(m=o.getNodeCollection(s)).slice();this.clearBlocks(e,f,n,r,o),I()&&B(n,i),this.reSelection(e,d,m)}},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 o=i[i.length-1];t.endOffset=3===o.nodeType?o.textContent.length:o.childNodes.length,t.restore()},e.clearBlocks=function(e,t,n,i,o){for(var r=[],s=0;s-1&&-1===r.indexOf(t[s])?r.push(t[s]):this.BLOCK_TAGS.indexOf(t[s].parentNode.nodeName.toLocaleLowerCase())>-1&&-1===r.indexOf(t[s].parentNode)&&n!==t[s].parentNode&&r.push(t[s].parentNode);r=this.spliceParent(r,t)[0],r=this.removeParent(r),this.unWrap(e,r,i,o)},e.spliceParent=function(e,t){for(var n=0;n0&&e[n].childNodes[o].childNodes.length>0&&(t=this.spliceParent([e[n].childNodes[o]],t)[1]),t.indexOf(e[n].childNodes[o])<=-1&&""!==e[n].childNodes[o].textContent.trim()){for(var r=0;r-1&&t.splice(t.indexOf(e[n].childNodes[r]),1);o=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-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-1&&((e=this.removeChild(e,e[t])).splice(t,1),t--);return e},e.unWrap=function(e,t,n,i){for(var o=0;o-1&&t[o].parentNode&&this.NONVALID_PARENT_TAGS.indexOf(t[o].parentNode.nodeName.toLowerCase())>-1&&(i.setSelectionText(e,t[o],t[o],0,t[o].childNodes.length),Bt.unwrap(n.GetSpliceNode(i.getRange(e),t[o].parentNode))),"p"!==t[o].nodeName.toLocaleLowerCase()){!(this.NONVALID_PARENT_TAGS.indexOf(t[o].nodeName.toLowerCase())<0&&"p"!==t[o].parentNode.nodeName.toLocaleLowerCase())||("blockquote"===t[o].nodeName.toLocaleLowerCase()||"li"===t[o].nodeName.toLocaleLowerCase())&&this.IGNORE_PARENT_TAGS.indexOf(t[o].childNodes[0].nodeName.toLocaleLowerCase())>-1||1===t[o].childNodes.length&&"p"===t[o].childNodes[0].nodeName.toLocaleLowerCase()||Bt.Wrap(t[o],e.createElement("p"));var r=Bt.unwrap(t[o]);1===r.length&&"p"===r[0].parentNode.nodeName.toLocaleLowerCase()&&(Bt.Wrap(t[o],e.createElement("p")),Bt.unwrap(t[o]));for(var s=0;s-1)this.unWrap(e,[r[s]],n,i);else if(this.BLOCK_TAGS.indexOf(r[s].nodeName.toLocaleLowerCase())>-1&&"p"!==r[s].nodeName.toLocaleLowerCase()){var a=this.removeParent([r[s]]);this.unWrap(e,a,n,i)}else this.BLOCK_TAGS.indexOf(r[s].nodeName.toLocaleLowerCase())>-1&&r[s].parentNode.nodeName.toLocaleLowerCase()===r[s].nodeName.toLocaleLowerCase()?Bt.unwrap(r[s]):this.BLOCK_TAGS.indexOf(r[s].nodeName.toLocaleLowerCase())>-1&&"p"===r[s].nodeName.toLocaleLowerCase()&&(Bt.Wrap(r[s],e.createElement("p")),Bt.unwrap(r[s]))}else Bt.Wrap(t[o],e.createElement("p")),Bt.unwrap(t[o])},e.clearInlines=function(e,t,n,i,o){for(var r=0;r-1&&(i.GetSpliceNode(n,e[r].parentNode),this.removeInlineParent(e[r].parentNode))},e.removeInlineParent=function(e){for(var t=Bt.unwrap(e),n=0;n-1?this.removeInlineParent(t[n].parentNode):Vt.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}(),Yt=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on("clear-type",this.applyClear,this),this.parent.observer.on("keydown-handler",this.onKeyDown,this)},e.prototype.onKeyDown=function(e){switch(e.event.action){case"clear-format":this.applyClear({subCommand:"ClearFormat",callBack:e.callBack}),e.event.preventDefault()}},e.prototype.applyClear=function(e){"ClearFormat"===e.subCommand&&(Xt.clear(this.parent.currentDocument,this.parent.editableElement,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}(),Jt=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("keyup-handler",e,this),this.parent.observer.on("keydown-handler",this.keyDown,this),this.parent.observer.on("action",this.onAction,this),this.parent.observer.on("model_changed_plugin",this.onPropertyChanged,this)},e.prototype.onPropertyChanged=function(e){for(var t=0,n=Object.keys(e.newProp);t=this.steps&&(this.undoRedoStack=this.undoRedoStack.slice(0,this.steps+1)),this.undoRedoStack.length>1&&this.undoRedoStack[this.undoRedoStack.length-1].range.range.collapsed===t.collapsed&&this.undoRedoStack[this.undoRedoStack.length-1].range.startOffset===n.range.startOffset&&this.undoRedoStack[this.undoRedoStack.length-1].range.endOffset===n.range.endOffset&&this.undoRedoStack[this.undoRedoStack.length-1].range.range.startContainer===n.range.startContainer&&this.undoRedoStack[this.undoRedoStack.length-1].text.trim()===i.text.trim()||(this.undoRedoStack.push(i),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}(),$t=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("ms_word_cleanup_plugin",this.wordCleanup,this)},e.prototype.wordCleanup=function(e){var n=e.allowedStylePropertiesArray,i=[],o=e.args.clipboardData.getData("text/HTML"),r=e.args.clipboardData.getData("text/rtf"),s=t.createElement("p");s.setAttribute("id","MSWord-Content"),s.innerHTML=o;var a=/class="?Mso|style="[^ ]*\bmso-/i,l=/(class="?Mso|class='?Mso|class="?Xl|class='?Xl|class=Xl|style="[^"]*\bmso-|style='[^']*\bmso-|w:WordDocument)/gi,d=/style='mso-width-source:/i;/class='?Mso|style='[^ ]*\bmso-/i.test(o)||a.test(o)||l.test(o)||d.test(o)?(this.imageConversion(s,r),o=o.replace(/ ]+>/i,""),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),d.test(o)&&this.addTableBorderClass(s),e.callBack(s.innerHTML)):e.callBack(s.innerHTML)},e.prototype.addTableBorderClass=function(e){for(var t=e.querySelectorAll("table"),n=!1,i=0;i=0){n=!0;break}n&&(t[i].classList.add("e-rte-table-border"),n=!1)}},e.prototype.imageConversion=function(e,t){this.checkVShape(e);var n=e.querySelectorAll("img"),i=[],o=[],r=[];if(n.length>0){for(a=0;a>2,s[1]=(3&o[0])<<4|o[1]>>4,s[2]=(15&o[1])<<2|(192&o[2])>>6,s[3]=63&o[2];for(var a=0;a<4;a++)t+=a<=r?"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(s[a]):"="}return t},e.prototype.conHexStringToBytes=function(e){for(var t=[],n=e.length/2,i=0;i","g"),o=new RegExp(""+this.removableElements[n]+">","g");t=(t=t.replace(i,"")).replace(o,"")}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;i0){var o=i[0].innerHTML.match(/[\S ]+\s+{[\s\S]+?}/gi),r=t.isNullOrUndefined(o)?null:this.findStyleObject(o),s=Object.keys(r),a=s.map(function(e){return r[e]});a=this.removeUnwantedStyle(a,n),this.filterStyles(e,n);for(var l=void 0,d=!1,c=0;c=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=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=0&&(r+=o[s]+";");n[i].setAttribute("style",r)}},e.prototype.removeUnwantedStyle=function(e,t){for(var n=0;n=0&&(e[n]+=i[o]+";")}return e},e.prototype.findStyleObject=function(e){for(var t={},n=0;n/g,""),e.innerHTML=t},e.prototype.cleanUp=function(e,t){for(var n,i=[],o=e.querySelectorAll("*"),r=0;r1?"ol":"ul";for(var d=[],c=1;cs)if(t.isNullOrUndefined(i))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.listStyle=this.getListStyle(e[l].listType,e[l].nestedLevel);else{for(var c=0;cparseInt(o.attributes.getNamedItem("level").textContent,null)){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.listStyle=this.getListStyle(e[l].listType,e[l].nestedLevel);break}}i.setAttribute("class",e[l].class),s=e[l].nestedLevel,a++}return r},e.prototype.getListStyle=function(e,t){return t=t>0?t-1:t,"ol"===e?t0&&(i.querySelectorAll("b").length>0||i.querySelectorAll("em").length>0))for(var r=0;r1&&-1!==o.indexOf(s)?(n="<"+s+">"+i.childNodes[r].textContent+""+s+">",this.listContents.push(n)):1===i.childNodes[r].textContent.trim().length&&this.listContents.push(i.childNodes[r].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}(),Zt=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.observer.on("insert-text-type",this.insertText,this)},e.prototype.insertText=function(e){var t=document.createTextNode(e.value);Ht.Insert(this.parent.currentDocument,t),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}(),en=function(){function e(e){this.currentDocument=e.document,this.editableElement=e.editableElement,this.nodeSelection=new Dt,this.domNode=new Rt(this.editableElement,this.currentDocument),this.observer=new t.Observer(this),this.listObj=new It(this),this.formatObj=new At(this),this.alignmentObj=new jt(this),this.indentsObj=new zt(this),this.linkObj=new Ut(this),this.imgObj=new _t(this),this.selectionObj=new Gt(this),this.inserthtmlObj=new Kt(this),this.insertTextObj=new Zt(this),this.clearObj=new Yt(this),this.tableObj=new qt(this),this.undoRedoManager=new Jt(this,e.options),this.msWordPaste=new $t(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("model_changed",this.onPropertyChanged,this),this.observer.on("ms_word_cleanup",this.onWordPaste,this)},e.prototype.onWordPaste=function(e){this.observer.notify("ms_word_cleanup_plugin",e)},e.prototype.onPropertyChanged=function(e){this.observer.notify("model_changed_plugin",e)},e.prototype.editorKeyDown=function(e){this.observer.notify("keydown-handler",e)},e.prototype.editorKeyUp=function(e){this.observer.notify("keyup-handler",e)},e.prototype.execCommand=function(e,t,n,i,o,r,s){switch(e.toLocaleLowerCase()){case"lists":this.observer.notify("list-type",{subCommand:t,event:n,callBack:i,selector:s});break;case"formats":this.observer.notify("format-type",{subCommand:t,event:n,callBack:i,selector:s,exeValue:r});break;case"alignments":this.observer.notify("alignment-type",{subCommand:t,event:n,callBack:i,selector:s,value:r});break;case"indents":this.observer.notify("indent-type",{subCommand:t,event:n,callBack:i,selector:s});break;case"links":this.observer.notify(kt,{command:e,value:t,item:r,event:n,callBack:i});break;case"files":this.observer.notify(Nt,{command:e,value:"Image",item:r,event:n,callBack:i,selector:s});break;case"images":this.observer.notify(Nt,{command:e,value:t,item:r,event:n,callBack:i,selector:s});break;case"table":switch(t.toString().toLocaleLowerCase()){case"createtable":this.observer.notify(wt,{item:r,event:n,callBack:i});break;case"insertrowbefore":case"insertrowafter":this.observer.notify("INSERT-ROW",{item:r,event:n,callBack:i});break;case"insertcolumnleft":case"insertcolumnright":this.observer.notify("INSERT-COLUMN",{item:r,event:n,callBack:i});break;case"deleterow":this.observer.notify("DELETE-ROW",{item:r,event:n,callBack:i});break;case"deletecolumn":this.observer.notify("DELETE-COLUMN",{item:r,event:n,callBack:i});break;case"tableremove":this.observer.notify("REMOVE-TABLE",{item:r,event:n,callBack:i});break;case"tableheader":this.observer.notify("TABLE-HEADER",{item:r,event:n,callBack:i});break;case"aligntop":case"alignmiddle":case"alignbottom":this.observer.notify("TABLE_VERTICAL_ALIGN",{item:r,event:n,callBack:i});break;case"merge":this.observer.notify("TABLE_MERGE",{item:r,event:n,callBack:i});break;case"horizontalsplit":this.observer.notify("TABLE_HORIZONTAL_SPLIT",{item:r,event:n,callBack:i});break;case"verticalsplit":this.observer.notify("TABLE_VERTICAL_SPLIT",{item:r,event:n,callBack:i})}break;case"font":case"style":case"effects":case"casing":this.observer.notify("selection-type",{subCommand:t,event:n,callBack:i,value:o,selector:s});break;case"inserthtml":this.observer.notify("inserthtml-type",{subCommand:t,callBack:i,value:o});break;case"inserttext":this.observer.notify("insert-text-type",{subCommand:t,callBack:i,value:o});break;case"clear":this.observer.notify("clear-type",{subCommand:t,event:n,callBack:i,selector:s});break;case"actions":this.observer.notify("action",{subCommand:t,event:n,callBack:i,selector:s})}},e}(),tn=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)}}(),nn=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 tn(n,e),n.prototype.initialize=function(){this.keyConfig=ct},n.prototype.updateFormatter=function(e,t,n){e&&t&&(this.editorManager=new en({document:t,editableElement:e,options:n}))},n}(it),on=H(),rn=function(){function e(){}return e.get=function(e,t,n,i,o,r){for(var s=JSON.parse(JSON.stringify(on)),a=JSON.parse(JSON.stringify(on)),l=new Dt,d=r?[r]:l.getNodeCollection(l.getRange(e)),c=d.length,p=0;p1&&3===d[p].nodeType&&""===d[p].textContent.trim())&&(d.splice(p,1),p--);for(p=0;p-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 o=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,"")===i.replace(/"/g,"").replace(/ /g,"")||e.search(n)>-1)&&(o=t)})&&null!==o)?null!==o?n[o]: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)&&Lt.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}(),sn=function(){function e(e){this.parent=e,this.toolbarStatus=this.prevToolbarStatus=H(),this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.on("toolbar-refresh",this.onRefreshHandler,this),this.parent.on(F,this.removeEventListener,this)},e.prototype.removeEventListener=function(){this.parent.off("toolbar-refresh",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=rn.get(this.parent.contentModule.getDocument(),this.parent.contentModule.getEditPanel(),i,t,n,e.documentNode);var o=JSON.stringify(this.toolbarStatus);this.parent.notify("toolbar-updated",this.toolbarStatus),JSON.stringify(this.prevToolbarStatus)!==o&&(this.parent.notify("updateTbItemsStatus",{html:JSON.parse(o),markdown:null}),this.prevToolbarStatus=JSON.parse(o))}},e}(),an=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=w(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(){return this.getEditPanel().innerText},e.prototype.setPanel=function(e){this.contentPanel=e},e.prototype.getDocument=function(){return this.getEditPanel().ownerDocument},e}(),ln=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)}}(),dn=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return ln(n,e),n.prototype.renderPanel=function(){var e=this.parent,t="\n \n \n \n \n \n "+(''+w(e.value,e)+""),n=this.parent.createElement("iframe",{innerHTML:t,id:this.parent.getID()+"_rte-view",className:"e-rte-content",styles:"display:block;"});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}(an),cn=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.on("xhtmlValidation",this.enableXhtmlValidation,this),this.parent.on(F,this.removeEventListener,this)},e.prototype.removeEventListener=function(){this.parent.off("xhtmlValidation",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),this.parent.setProperties({value:this.currentElement.innerHTML},!0))},e.prototype.selfEncloseValidation=function(e){e=e.replace(/ /g," ").replace(/ /g," ").replace(/ /gi," ").replace(/ /g," ");for(var t,n=[],i=[],o=[/ /gi,/ /gi,/ /gi,/ /gi,//gi,/ /gi,/ /gi,/ /gi,/ /gi,//gi,//gi,//gi],r=0;r1){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=0;t--)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;t0;s--)t.detach(r[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])}for(var o=this.currentElement.querySelectorAll("strong"),n=o.length-1;n>=0;n--){var r=this.parent.createElement("b");r.innerHTML=o[n].innerHTML,o[n].parentNode.insertBefore(r,o[n]),t.detach(o[n])}for(var s=["language","role","target","contenteditable","cellspacing","cellpadding","border","valign","colspan"],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;t0&&4===this.rangeCollection[this.rangeCollection.length-1].startContainer.textContent.length){var o=this.rangeCollection[this.rangeCollection.length-1].startContainer;this.nodeSelectionObj.setSelectionText(this.contentRenderer.getDocument(),o,o,0,o.textContent.length),Ht.Insert(this.contentRenderer.getDocument(),document.createTextNode("")),this.rangeCollection.pop()}}else Ht.Insert(this.contentRenderer.getDocument()," "),this.rangeCollection.push(this.nodeSelectionObj.getRange(this.contentRenderer.getDocument()))}"space"!==e.args.action&&"enter"!==e.args.action||this.spaceLink(e.args)},n.prototype.onPaste=function(e){var n=new RegExp(/([^\S]|^)(((https?\:\/\/)|(www\.))(\S+))/gi);if(e.text.match(n)){e.args.preventDefault();for(var i=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument()),o=(this.parent.formatter.editorManager.nodeSelection.save(i,this.parent.contentModule.getDocument()),new RegExp(/([^\S]|^)(((https?\:\/\/)))/gi)),r=new RegExp(/([^\S]|^)(((www\.))(\S+))/gi),s=e.text.split("\n"),a="",l=0;l ";else{for(var d="",c=!0,p=s[l].split(" "),h=0;h"+d.trim()+"":""+d.trim()+"
"}var u=this.parent.createElement("div");u.setAttribute("class","pasteContent"),u.style.display="inline",u.innerHTML=a;for(var m=u.querySelectorAll("span, p"),l=0;l'+g[h]+" ":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),o=i.split(" "),r=o[o.length-1],s=t.startOffset-(i.length-o[o.length-1].length);r=r.slice(0,s);var a=new RegExp(/([^\S]|^)(((https?\:\/\/)|(www\.))(\S+))/gi);if("A"!==n[0].nodeName&&r.match(a)){var l=this.nodeSelectionObj.save(t,this.parent.contentModule.getDocument()),d={url:r.indexOf("http")>-1?r:"http://"+r,selection:l,selectParent:this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(t),text:r,title:"",target:"_blank"};this.parent.formatter.process(this.parent,{item:{command:"Links",subCommand:"CreateLink"}},e,d)}},n.prototype.onToolbarClick=function(e){var n,i,o,r=e.item,s=t.closest(e.originalEvent.target,".e-rte-quick-popup");if(s&&!s.classList.contains("e-rte-inline-popup")){if("SourceCode"!==r.subCommand&&"Preview"!==r.subCommand&&"FontColor"!==r.subCommand&&"BackgroundColor"!==r.subCommand){I()&&"Images"===r.command&&this.nodeSelectionObj.restore();d=this.nodeSelectionObj.getRange(this.parent.contentModule.getDocument());n=this.nodeSelectionObj.save(d,this.parent.contentModule.getDocument()),i=this.nodeSelectionObj.getNodeCollection(d),o=this.nodeSelectionObj.getParentNodeCollection(d)}"Images"===r.command&&this.parent.notify("image-toolbar-action",{member:"image",args:e,selectNode:i,selection:n,selectParent:o}),"Links"===r.command&&this.parent.notify("link-toolbar-action",{member:"link",args:e,selectNode:i,selection:n,selectParent:o}),"Table"===r.command&&this.parent.notify("table-toolbar-action",{member:"table",args:e,selectNode:i,selection:n,selectParent:o})}else{var a=document.getElementById(this.parent.getID()+"_rtelink"),l=document.getElementById(this.parent.getID()+"_image");if("SourceCode"!==r.subCommand&&"Preview"!==r.subCommand&&"FontColor"!==r.subCommand&&"BackgroundColor"!==r.subCommand){var d=this.nodeSelectionObj.getRange(this.parent.contentModule.getDocument());t.isNullOrUndefined(a)&&t.isNullOrUndefined(l)&&(n=this.nodeSelectionObj.save(d,this.parent.contentModule.getDocument())),i=this.nodeSelectionObj.getNodeCollection(d),o=this.nodeSelectionObj.getParentNodeCollection(d)}switch(r.subCommand){case"Maximize":this.parent.notify("enableFullScreen",{args:e});break;case"Minimize":this.parent.notify("disableFullScreen",{args:e});break;case"CreateLink":this.parent.notify("insertLink",{member:"link",args:e,selectNode:i,selection:n,selectParent:o});break;case"RemoveLink":this.parent.notify("unLink",{member:"link",args:e,selectNode:i,selection:n,selectParent:o});break;case"Print":this.parent.print();break;case"Image":this.parent.notify("insertImage",{member:"image",args:e,selectNode:i,selection:n,selectParent:o});break;case"CreateTable":this.parent.notify("createTable",{member:"table",args:e,selection:n});break;case"SourceCode":this.parent.notify("sourceCode",{member:"viewSource",args:e});break;case"Preview":this.parent.notify("updateSource",{member:"updateSource",args:e});break;case"FontColor":case"BackgroundColor":break;case"File":this.parent.notify("renderFileManager",{member:"fileManager",args:e,selectNode:i,selection:n,selectParent:o});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 dn(this.parent,this.locator)):this.renderFactory.addRenderer(e.RenderType.Content,new an(this.parent,this.locator))},n.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off(z,this.render),this.parent.off(_,this.onPropertyChanged),this.parent.off("html-toolbar-click",this.onToolbarClick),this.parent.off("render-color-picker",this.renderColorPicker),this.parent.off(F,this.destroy),this.parent.off(Q,this.onKeyDown),this.parent.off("initial-load",this.instantiateRenderer),this.parent.off("selectAll",this.selectAll),this.parent.off("selectRange",this.selectRange),this.parent.off("getSelectedHtml",this.getSelectedHtml),this.parent.off(V,this.onSelectionSave),this.parent.off("selection-restore",this.onSelectionRestore),this.parent.off("readOnlyMode",this.updateReadOnly),this.parent.off(G,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 o=new nn({currentDocument:this.contentRenderer.getDocument(),element:n,options:i});this.parent.setProperties({formatter:o},!0)}else this.parent.formatter.updateFormatter(n,this.contentRenderer.getDocument(),i);this.parent.enableXhtml&&this.parent.notify("xhtmlValidation",{}),this.parent.toolbarSettings.enable&&(this.toolbarUpdate=new sn(this.parent)),this.parent.notify("bind-on-end",{})},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=E(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}(),hn=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 Dt,this.parent.isDestroyed||(this.parent.on("pasteClean",this.pasteClean,this),this.parent.on(F,this.destroy,this))},n.prototype.destroy=function(){this.removeEventListener()},n.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off("pasteClean",this.pasteClean),this.parent.off(F,this.destroy))},n.prototype.pasteClean=function(n){var i,o=this,r={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("beforePasteCleanup",{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.replace(//g,">"),this.containsHtml=a.test(s);var l=n&&n.args.clipboardData&&n.args.clipboardData.items.length>0?n.args.clipboardData.items[0].getAsFile():null;if(this.parent.notify(G,{file:l,args:n.args,text:s,callBack:function(e){"object"==typeof(i=e)?o.parent.formatter.editorManager.execCommand("Images","Image",n.args,o.imageFormatting.bind(o,r),"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("ms_word_cleanup",{args:n.args,text:n.text,allowedStylePropertiesArray:this.parent.pasteCleanupSettings.allowedStyleProps,callBack:function(e){s=e}});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.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,r)}else this.parent.pasteCleanupSettings.plainText?(n.args.preventDefault(),this.plainFormatting(s,r)):this.parent.pasteCleanupSettings.keepFormat?(n.args.preventDefault(),this.formatting(s,!1,r)):(n.args.preventDefault(),this.formatting(s,!0,r))}},n.prototype.splitBreakLine=function(e){for(var t=e.split("\n"),n="",i=0;i ":n+=""+this.makeSpace(t[i]).trim()+"
";return n},n.prototype.makeSpace=function(e){for(var t="",n=!0,i=e.split(" "),o=0;o0){for(var i=[],o=[],r=[],s=0;s=0&&(i.push(n[s].getAttribute("src")),o.push(t.getUniqueID("rte_image")),r.push(n[s]));for(var a=[],s=0;s=0){var i=URL.createObjectURL(D(e[n].getAttribute("src")));e[n].setAttribute("src",i)}},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,c=new o.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,c.destroy(),t.detach(c.element)}});c.element.style.display="none",t.addClass([c.element],["e-popup-open","e-rte-upload-popup"]);var p=e.size>1e6?300:100;setTimeout(function(){i.refreshPopup(n,c)},p);var h,u,m=new r.Uploader({asyncSettings:{saveUrl:this.parent.insertImageSettings.saveUrl,removeUrl:this.parent.insertImageSettings.removeUrl},cssClass:"e-rte-dialog-upload",dropArea:this.parent.inputElement,allowedExtensions:this.parent.insertImageSettings.allowedTypes.toString(),success:function(e){setTimeout(function(){i.popupClose(c,m,n,e)},900)},uploading:function(e){i.parent.isServerRendered||(i.parent.trigger("imageUploading",e),i.parent.inputElement.contentEditable="false")},beforeUpload:function(e){i.parent.isServerRendered?((u=JSON.parse(JSON.stringify(e))).filesData=h,e.cancel=!0,i.parent.trigger("imageUploading",u,function(e){e.cancel||(m.currentRequestHeader=e.currentRequest?e.currentRequest:m.currentRequestHeader,m.customFormDatas=e.customFormData&&e.customFormData.length>0?e.customFormData:m.customFormDatas,m.uploadFiles(h,null))})):i.parent.trigger("beforeImageUpload",e)},failure:function(e){setTimeout(function(){i.uploadFailure(n,m,c,e)},900)},canceling:function(){i.parent.inputElement.contentEditable="true"," "===n.nextSibling.textContent&&t.detach(n.nextSibling),t.detach(n),c.close()},selected:function(e){e.cancel=!0,i.parent.isServerRendered&&(h=e.filesData)},removing:function(){i.parent.inputElement.contentEditable="true"," "===n.nextSibling.textContent&&t.detach(n.nextSibling),t.detach(n),c.close()}});m.appendTo(c.element.childNodes[0]);var g=[{name:e.name,rawFile:e,size:e.size,type:e.type,validationMessages:{minSize:"",maxSize:""},statusCode:"1"}];m.createFileList(g),m.filesData.push(g[0]),h=g,m.upload(g),c.element.getElementsByClassName("e-file-select-wrap")[0].style.display="none",t.detach(c.element.querySelector(".e-rte-dialog-upload .e-file-select-wrap"))},n.prototype.uploadFailure=function(e,n,i,o){this.parent.inputElement.contentEditable="true",t.detach(e),i&&i.close(),this.parent.trigger("imageUploadFailed",o),n.destroy()},n.prototype.popupClose=function(e,n,i,o){var r=this;this.parent.inputElement.contentEditable="true",o.element=i,this.parent.trigger("imageUploadSuccess",o,function(e){if(!t.isNullOrUndefined(r.parent.insertImageSettings.path)){var n=r.parent.insertImageSettings.path+e.file.name;i.src=n,i.setAttribute("alt",e.file.name)}}),e.close(),i.style.opacity="1",n.destroy()},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(","),o=i[0].match(/:(.*?);/)[1].split("/")[1],r=atob(i[1]),s=r.length,a=new Uint8Array(s);s--;)a[s]=r.charCodeAt(s);if(t.Browser.isIE||navigator.appVersion.indexOf("Edge")>-1){var l=new Blob([a],{type:o});return t.extend(l,{name:n+"."+(t.isNullOrUndefined(o)?"":o)}),l}return new File([a],n+"."+(t.isNullOrUndefined(o)?"":o),{type:o})},n.prototype.imageFormatting=function(t,n){var i=this.parent.createElement("span");i.appendChild(n.elements[0]);var o=i.innerHTML;this.contentRenderer=this.renderFactory.getRenderer(e.RenderType.Content);var r=this.contentRenderer.getDocument(),s=this.nodeSelectionObj.getRange(r);this.saveSelection=this.nodeSelectionObj.save(s,r),this.parent.pasteCleanupSettings.prompt?this.pasteDialog(o,t):this.parent.pasteCleanupSettings.plainText?this.plainFormatting(o,t):this.parent.pasteCleanupSettings.keepFormat?this.formatting(o,!1,t):this.formatting(o,!0,t)},n.prototype.radioRender=function(){var e=new s.RadioButton({label:this.i10n.getConstant("keepFormat"),name:"pasteOption",checked:!0});e.isStringTemplate=!0;var t=this.parent.element.querySelector("#keepFormating");e.appendTo(t);var n=new s.RadioButton({label:this.i10n.getConstant("cleanFormat"),name:"pasteOption"});n.isStringTemplate=!0;var i=this.parent.element.querySelector("#cleanFormat");n.appendTo(i);var o=new s.RadioButton({label:this.i10n.getConstant("plainText"),name:"pasteOption"});o.isStringTemplate=!0;var r=this.parent.element.querySelector("#plainTextFormat");o.appendTo(r)},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,n){var i=this,o=!1,r=this.parent.height,s={buttons:[{click:function(){if(!a.isDestroyed){var s=i.parent.element.querySelector("#keepFormating").checked,l=i.parent.element.querySelector("#cleanFormat").checked;a.hide(),i.parent.height=o?r:i.parent.height,o=!1;var d=t.isBlazor()?null:a;i.dialogRenderObj.close(d),a.destroy(),i.selectFormatting(e,n,s,l)}},buttonModel:{isPrimary:!0,cssClass:"e-flat e-rte-pasteok",content:this.i10n.getConstant("pasteDialogOk")}},{click:function(){if(!a.isDestroyed){a.hide(),i.parent.height=o?r:i.parent.height,o=!1;var e=t.isBlazor()?null:a;i.dialogRenderObj.close(e),a.destroy()}},buttonModel:{cssClass:"e-flat e-rte-pastecancel",content:this.i10n.getConstant("pasteDialogCancel")}}],header:this.i10n.getConstant("pasteFormat"),content:this.i10n.getConstant("pasteFormatContent")+' ',target:this.parent.element,width:"300px",height:"265px",cssClass:"e-rte-dialog-minheight",isModal:!0,visible:!1},a=this.dialogRenderObj.render(s),l=this.parent.element.querySelector("#"+this.parent.getID()+"_pasteCleanupDialog");null!==l&&""!==l.innerHTML&&this.destroyDialog(l),null===l&&(l=this.parent.createElement("div",{id:this.parent.getID()+"_pasteCleanupDialog"}),this.parent.element.appendChild(l)),a.appendTo(l),this.radioRender(),this.parent.element.offsetHeight1&&(t[r]=t[r].split("[")[0].trim()),n.indexOf(t[r])>-1)for(var s=0;s1){for(var n=e[t].split("[")[1].split("]")[0].split(","),i=[],o=[],r=0;r1?i.join("]["):i.join(),a=o.length>1?o.join("]["):o.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=0;r--){for(var s=o[r].parentNode;o[r].firstChild;)s.insertBefore(o[r].firstChild,o[r]);s.removeChild(o[r])}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 o=0;o=0&&s.push(a[l]);i[o].removeAttribute("style"),(r=""===s.join(";").trim()?s.join(";"):s.join(";")+";")&&i[o].setAttribute("style",r)}return e},n.prototype.getModuleName=function(){return"pasteCleanup"},n}(),un=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.isDestroyed||(this.parent.on(z,this.renderResizable,this),this.parent.on(F,this.destroy,this))},e.prototype.renderResizable=function(){this.resizer=this.parent.createElement("div",{id:this.parent.getID()+"-resizable",className:"e-icons e-resize-handle e-south-east"}),this.parent.element.classList.add("e-rte-resize"),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 n=this;e.cancelable&&e.preventDefault(),this.wireResizeEvents(),this.parent.notify("resizeInitialized",{});var i=t.isBlazor()?{requestType:"editor"}:{event:e,requestType:"editor"};this.parent.trigger("resizeStart",i,function(e){e.cancel&&n.unwireResizeEvents()})},e.prototype.performResize=function(e){var n=this,i=t.isBlazor()?{requestType:"editor"}:{event:e,requestType:"editor"};this.parent.trigger("resizing",i,function(e){e.cancel&&n.unwireResizeEvents()});var o=this.parent.element.getBoundingClientRect();if(this.isMouseEvent(e))this.parent.element.style.height=e.clientY-o.top+"px",this.parent.element.style.width=e.clientX-o.left+"px";else{var r="msie"!==t.Browser.info.name?e.touches[0]:e;this.parent.element.style.height=r.clientY-o.top+"px",this.parent.element.style.width=r.clientX-o.left+"px"}this.parent.toolbarSettings.enable||this.parent.setContentHeight("",!1),this.parent.refreshUI()},e.prototype.stopResize=function(e){this.parent.refreshUI(),this.unwireResizeEvents();var n=t.isBlazor()?{requestType:"editor"}:{event:e,requestType:"editor"};this.parent.trigger("resizeStop",n)},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(z,this.renderResizable),this.parent.element.classList.remove("e-rte-resize"),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}(),mn=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 o=this.parent.localeObj.getConstant("fileDialogHeader"),r=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:r}}],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:o,target:document.body,locale:this.parent.locale,enableRtl:this.parent.enableRtl,cssClass:"e-rte-elements",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)},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=''+this.i10n.getConstant("linkWebUrl")+" ",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 o=/[\w-]+.(jpg|png|jpeg|gif)/g,r=t.isNullOrUndefined(n.match(o))||"HTML"!==this.parent.editorMode?"":n.match(o)[0],s={cssClass:"inline"===this.parent.insertImageSettings.display?ie:ne,url:n,selection:this.selectObj.selection,altText:r,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,S(this.parent.element,"focusout"))},n.prototype.addEventListener=function(){this.parent.on(z,this.initialize,this),this.parent.on("renderFileManager",this.render,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(z,this.initialize),this.parent.off("renderFileManager",this.render),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}(),gn=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.showFullScreen=function(e){!0!==this.parent.toolbarSettings.enable||"Markdown"===this.parent.editorMode||t.isNullOrUndefined(this.parent.quickToolbarModule)||this.parent.quickToolbarModule.hideQuickToolbars(),this.scrollableParent=o.getScrollableParent(this.parent.element),this.parent.element.classList.contains("e-rte-full-screen")||(this.parent.trigger("actionBegin",{requestType:"Maximize",targetItem:"Maximize",args:e}),this.parent.toolbarSettings.enableFloating&&!this.parent.inlineMode.enable&&this.parent.toolbarSettings.enable&&(this.parent.getToolbarElement().style.width="100%",this.parent.getToolbarElement().style.top="0px"),this.parent.element.classList.add("e-rte-full-screen"),this.toggleParentOverflow(!0),this.parent.setContentHeight(),this.parent.toolbarModule&&(this.parent.getBaseToolbarObject().toolbarObj.items[0].properties||this.parent.getBaseToolbarObject().toolbarObj.removeItems(0),t.Browser.isDevice&&this.parent.toolbarModule.removeFixedTBarClass(),this.parent.toolbarModule.updateItem({targetItem:"Maximize",updateItem:"Minimize",baseToolbar:this.parent.getBaseToolbarObject()})),this.parent.trigger("actionComplete",{requestType:"Maximize",targetItem:"Maximize",args:e}))},e.prototype.hideFullScreen=function(e){if(!0!==this.parent.toolbarSettings.enable||"Markdown"===this.parent.editorMode||t.isNullOrUndefined(this.parent.quickToolbarModule)||this.parent.quickToolbarModule.hideQuickToolbars(),this.parent.element.classList.contains("e-rte-full-screen")){this.parent.element.classList.remove("e-rte-full-screen");for(var n=document.querySelectorAll(".e-rte-overflow"),i=0;i ",this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.parent.contentModule.getDocument(),n.childNodes[0],0)}}},t}(),bn=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("insertLink",this.linkDialog,this),this.parent.on(Q,this.onKeyDown,this),this.parent.on("insertCompleted",this.showLinkQuickToolbar,this),this.parent.on("clearDialogObj",this.clearDialogObj,this),this.parent.on("link-toolbar-action",this.onToolbarAction,this),this.parent.on("iframe-click",this.onIframeMouseDown,this),this.parent.on("unLink",this.removeLink,this),this.parent.on("editLink",this.editLink,this),this.parent.on("openLink",this.openLink,this),this.parent.on("editAreaClick",this.editAreaClickHandler,this),this.parent.on(F,this.destroy,this))},n.prototype.onToolbarAction=function(e){switch(e.args.item.subCommand){case"OpenLink":this.parent.notify("openLink",e);break;case"EditLink":this.parent.notify("editLink",e);break;case"RemoveLink":this.parent.notify("unLink",e)}},n.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off("insertLink",this.linkDialog),this.parent.off(Q,this.onKeyDown),this.parent.off("insertCompleted",this.showLinkQuickToolbar),this.parent.off("clearDialogObj",this.clearDialogObj),this.parent.off("link-toolbar-action",this.onToolbarAction),this.parent.off("unLink",this.removeLink),this.parent.off("iframe-click",this.onIframeMouseDown),this.parent.off("editLink",this.editLink),this.parent.off("openLink",this.openLink),this.parent.off("editAreaClick",this.editAreaClickHandler),this.parent.off(F,this.destroy))},n.prototype.onIframeMouseDown=function(){this.dialogObj&&this.dialogObj.hide({returnValue:!0})},n.prototype.showLinkQuickToolbar=function(e){if("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 o,r=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&&(o="#text"===e.nodeName?e.parentNode:e)}),e.isNotify){var l=this.parent.toolbarModule.getToolbarElement(),d=o.getBoundingClientRect().top,c=o.getBoundingClientRect().left,p=d-r,h=l?l.offsetHeight+this.parent.toolbarModule.getExpandTBarPopHeight():0;n=this.parent.iframeSettings.enable?s+c:o.getBoundingClientRect().left,i=window.pageYOffset+(this.parent.iframeSettings.enable?r+h+d:r+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+r+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(t){if(this.parent.readonly)return void this.hideLinkQuickToolbar();var n=t.args,i=this.parent.quickToolbarSettings.showOnRightClick;if(!(2===n.which||i&&1===n.which||!i&&3===n.which)&&"HTML"===this.parent.editorMode&&this.parent.quickToolbarModule&&this.parent.quickToolbarModule.linkQTBar){this.quickToolObj=this.parent.quickToolbarModule;var o=n.target;o=this.getAnchorNode(o),this.contentModule=this.rendererFactory.getRenderer(e.RenderType.Content);var r=this.quickToolObj.linkQTBar.element.classList.contains("e-rte-pop");if("A"===o.nodeName&&o.childNodes.length>0&&"IMG"!==o.childNodes[0].nodeName&&"IMG"!==t.args.target.nodeName){if(r)return;this.showLinkQuickToolbar({args:n,isNotify:!1,type:"Links",elements:[n.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":if("HTML"===this.parent.editorMode){var i=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument()),o=this.parent.formatter.editorManager.nodeSelection.save(i,this.parent.contentModule.getDocument()),r=this.parent.formatter.editorManager.nodeSelection.getNodeCollection(i),s=this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(i),a={args:e.args,selectNode:r,selection:o,selectParent:s};this.linkDialog(a)}else{var l=this.parent.contentModule.getEditPanel();this.parent.formatter.editorManager.markdownSelection.save(l.selectionStart,l.selectionEnd),this.linkDialog({args:{item:{command:"Links",subCommand:"Link"},originalEvent:n},member:"link",text:this.parent.formatter.editorManager.markdownSelection.getSelectedText(this.parent.contentModule.getEditPanel()),module:"Markdown",name:"insertLink"})}n.preventDefault()}},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)return void this.dialogObj.hide({returnValue:!0});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))return void this.editLink(e);var o=this.i10n.getConstant("linkWebUrl"),r=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",id:this.rteID+"_rtelink"});this.parent.element.appendChild(p);var h=this.parent.createElement("div",{className:"e-rte-linkcontent",id:this.rteID+"_linkContent"}),u=T(''+o+'
'+r+'
'+("HTML"===this.parent.editorMode?""+a+'
':""));h.appendChild(u);var m=h.querySelector(".e-rte-linkTarget"),g=h.querySelector(".e-rte-linkurl"),f=h.querySelector(".e-rte-linkText"),b=h.querySelector(".e-rte-linkTitle"),v=this.i10n.getConstant("linkOpenInNewWindow");this.checkBoxObj=new s.CheckBox({label:v,checked:!0,enableRtl:this.parent.enableRtl}),this.checkBoxObj.isStringTemplate=!0,this.checkBoxObj.createElement=this.parent.createElement,this.checkBoxObj.appendTo(m);var y="HTML"===this.parent.editorMode?e.selection.getRange(this.parent.contentModule.getDocument()).toString():e.text,C=this.i10n.getConstant("dialogInsert"),S=this.i10n.getConstant("dialogCancel"),E=e.selection,N={selfLink:this,selection:e.selection,selectParent:e.selectParent,args:e.args},w={header:this.i10n.getConstant("linkHeader"),content:h,cssClass:"e-rte-elements",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(N),buttonModel:{content:C,cssClass:"e-flat e-insertLink",isPrimary:!0}},{click:this.cancelDialog.bind(N),buttonModel:{cssClass:"e-flat",content:S}}],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?E.restore():i.parent.formatter.editorManager.markdownSelection.restore(i.parent.contentModule.getEditPanel())),i.dialogObj.destroy(),t.detach(i.dialogObj.element);var n=t.isBlazor()?null:i.dialogObj;i.dialogRenderObj.close(n),i.dialogObj=null}};this.dialogObj=this.dialogRenderObj.render(w),this.dialogObj.createElement=this.parent.createElement,this.dialogObj.appendTo(p),p.style.maxHeight="inherit",t.isNullOrUndefined(this.dialogObj)||(t.isNullOrUndefined(n)||(g.value=n.url,f.value=n.text,b.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(y)&&""!==y&&0===e.selection.range.startOffset||e.selection.range.startOffset!==e.selection.range.endOffset)||"Markdown"===e.module)&&(f.value=y),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,o=i.querySelector(".e-rte-linkurl").value,r=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(""===o)return void this.selfLink.checkUrl(!0);this.selfLink.isUrl(o)?this.selfLink.checkUrl(!1):(r=""===r?o:r,o=this.selfLink.parent.enableAutoUrl?o:o.indexOf("http")>-1?o:"http://"+o);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:o,text:r,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("KeyK"===this.args.code){var p=this.args;t.extend(this.args,{item:{command:"Links",subCommand:"CreateLink"},originalEvent:p},!0),c={item:{command:"Links",subCommand:"CreateLink"},originalEvent:p}}else c=this.args;this.selfLink.parent.formatter.process(this.selfLink.parent,c,this.args.originalEvent,d),this.selfLink.parent.contentModule.getEditPanel().focus()},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(),this.parent.formatter.process(this.parent,e.args,e.args,{selectNode:e.selectNode,selectParent:e.selectParent,selection:e.selection,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,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"),o={url:n.getAttribute("href"),text:n.innerText,title:n.title,target:n.target,header:this.i10n.getConstant("editLink"),btnText:i};this.linkDialog(e,o)}},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}),this.parent.isBlur=!0,S(this.parent.element,"focusout"))},n.prototype.destroy=function(){this.removeEventListener()},n.prototype.getModuleName=function(){return"link"},n}(),vn=function(){function n(e,t){this.isImgUploaded=!1,this.pageX=null,this.pageY=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(Q,this.onKeyDown,this),this.parent.on(q,this.onKeyUp,this),this.parent.on("insertImage",this.insertImage,this),this.parent.on("resize",this.onWindowResize,this),this.parent.on("insertCompleted",this.showImageQuickToolbar,this),this.parent.on("clearDialogObj",this.clearDialogObj,this),this.parent.on("image-toolbar-action",this.onToolbarAction,this),this.parent.on("caption",this.caption,this),this.parent.on("delete",this.deleteImg,this),this.parent.on("insertImgLink",this.insertImgLink,this),this.parent.on("imgAltText",this.insertAltText,this),this.parent.on("editAreaClick",this.editAreaClickHandler,this),this.parent.on("iframe-click",this.onIframeMouseDown,this),this.parent.on("imageSize",this.imageSize,this),this.parent.on("dropDownSelect",this.alignmentSelect,this),this.parent.on(z,this.afterRender,this),this.parent.on("dynamicModule",this.afterRender,this),this.parent.on(G,this.imagePaste,this),this.parent.on(F,this.removeEventListener,this))},n.prototype.removeEventListener=function(){if(!this.parent.isDestroyed){this.parent.off(Q,this.onKeyDown),this.parent.off(q,this.onKeyUp),this.parent.off("resize",this.onWindowResize),this.parent.off("insertImage",this.insertImage),this.parent.off("insertCompleted",this.showImageQuickToolbar),this.parent.off("clearDialogObj",this.clearDialogObj),this.parent.off("caption",this.caption),this.parent.off("image-toolbar-action",this.onToolbarAction),this.parent.off("delete",this.deleteImg),this.parent.off("insertImgLink",this.insertImgLink),this.parent.off("imgAltText",this.insertAltText),this.parent.off("editAreaClick",this.editAreaClickHandler),this.parent.off("iframe-click",this.onIframeMouseDown),this.parent.off("imageSize",this.imageSize),this.parent.off("dropDownSelect",this.alignmentSelect),this.parent.off(z,this.afterRender),this.parent.off("dynamicModule",this.afterRender),this.parent.off(G,this.imagePaste),this.parent.off(F,this.removeEventListener);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(X,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.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;n0){for(var s=0;s-1)?t.closest(e,"#"+this.parent.getID()+"_rte-edit-view"):e.offsetParent)||i.documentElement;o&&(o===i.body||o===i.documentElement)&&"static"===o.style.position;)o=o.parentNode;return o&&o!==e&&1===o.nodeType&&o.getBoundingClientRect(),{top:e.offsetTop,left:e.offsetLeft}},n.prototype.setAspectRatio=function(e,n,i){if(!t.isNullOrUndefined(e.width)){var o=""!==e.style.width?parseInt(e.style.width,10):e.width,r=""!==e.style.height?parseInt(e.style.height,10):e.height;o>r?this.parent.insertImageSettings.resizeByPercent?(e.style.width=this.pixToPerc(o/r*i,e.previousElementSibling||e.parentElement)+"%",e.style.height=null,e.removeAttribute("height")):""!==e.style.width?(e.style.width=o/r*i+"px",e.style.height=i+"px"):(e.setAttribute("width",(o/r*i).toString()),e.setAttribute("height",i.toString())):r>o?this.parent.insertImageSettings.resizeByPercent?(e.style.width=this.pixToPerc(n/r*i,e.previousElementSibling||e.parentElement)+"%",e.style.height=null,e.removeAttribute("height")):""!==e.style.width?(e.style.width=n+"px",e.style.height=r/o*n+"px"):(e.setAttribute("width",n.toString()),e.setAttribute("height",(r/o*n).toString())):this.parent.insertImageSettings.resizeByPercent?(e.style.width=this.pixToPerc(n,e.previousElementSibling||e.parentElement)+"%",e.style.height=null,e.removeAttribute("height")):""!==e.style.width?(e.style.width=n+"px",e.style.height=n+"px"):(e.setAttribute("width",n.toString()),e.setAttribute("height",n.toString()))}},n.prototype.pixToPerc=function(e,t){return e/parseFloat(getComputedStyle(t).width)*100},n.prototype.imgDupMouseMove=function(e,n,i){var o=this,r=t.isBlazor()?{requestType:"images"}:{event:i,requestType:"images"};this.parent.trigger("resizing",r,function(i){if(i.cancel)o.cancelResizeAction();else{if(parseInt(o.parent.insertImageSettings.minWidth,10)>=parseInt(e,10)||parseInt(o.parent.getInsertImgMaxWidth(),10)<=parseInt(e,10)&&t.isNullOrUndefined(o.imgEle.style.width))return;if(!o.parent.insertImageSettings.resizeByPercent&&(parseInt(o.parent.insertImageSettings.minHeight,10)>=parseInt(n,10)||parseInt(o.parent.insertImageSettings.maxHeight,10)<=parseInt(n,10)))return;o.imgEle.parentElement.style.cursor="pointer",o.setAspectRatio(o.imgEle,parseInt(e,10),parseInt(n,10)),o.resizeImgDupPos(o.imgEle),o.imgResizePos(o.imgEle,o.imgResizeDiv),o.parent.setContentHeight("",!1)}})},n.prototype.resizing=function(e){this.imgEle.offsetWidth>=this.parent.getInsertImgMaxWidth()&&(this.imgEle.style.maxHeight=this.imgEle.offsetHeight+"px");var t=this.getPointX(e),n=this.getPointY(e),i=this.resizeBtnStat.botLeft||this.resizeBtnStat.topLeft?-(t-this.pageX):t-this.pageX,o=this.resizeBtnStat.topLeft||this.resizeBtnStat.topRight?-(n-this.pageY):n-this.pageY,r=parseInt(this.imgDupPos.width,10)+i,s=parseInt(this.imgDupPos.height,10)+o;this.pageX=t,this.pageY=n,this.resizeBtnStat.botRight?this.imgDupMouseMove(r+"px",s+"px",e):this.resizeBtnStat.botLeft?this.imgDupMouseMove(r+"px",s+"px",e):this.resizeBtnStat.topRight?this.imgDupMouseMove(r+"px",s+"px",e):this.resizeBtnStat.topLeft&&this.imgDupMouseMove(r+"px",s+"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.height?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){switch(I()&&this.parent.notify("selection-restore",{}),e.args.item.subCommand){case"Replace":this.parent.fileManagerSettings.enable?this.parent.notify("renderFileManager",e):this.parent.notify("insertImage",e);break;case"Caption":this.parent.notify("caption",e);break;case"InsertLink":this.parent.notify("insertImgLink",e);break;case"AltText":this.parent.notify("imgAltText",e);break;case"Remove":this.parent.notify("delete",e);break;case"Dimension":this.parent.notify("imageSize",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,o,r,s=e.args;this.deletedImg=[];var a,l=[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];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&&l.indexOf(s.which)<0)for(var d=this.parent.formatter.editorManager.nodeSelection.getNodeCollection(n),c=0;c0)for(var n=0;n
');o.appendChild(r);var a=o.querySelector(".e-rte-linkTarget"),l=o.querySelector(".e-img-link"),d=this.i10n.getConstant("linkOpenInNewWindow");this.checkBoxObj=new s.CheckBox({label:d,checked:!0,enableRtl:this.parent.enableRtl,change:function(e){c=e.checked?"_blank":null}}),this.checkBoxObj.isStringTemplate=!0,this.checkBoxObj.createElement=this.parent.createElement,this.checkBoxObj.appendTo(a);var c=this.checkBoxObj.checked?"_blank":null,p=this.i10n.getConstant("dialogUpdate"),h={args:e.args,selfImage:this,selection:e.selection,selectNode:e.selectNode,selectParent:e.selectParent,link:l,target:c};this.dialogObj.setProperties({height:"inherit",width:"290px",header:this.parent.localeObj.getConstant("imageInsertLinkHeader"),content:o,position:{X:"center",Y:"center"},buttons:[{click:function(e){i.insertlink(h)},buttonModel:{content:p,cssClass:"e-flat e-update-link",isPrimary:!0}}]}),t.isNullOrUndefined(n)||(l.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 o=this.parent.createElement("div",{className:"e-img-altwrap"}),r=this.i10n.getConstant("alternateHeader"),s=this.i10n.getConstant("dialogUpdate"),a=T('
');o.appendChild(a);var l=o.querySelector(".e-img-alt"),d={args:e.args,selfImage:this,selection:e.selection,selectNode:e.selectNode,alt:l};this.dialogObj.setProperties({height:"inherit",width:"290px",header:r,content:o,position:{X:"center",Y:"center"},buttons:[{click:function(e){n.insertAlt(d)},buttonModel:{content:s,cssClass:"e-flat e-update-alt",isPrimary:!0}}]}),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 o=t.closest(e.selectNode[0],".e-img-caption");o&&t.select(".e-img-inner",o).focus(),o&&t.select(".e-img-inner",o).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:"e-img-caption",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("afterImageDelete",i)}},n.prototype.imageRemovePost=function(e){var n=this.parent.insertImageSettings.removeUrl;if(!t.isNullOrUndefined(n)&&""!==n){var i=new t.Ajax(n,"POST",!0,null),o=new FormData;o.append(name,e),i.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,".e-img-caption"))){this.captionEle=this.parent.createElement("span",{className:"e-img-caption e-rte-img-caption",attrs:{contenteditable:"false",draggable:"false",style:"width:"+this.parent.insertImageSettings.width}});var o=this.parent.createElement("span",{className:"e-img-wrap"}),r=this.parent.createElement("span",{className:"e-img-inner",attrs:{contenteditable:"true"}}),s=e.selectNode[0].parentElement;"A"===s.tagName&&s.setAttribute("contenteditable","true"),o.appendChild("A"===s.tagName?s:e.selectNode[0]),o.appendChild(r);var a=this.i10n.getConstant("imageCaption");r.innerHTML=a,this.captionEle.appendChild(o),n.classList.contains(ie)&&t.addClass([this.captionEle],"e-caption-inline"),n.classList.contains(ne)&&t.addClass([this.captionEle],ne),n.classList.contains("e-imgleft")&&t.addClass([this.captionEle],"e-imgleft"),n.classList.contains("e-imgright")&&t.addClass([this.captionEle],"e-imgright"),n.classList.contains("e-imgcenter")&&t.addClass([this.captionEle],"e-imgcenter"),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(),r.childNodes[0],r.childNodes[0],0,r.childNodes[0].textContent.length)}else t.detach(t.closest(n,".e-img-caption")),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"),o=this.i10n.getConstant("dialogUpdate"),r=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:r,position:{X:"center",Y:"center"},buttons:[{click:function(e){n.insertSize(s)},buttonModel:{content:o,cssClass:"e-flat e-update-size",isPrimary:!0}}]}),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)return void this.dialogObj.hide({returnValue:!0});var i=this.parent.createElement("div",{className:"e-rte-img-dialog",id:this.rteID+"_image"});this.parent.element.appendChild(i);var o=this.i10n.getConstant("dialogInsert"),r=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:"e-rte-elements",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:o,cssClass:"e-flat e-insertImage",isPrimary:!0}},{click:function(e){n.cancelDialog(e)},buttonModel:{cssClass:"e-flat e-cancel",content:r}}],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"});(!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"}),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),!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"))&&(this.dialogObj.hide({returnValue:!0}),this.parent.isBlur=!0,S(this.parent.element,"focusout")),"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")&&("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 t=this.parent.createElement("div",{className:"imgUrl"}),n=this.i10n.getConstant("imageUrl");return this.inputUrl=this.parent.createElement("input",{className:"e-input e-img-url",attrs:{placeholder:n,spellcheck:"false"}}),t.appendChild(this.inputUrl),t},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 o=n.parent.formatter.editorManager.nodeSelection.getRange(n.contentModule.getDocument());this.selection=n.parent.formatter.editorManager.nodeSelection.save(o,n.contentModule.getDocument()),this.selectParent=n.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(o)}var r=/[\w-]+.(jpg|png|jpeg|gif)/g,s=t.isNullOrUndefined(i.match(r))||"HTML"!==n.parent.editorMode?"":i.match(r)[0],a={cssClass:"inline"===n.parent.insertImageSettings.display?ie:ne,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?ie:ne,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=e.selectNode[0],i=this.i10n.getConstant("imageHeight"),o=this.i10n.getConstant("imageWidth"),s=this.parent.createElement("div",{className:"e-img-sizewrap"}),a=T(''+o+'
'+i+'
0?e.customFormData:o.uploadObj.customFormDatas,o.uploadObj.uploadFiles(T,null))})):o.parent.trigger("beforeImageUpload",e)},uploading:function(e){o.parent.isServerRendered||o.parent.trigger("imageUploading",e)},success:function(e){o.parent.trigger("imageUploadSuccess",e,function(e){if(!t.isNullOrUndefined(o.parent.insertImageSettings.path)){var r=o.parent.insertImageSettings.path+e.file.name;a.uploadUrl={url:r,selection:n,altText:S,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")}})},failure:function(e){o.parent.trigger("imageUploadFailed",e)},removing:function(){o.parent.trigger("imageRemoving",e,function(e){a.isImgUploaded=!1,a.inputUrl.removeAttribute("disabled"),a.uploadUrl&&(a.uploadUrl.url=""),o.dialogObj.getButtons(0).element.removeAttribute("disabled")})}}),this.uploadObj.isStringTemplate=!0,this.uploadObj.createElement=this.parent.createElement,this.uploadObj.appendTo(C),c},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.dialogObj.getButtons(0).element.removeAttribute("disabled"))},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("actionBegin",e,function(t){t.cancel?e.preventDefault():(e.dataTransfer.effectAllowed="copyMove",e.target.classList.add("e-rte-drag-image"))})},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("beforeImageDrop",e,function(e){var i=n.parent.inputElement.ownerDocument.querySelector(".e-rte-drag-image"),o=i&&"IMG"===i.tagName||e.dataTransfer.files.length>0;!e.cancel&&o?n.parent.trigger("actionBegin",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 o=void 0;if(n.contentModule.getDocument().caretRangeFromPoint?o=n.contentModule.getDocument().caretRangeFromPoint(e.clientX,e.clientY):e.rangeParent?(o=n.contentModule.getDocument().createRange()).setStart(e.rangeParent,e.rangeOffset):o=n.getDropRange(e.clientX,e.clientY),n.parent.notify("selectRange",{range:o}),n.parent.element.querySelector(".e-droparea"))return;n.insertDragImage(e)}}):o&&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),o=i.childNodes.length>0?i.childNodes[0]:i,r=0;if("
"===this.parent.inputElement.firstChild.innerHTML)n.setStart(o,r),n.setEnd(o,r);else{var s=void 0;do{r++,n.setStart(o,r),n.setEnd(o,r+1),s=n.getBoundingClientRect()}while(s.left
0){if(e.dataTransfer.files.length>1)return;for(var i=e.dataTransfer.files,o=i[0].name,r=o.substring(o.lastIndexOf(".")),s=this.parent.insertImageSettings.allowedTypes,a=0;a1e6?300:100;setTimeout(function(){a.refreshPopup(n)},h);var u,m;this.uploadObj=new r.Uploader({asyncSettings:{saveUrl:this.parent.insertImageSettings.saveUrl,removeUrl:this.parent.insertImageSettings.removeUrl},cssClass:"e-rte-dialog-upload",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()},beforeUpload:function(e){i.parent.isServerRendered?((m=JSON.parse(JSON.stringify(e))).filesData=u,s=!0,e.cancel=!0,i.parent.trigger("imageUploading",m,function(e){e.cancel||(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("beforeImageUpload",e)},uploading:function(e){i.parent.isServerRendered||(s=!0,i.parent.trigger("imageUploading",e),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 o={args:e,type:"Images",isNotify:void 0,elements:n};setTimeout(function(){i.uploadFailure(n,o,t)},900)},success:function(t){s=!1,i.parent.inputElement.contentEditable="true";var o={args:e,type:"Images",isNotify:void 0,elements:n};setTimeout(function(){i.uploadSuccess(n,e,o,t)},900)}}),this.uploadObj.appendTo(this.popupObj.element.childNodes[0]),t.detach(this.popupObj.element.querySelector(".e-rte-dialog-upload .e-file-select-wrap")),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("imageUploadFailed",i),this.uploadObj.destroy()},n.prototype.uploadSuccess=function(e,n,i,o){var r=this;e.style.opacity="1",e.classList.add("e-img-focus"),o.element=e,this.parent.trigger("imageUploadSuccess",o,function(n){if(!t.isNullOrUndefined(r.parent.insertImageSettings.path)){var i=r.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,o=new FileReader;e.args.preventDefault(),o.addEventListener("load",function(r){var s={cssClass:"inline"===i.parent.insertImageSettings.display?ie:ne,url:"Base64"!==n.parent.insertImageSettings.saveFormat&&t.isNullOrUndefined(e.callBack)?URL.createObjectURL(D(o.result)):o.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}};if(!t.isNullOrUndefined(e.callBack))return void e.callBack(s);i.parent.formatter.process(i.parent,{item:{command:"Images",subCommand:"Image"}},e.args,s),n.showPopupToolBar(e,s)}),o.readAsDataURL(e.file)}},n.prototype.showPopupToolBar=function(t,n){var i=this,o='img[src="'+n.url+'"]',r=this.parent.inputElement.querySelector(o);this.parent.quickToolbarModule.createQTBar("Image","MultiRow",this.parent.quickToolbarSettings.image,e.RenderType.ImageToolbar);var s={args:t.args,type:"Images",isNotify:void 0,elements:r};r&&setTimeout(function(){i.showImageQuickToolbar(s),i.resizeStart(t.args,r)},0)},n.prototype.destroy=function(){this.prevSelectedImgEle=void 0,this.removeEventListener()},n.prototype.getModuleName=function(){return"image"},n}(),yn=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("sourceCode",this.sourceCode,this),this.parent.on(z,this.onInitialEnd,this),this.parent.on("updateSource",this.updateSourceCode,this),this.parent.on(F,this.destroy,this)},n.prototype.onInitialEnd=function(){this.parent.formatter.editorManager.observer.on("keydown-handler",this.onKeyDown,this)},n.prototype.removeEventListener=function(){this.unWireEvent(),this.parent.off("sourceCode",this.sourceCode),this.parent.off("updateSource",this.updateSourceCode),this.parent.off(z,this.onInitialEnd),this.parent.off(F,this.destroy),this.parent.formatter.editorManager.observer.off("keydown-handler",this.onKeyDown)},n.prototype.getSourceCode=function(){return this.parent.createElement("textarea",{className:"e-rte-srctextarea"})},n.prototype.wireEvent=function(e){this.keyboardModule=new Ge(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 Ge(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("sourceCodeMouseDown",{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("actionBegin",{requestType:"SourceCode",targetItem:"SourceCode",args:n});var i=t.selectAll("."+te,this.parent.element);if(this.contentModule=this.rendererFactory.getRenderer(e.RenderType.Content),this.parent.notify("updateToolbarItem",{targetItem:"SourceCode",updateItem:"Preview",baseToolbar:this.parent.getBaseToolbarObject()}),t.isNullOrUndefined(this.previewElement)&&(this.previewElement=this.getSourceCode()),this.parent.updateValueData(),this.parent.iframeSettings.enable){var o=void 0;(o=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(o),o.style.height=this.contentModule.getPanel().style.height,o.style.marginTop=this.contentModule.getPanel().style.marginTop,this.getPanel().value=this.getTextAreaValue(),this.contentModule.getPanel().style.display="none",o.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";this.parent.isBlur=!1,this.parent.disableToolbarItem(this.parent.toolbarSettings.items),this.parent.enableToolbarItem("SourceCode"),this.parent.getToolbar()&&t.removeClass([this.parent.getToolbar()],["e-expand-open"]),t.removeClass(i,[re]),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("actionComplete",{requestType:"SourceCode",targetItem:"SourceCode",args:n}),this.parent.invokeChangeEvent()},n.prototype.updateSourceCode=function(e){this.parent.isBlur=!1,this.parent.trigger("actionBegin",{requestType:"Preview",targetItem:"Preview",args:e});var n=this.getPanel();this.parent.notify("updateToolbarItem",{targetItem:"Preview",updateItem:"SourceCode",baseToolbar:this.parent.getBaseToolbarObject()});var i=this.parent.serializeValue(n.value),o=null===i||""===i?"
":i;this.parent.iframeSettings.enable?(n.parentElement.style.display="none",this.contentModule.getPanel().style.display="block",this.contentModule.getEditPanel().innerHTML=o):(n.style.display="none",this.contentModule.getEditPanel().style.display="block",this.contentModule.getEditPanel().innerHTML=o),this.parent.isBlur=!1,this.parent.enableToolbarItem(this.parent.toolbarSettings.items),this.parent.getToolbar()&&t.removeClass([this.parent.getToolbar()],["e-expand-open"]),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("actionComplete",{requestType:"Preview",targetItem:"Preview",args:e}),this.parent.formatter.enableUndo(this.parent),this.parent.invokeChangeEvent()},n.prototype.getTextAreaValue=function(){return"
"===this.contentModule.getEditPanel().innerHTML||1===this.contentModule.getEditPanel().childNodes.length&&"P"===this.contentModule.getEditPanel().childNodes[0].tagName&&7===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}(),Cn=function(){function n(e,t){this.ensureInsideTableList=!0,this.pageX=null,this.pageY=null,this.moveEle=null,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("createTable",this.renderDlgContent,this),this.parent.on(z,this.afterRender,this),this.parent.on("dynamicModule",this.afterRender,this),this.parent.on("docClick",this.docClick,this),this.parent.on("editAreaClick",this.editAreaClickHandler,this),this.parent.on("clearDialogObj",this.clearDialogObj,this),this.parent.on("table-toolbar-action",this.onToolbarAction,this),this.parent.on("dropDownSelect",this.dropdownSelect,this),this.parent.on(Q,this.keyDown,this),this.parent.on("mouseUp",this.selectionTable,this),this.parent.on(F,this.destroy,this))},n.prototype.removeEventListener=function(){this.parent.isDestroyed||(this.parent.off("createTable",this.renderDlgContent),this.parent.off(z,this.afterRender),this.parent.off("dynamicModule",this.afterRender),this.parent.off("docClick",this.docClick),this.parent.off("editAreaClick",this.editAreaClickHandler),this.parent.off("clearDialogObj",this.clearDialogObj),this.parent.off("table-toolbar-action",this.onToolbarAction),this.parent.off("dropDownSelect",this.dropdownSelect),this.parent.off(W,this.cellSelect),this.parent.off("tableColorPickerChanged",this.setBGColor),this.parent.off(Q,this.keyDown),this.parent.off("mouseUp",this.selectionTable),this.parent.off(F,this.destroy))},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(){this.contentModule=this.rendererFactory.getRenderer(e.RenderType.Content),this.parent.on("tableColorPickerChanged",this.setBGColor,this),this.parent.on(W,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":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,i=this;switch(n.action){case"escape":break;case"insert-table":if("HTML"===this.parent.editorMode){var o=this.parent.contentModule.getDocument(),r=this.parent.formatter.editorManager.nodeSelection.getRange(o),s=this.parent.formatter.editorManager.nodeSelection.save(r,o),a={originalEvent:e.args,item:{command:"Table",subCommand:"CreateTable"}};this.insertTableDialog({self:this,args:a,selection:s})}n.preventDefault()}if(!t.isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection)&&this.contentModule&&"KeyK"!==n.code){var r=this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument()),s=this.parent.formatter.editorManager.nodeSelection.save(r,this.contentModule.getDocument()),l=this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(r)[0];if(l=l&&"TD"!==l.tagName&&"TH"!==l.tagName?l.parentElement:l,(8===n.keyCode||46===n.keyCode||n.ctrlKey&&88===n.keyCode)&&(l&&"TBODY"===l.tagName?(n.preventDefault(),i.removeTable(s,n,!0)):l&&l.querySelectorAll("table").length>0&&this.removeResizeElement()),l&&"TD"!==l.tagName&&"TH"!==l.tagName){var d=t.closest(l,"td");l=!t.isNullOrUndefined(d)&&this.parent.inputElement.contains(d)?d:l}if(l&&("TD"===l.tagName||"TH"===l.tagName))switch(n.keyCode){case 9:case 37:case 39:i.tabSelection(n,s,l);break;case 40:case 38:i.tableArrowNavigation(n,s,l)}}},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");"Dashed"===n&&(this.parent.element.classList.contains("e-dashed-border")?this.parent.element.classList.remove("e-dashed-border"):this.parent.element.classList.add("e-dashed-border"),i.classList.contains("e-dashed-border")?i.classList.remove("e-dashed-border"):i.classList.add("e-dashed-border")),"Alternate"===n&&(this.parent.element.classList.contains(se)?this.parent.element.classList.remove(se):this.parent.element.classList.add(se),i.classList.contains(se)?i.classList.remove(se):i.classList.add(se)),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;i1||n.length&&0===e.startOffset&&0===e.endOffset?(this.ensureInsideTableList=!0,!0):(this.ensureInsideTableList=!1,!1)},n.prototype.tabSelection=function(e,n,i){var o=this.insideList(n.range);if((37!==e.keyCode&&39!==e.keyCode||3!==n.range.startContainer.nodeType)&&!o)if(e.preventDefault(),i.classList.remove("e-cell-select"),e.shiftKey||37===e.keyCode){var r=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===r&&0===i.cellIndex&&t.closest(i,"table").tHead){var s=t.closest(i,"table");r=s.rows[0].cells[s.rows[0].cells.length-1]}37===e.keyCode&&i===r&&(r=t.closest(i,"table").previousSibling),r&&(""!==r.textContent.trim()&&t.closest(r,"td")?n.setSelectionNode(this.contentModule.getDocument(),r):n.setSelectionText(this.contentModule.getDocument(),r,r,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("e-cell-select"),this.addRow(n,e,!0),i.classList.remove("e-cell-select"),""!==(a=a.parentElement.nextSibling.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 o=n.range.startContainer;40===e.keyCode&&3===o.nodeType&&(o.nextSibling&&"BR"===o.nextSibling.nodeName||o.parentNode&&"TD"!==o.parentNode.nodeName)||38===e.keyCode&&3===o.nodeType&&(o.previousSibling&&"BR"===o.previousSibling.nodeName||o.parentNode&&"TD"!==o.parentNode.nodeName)||(e.preventDefault(),i.classList.remove("e-cell-select"),(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;i0||(s.innerHTML=" ");var a=s.parentNode;if("HTML"===r.parent.editorMode&&(r.parent.iframeSettings.enable&&!p(a.ownerDocument.querySelector("body"),"e-lib")||!r.parent.iframeSettings.enable&&t.isNullOrUndefined(t.closest(a,"[id='"+r.contentModule.getPanel().id+"']")))){r.contentModule.getEditPanel().focus();var l=r.parent.formatter.editorManager.nodeSelection.getRange(r.contentModule.getDocument());o.selection=r.parent.formatter.editorManager.nodeSelection.save(l,r.contentModule.getDocument())}var d={row:e,columns:n,width:{minWidth:r.parent.tableSettings.minWidth,maxWidth:r.parent.tableSettings.maxWidth,width:r.parent.tableSettings.width},selection:o.selection};r.popupObj&&r.popupObj.hide(),r.editdlgObj&&r.editdlgObj.hide(),r.parent.formatter.process(r.parent,o.args,o.args.originalEvent,d),r.contentModule.getEditPanel().focus(),r.parent.on(W,r.cellSelect,r)},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"),"e-cell-select"),!n||"TD"!==n.tagName&&"TH"!==n.tagName||(n.removeAttribute("class"),t.addClass([n],"e-cell-select"),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");t.isNullOrUndefined(this.curTable)||t.isNullOrUndefined(i)||i===this.curTable||(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=Array.prototype.slice.call(e.rows[0].cells,1),o=[],r=0;rr;r++){var d=this.parent.createElement("span",{attrs:{"data-col":(r+1).toString(),unselectable:"on",contenteditable:"false"}});d.classList.add("e-rte-table-resize","e-column-resize"),d.style.cssText="height: "+s+"px; width: 4px; top: "+l.top+"px; left:"+(l.left+this.calcPos(i[r]).left)+"px;",this.contentModule.getEditPanel().appendChild(d)}for(r=0;o.length>r;r++){var c=this.parent.createElement("span",{attrs:{"data-row":r.toString(),unselectable:"on",contenteditable:"false"}});c.classList.add("e-rte-table-resize","e-row-resize");var p=t.isNullOrUndefined(e.getAttribute("cellspacing"))&&""===e.getAttribute("cellspacing")?this.calcPos(o[r]).left:0;c.style.cssText="width: "+a+"px; height: 4px; top: "+(this.calcPos(o[r]).top+l.top+o[r].offsetHeight-2)+"px; left:"+(p+l.left)+"px;",this.contentModule.getEditPanel().appendChild(c)}var h=this.parent.createElement("span",{className:"e-table-box",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;n20&&h>20){var g=u-h,f=h;n.curTable.rows[m].cells[n.colIndex-1].style.width=n.convertPixelToPercentage(g,a)+"%",n.curTable.rows[m].cells[n.colIndex].style.width=n.convertPixelToPercentage(f,a)+"%"}n.updateHelper()}else if(n.resizeBtnStat.row){n.parent.preventDefaultResize(e);var b=parseFloat(n.rowEle.clientHeight.toString())+s;b>20&&(n.rowEle.style.height=b+"px"),n.curTable.style.height="",t.isNullOrUndefined(o)||(o.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 v=n.curTable.style.width.indexOf("%")>-1;n.curTable.style.width=v?n.convertPixelToPercentage(a+r,c)+"%":a+r+"px",n.curTable.style.height=l+s+"px",o.classList.add("e-rbox-select"),o.style.cssText="top: "+(n.calcPos(n.curTable).top+l-4)+"px; left:"+(n.calcPos(n.curTable).left+a-4)+"px;"}}})},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=t.isBlazor()?{requestType:"table"}:{event:e,requestType:"table"};this.parent.trigger("resizeStop",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 o={selection:e,subCommand:n?i.item.subCommand:t.item.subCommand};this.parent.formatter.process(this.parent,n?i:t,t,o)},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 o={selection:e,subCommand:n?i.item.subCommand:t.item.subCommand};this.parent.formatter.process(this.parent,n?i:t,t.originalEvent,o),this.contentModule.getEditPanel().focus(),this.removeResizeElement(),this.hideTableQuickToolbar()},n.prototype.renderDlgContent=function(e){var n=this;if(t.Browser.isDevice||this.parent.inlineMode.enable)return void this.insertTableDialog(e);if(this.popupObj)return void this.popupObj.hide();this.hideTableQuickToolbar();var i=this.l10n.getConstant("inserttablebtn");this.dlgDiv=this.parent.createElement("div",{className:"e-rte-table-popup",id:this.rteID+"_table"}),this.tblHeader=this.parent.createElement("div",{className:"e-rte-popup-header"}),this.tblHeader.innerHTML="1X1",this.dlgDiv.appendChild(this.tblHeader);var r=this.parent.createElement("div",{className:"e-rte-table-span"});this.drawTable(r,e),this.dlgDiv.appendChild(r),this.dlgDiv.appendChild(this.parent.createElement("span",{className:"e-span-border"}));var a=this.parent.createElement("button",{className:"e-insert-table-btn",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);var l=new s.Button({iconCss:"e-icons e-create-table",content:i,cssClass:"e-flat",enableRtl:this.parent.enableRtl,locale:this.parent.locale});l.isStringTemplate=!0,l.appendTo(a),t.EventHandler.add(a,"click",this.insertTableDialog,{self:this,args:e.args,selection:e.selection}),this.parent.getToolbar().appendChild(this.dlgDiv);var d=e.args.originalEvent.target;d=d.classList.contains("e-toolbar-item")?d.firstChild:d.parentElement,this.popupObj=new o.Popup(this.dlgDiv,{targetType:"relative",relateTo:d,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"),this.popupObj.refreshPosition(d)},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,S(this.parent.element,"focusout"));var i=t.closest(n,"td"),o=!(!i||!this.parent.contentModule.getEditPanel().contains(i));!n||"TD"===n.tagName||"TH"===n.tagName||o||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.element.querySelectorAll("table td"),"e-cell-select"),t.Browser.isIE||this.hideTableQuickToolbar()),!n||!n.classList||n.classList.contains("e-column-resize")||n.classList.contains("e-row-resize")||n.classList.contains("e-table-box")||this.removeResizeElement()},n.prototype.drawTable=function(e,n){for(var i,o,r=0;r<3;r++){i=this.parent.createElement("div",{className:"e-rte-table-row",attrs:{"data-column":""+r}});for(var s=0;s<10;s++){var a=r>2?"none":"inline-block";o=this.parent.createElement("div",{className:"e-rte-tablecell e-default",attrs:{"data-cell":""+s}}),i.appendChild(o),o.style.display=a,0===s&&0===r&&t.addClass([o],"e-active"),t.EventHandler.add(o,"mousemove",this.tableCellSelect,this),t.EventHandler.add(i,"mouseleave",this.tableCellLeave,this),t.EventHandler.add(o,"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"),o=this.l10n.getConstant("dialogCancel"),r=this.l10n.getConstant("tableEditHeader");this.editdlgObj.setProperties({height:"initial",width:"290px",content:n,header:r,buttons:[{click:this.applyProperties.bind(this,e),buttonModel:{content:i,cssClass:"e-flat e-size-update",isPrimary:!0}},{click:function(e){t.cancelDialog(e)},buttonModel:{cssClass:"e-flat e-cancel",content:o}}]}),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(),o=n.l10n.getConstant("dialogInsert"),r=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:o,cssClass:"e-flat e-insert-table",isPrimary:!0}},{click:function(e){n.cancelDialog(e)},buttonModel:{cssClass:"e-flat e-cancel",content:r}}]}),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"}),i=T('
');return n.appendChild(i),this.columnTextBox=new r.NumericTextBox({format:"n0",min:1,value:3,placeholder:e,floatLabelType:"Auto",max:50,enableRtl:this.parent.enableRtl,locale:this.parent.locale}),this.columnTextBox.isStringTemplate=!0,this.columnTextBox.appendTo(n.querySelector("#tableColumn")),this.rowTextBox=new r.NumericTextBox({format:"n0",min:1,value:3,placeholder:t,floatLabelType:"Auto",max:50,enableRtl:this.parent.enableRtl,locale:this.parent.locale}),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)return void this.editdlgObj.hide({returnValue:!0});var i=this.parent.createElement("div",{className:"e-rte-edit-table",id:this.rteID+"_tabledialog"});this.parent.element.appendChild(i);var o=this.l10n.getConstant("dialogInsert"),r=this.l10n.getConstant("dialogCancel"),s={header:this.l10n.getConstant("tabledialogHeader"),cssClass:"e-rte-elements",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:o,cssClass:"e-flat e-insert-table",isPrimary:!0}},{click:function(e){n.cancelDialog(e)},buttonModel:{cssClass:"e-flat e-cancel",content:r}}],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 o=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,o)}},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,o=t.closest(e.selectNode[0],"table");if(o.style.width=i.querySelector(".e-table-width").value+"px",""!==i.querySelector(".e-cell-padding").value)for(var r=o.querySelectorAll("td"),s=0;s
');a.appendChild(p);var h=new r.NumericTextBox({format:"n0",min:0,value:l,placeholder:i,floatLabelType:"Auto",enableRtl:this.parent.enableRtl,locale:this.parent.locale});h.isStringTemplate=!0,h.appendTo(a.querySelector("#tableWidth"));var u=new r.NumericTextBox({format:"n0",min:0,value:""!==d?parseInt(d,null):0,placeholder:o,floatLabelType:"Auto",enableRtl:this.parent.enableRtl,locale:this.parent.locale});u.isStringTemplate=!0,u.appendTo(a.querySelector("#cellPadding"));var m=new r.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});return m.isStringTemplate=!0,m.appendTo(a.querySelector("#cellSpacing")),a},n.prototype.destroy=function(){this.removeEventListener()},n.prototype.getModuleName=function(){return"table"},n}(),Sn=function(){function e(e){this.parent=e}return 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 o.Dialog(e),n.isStringTemplate=!0,n},e.prototype.beforeOpen=function(e){this.parent.trigger("beforeDialogOpen",e,this.beforeOpenCallback.bind(this,e))},e.prototype.beforeOpenCallback=function(e){e.cancel&&this.parent.notify("clearDialogObj",null)},e.prototype.open=function(e){this.parent.trigger("dialogOpen",e)},e.prototype.beforeClose=function(e){this.parent.trigger("beforeDialogClose",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}(),Tn={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:" "},insertImage:{command:"Images",subCommand:"Image"},editImage:{command:"Images",subCommand:"Image"},insertTable:{command:"Table",subCommand:"CreateTable"},insertBrOnReturn:{command:"InsertHTML",subCommand:"InsertHTML",value:" "},insertOrderedList:{command:"Lists",value:"OL"},insertUnorderedList:{command:"Lists",value:"UL"},insertParagraph:{command:"Formats",value:"P"},removeFormat:{command:"Clear",subCommand:"ClearFormat"}},En=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)}}(),Nn=function(e,t,n,i){var o,r=arguments.length,s=r<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--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},wn=function(n){function i(){return null!==n&&n.apply(this,arguments)||this}return En(i,n),Nn([t.Property(!0)],i.prototype,"enable",void 0),Nn([t.Property(!0)],i.prototype,"enableFloating",void 0),Nn([t.Property(e.ToolbarType.Expand)],i.prototype,"type",void 0),Nn([t.Property(we)],i.prototype,"items",void 0),Nn([t.Property({})],i.prototype,"itemConfigs",void 0),i}(t.ChildProperty),kn=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return En(n,e),Nn([t.Property([".jpeg",".jpg",".png"])],n.prototype,"allowedTypes",void 0),Nn([t.Property("inline")],n.prototype,"display",void 0),Nn([t.Property("Blob")],n.prototype,"saveFormat",void 0),Nn([t.Property("auto")],n.prototype,"width",void 0),Nn([t.Property("auto")],n.prototype,"height",void 0),Nn([t.Property(null)],n.prototype,"saveUrl",void 0),Nn([t.Property(null)],n.prototype,"path",void 0),Nn([t.Property(!0)],n.prototype,"resize",void 0),Nn([t.Property(null)],n.prototype,"removeUrl",void 0),Nn([t.Property(0)],n.prototype,"minWidth",void 0),Nn([t.Property(null)],n.prototype,"maxWidth",void 0),Nn([t.Property(0)],n.prototype,"minHeight",void 0),Nn([t.Property(null)],n.prototype,"maxHeight",void 0),Nn([t.Property(!1)],n.prototype,"resizeByPercent",void 0),n}(t.ChildProperty),Ln=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return En(n,e),Nn([t.Complex({getImageUrl:null,url:null,uploadUrl:null},a.AjaxSettings)],n.prototype,"ajaxSettings",void 0),Nn([t.Property(!1)],n.prototype,"allowDragAndDrop",void 0),Nn([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),Nn([t.Property("")],n.prototype,"cssClass",void 0),Nn([t.Complex({},a.DetailsViewSettings)],n.prototype,"detailsViewSettings",void 0),Nn([t.Property(!1)],n.prototype,"enable",void 0),Nn([t.Complex({maxWidth:"650px",minWidth:"240px",visible:!0},a.NavigationPaneSettings)],n.prototype,"navigationPaneSettings",void 0),Nn([t.Property("/")],n.prototype,"path",void 0),Nn([t.Property(null)],n.prototype,"rootAliasName",void 0),Nn([t.Complex({},a.SearchSettings)],n.prototype,"searchSettings",void 0),Nn([t.Property(!0)],n.prototype,"showFileExtension",void 0),Nn([t.Property(!1)],n.prototype,"showHiddenItems",void 0),Nn([t.Property(!0)],n.prototype,"showThumbnail",void 0),Nn([t.Property("Ascending")],n.prototype,"sortOrder",void 0),Nn([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),Nn([t.Complex({autoUpload:!0,minFileSize:0,maxFileSize:3e7,allowedExtensions:"",autoClose:!1},a.UploadSettings)],n.prototype,"uploadSettings",void 0),Nn([t.Property("LargeIcons")],n.prototype,"view",void 0),n}(t.ChildProperty),xn=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return En(n,e),Nn([t.Property("100%")],n.prototype,"width",void 0),Nn([t.Property(Ne)],n.prototype,"styles",void 0),Nn([t.Property(!0)],n.prototype,"resize",void 0),Nn([t.Property(0)],n.prototype,"minWidth",void 0),Nn([t.Property(null)],n.prototype,"maxWidth",void 0),n}(t.ChildProperty),On=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return En(n,e),Nn([t.Property(!0)],n.prototype,"enable",void 0),Nn([t.Property(!1)],n.prototype,"showOnRightClick",void 0),Nn([t.Property("hide")],n.prototype,"actionOnScroll",void 0),Nn([t.Property(["Open","Edit","UnLink"])],n.prototype,"link",void 0),Nn([t.Property(["Replace","Align","Caption","Remove","-","InsertLink","OpenImageLink","EditImageLink","RemoveImageLink","Display","AltText","Dimension"])],n.prototype,"image",void 0),Nn([t.Property(["Cut","Copy","Paste"])],n.prototype,"text",void 0),Nn([t.Property(["TableHeader","TableRows","TableColumns","BackgroundColor","-","TableRemove","Alignments","TableCellVerticalAlign","Styles"])],n.prototype,"table",void 0),n}(t.ChildProperty),Dn=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return En(n,e),Nn([t.Property(!1)],n.prototype,"prompt",void 0),Nn([t.Property(null)],n.prototype,"deniedAttrs",void 0),Nn([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","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),Nn([t.Property(null)],n.prototype,"deniedTags",void 0),Nn([t.Property(!0)],n.prototype,"keepFormat",void 0),Nn([t.Property(!1)],n.prototype,"plainText",void 0),n}(t.ChildProperty),Mn=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return En(n,e),Nn([t.Property(null)],n.prototype,"default",void 0),Nn([t.Property("65px")],n.prototype,"width",void 0),Nn([t.Property(ke)],n.prototype,"items",void 0),n}(t.ChildProperty),Rn=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return En(n,e),Nn([t.Property(null)],n.prototype,"default",void 0),Nn([t.Property("35px")],n.prototype,"width",void 0),Nn([t.Property(Le)],n.prototype,"items",void 0),n}(t.ChildProperty),In=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return En(n,e),Nn([t.Property(null)],n.prototype,"default",void 0),Nn([t.Property("65px")],n.prototype,"width",void 0),Nn([t.Property(xe)],n.prototype,"types",void 0),n}(t.ChildProperty),Bn=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return En(n,e),Nn([t.Property("#ff0000")],n.prototype,"default",void 0),Nn([t.Property("Palette")],n.prototype,"mode",void 0),Nn([t.Property(10)],n.prototype,"columns",void 0),Nn([t.Property(Oe)],n.prototype,"colorCode",void 0),Nn([t.Property(!1)],n.prototype,"modeSwitcher",void 0),n}(t.ChildProperty),Pn=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return En(n,e),Nn([t.Property("#ffff00")],n.prototype,"default",void 0),Nn([t.Property("Palette")],n.prototype,"mode",void 0),Nn([t.Property(10)],n.prototype,"columns",void 0),Nn([t.Property(De)],n.prototype,"colorCode",void 0),Nn([t.Property(!1)],n.prototype,"modeSwitcher",void 0),n}(t.ChildProperty),An=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)}}(),Hn=function(e,t,n,i){var o,r=arguments.length,s=r<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--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},Un=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return An(n,e),Hn([t.Property([])],n.prototype,"styles",void 0),Hn([t.Property([])],n.prototype,"scripts",void 0),n}(t.ChildProperty),jn=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return An(n,e),Hn([t.Property(!1)],n.prototype,"enable",void 0),Hn([t.Property(null)],n.prototype,"attributes",void 0),Hn([t.Complex({},Un)],n.prototype,"resources",void 0),n}(t.ChildProperty),zn=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)}}(),Fn=function(e,t,n,i){var o,r=arguments.length,s=r<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--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},_n=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return zn(n,e),Fn([t.Property(!1)],n.prototype,"enable",void 0),Fn([t.Property(!0)],n.prototype,"onSelection",void 0),n}(t.ChildProperty),qn=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)}}(),Qn=function(){return(Qn=Object.assign||function(e){for(var t,n=1,i=arguments.length;n=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},Wn=function(n){function i(e,t){var i=n.call(this,e,t)||this;return i.defaultResetValue=null,i.isResizeInitialized=!1,i.isFocusOut=!1,i.isRTE=!1,i.isBlur=!0,i.needsID=!0,i}return qn(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],"e-disabled"),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("."+re),re),t.removeClass([this.getToolbar()],["e-rte-tb-float","e-rte-tb-abs-float"])),t.addClass([this.element],"e-disabled"),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.preRender=function(){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 ze,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.isBlazor()||(this.element.innerHTML="");for(var e=["class","style","id","ejs-for"],n={},i=0;i/gi,"\n")},i.prototype.render=function(){this.value&&!this.valueTemplate&&this.setProperties({value:this.serializeValue(this.value)},!0),this.renderModule=new fn(this,this.serviceLocator),this.sourceCodeModule=new yn(this,this.serviceLocator),this.notify("initial-load",{}),this.trigger("load"),this.RTERender();new nt(this);this.notify(z,{}),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.isBlazor()?this.defaultResetValue=this.value:this.valueContainer.defaultValue=this.value),this.enabled?this.eventInitializer():this.unWireEvents(),this.renderComplete()},i.prototype.eventInitializer=function(){this.wireEvents()},i.prototype.keyDown=function(e){if(this.notify(Q,{member:"keydown",args:e}),this.restrict(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 o=new RegExp(String.fromCharCode(8203),"g"),r=8===e.which?n.startOffset-1:n.startOffset;n.startContainer.textContent=n.startContainer.textContent.replace(o,""),this.formatter.editorManager.nodeSelection.setCursorPoint(this.contentModule.getDocument(),n.startContainer,r)}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=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||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){this.notify(q,{member:"keyup",args:e}),"KeyX"!==e.code||88!==e.which||88!==e.keyCode||!e.ctrlKey||""!==this.inputElement.innerHTML&&" "!==this.inputElement.innerHTML||(this.inputElement.innerHTML=w("
",this));var n=32===e.which||13===e.which||8===e.which||46===e.which;("shift"!==e.key&&!e.ctrlKey&&e.key&&1===e.key.length||n||"Markdown"===this.editorMode&&("shift"!==e.key&&!e.ctrlKey&&e.key&&1===e.key.length||n)&&!this.inlineMode.enable)&&this.formatter.onKeyHandler(this,e),this.inputElement&&0!==this.inputElement.textContent.length&&this.notify("toolbar-refresh",{args:e}),t.isNullOrUndefined(this.placeholder)||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(u()){var t=e.touches?e.changedTouches[0]:e;this.clickPoints.clientX===t.clientX&&this.clickPoints.clientY===t.clientY&&this.notify("editAreaClick",{member:"editAreaClick",args:e})}else this.notify("editAreaClick",{member:"editAreaClick",args:e})},i.prototype.notifyMouseUp=function(e){var t=e.touches?e.changedTouches[0]:e;this.notify("mouseUp",{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("toolbar-refresh",{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 o=this.getRange(),r=this.formatter.editorManager.domNode.getSelection();/\s+$/.test(r.toString())&&((t.isNullOrUndefined(o.startContainer.parentElement)||(t.isNullOrUndefined(o.startContainer.parentElement.nextSibling)||3===o.startContainer.parentElement.nextSibling.nodeType&&!/\s+$/.test(o.startContainer.parentElement.nextSibling.textContent))&&o.startOffset!==o.endOffset)&&"li"!==o.startContainer.parentElement.tagName.toLocaleLowerCase()||(o.setStart(o.startContainer,o.startOffset),o.setEnd(o.startContainer,o.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("actionBegin",i,function(i){var o=n.getText().length-n.getSelection().length+(t.isNullOrUndefined(e)||t.isNullOrUndefined(e.clipboardData)?0:e.clipboardData.getData("text/plain").length);if("Markdown"===n.editorMode)return void(-1===n.maxLength||o0?e.clipboardData.items[0].getAsFile():null;null!==s&&n.notify(G,{file:a,args:e,text:s}),setTimeout(function(){n.formatter.onSuccess(n,r)},0)}else n.notify("pasteClean",{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 void this.toolbarModule.destroy();if(this.notify(F,{}),this.destroyDependentModules(),t.isNullOrUndefined(this.timeInterval)||(clearInterval(this.timeInterval),this.timeInterval=null),this.unWireEvents(),"TEXTAREA"===this.originalElement.tagName){t.isBlazor()&&(t.detach(this.valueContainer),this.valueContainer=this.element.querySelector(".e-blazor-hidden.e-control.e-richtexteditor")),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()?t.isBlazor()||(this.valueContainer.value=this.originalElement.innerHTML.trim(),this.setProperties({value:t.isNullOrUndefined(this.initialValue)?null:this.initialValue},!0)):this.valueContainer.value=this.isBlazor()?this.defaultResetValue:this.valueContainer.defaultValue,this.element=this.valueContainer;for(i=0;i0){var i=(e=n.getRangeAt(0)).cloneContents();t.appendChild(i)}return t.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 o=0,r=Object.keys(e);o/i.test(this.inputElement.innerHTML)?this.inputElement.innerHTML:x(this.inputElement.innerHTML)})},i.prototype.removeSheets=function(e){var n;for(n=0;n ":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("e-rte-fixed-tb-expand"):this.element.classList.remove("e-rte-fixed-tb-expand")},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.inputElement&&this.inputElement.parentElement.insertBefore(this.placeHolderWrapper,this.inputElement),t.attributes(this.placeHolderWrapper,{style:"font-size: 14px; padding: 16px; margin-left: 0px; margin-right: 0px;"})),this.placeHolderWrapper.innerHTML=this.placeholder,0!==this.inputElement.textContent.length||t.isNullOrUndefined(this.inputElement.firstChild)||"P"!==this.inputElement.firstChild.nodeName||t.isNullOrUndefined(this.inputElement.firstChild.firstChild)||"BR"!==this.inputElement.firstChild.firstChild.nodeName||"
"===this.inputElement.innerHTML?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;i0&&this.InjectSheet(!0,t),this.iframeSettings.resources.styles.length>0&&this.InjectSheet(!1,e)}this.iframeSettings.attributes&&j(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/g,"").trim();""!==o&&("TEXTAREA"===this.element.tagName?this.setProperties({value:x(o)}):this.setProperties({value:o}))}},i.prototype.updateResizeFlag=function(){this.isResizeInitialized=!0},i.prototype.getInsertImgMaxWidth=function(){var e=this.insertImageSettings.maxWidth,n=this.contentModule.getEditPanel(),i=window.getComputedStyle(n),o=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)?o:e},i.prototype.setContentHeight=function(n,i){var o,r,s,a=0,l=this.sourceCodeModule.getPanel()&&"block"===this.sourceCodeModule.getPanel().parentElement.style.display?this.sourceCodeModule.getPanel().parentElement:this.contentModule.getPanel(),d=this.element.offsetHeight;0!==this.element.offsetHeight||"auto"===this.height||this.getToolbar()||(d=parseInt(this.height,10),(s="string"==typeof this.height&&this.height.indexOf("%")>-1)&&(r=this.height));var c=this.getToolbar()?this.toolbarModule.getToolbarHeight():0,p=this.element.querySelector(".e-resize-handle"),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?(o="auto"===this.height&&0===h?"auto":d-(c+u+h)+"px",a=this.toolbarSettings.enableFloating?0:u):o="auto"!==this.height||this.element.classList.contains("e-rte-full-screen")||this.isResizeInitialized?s?r:d-(c+h)+"px":"auto",t.setStyleAttribute(l,{height:o,marginTop:a+"px"}),this.iframeSettings.enable&&"sourceCode"===n){var m=t.select(".e-rte-content",this.element);t.setStyleAttribute(m,{height:o,marginTop:a+"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.value},i.prototype.getXhtml=function(){var e=this.value;return this.enableXhtml&&(e=this.htmlEditorModule.xhtmlValidation.selfEncloseValidation(e)),e},i.prototype.showSourceCode=function(){this.readonly||this.notify("sourceCode",{})},i.prototype.getCharCount=function(){return("Markdown"===this.editorMode?this.inputElement.value.trim():this.inputElement.textContent.trim()).length},i.prototype.getBaseToolbarObject=function(){return!this.inlineMode.enable||t.Browser.isDevice&&!u()?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],["e-focused"]),this.preventDefaultResize(e),this.notify(W,{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;if(!document.body.contains(this.element))return void document.defaultView.removeEventListener("resize",this.onResizeHandler,!0);this.toolbarSettings.enable&&!this.inlineMode.enable&&(this.toolbarModule.refreshToolbarOverflow(),e=this.toolbarModule.baseToolbar.toolbarObj.element.classList.contains("e-expand-open")),this.setContentHeight("",e),this.notify("resize",null)},i.prototype.scrollHandler=function(e){this.notify("scroll",{args:e})},i.prototype.contentScrollHandler=function(e){this.notify("contentscroll",{args:e})},i.prototype.focusHandler=function(e){if(!this.isRTE||this.isFocusOut){this.isRTE=!this.isFocusOut,this.isFocusOut=!1,t.addClass([this.element],["e-focused"]),"HTML"===this.editorMode?this.cloneValue="
"===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"]'),o=0;o0&&!this.autoSaveOnIdle&&(this.timeInterval=setInterval(this.updateValueOnIdle.bind(this),this.saveInterval)),t.EventHandler.add(document,"mousedown",this.onDocumentClick,this)}if(!t.isNullOrUndefined(this.getToolbarElement()))for(var r=this.getToolbarElement().querySelectorAll("input,select,button,a,[tabindex]"),o=0;o "===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("updatedToolbarStatus",i)}},i.prototype.onDocumentClick=function(e){var n=e.target,i=t.closest(n,"."+Y);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("docClick",{args:e}),e.detail>3&&e.preventDefault()},i.prototype.blurHandler=function(e){var n=e.relatedTarget;if(n){var i=t.closest(n,"."+Y);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],["e-focused"]),this.notify("focusChange",{});var o=this.getUpdatedValue();this.setProperties({value:o}),this.notify("toolbar-refresh",{args:e,documentNode:document}),this.invokeChangeEvent(),this.isFocusOut=!0,this.isBlur=!1,S(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,t={value:e=this.enableXhtml?this.getXhtml():this.value};this.value!==this.cloneValue&&(this.trigger("change",t),this.cloneValue=this.value)},i.prototype.wireScrollElementsEvents=function(){this.scrollParentElements=o.getScrollableParent(this.element);for(var e=0,n=this.scrollParentElements;e=0){for(var t="Markdown"===this.editorMode?this.contentModule.getText():e.currentTarget.textContent.trim(),n=[8,16,17,37,38,39,40,46,65],i=void 0,o=0;o<=n.length-1;o++)if(e.which===n[o]){if(e.ctrlKey&&65===e.which)return;if(65!==e.which)return void(i=n[o])}t.length>=this.maxLength&&-1!==this.maxLength&&e.which!==i&&e.preventDefault()}},i.prototype.bindEvents=function(){this.keyboardModule=new Ge(this.inputElement,{keyAction:this.keyDown.bind(this),keyConfigs:Qn({},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("keydown-handler",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.notify("iframe-click",e)},i.prototype.editorKeyDown=function(e){switch(e.event.action){case"copy":this.onCopy();break;case"cut":this.onCut()}!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("content-changed",this.contentChanged),this.off("resizeInitialized",this.updateResizeFlag),this.off("updateTbItemsStatus",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("keydown-handler",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()},Vn([t.Complex({},wn)],i.prototype,"toolbarSettings",void 0),Vn([t.Complex({},On)],i.prototype,"quickToolbarSettings",void 0),Vn([t.Complex({},Dn)],i.prototype,"pasteCleanupSettings",void 0),Vn([t.Complex({},jn)],i.prototype,"iframeSettings",void 0),Vn([t.Complex({},kn)],i.prototype,"insertImageSettings",void 0),Vn([t.Complex({},xn)],i.prototype,"tableSettings",void 0),Vn([t.Property(0)],i.prototype,"floatingToolbarOffset",void 0),Vn([t.Complex({},_n)],i.prototype,"inlineMode",void 0),Vn([t.Complex({},Ln)],i.prototype,"fileManagerSettings",void 0),Vn([t.Property("100%")],i.prototype,"width",void 0),Vn([t.Property(!1)],i.prototype,"enablePersistence",void 0),Vn([t.Property(!1)],i.prototype,"enableResize",void 0),Vn([t.Property({})],i.prototype,"htmlAttributes",void 0),Vn([t.Property(null)],i.prototype,"placeholder",void 0),Vn([t.Property(!1)],i.prototype,"autoSaveOnIdle",void 0),Vn([t.Property(!1)],i.prototype,"readonly",void 0),Vn([t.Property(!0)],i.prototype,"enabled",void 0),Vn([t.Property(!0)],i.prototype,"enableHtmlSanitizer",void 0),Vn([t.Property(!1)],i.prototype,"enableHtmlEncode",void 0),Vn([t.Property(!1)],i.prototype,"enableXhtml",void 0),Vn([t.Property("auto")],i.prototype,"height",void 0),Vn([t.Property(null)],i.prototype,"cssClass",void 0),Vn([t.Property(null)],i.prototype,"value",void 0),Vn([t.Property(30)],i.prototype,"undoRedoSteps",void 0),Vn([t.Property(300)],i.prototype,"undoRedoTimer",void 0),Vn([t.Property("HTML")],i.prototype,"editorMode",void 0),Vn([t.Property(null)],i.prototype,"keyConfig",void 0),Vn([t.Property(!1)],i.prototype,"showCharCount",void 0),Vn([t.Property(!1)],i.prototype,"enableTabKey",void 0),Vn([t.Property(!1)],i.prototype,"enableAutoUrl",void 0),Vn([t.Property(-1)],i.prototype,"maxLength",void 0),Vn([t.Complex({},In)],i.prototype,"format",void 0),Vn([t.Complex({},Mn)],i.prototype,"fontFamily",void 0),Vn([t.Complex({},Rn)],i.prototype,"fontSize",void 0),Vn([t.Complex({},Bn)],i.prototype,"fontColor",void 0),Vn([t.Complex({},Pn)],i.prototype,"backgroundColor",void 0),Vn([t.Property(null)],i.prototype,"valueTemplate",void 0),Vn([t.Property(1e4)],i.prototype,"saveInterval",void 0),Vn([t.Event()],i.prototype,"actionBegin",void 0),Vn([t.Event()],i.prototype,"actionComplete",void 0),Vn([t.Event()],i.prototype,"beforeDialogOpen",void 0),Vn([t.Event()],i.prototype,"dialogOpen",void 0),Vn([t.Event()],i.prototype,"beforeDialogClose",void 0),Vn([t.Event()],i.prototype,"dialogClose",void 0),Vn([t.Event()],i.prototype,"beforeQuickToolbarOpen",void 0),Vn([t.Event()],i.prototype,"quickToolbarOpen",void 0),Vn([t.Event()],i.prototype,"quickToolbarClose",void 0),Vn([t.Event()],i.prototype,"toolbarStatusUpdate",void 0),Vn([t.Event()],i.prototype,"updatedToolbarStatus",void 0),Vn([t.Event()],i.prototype,"imageSelected",void 0),Vn([t.Event()],i.prototype,"beforeImageUpload",void 0),Vn([t.Event()],i.prototype,"imageUploading",void 0),Vn([t.Event()],i.prototype,"imageUploadSuccess",void 0),Vn([t.Event()],i.prototype,"imageUploadFailed",void 0),Vn([t.Event()],i.prototype,"imageRemoving",void 0),Vn([t.Event()],i.prototype,"afterImageDelete",void 0),Vn([t.Event()],i.prototype,"created",void 0),Vn([t.Event()],i.prototype,"destroyed",void 0),Vn([t.Event()],i.prototype,"beforeSanitizeHtml",void 0),Vn([t.Event()],i.prototype,"blur",void 0),Vn([t.Event()],i.prototype,"toolbarClick",void 0),Vn([t.Event()],i.prototype,"focus",void 0),Vn([t.Event()],i.prototype,"change",void 0),Vn([t.Event()],i.prototype,"resizing",void 0),Vn([t.Event()],i.prototype,"resizeStart",void 0),Vn([t.Event()],i.prototype,"resizeStop",void 0),Vn([t.Event()],i.prototype,"beforePasteCleanup",void 0),Vn([t.Event()],i.prototype,"afterPasteCleanup",void 0),Vn([t.Event()],i.prototype,"beforeImageDrop",void 0),Vn([t.Property(null)],i.prototype,"formatter",void 0),i=Vn([t.NotifyPropertyChanges],i)}(t.Component);return Wn.Inject(qe,bn,vn,$e,Je,pn,Et,Cn,hn,un,mn),e.Toolbar=qe,e.KeyboardEvents=Ge,e.BaseToolbar=Ue,e.BaseQuickToolbar=Xe,e.QuickToolbar=Je,e.Count=$e,e.ColorPickerInput=Ke,e.MarkdownToolbarStatus=tt,e.ExecCommandCallBack=nt,e.ToolbarAction=_e,e.MarkdownEditor=Et,e.HtmlEditor=pn,e.PasteCleanup=hn,e.Resize=un,e.DropDownButtons=je,e.FileManager=mn,e.FullScreen=gn,e.setAttributes=j,e.HtmlToolbarStatus=sn,e.XhtmlValidation=cn,e.HTMLFormatter=nn,e.Formatter=it,e.MarkdownFormatter=St,e.ContentRender=an,e.Render=fn,e.ToolbarRenderer=He,e.Link=bn,e.Image=vn,e.ViewSource=yn,e.Table=Cn,e.DialogRenderer=Sn,e.IframeContentRender=dn,e.MarkdownRender=Tt,e.PopupRenderer=Ye,e.RichTextEditor=Wn,e.executeGroup=Tn,e.created="create",e.destroyed="destroy",e.load="load",e.initialLoad="initial-load",e.contentChanged="content-changed",e.initialEnd=z,e.iframeMouseDown="iframe-click",e.destroy=F,e.toolbarClick="toolbarClick",e.toolbarRefresh="toolbar-refresh",e.refreshBegin="refresh-begin",e.toolbarUpdated="toolbar-updated",e.bindOnEnd="bind-on-end",e.renderColorPicker="render-color-picker",e.htmlToolbarClick="html-toolbar-click",e.markdownToolbarClick="markdown-toolbar-click",e.destroyColorPicker="destroy-color-picker",e.modelChanged=_,e.keyUp=q,e.keyDown=Q,e.mouseUp="mouseUp",e.toolbarCreated="toolbarCreated",e.toolbarRenderComplete="toolbarRenderComplete",e.enableFullScreen="enableFullScreen",e.disableFullScreen="disableFullScreen",e.dropDownSelect="dropDownSelect",e.beforeDropDownItemRender="beforeDropDownItemRender",e.execCommandCallBack="execCommandCallBack",e.imageToolbarAction="image-toolbar-action",e.linkToolbarAction="link-toolbar-action",e.windowResize="resize",e.resizeStart="resizeStart",e.onResize="resizing",e.resizeStop="resizeStop",e.undo="undo",e.redo="redo",e.insertLink="insertLink",e.unLink="unLink",e.editLink="editLink",e.openLink="openLink",e.actionBegin="actionBegin",e.actionComplete="actionComplete",e.updatedToolbarStatus="updatedToolbarStatus",e.actionSuccess="actionSuccess",e.updateToolbarItem="updateToolbarItem",e.insertImage="insertImage",e.insertCompleted="insertCompleted",e.imageLeft="justifyLeft",e.imageRight="justifyRight",e.imageCenter="justifyCenter",e.imageBreak="break",e.imageInline="inline",e.imageLink="insertImgLink",e.imageAlt="imgAltText",e.imageDelete="delete",e.imageCaption="caption",e.imageSize="imageSize",e.sourceCode="sourceCode",e.updateSource="updateSource",e.toolbarOpen="toolbarOpen",e.beforeDropDownOpen="beforeDropDownOpen",e.selectionSave=V,e.selectionRestore="selection-restore",e.expandPopupClick="expandPopupClick",e.count="count",e.contentFocus="contentFocus",e.contentBlur="contentBlur",e.mouseDown=W,e.sourceCodeMouseDown="sourceCodeMouseDown",e.editAreaClick="editAreaClick",e.scroll="scroll",e.contentscroll="contentscroll",e.colorPickerChanged="colorPickerChanged",e.tableColorPickerChanged="tableColorPickerChanged",e.focusChange="focusChange",e.selectAll="selectAll",e.selectRange="selectRange",e.getSelectedHtml="getSelectedHtml",e.renderInlineToolbar="renderInlineToolbar",e.paste=G,e.imgModule="imageModule",e.rtlMode=K,e.createTable="createTable",e.docClick="docClick",e.tableToolbarAction="table-toolbar-action",e.checkUndo=X,e.readOnlyMode="readOnlyMode",e.pasteClean="pasteClean",e.beforeDialogOpen="beforeDialogOpen",e.clearDialogObj="clearDialogObj",e.dialogOpen="dialogOpen",e.beforeDialogClose="beforeDialogClose",e.dialogClose="dialogClose",e.beforeQuickToolbarOpen="beforeQuickToolbarOpen",e.quickToolbarOpen="quickToolbarOpen",e.quickToolbarClose="quickToolbarClose",e.popupHide="popupHide",e.imageSelected="imageSelected",e.imageUploading="imageUploading",e.imageUploadSuccess="imageUploadSuccess",e.imageUploadFailed="imageUploadFailed",e.imageRemoving="imageRemoving",e.afterImageDelete="afterImageDelete",e.drop="drop",e.xhtmlValidation="xhtmlValidation",e.beforeImageUpload="beforeImageUpload",e.resizeInitialized="resizeInitialized",e.renderFileManager="renderFileManager",e.beforeImageDrop="beforeImageDrop",e.dynamicModule="dynamicModule",e.beforePasteCleanup="beforePasteCleanup",e.afterPasteCleanup="afterPasteCleanup",e.updateTbItemsStatus="updateTbItemsStatus",e.CLS_RTE=Y,e.CLS_RTL="e-rtl",e.CLS_CONTENT="e-content",e.CLS_DISABLED="e-disabled",e.CLS_SCRIPT_SHEET="rte-iframe-script-sheet",e.CLS_STYLE_SHEET="rte-iframe-style-sheet",e.CLS_TOOLBAR="e-rte-toolbar",e.CLS_TB_FIXED="e-rte-tb-fixed",e.CLS_TB_FLOAT="e-rte-tb-float",e.CLS_TB_ABS_FLOAT="e-rte-tb-abs-float",e.CLS_INLINE="e-rte-inline",e.CLS_TB_INLINE="e-rte-tb-inline",e.CLS_RTE_EXPAND_TB="e-rte-tb-expand",e.CLS_FULL_SCREEN="e-rte-full-screen",e.CLS_QUICK_TB=J,e.CLS_POP="e-rte-pop",e.CLS_TB_STATIC="e-tb-static",e.CLS_QUICK_POP="e-rte-quick-popup",e.CLS_QUICK_DROPDOWN="e-quick-dropdown",e.CLS_IMAGE_POP="e-rte-image-popup",e.CLS_INLINE_POP="e-rte-inline-popup",e.CLS_INLINE_DROPDOWN="e-rte-inline-dropdown",e.CLS_DROPDOWN_POPUP=$,e.CLS_DROPDOWN_ICONS="e-rte-dropdown-icons",e.CLS_DROPDOWN_ITEMS=Z,e.CLS_DROPDOWN_BTN=ee,e.CLS_RTE_CONTENT="e-rte-content",e.CLS_TB_ITEM=te,e.CLS_TB_EXTENDED="e-toolbar-extended",e.CLS_TB_WRAP="e-toolbar-wrapper",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="e-hide",e.CLS_VISIBLE="e-visible",e.CLS_FOCUS="e-focused",e.CLS_RM_WHITE_SPACE="e-remove-white-space",e.CLS_IMGRIGHT="e-imgright",e.CLS_IMGLEFT="e-imgleft",e.CLS_IMGCENTER="e-imgcenter",e.CLS_IMGBREAK=ne,e.CLS_CAPTION="e-img-caption",e.CLS_RTE_CAPTION="e-rte-img-caption",e.CLS_CAPINLINE="e-caption-inline",e.CLS_IMGINLINE=ie,e.CLS_COUNT=oe,e.CLS_WARNING="e-warning",e.CLS_ERROR="e-error",e.CLS_ICONS="e-icons",e.CLS_ACTIVE=re,e.CLS_EXPAND_OPEN="e-expand-open",e.CLS_RTE_ELEMENTS="e-rte-elements",e.CLS_TB_BTN="e-tbar-btn",e.CLS_HR_SEPARATOR="e-rte-horizontal-separator",e.CLS_TB_IOS_FIX="e-tbar-ios-fixed",e.CLS_FORMATS_TB_BTN="e-formats-tbar-btn",e.CLS_FONT_NAME_TB_BTN="e-font-name-tbar-btn",e.CLS_FONT_SIZE_TB_BTN="e-font-size-tbar-btn",e.CLS_FONT_COLOR_TARGET="e-rte-fontcolor-element",e.CLS_BACKGROUND_COLOR_TARGET="e-rte-backgroundcolor-element",e.CLS_COLOR_CONTENT="e-rte-color-content",e.CLS_FONT_COLOR_DROPDOWN="e-rte-fontcolor-dropdown",e.CLS_BACKGROUND_COLOR_DROPDOWN="e-rte-backgroundcolor-dropdown",e.CLS_COLOR_PALETTE="e-rte-square-palette",e.CLS_FONT_COLOR_PICKER="e-rte-fontcolor-colorpicker",e.CLS_BACKGROUND_COLOR_PICKER="e-rte-backgroundcolor-colorpicker",e.CLS_RTE_READONLY="e-rte-readonly",e.CLS_TABLE_SEL="e-cell-select",e.CLS_TB_DASH_BOR="e-dashed-border",e.CLS_TB_ALT_BOR=se,e.CLS_TB_COL_RES="e-column-resize",e.CLS_TB_ROW_RES="e-row-resize",e.CLS_TB_BOX_RES="e-table-box",e.CLS_RTE_HIDDEN="e-rte-hidden",e.CLS_RTE_PASTE_KEEP_FORMAT="e-rte-keepformat",e.CLS_RTE_PASTE_REMOVE_FORMAT="e-rte-removeformat",e.CLS_RTE_PASTE_PLAIN_FORMAT="e-rte-plainformat",e.CLS_RTE_PASTE_OK="e-rte-pasteok",e.CLS_RTE_PASTE_CANCEL="e-rte-pastecancel",e.CLS_RTE_DIALOG_MIN_HEIGHT="e-rte-dialog-minheight",e.CLS_RTE_RES_HANDLE="e-resize-handle",e.CLS_RTE_RES_EAST="e-south-east",e.CLS_RTE_IMAGE=ae,e.CLS_RESIZE="e-resize",e.CLS_IMG_FOCUS="e-img-focus",e.CLS_RTE_DRAG_IMAGE="e-rte-drag-image",e.CLS_RTE_UPLOAD_POPUP="e-rte-upload-popup",e.CLS_POPUP_OPEN="e-popup-open",e.CLS_IMG_RESIZE="e-img-resize",e.CLS_DROPAREA="e-droparea",e.CLS_IMG_INNER="e-img-inner",e.CLS_UPLOAD_FILES="e-upload-files",e.CLS_RTE_DIALOG_UPLOAD="e-rte-dialog-upload",e.CLS_RTE_RES_CNT="e-rte-resize",e.CLS_CUSTOM_TILE="e-custom-tile",e.CLS_NOCOLOR_ITEM="e-nocolor-item",e.CLS_TABLE=le,e.CLS_TABLE_BORDER="e-rte-table-border",e.CLS_RTE_TABLE_RESIZE="e-rte-table-resize",e.CLS_RTE_FIXED_TB_EXPAND="e-rte-fixed-tb-expand",e.CLS_RTE_TB_ENABLED="e-rte-toolbar-enabled",e.getIndex=c,e.hasClass=p,e.getDropDownValue=h,e.isIDevice=u,e.getFormattedFontSize=m,e.pageYOffset=g,e.getTooltipText=f,e.setToolbarStatus=b,e.getCollection=v,e.getTBarItemsIndex=y,e.updateUndoRedoStatus=C,e.dispatchEvent=S,e.parseHtml=T,e.getTextNodesUnder=E,e.toObjectLowerCase=N,e.getEditValue=w,e.updateTextNode=k,e.isEditableValueEmpty=L,e.decode=x,e.sanitizeHelper=O,e.convertToBlob=D,e.getLocaleFontFormat=M,e.updateDropDownFontFormatLocale=R,e.ServiceLocator=ze,e.RendererFactory=Fe,e.EditorManager=en,e.IMAGE=Nt,e.TABLE=wt,e.LINK=kt,e.INSERT_ROW="INSERT-ROW",e.INSERT_COLUMN="INSERT-COLUMN",e.DELETEROW="DELETE-ROW",e.DELETECOLUMN="DELETE-COLUMN",e.REMOVETABLE="REMOVE-TABLE",e.TABLEHEADER="TABLE-HEADER",e.TABLE_VERTICAL_ALIGN="TABLE_VERTICAL_ALIGN",e.TABLE_MERGE="TABLE_MERGE",e.TABLE_VERTICAL_SPLIT="TABLE_VERTICAL_SPLIT",e.TABLE_HORIZONTAL_SPLIT="TABLE_HORIZONTAL_SPLIT",e.TABLE_MOVE="TABLE_MOVE",e.ALIGNMENT_TYPE="alignment-type",e.INDENT_TYPE="indent-type",e.DEFAULT_TAG="p",e.BLOCK_TAGS=Lt,e.IGNORE_BLOCK_TAGS=xt,e.TABLE_BLOCK_TAGS=Ot,e.SELECTION_TYPE="selection-type",e.INSERTHTML_TYPE="inserthtml-type",e.INSERT_TEXT_TYPE="insert-text-type",e.CLEAR_TYPE="clear-type",e.CLASS_IMAGE_RIGHT="e-imgright",e.CLASS_IMAGE_LEFT="e-imgleft",e.CLASS_IMAGE_CENTER="e-imgcenter",e.CLASS_IMAGE_BREAK="e-imgbreak",e.CLASS_CAPTION=Ft,e.CLASS_RTE_CAPTION="e-rte-img-caption",e.CLASS_CAPTION_INLINE="e-caption-inline",e.CLASS_IMAGE_INLINE="e-imginline",e.Lists=It,e.markerClassName=Mt,e.DOMNode=Rt,e.Alignments=jt,e.Indents=zt,e.Formats=At,e.LinkCommand=Ut,e.InsertMethods=Bt,e.InsertTextExec=Zt,e.InsertHtmlExec=Kt,e.InsertHtml=Ht,e.IsFormatted=Vt,e.MsWordPaste=$t,e.NodeCutter=Pt,e.ImageCommand=_t,e.SelectionCommands=Wt,e.SelectionBasedExec=Gt,e.ClearFormatExec=Yt,e.UndoRedoManager=Jt,e.TableCommand=qt,e.statusCollection=on,e.ToolbarStatus=rn,e.NodeSelection=Dt,e.MarkdownParser=yt,e.LISTS_COMMAND="lists-commands",e.selectionCommand="command-type",e.LINK_COMMAND="link-commands",e.CLEAR_COMMAND="clear-commands",e.MD_TABLE="insert-table",e.ClearFormat=vt,e.MDLists=ot,e.MDFormats=rt,e.MarkdownSelection=Ze,e.UndoRedoCommands=gt,e.MDSelectionFormats=st,e.MDLink=ft,e.MDTable=bt,e.markdownFormatTags=at,e.markdownSelectionTags=lt,e.markdownListsTags=dt,e.htmlKeyConfig=ct,e.markdownKeyConfig=pt,e.pasteCleanupGroupingTags=ht,e.listConversionFilters=ut,e.selfClosingTags=mt,e.KEY_DOWN="keydown",e.ACTION="action",e.FORMAT_TYPE="format-type",e.KEY_DOWN_HANDLER="keydown-handler",e.LIST_TYPE="list-type",e.KEY_UP_HANDLER="keyup-handler",e.KEY_UP="keyup",e.MODEL_CHANGED_PLUGIN="model_changed_plugin",e.MODEL_CHANGED="model_changed",e.MS_WORD_CLEANUP_PLUGIN="ms_word_cleanup_plugin",e.MS_WORD_CLEANUP="ms_word_cleanup",e}({},ej.base,ej.navigations,ej.splitbuttons,ej.popups,ej.inputs,ej.buttons,ej.filemanager),this.ejs=ej;