{"version":3,"sources":["kendo.editor.js"],"names":["f","define","kendo","UndoRedoStack","Observable","extend","init","options","fn","call","this","clear","events","push","command","stack","slice","currentCommandIndex","undo","canUndo","trigger","redo","canRedo","length","deepExtend","util","amd","a1","a2","a3","$","undefined","Tool","FormatTool","bomFill","emptyElementContent","emptyTableCellContent","window","Class","Widget","ui","os","support","mobileOS","browser","proxy","keys","SELECT","ToolTemplate","getHtml","template","useWithBlock","EditorUtils","editorWrapperTemplate","buttonTemplate","colorPickerTemplate","comboBoxTemplate","dropDownListTemplate","separatorTemplate","overflowAnchorTemplate","formatByName","name","format","i","inArray","tags","registerTool","toolName","tool","toolOptions","cssClass","toLowerCase","Editor","defaultTools","registerFormat","formatName","formats","messages","bold","italic","underline","strikethrough","superscript","subscript","justifyCenter","justifyLeft","justifyRight","justifyFull","insertUnorderedList","insertOrderedList","indent","outdent","createLink","unlink","insertImage","insertFile","insertHtml","viewHtml","fontName","fontNameInherit","fontSize","fontSizeInherit","formatBlock","formatting","foreColor","backColor","style","emptyFolder","editAreaTitle","uploadFile","orderBy","orderBySize","orderByName","invalidFileType","deleteFile","overwriteFile","directoryNotFound","imageWebAddress","imageAltText","imageWidth","imageHeight","fileWebAddress","fileTitle","linkWebAddress","linkText","linkToolTip","linkOpenInNewWindow","dialogUpdate","dialogInsert","dialogOk","dialogCancel","createTable","createTableHint","addColumnLeft","addColumnRight","addRowAbove","addRowBelow","deleteRow","deleteColumn","tableWizard","tableTab","cellTab","accessibilityTab","caption","summary","width","height","cellSpacing","cellPadding","cellMargin","alignment","background","id","border","borderStyle","collapseBorders","wrapText","associateCellsWithHeaders","alignLeft","alignCenter","alignRight","alignLeftTop","alignCenterTop","alignRightTop","alignLeftMiddle","alignCenterMiddle","alignRightMiddle","alignLeftBottom","alignCenterBottom","alignRightBottom","alignRemove","columns","rows","selectAllCells","supportedBrowser","ios","flatVersion","document","documentElement","contentEditable","toolGroups","basic","lists","indenting","links","tables","element","value","toolbarContainer","toolbarOptions","type","domElement","that","editorNS","editor","dom","Dom","tools","_registerHandler","closest","update","_wrapTextarea","wrapper","find","attr","addClass","popup","insertBefore","toolbar","Toolbar","bindTo","setTimeout","heightStyle","expectedHeight","parseInt","actualHeight","indexOf","isNaN","_resizable","_initializeContentElement","keyboard","Keyboard","BackspaceHandler","TypingHandler","SystemHandler","SelectAllHandler","clipboard","Clipboard","undoRedoStack","textarea","encoded","trim","defaultValue","replace","innerHTML","mousedown","_endTyping","mouseup","_mouseup","_initializeImmutables","resize","notify","setOptions","isTypingInProgress","endTyping","saveSelection","e","_selectionChange","_selectionStarted","resizable","isResizable","isPlainObject","content","insertAfter","kendoResizable","start","currentTarget","initialSize","append","delta","y","initialDelta","newSize","min","max","Infinity","Math","resizeend","remove","_initializeTableResizing","TableResizing","create","_showTableResizeHandlesProxy","_showTableResizeHandles","bind","_destroyTableResizing","tableResizing","destroy","unbind","showResizeHandles","_initializeColumnResizing","ColumnResizing","_destroyColumnResizing","columnResizing","_initializeRowResizing","RowResizing","_destroyRowResizing","rowResizing","w","h","editorWrap","editArea","appendTo","css","_createContentElement","stylesheets","iframe","wnd","doc","specifiedDomain","domain","domainScript","src","location","hostname","hide","title","frameBorder","tabIndex","contentWindow","contentDocument","one","decorateFrom","body","open","write","isRtl","msie","edge","map","href","join","close","_blur","old","val","_oldValue","encodedValue","_spellCorrect","beforeCorrection","falseTrigger","contextmenu","_spellCorrectTimeout","RestorePoint","getRange","input","mozilla","_finishUpdate","handler","t","NS","_handlers","hasOwnProperty","split","on","_deregisterHandlers","handlers","off","blurTrigger","mousedownTrigger","_mousedown","execCommand","touch","selectionchange","keydown","_activeElement","focus","range","left","container","offset","direction","next","nextChar","keyCode","BACKSPACE","DELETE","getAttribute","F10","preventDefault","LEFT","RIGHT","nodeType","nodeValue","setStart","collapse","selectRange","toolFromShortcut","keyPressCommand","test","exec","_runPostContentKeyCommands","clearTimeout","keypress","keyup","selectionCodes","TAB","PAGEUP","PAGEDOWN","END","HOME","UP","DOWN","INSERT","ctrlKey","altKey","shiftKey","click","target","createRange","selectNode","cut copy paste","focusin","hasAttribute","show","focusout","toolbarContainerElement","active","get","contains","preventPopupHide","is","focused","removeClass","immutables","Immutables","gecko","which","o","cmd","toolsFromShortcut","changesContent","refresh","_destroyResizings","deserialization","custom","serialization","entities","semantic","scripts","pasteCleanup","all","keepNewLines","msAllFormatting","msConvertLists","msTags","none","span","dialogOptions","modal","draggable","animation","imageBrowser","fileBrowser","text","concat","_focusOutside","dispose","tempInput","blur","state","textNodes","finder","RangeUtils","collapsed","startContainer","getFormat","isFormatted","html","currentHtml","Serializer","domToXhtml","htmlToDom","selectionRestorePoint","refreshTools","commonAncestorContainer","_focusBody","scrollTop","activeElement","restoreSelection","toRange","encode","getSelection","SelectionUtils","selectionFromDocument","selection","removeAllRanges","addRange","rangeCount","getRangeAt","endContainer","startOffset","endOffset","selectedHtml","cloneContents","paste","InsertHtmlCommand","params","prevented","Error","toolById","managesUndoRedo","async","change","key","ctrl","plugin","initialize","unselectable","children","commandArguments","noop","FormatCommand","formatter","nodes","toggleClass","version","_bomFill","PDFMixin","prototype","_drawPDF","drawing","drawDOM","pdf","saveAsPDF","progress","Deferred","promise","args","then","root","exportPDF","done","dataURI","saveAs","fileName","proxyURL","forceProxy","resolve","fail","err","reject","jQuery","makeMap","items","len","obj","whitespace","emptyspace","rgb","bom","whitespaceOrBom","persistedScrollTop","cssAttributes","htmlRe","entityRe","entityTable","STYLE","FLOAT","CSSFLOAT","STYLEFLOAT","CLASS","KMARKER","empty","nonListBlockElements","blockElements","block","inlineElements","inline","fillAttrs","normalize","node","parent","firstChild","prev","nextSibling","34","38","39","60","62","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191","192","193","194","195","196","197","198","199","200","201","202","203","204","205","206","207","208","209","210","211","212","213","214","215","216","217","218","219","220","221","222","223","224","225","226","227","228","229","230","231","232","233","234","235","236","237","238","239","240","241","242","243","244","245","246","247","248","249","250","251","252","253","254","255","402","913","914","915","916","917","918","919","920","921","922","923","924","925","926","927","928","929","931","932","933","934","935","936","937","945","946","947","948","949","950","951","952","953","954","955","956","957","958","959","960","961","962","963","964","965","966","967","968","969","977","978","982","8226","8230","8242","8243","8254","8260","8472","8465","8476","8482","8501","8592","8593","8594","8595","8596","8629","8656","8657","8658","8659","8660","8704","8706","8707","8709","8711","8712","8713","8715","8719","8721","8722","8727","8730","8733","8734","8736","8743","8744","8745","8746","8747","8756","8764","8773","8776","8800","8801","8804","8805","8834","8835","8836","8838","8839","8853","8855","8869","8901","8968","8969","8970","8971","9001","9002","9674","9824","9827","9829","9830","338","339","352","353","376","710","732","8194","8195","8201","8204","8205","8206","8207","8211","8212","8216","8217","8218","8220","8221","8222","8224","8225","8240","8249","8250","8364","findNodeIndex","skipText","previousSibling","isDataNode","data","isAncestorOf","parentNode","isAncestorOrSelf","findClosestAncestor","getNodeLength","childNodes","splitDataNode","temp","newNode","cloneNode","denormalizedText","iterator","deleteData","attrEquals","attributes","cssFloat","blockParentOrBody","parentOfType","ownerDocument","blockParents","blocks","windowFromDocument","defaultView","parentWindow","nodeTypes","ELEMENT_NODE","ATTRIBUTE_NODE","TEXT_NODE","CDATA_SECTION_NODE","ENTITY_REFERENCE_NODE","ENTITY_NODE","PROCESSING_INSTRUCTION_NODE","COMMENT_NODE","DOCUMENT_NODE","DOCUMENT_TYPE_NODE","DOCUMENT_FRAGMENT_NODE","NOTATION_NODE","toHex","color","matches","x","toString","encodableChars","c","charCode","charCodeAt","entity","isBom","stripBom","stripBomNode","removeChild","insignificant","className","_moz_dirty","_moz_editor_bogus_node","tableCell","significantNodes","grep","child","emptyTextNode","emptyNode","nodeName","significantChildNodes","isWhitespace","lastTextNode","result","lastChild","isMarker","isEmptyspace","htmlIndentSpace","sibling","isPrevBlock","isNextBlock","el","isBlock","isEmpty","isInline","list","scrollContainer","webkit","compatMode","scrollTo","elementTop","elementHeight","windowHeight","innerHeight","top","offsetHeight","ceil","persistScrollTop","offsetParent","offsetTop","offsetLeft","restoreScrollTop","insertAt","newElement","position","referenceElement","removeTextSiblings","tag","closestBy","condition","rootCondition","ofType","changeTag","tagName","skipAttributes","attribute","specified","cssText","setAttribute","appendChild","editableParent","wrap","unwrap","createElement","removeAttribute","unstyle","inlineStyle","getEffectiveBackground","backgroundStyle","innerText","classNames","classes","commonAncestor","ancestors","first","j","count","arguments","paths","minPathLength","output","reverse","closestSplittableParent","editableParents","editableAncestor","apply","closestEditable","types","editable","closestEditableOfType","filter","invert","filterFn","filterBy","match","ensureTrailingBreaks","elements","ensureTrailingBreak","removeTrailingBreak","br","supportsLeadingWhitespace","isFunction","TD","fontSizeMappings","quoteRe","brRe","pixelRe","emptyPRe","cssDeclaration","sizzleAttr","scriptAttr","onerrorRe","div","toEditableHtml","_toEditableImmutables","immutable","last","prependTo","_fillEmptyElements","each","p","_removeSystemElements","_resetOrderedLists","ol","originalStart","ols","getElementsByTagName","_preventScriptExecution","l","legacyIE","originalSrc","originalHref","deserialize","semanticFilter","cssProperties","property","properties","lastIndex","styleAttr","specifiedAttributes","$node","sort","a","b","htmlEncode","skip","skipEncoding","childNode","isEmptyBomNode","mapper","previous","hasClass","serialize","tagMap","end","textOnly","childrenCount","textChild","runCustom","k:script","font","size","semanticAttributes","textDecoration","fontFamily","strong","em","u","face","script","compareBoundaries","startAncestor","endAncestor","fixIvalidRange","toStart","isInvalidRange","ex","updateRangeProperties","textRangeContainer","textRange","duplicate","right","parentElement","adoptContainer","cursorNode","textOffset","isData","anchorNode","anchorParent","cursor","createTextRange","moveToElementText","setEndPoint","adoptEndPoint","index","comparison","appended","compareEndPoints","RangeIterator","W3CSelection","RangeEnumerator","ImmutablesRangeIterator","ImmutablesRangeEnumerator","Marker","boundary","selectionFromWindow","selectionFromRange","rangeDocument","documentFromRange","W3CRange","setEnd","setStartBefore","setStartAfter","setEndBefore","setEndAfter","selectNodeContents","deleteContents","cloneRange","deleteSubtree","hasPartialSubtree","getSubtreeIterator","cloneSubtree","frag","createDocumentFragment","extractContents","extractSubtree","originalRange","insertNode","startNodeName","endNodeName","fromNode","_current","_next","_end","hasNext","current","traverse","callback","nodeIndex","inStartContainer","inEndContainer","getSubRange","subRange","select","movedStart","movedEnd","item","enumerate","visit","rootNode","getEditable","nodeToPath","serializedImmutables","removeImmutables","restoreImmutables","lastType","restoreHtml","path","toRangePoint","denormalizedOffset","caret","addCaret","removeCaret","containerIndex","textNode","add","expand","rangeBoundary","isExpandable","_removeDeadMarkers","createTextNode","_normalizedIndex","pointer","shouldNormalizeStart","shouldNormalizeEnd","shouldNormalize","collapsedToStart","startParent","endParent","startIndex","endIndex","editableTextNodes","immutableParent","image","stringify","partition","contents","partitionRange","mapAll","mapped","getAll","predicate","selector","getMarkers","isStartOf","isEndOf","wrapSelectedElements","isEnd","startEditable","endEditable","beforeCaret","afterCaret","search","substring","finishUpdate","startRestorePoint","endRestorePoint","GenericCommand","selected","getSibling","PREVIOUS_SIBLING","Command","restorePoint","marker","lockRange","releaseRange","point","createDialog","kendoWindow","toggle","expandImmutablesIn","genericCommand","postProcess","InsertHtmlTool","initOptions","dataSource","_selectBox","SelectBox","dataTextField","dataValueField","highlightFirst","selectbox","tableCells","tableCellsWrappers","tableElements","inTable","RemoveTableContent","cellsTypes","startCell","endCell","_removeContent","cell","forwards","getNext","removeTableContent","backspaceHandler","isTypingKey","evt","Event","isDefaultPrevented","immutablesContext","deleteSelection","startTyping","_addCaret","_restoreCaret","_handleDelete","_merge","_cleanBomBefore","_handleBackspace","li","ListFormatter","_handleSelection","ancestor","table","emptyParagraphContent","_handleImmutables","_join","startImmutable","endImmutable","_root","dest","_mergeWithTextNode","appendedNode","_isCaret","method","backspace","del","systemCommandIsInProgress","createUndoCommand","changed","isModifierKey","isSystem","_toSelectableImmutables","_selectEditorBody","typingInProgress","isCharacter","String","fromCharCode","alt","shift","matchesKey","found","matchKey","toolKey","isArray","onEndTyping","stopTyping","force","timeout","what","cleaners","ScriptCleaner","TabCleaner","MSWordFormatCleaner","WebkitFormatCleaner","HtmlTagsCleaner","HtmlAttrCleaner","HtmlContentCleaner","CustomCleaner","htmlToFragment","fragment","_startModification","_inProgress","_endModification","modificationInfo","_contentModification","before","after","_removeBomNodes","_onBeforeCopy","oncopy","oncut","_fileToDataURL","blob","deferred","reader","FileReader","File","getAsFile","onload","readAsDataURL","_triggerPaste","_handleImagePaste","clipboardData","images","originalEvent","files","when","results","Array","onpaste","r","clipboardRange","clipboardNode","_decoreateClipboardNode","_moveToCaretPosition","containers","clean","borderWidth","overflow","margin","padding","fontVariant","fontWeight","lineSpacing","lineHeight","nodeOffset","caretOffset","_caretOffset","translateX","translateY","translate","-webkit-transform","transform","rangeChanged","isStartTextNode","prevLength","bomNode","splittableParent","splittable","fragmentsHtml","rangeEnd","skipCleaners","applicable","display","Cleaner","replacements","customReplacements","replacement","junkReplacements","convertFontMatch","$0","$1","closing","faceRe","family","stripEmptyAnchors","listType","listData","startingSymbol","matchSymbol","symbol","isNumber","trimStartText","_guessUnorderedListStyle","_guessOrderedListStyle","_convertToLi","extractListLevels","msoListRegExp","level","placeholder","rootMargin","listContainer","listIndex","levelType","blockChildren","lastMargin","levels","parseFloat","marginLeft","listStyleType","removeAttributes","removeAttributeNode","createColGroup","row","cells","colgroup","convertHeaders","boldedCells","removeParagraphs","paragraphs","removeDefaultColors","spans","firstRow","longestRow","eq","headers","titles","removeFormatting","filters","DomCleaner","cleanDom","collectTags","collectAttr","removeAttr","TextContainer","HtmlTextLines","separators","line","lines","inlineBlockText","resetLine","appendText","textContainer","appendInlineBlockText","flashInlineBlockText","endLine","il","il1","jl","jl1","DomEnumerator","preventDown","hasText","enumerator","buildText","getDefaultSeparators","htmlLines","action","actions","ul","thead","tbody","td","cleaner","tdCleaner","cellText","PrintCommand","print","ExportPdfCommand","initialValue","InlineFormatFinder","numberOfSiblings","referenceNode","textNodesCount","elementNodesCount","markerCount","findSuitable","sourceNode","findFormat","InlineFormatter","values","activate","formatNode","formatNodes","consolidate","pop","GreedyInlineFormatFinder","greedyProperty","getInlineCssValue","attributeValue","pair","cssIndex","propertyAndValue","getFormatInner","parents","parentsUntil","addBack","toArray","GreedyInlineFormatter","toCamelCase","InlineFormatTool","DelayedExecutionTool","FontTool","cssAttr","domAttr","ColorTool","palette","_widget","ColorPicker","toolIcon","fontStyle","listElements","BlockFormatFinder","candidate","suitable","_resolveListsItems","ImmutablesNS","BlockFormatter","imageFormat","imageAttributes","nonImages","applyFormatting","immutableFormat","splice","namedFormat","GreedyBlockFormatter","immutalbeParent","blockFormatter","formatTag","_initOptions","BlockFormatTool","textAlign","float","marginRight","listStylePosition","ParagraphCommand","_insertMarker","_moveFocus","focusNode","shouldTrim","startInBlock","endInBlock","_blankAfter","paragraph","heading","rng","parentChildrenLength","siblings","NewLineCommand","filler","oldIE","ListFormatFinder","unwrapTag","isList","isImmutable","containsAny","_parentLists","merge","breakable","applyOnSection","section","pushAncestor","addLastSection","lastSection","sections","lastNodes","ListCommand","ListTool","lastIndexOfRegExp","str","indexOfRegExp","HTTP_PROTOCOL","protocolRegExp","endLinkCharsRegExp","LinkFormatFinder","LinkFormatter","markers","ref","UnlinkCommand","LinkCommand","url","_dialogTemplate","img","dialog","_initialText","_range","_close","visible","_apply","_keydown","linkUrl","_dialog","center","ENTER","ESC","textInput","anchor","AutoLinkCommand","linkMarker","linkRange","detectedLink","detectLink","_ensureWebProtocol","traverser","LeftDomTextTraverser","cancelAtNode","detection","DomTextLinkDetection","hasProtocol","_hasProtocolPrefix","_prefixWithWebProtocol","UnlinkTool","DomPos","puntuationOptions","puntuationTraverser","_detectEnd","blank","clone","_detectStart","_isLinkDetected","extendOptions","RightDomTextTraverser","_skipStartPuntuation","ii","DomTextTraverser","cancel","_traverse","edgeNode","subText","splitIndex","SPACEBAR","KEDITORFILEURL","KEDITORFILETITLE","FileCommand","file","showBrowser","applied","keyDown","FileBrowser","transport","read","_fileBrowser","ev","KEDITORIMAGEURL","KEDITORIMAGETITLE","KEDITORIMAGEWIDTH","KEDITORIMAGEHEIGHT","ImageCommand","removeIEAttributes","onerror","ImageBrowser","_imageBrowser","DropDownList","_initSelectOverlay","autoSize","listWidth","whiteSpace","_listWidth","scrollbar","selectBox","view","decorate","indentDirection","IndentFormatter","targets","parentList","siblingList","nestedList","targetIndex","mapImmutables","targetNode","listParent","nextAll","IndentCommand","indentFormatter","OutdentCommand","OutdentTool","isOutdentable","listParentsCount","suitableNodes","ViewHtmlCommand","unwrapListItem","listFormatter","FormattingTool","toFormattingItem","dot","context","kendoSelectBox","dataItem","toJSON","dataBound","getFormattingValue","n","_ancestor","field","operator","CleanFormatCommand","tagsToClean","outerWidth","_outerWidth","outerHeight","_outerHeight","OVERFLOWANCHOR","focusable","OverflowAnchorTool","overflowPopup","_initPopup","_resizeHandler","onResize","groups","advanced","fonts","colors","overflowFlaseTools","prepend","dragHandle","effects","minHeight","autoFocus","dragend","_moved","_toggleOverflowStyles","_initOverflowPopup","popupTemplate","kendoPopup","origin","copyAnchorStyles","focusOverflowPopup","toolGroupFor","isCustomTool","_editor","expandTools","render","combobox","dropDown","isOpened","stopImmediatePropagation","_attachEvents","inheritText","_toolName","overflowAnchor","description","tooltip","_appendShortcutSequence","editorElement","editorOffset","editorOptions","TABINDEX","localizedText","res","_nativeTools","currentTool","nativeTools","endGroup","group","groupPosition","startGroup","toolElement","groupName","newGroupName","toolConfig","updateGroups","angular","unbindResize","popupElement","attachToolsEvents","buttons","enabledButtons","disabledButtons","move","constrain","focusElement","currentContainer","button","stopPropagation","toolname","lastIndexOf","_immutablesContext","_updateImmutablesState","uiData","widget","groupUi","uiElement","trackImmutables","toolsToBeUpdated","_resize","containerWidth","_refreshWidths","_shrink","_stretch","idx","visibleGroups","_groupsWidth","_visibleGroups","_hideGroup","hiddenGroups","_hiddenGroups","_showGroup","detach","ACTIVESTATE","SELECTEDSTATE","getTouches","columnTemplate","tableFormatFinder","TableCommand","_tableHtml","columnHtml","rowHeight","insertedTable","PopupTool","twTool","_open","_activate","_toggle","_popup","TableWizardTool","TableWizardCommand","insertNewTable","InsertTableTool","cols","tableFromLocation","floor","clientY","cellHeight","col","clientX","scrollLeft","cellWidth","firstCell","lastCell","getOffset","offsetWidth","autoApplyNS","_setTableSize","_exec","_valid","status","selectedRows","selectedColumns","tableSize","InsertRowCommand","cellCount","newRow","InsertColumnCommand","columnIndex","newCell","DeleteRowCommand","DeleteColumnCommand","columnCount","TableModificationTool","lowerBound","upperBound","getScrollBarWidth","scrollHeight","clientHeight","calculatePercentageRatio","total","inPercentages","STRING","REGEX_NUMBER_IN_PERCENTAGES","inPixels","REGEX_NUMBER_IN_PIXELS","toPercentages","PERCENTAGE","toPixels","PIXEL","global","math","ResizingUtils","KEY_DOWN","MOUSE_DOWN","MOUSE_ENTER","MOUSE_LEAVE","MOUSE_MOVE","MOUSE_UP","COMMA","DOT","LAST_CHILD","TABLE","TableElementResizing","_attachEventHandlers","eventNamespace","rootElement","_destroyResizeHandle","rtl","handle","dataAttribute","detectElementBorderHovering","resizingInProgress","resizing","handleOptions","tableElement","resizeHandle","elementBorderHovered","showResizeHandle","_initResizeHandle","setResizeHandlePosition","setResizeHandleDimensions","setResizeHandleDataAttributes","_attachResizeHandleEventHandlers","_initResizable","_hideResizeMarker","markerClass","_destroyResizable","Resizable","draggableElement","onResizeStart","onResizeEnd","_disableKeyboard","setResizeHandleDragPosition","_enableKeyboard","_forceResizing","userEvents","ResizingFactory","resizingName","_destroyResizing","_initResizing","parentTable","resizingType","abs","RESIZE_HANDLE_CLASS","RESIZE_MARKER_CLASS","BODY","TBODY","TH","TR","WIDTH","column","handleWidth","borderOffset","mousePosition","tableBody","scrollTopOffset","scrollLeftOffset","columnWidthOffset","scrollBarWidth","columnWidth","columnLeftOffset","adjacentColumnWidth","handleOffset","newWidth","initialAdjacentColumnWidth","initialColumnWidth","rtlModifier","initialDeltaX","_setTableComputedWidth","_setColumnsComputedWidth","_resizeColumn","_resizeTopAndBottomColumns","_resizeAdjacentColumns","tableBodyWidth","currentColumnsWidths","topAndBottomColumns","deltaWidth","adjacentColumns","_resizeAdjacentColumn","adjacentColumn","RESIZE_HANDLE_MARKER_WRAPPER_CLASS","HEIGHT","handleHeight","rowPosition","tableBodyTopOffset","currentRowHeight","initialTableHeight","tableBodyHeight","initialStyleHeight","newRowHeight","_setRowsHeightInPixels","_setTableHeight","_setRowsHeightInPercentages","currentRowsHeights","newHeight","HandlePositioningStrategy","EastPositioningStrategy","NorthPositioningStrategy","NortheastPositioningStrategy","NorthwestPositioningStrategy","SouthPositioningStrategy","SoutheastPositioningStrategy","SouthwestPositioningStrategy","WestPositioningStrategy","DraggingStrategyFactory","HandleDraggingStrategy","HorizontalDraggingStrategy","EastDraggingStrategy","WestDraggingStrategy","VerticalDraggingStrategy","NorthDraggingStrategy","SouthDraggingStrategy","HorizontalAndVerticalDraggingStrategy","NorthEastDraggingStrategy","NorthWestDraggingStrategy","SouthEastDraggingStrategy","SouthWestDraggingStrategy","Draggable","DRAG_START","DRAG","DRAG_END","HALF_INSIDE","MOUSE_OVER","MOUSE_OUT","EAST","NORTH","NORTHEAST","NORTHWEST","SOUTH","SOUTHEAST","SOUTHWEST","WEST","TableResizeHandle","_addStyles","_initDraggable","_initPositioningStrategy","_initDraggingStrategy","resizableElement","_destroyDraggable","_setPosition","_positioningStrategy","getPosition","_onMouseOver","_onMouseOut","_draggable","dragstart","_onDragStart","drag","_onDrag","_onDragEnd","_draggingStrategy","adjustDragDelta","deltaX","deltaY","initialDeltaY","StrategyFactory","_items","register","itemsLength","PositioningStrategyFactory","calculatePosition","handleOffsetPosition","applyHandleOffset","scrollOffsetPosition","applyScrollOffset","adjustment","modifier","deltas","xAxisAdjustment","yAxisAdjustment","isUndefined","RESIZE_HANDLE_WRAPPER_CLASS","TABLE_CLASS","TABLE_RESIZING_CLASS","COLUMN","ROW","handles","_destroyResizeHandles","appendHandlesTo","minWidth","_resizeWidth","_resizeHeight","ratioValue","ratioTotalValue","constrainedWidth","styleWidth","currentWidth","parentWidth","maxWidth","_getMaxDimensionValue","_initialElementWidth","_setColumnsWidth","constrainedHeight","styleHeight","currentHeight","parentHeight","maxHeight","hasRowsInPixels","_hasRowsInPixels","_initialElementHeight","dimension","dimensionLowercase","parentDimension","parentScrollOffset","isWidthInPercentages","parentColumn","columnsLength","_initResizeHandles","_showResizeHandles","_bindToResizeHandlesEvents","_onResizeHandleDragStart","_onResizeHandleDrag","_onResizeHandleDragEnd","_onResizeHandleMouseOver","_onResizeHandleMouseOut","TableResizingFactory","factory","eventTarget","eventCurrentTarget","isResizeHandleOrChild","complexBlocks","IMMUTABALE","IMMUTABALE_MARKER_SELECTOR","IMMUTABLE_SELECTOR","startImmutableParent","endImmutableParent","editableNodes","randomId","chars","charAt","round","random","serialized","replaceWith","deletingKey","updateToolOptions","_toHtml","serializationType","isDeleting","shouldCancelEvent","_cancelDeleting","_cancelTyping","cancelDeleting","closestSelectionLi","closestImmutableLi","nextImmutable","_removeImmutable","commonContainer","_nextNode","cellsFormatFinder","reUnit","selectedTable","_sourceTable","_selectedTable","selectedCells","_selectedTableCells","_selectedCells","closeCallback","onDialogClose","parseTable","TableWizardDialog","insertTable","createNewTable","updateTable","lastSelectedRow","rowIndex","cellsLength","newRowsCount","cellIndex","cellProp","tableRows","tableProp","tableProperties","collection","_deleteTableRows","insertRow","_insertCells","deleteCell","_updateTableProperties","cellProperties","_updateCellProperties","_updateCaption","cellsWithHeaders","cellsWithHeadersAssociated","associateCellsWithHeader","_isHeadingRow","associate","nextRow","isDataRow","timestamp","Date","getTime","ids","generateIds","modifySellsIds","modifyCellsHeadings","isHeadingRow","associatedCells","headingIds","headersAttr","insertCell","rowParent","cellPropToAll","createTBody","_getStylesData","captionContent","deleteCaption","createCaption","_getAlignmentData","captionAlignment","verticalAlign","widthUnit","heightUnit","backgroundColor","bgColor","borderColor","borderCollapse","align","tStyle","captionClone","tableAlignment","tableJson","_getAlignment","_getUnit","parseTableRows","rowData","cellData","parseCell","cStyle","horizontalOnly","vAlign","hAlign","unit","TableWizardEditTool","numericTextBoxSettings","units","borderStyles","tableAlignmentDropDownSettings","valueTemplate","cellAlignmentDropDownSettings","accessibilityAlignmentDropDownSettings","dialogTemplate","okHandler","collectDialogValues","tableData","closeHandler","_initTabStripComponent","_initTableViewComponents","_initCellViewComponents","_initAccessibilityViewComponents","components","tabStrip","kendoTabStrip","_collectTableViewValues","_collectCellViewValues","_collectAccessibilityViewValues","tableView","checked","cellView","accessibilityView","_addUnit","_initNumericTextbox","_initDropDownList","_initTableAlignmentDropDown","_initColorPicker","_initInput","_initCheckbox","_initCellAlignmentDropDown","_initAccessibilityAlignmentDropDown","storage","settings","component","kendoNumericTextBox","kendoDropDownList","_setComponentValue","_initAlignmentDropDown","kendoColorPicker","_destroyComponents"],"mappings":"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CLC,IAAK,SACLC,IAAK,SACLC,IAAK,SACLC,IAAK,SACLC,IAAK,SACLC,IAAK,QACLC,IAAK,SACLC,IAAK,OACLC,IAAK,QACLC,IAAK,QACLC,IAAK,SACLC,IAAK,SACLC,IAAK,SACLC,IAAK,QACLC,IAAK,OACLC,IAAK,SACLC,IAAK,SACLC,IAAK,QACLC,IAAK,OACLC,IAAK,MACLC,IAAK,SACLC,IAAK,SACLC,IAAK,SACLC,IAAK,QACLC,IAAK,SACLC,IAAK,OACLC,IAAK,QACLC,IAAK,SACLC,IAAK,SACLC,IAAK,SACLC,IAAK,QACLC,IAAK,OACLC,IAAK,SACLC,IAAK,QACLC,IAAK,QACLC,IAAK,SACLC,IAAK,SACLC,IAAK,QACLC,IAAK,SACLC,IAAK,OACLC,IAAK,QACLC,IAAK,QACLC,IAAK,SACLC,IAAK,SACLC,IAAK,SACLC,IAAK,QACLC,IAAK,OACLC,IAAK,SACLC,IAAK,SACLC,IAAK,QACLC,IAAK,OACLC,IAAK,MACLC,IAAK,SACLC,IAAK,SACLC,IAAK,SACLC,IAAK,QACLC,IAAK,SACLC,IAAK,OACLC,IAAK,SACLC,IAAK,SACLC,IAAK,SACLC,IAAK,SACLC,IAAK,QACLC,IAAK,OACLC,IAAK,SACLC,IAAK,QACLC,IAAK,OACLC,IAAK,OACLC,IAAK,QACLC,IAAK,OACLC,IAAK,QACLC,IAAK,QACLC,IAAK,UACLC,IAAK,OACLC,IAAK,MACLC,IAAK,QACLC,IAAK,OACLC,IAAK,QACLC,IAAK,SACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,UACLC,IAAK,KACLC,IAAK,MACLC,IAAK,QACLC,IAAK,MACLC,IAAK,UACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,QACLC,IAAK,QACLC,IAAK,OACLC,IAAK,QACLC,IAAK,QACLC,IAAK,UACLC,IAAK,OACLC,IAAK,MACLC,IAAK,QACLC,IAAK,OACLC,IAAK,QACLC,IAAK,SACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,UACLC,IAAK,KACLC,IAAK,MAC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","file":"kendo.editor.min.js","sourcesContent":["/*!\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function (f, define) {\n define('util/undoredostack', ['kendo.core'], f);\n}(function () {\n (function (kendo) {\n var UndoRedoStack = kendo.Observable.extend({\n init: function (options) {\n kendo.Observable.fn.init.call(this, options);\n this.clear();\n },\n events: [\n 'undo',\n 'redo'\n ],\n push: function (command) {\n this.stack = this.stack.slice(0, this.currentCommandIndex + 1);\n this.currentCommandIndex = this.stack.push(command) - 1;\n },\n undo: function () {\n if (this.canUndo()) {\n var command = this.stack[this.currentCommandIndex--];\n command.undo();\n this.trigger('undo', { command: command });\n }\n },\n redo: function () {\n if (this.canRedo()) {\n var command = this.stack[++this.currentCommandIndex];\n command.redo();\n this.trigger('redo', { command: command });\n }\n },\n clear: function () {\n this.stack = [];\n this.currentCommandIndex = -1;\n },\n canUndo: function () {\n return this.currentCommandIndex >= 0;\n },\n canRedo: function () {\n return this.currentCommandIndex != this.stack.length - 1;\n }\n });\n kendo.deepExtend(kendo, { util: { UndoRedoStack: UndoRedoStack } });\n }(kendo));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/main', [\n 'util/undoredostack',\n 'kendo.combobox',\n 'kendo.dropdownlist',\n 'kendo.window',\n 'kendo.colorpicker'\n ], f);\n}(function () {\n (function ($, undefined) {\n var kendo = window.kendo, Class = kendo.Class, Widget = kendo.ui.Widget, os = kendo.support.mobileOS, browser = kendo.support.browser, extend = $.extend, proxy = $.proxy, deepExtend = kendo.deepExtend, keys = kendo.keys;\n var SELECT = 'select';\n var ToolTemplate = Class.extend({\n init: function (options) {\n this.options = options;\n },\n getHtml: function () {\n var options = this.options;\n return kendo.template(options.template, { useWithBlock: false })(options);\n }\n });\n var EditorUtils = {\n editorWrapperTemplate: '' + '' + '' + '
    ',\n buttonTemplate: '# var iconCssClass= \"k-i-\" + kendo.toHyphens(data.cssClass.replace(\"k-\", \"\"));#' + '#= data.title #',\n colorPickerTemplate: '
    ',\n comboBoxTemplate: '',\n separatorTemplate: '',\n overflowAnchorTemplate: '',\n formatByName: function (name, format) {\n for (var i = 0; i < format.length; i++) {\n if ($.inArray(name, format[i].tags) >= 0) {\n return format[i];\n }\n }\n },\n registerTool: function (toolName, tool) {\n var toolOptions = tool.options;\n if (toolOptions && toolOptions.template) {\n toolOptions.template.options.cssClass = 'k-' + toolName;\n }\n if (!tool.name) {\n tool.options.name = toolName;\n tool.name = toolName.toLowerCase();\n }\n Editor.defaultTools[toolName] = tool;\n },\n registerFormat: function (formatName, format) {\n Editor.fn.options.formats[formatName] = format;\n }\n };\n var messages = {\n bold: 'Bold',\n italic: 'Italic',\n underline: 'Underline',\n strikethrough: 'Strikethrough',\n superscript: 'Superscript',\n subscript: 'Subscript',\n justifyCenter: 'Center text',\n justifyLeft: 'Align text left',\n justifyRight: 'Align text right',\n justifyFull: 'Justify',\n insertUnorderedList: 'Insert unordered list',\n insertOrderedList: 'Insert ordered list',\n indent: 'Indent',\n outdent: 'Outdent',\n createLink: 'Insert hyperlink',\n unlink: 'Remove hyperlink',\n insertImage: 'Insert image',\n insertFile: 'Insert file',\n insertHtml: 'Insert HTML',\n viewHtml: 'View HTML',\n fontName: 'Select font family',\n fontNameInherit: '(inherited font)',\n fontSize: 'Select font size',\n fontSizeInherit: '(inherited size)',\n formatBlock: 'Format',\n formatting: 'Format',\n foreColor: 'Color',\n backColor: 'Background color',\n style: 'Styles',\n emptyFolder: 'Empty Folder',\n editAreaTitle: 'Editable area. Press F10 for toolbar.',\n uploadFile: 'Upload',\n orderBy: 'Arrange by:',\n orderBySize: 'Size',\n orderByName: 'Name',\n invalidFileType: 'The selected file \"{0}\" is not valid. Supported file types are {1}.',\n deleteFile: 'Are you sure you want to delete \"{0}\"?',\n overwriteFile: 'A file with name \"{0}\" already exists in the current directory. Do you want to overwrite it?',\n directoryNotFound: 'A directory with this name was not found.',\n imageWebAddress: 'Web address',\n imageAltText: 'Alternate text',\n imageWidth: 'Width (px)',\n imageHeight: 'Height (px)',\n fileWebAddress: 'Web address',\n fileTitle: 'Title',\n linkWebAddress: 'Web address',\n linkText: 'Text',\n linkToolTip: 'ToolTip',\n linkOpenInNewWindow: 'Open link in new window',\n dialogUpdate: 'Update',\n dialogInsert: 'Insert',\n dialogOk: 'Ok',\n dialogCancel: 'Cancel',\n createTable: 'Create table',\n createTableHint: 'Create a {0} x {1} table',\n addColumnLeft: 'Add column on the left',\n addColumnRight: 'Add column on the right',\n addRowAbove: 'Add row above',\n addRowBelow: 'Add row below',\n deleteRow: 'Delete row',\n deleteColumn: 'Delete column',\n tableWizard: 'Table Wizard',\n tableTab: 'Table',\n cellTab: 'Cell',\n accessibilityTab: 'Accessibility',\n caption: 'Caption',\n summary: 'Summary',\n width: 'Width',\n height: 'Height',\n cellSpacing: 'Cell Spacing',\n cellPadding: 'Cell Padding',\n cellMargin: 'Cell Margin',\n alignment: 'Alignment',\n background: 'Background',\n cssClass: 'CSS Class',\n id: 'ID',\n border: 'Border',\n borderStyle: 'Border Style',\n collapseBorders: 'Collapse borders',\n wrapText: 'Wrap text',\n associateCellsWithHeaders: 'Associate cells with headers',\n alignLeft: 'Align Left',\n alignCenter: 'Align Center',\n alignRight: 'Align Right',\n alignLeftTop: 'Align Left Top',\n alignCenterTop: 'Align Center Top',\n alignRightTop: 'Align Right Top',\n alignLeftMiddle: 'Align Left Middle',\n alignCenterMiddle: 'Align Center Middle',\n alignRightMiddle: 'Align Right Middle',\n alignLeftBottom: 'Align Left Bottom',\n alignCenterBottom: 'Align Center Bottom',\n alignRightBottom: 'Align Right Bottom',\n alignRemove: 'Remove Alignment',\n columns: 'Columns',\n rows: 'Rows',\n selectAllCells: 'Select All Cells'\n };\n var supportedBrowser = !os || os.ios && os.flatVersion >= 500 || !os.ios && typeof document.documentElement.contentEditable != 'undefined';\n var toolGroups = {\n basic: [\n 'bold',\n 'italic',\n 'underline'\n ],\n alignment: [\n 'justifyLeft',\n 'justifyCenter',\n 'justifyRight'\n ],\n lists: [\n 'insertUnorderedList',\n 'insertOrderedList'\n ],\n indenting: [\n 'indent',\n 'outdent'\n ],\n links: [\n 'createLink',\n 'unlink'\n ],\n tables: [\n 'tableWizard',\n 'createTable',\n 'addColumnLeft',\n 'addColumnRight',\n 'addRowAbove',\n 'addRowBelow',\n 'deleteRow',\n 'deleteColumn'\n ]\n };\n var Editor = Widget.extend({\n init: function (element, options) {\n var that = this, value, editorNS = kendo.ui.editor, toolbarContainer, toolbarOptions, type;\n var domElement;\n var dom = editorNS.Dom;\n if (!supportedBrowser) {\n return;\n }\n Widget.fn.init.call(that, element, options);\n that.options = deepExtend({}, that.options, options);\n that.options.tools = that.options.tools.slice();\n element = that.element;\n domElement = element[0];\n type = dom.name(domElement);\n this._registerHandler(element.closest('form'), 'submit', proxy(that.update, that, undefined));\n toolbarOptions = extend({}, that.options);\n toolbarOptions.editor = that;\n if (type == 'textarea') {\n that._wrapTextarea();\n toolbarContainer = that.wrapper.find('.k-editor-toolbar');\n if (domElement.id) {\n toolbarContainer.attr('aria-controls', domElement.id);\n }\n } else {\n that.element.attr('contenteditable', true).addClass('k-widget k-editor k-editor-inline');\n toolbarOptions.popup = true;\n toolbarContainer = $('');\n var block = this.isBlock(html);\n editor.focus();\n var range = editor.getRange();\n range.deleteContents();\n if (range.startContainer == editor.document) {\n range.selectNodeContents(editor.body);\n }\n var marker = new Marker();\n var caret = marker.addCaret(range);\n var parent = this.splittableParent(block, caret);\n var unwrap = false;\n var splittable = parent != editor.body && !dom.is(parent, 'td');\n if (options.split && splittable && (block || dom.isInline(parent))) {\n range.selectNode(caret);\n editorNS.RangeUtils.split(range, parent, true);\n unwrap = true;\n }\n var fragment = this.htmlToFragment(html);\n if (fragment.firstChild && fragment.firstChild.className === 'k-paste-container') {\n var fragmentsHtml = [];\n for (i = 0, l = fragment.childNodes.length; i < l; i++) {\n fragmentsHtml.push(fragment.childNodes[i].innerHTML);\n }\n fragment = this.htmlToFragment(fragmentsHtml.join('
    '));\n }\n $(fragment.childNodes).filter('table').addClass('k-table').end().find('table').addClass('k-table');\n range.insertNode(fragment);\n parent = this.splittableParent(block, caret);\n if (unwrap) {\n while (caret.parentNode != parent) {\n dom.unwrap(caret.parentNode);\n }\n dom.unwrap(caret.parentNode);\n }\n dom.normalize(range.commonAncestorContainer);\n caret.style.display = 'inline';\n dom.restoreScrollTop(editor.document);\n dom.scrollTo(caret);\n marker.removeCaret(range);\n var rangeEnd = range.commonAncestorContainer.parentNode;\n if (range.collapsed && dom.name(rangeEnd) == 'tbody') {\n range.setStartAfter($(rangeEnd).closest('table')[0]);\n range.collapse(true);\n }\n editor.selectRange(range);\n }\n });\n var Cleaner = Class.extend({\n init: function (options) {\n this.options = options || {};\n this.replacements = [];\n },\n clean: function (html, customReplacements) {\n var that = this, replacements = customReplacements || that.replacements, i, l;\n for (i = 0, l = replacements.length; i < l; i += 2) {\n html = html.replace(replacements[i], replacements[i + 1]);\n }\n return html;\n }\n });\n var ScriptCleaner = Cleaner.extend({\n init: function (options) {\n Cleaner.fn.init.call(this, options);\n this.replacements = [\n /<(\\/?)script([^>]*)>/i,\n '<$1telerik:script$2>'\n ];\n },\n applicable: function (html) {\n return !this.options.none && /]*>/i.test(html);\n }\n });\n var TabCleaner = Cleaner.extend({\n init: function (options) {\n Cleaner.fn.init.call(this, options);\n var replacement = ' ';\n this.replacements = [\n /]*>\\s*<\\/span>/gi,\n replacement,\n /\\t/gi,\n replacement,\n /    /gi,\n replacement\n ];\n },\n applicable: function (html) {\n return /    |class=\"?Apple-tab-span/i.test(html);\n }\n });\n var MSWordFormatCleaner = Cleaner.extend({\n init: function (options) {\n Cleaner.fn.init.call(this, options);\n this.junkReplacements = [\n /<\\?xml[^>]*>/gi,\n '',\n //g,\n '',\n /"/g,\n '\\'',\n / <\\/o:p>/gi,\n ' ',\n /<\\/?(meta|link|style|o:|v:|x:)[^>]*>((?:.|\\n)*?<\\/(meta|link|style|o:|v:|x:)[^>]*>)?/gi,\n '',\n /<\\/o>/g,\n ''\n ];\n this.replacements = this.junkReplacements.concat([\n /(?:
     [\\s\\r\\n]+|
    )*(<\\/?(h[1-6]|hr|p|div|table|tbody|thead|tfoot|th|tr|td|li|ol|ul|caption|address|pre|form|blockquote|dl|dt|dd|dir|fieldset)[^>]*>)(?:
     [\\s\\r\\n]+|
    )*/g,\n '$1',\n /

    /g,\n '

    ',\n /
    (?!\\n)/g,\n ' ',\n /]*)>(\\s| )+]*>(\\s| )*<\\/tr>/gi,\n '',\n /]*>(\\s| )*<\\/tbody>/gi,\n '',\n /]*>(\\s| )*<\\/table>/gi,\n '',\n /

    /g,\n '
    ',\n /^\\s*( )+/gi,\n '',\n /( |]*>)+\\s*$/gi,\n '',\n /mso-[^;\"]*;?/gi,\n '',\n /<(\\/?)b(\\s[^>]*)?>/gi,\n '<$1strong$2>',\n /<(\\/?)font(\\s[^>]*)?>/gi,\n this.convertFontMatch,\n /<(\\/?)i(\\s[^>]*)?>/gi,\n '<$1em$2>',\n /style=([\"|'])\\s*\\1/g,\n '',\n /(]*>)?\\n/g,\n function ($0, $1) {\n return $1 ? $0 : ' ';\n }\n ]);\n },\n convertFontMatch: function (match, closing, args) {\n var faceRe = /face=['\"]([^'\"]+)['\"]/i;\n var face = faceRe.exec(args);\n var family = args && face && face[1];\n if (closing) {\n return '
    ';\n } else if (family) {\n return '';\n } else {\n return '';\n }\n },\n applicable: function (html) {\n return /class=\"?Mso/i.test(html) || /style=\"[^\"]*mso-/i.test(html) || /urn:schemas-microsoft-com:office/.test(html);\n },\n stripEmptyAnchors: function (html) {\n return html.replace(/]*)>\\s*<\\/a>/gi, function (a, attributes) {\n if (!attributes || attributes.indexOf('href') < 0) {\n return '';\n }\n return a;\n });\n },\n listType: function (p, listData) {\n var html = p.innerHTML;\n var text = dom.innerText(p);\n var startingSymbol;\n var matchSymbol = html.match(/^(?:]*texhtml[^>]*>)?]*(?:Symbol|Wingdings)[^>]*>([^<]+)/i);\n var symbol = matchSymbol && matchSymbol[1];\n var isNumber = /^[a-z\\d]/i.test(symbol);\n var trimStartText = function (text) {\n return text.replace(/^(?: |[\\u00a0\\n\\r\\s])+/, '');\n };\n if (matchSymbol) {\n startingSymbol = true;\n }\n html = html.replace(/<\\/?\\w+[^>]*>/g, '').replace(/ /g, '\\xA0');\n if (!startingSymbol && /^[\\u2022\\u00b7\\u00a7\\u00d8o]\\u00a0+/.test(html) || startingSymbol && /^.\\u00a0+/.test(html) || symbol && !isNumber && listData) {\n return {\n tag: 'ul',\n style: this._guessUnorderedListStyle(trimStartText(text))\n };\n }\n if (/^\\s*\\w+[\\.\\)][\\u00a0 ]{2,}/.test(html)) {\n return {\n tag: 'ol',\n style: this._guessOrderedListStyle(trimStartText(text))\n };\n }\n },\n _convertToLi: function (p) {\n var content;\n if (p.childNodes.length == 1) {\n content = p.firstChild.innerHTML.replace(/^\\w+[\\.\\)]( )+ /, '');\n } else {\n dom.remove(p.firstChild);\n if (p.firstChild.nodeType == 3) {\n if (/^[ivxlcdm]+\\.$/i.test(p.firstChild.nodeValue)) {\n dom.remove(p.firstChild);\n }\n }\n if (/^( |\\s)+$/i.test(p.firstChild.innerHTML)) {\n dom.remove(p.firstChild);\n }\n content = p.innerHTML;\n }\n dom.remove(p);\n return dom.create(document, 'li', { innerHTML: content });\n },\n _guessUnorderedListStyle: function (symbol) {\n if (/^[\\u2022\\u00b7\\u00FC\\u00D8\\u002dv-]/.test(symbol)) {\n return null;\n } else if (/^o/.test(symbol)) {\n return 'circle';\n } else {\n return 'square';\n }\n },\n _guessOrderedListStyle: function (symbol) {\n var listType = null;\n if (!/^\\d/.test(symbol)) {\n listType = (/^[a-z]/.test(symbol) ? 'lower-' : 'upper-') + (/^[ivxlcdm]/i.test(symbol) ? 'roman' : 'alpha');\n }\n return listType;\n },\n extractListLevels: function (html) {\n var msoListRegExp = /style=['\"]?[^'\"]*?mso-list:\\s?[a-zA-Z]+(\\d+)\\s[a-zA-Z]+(\\d+)\\s(\\w+)/gi;\n html = html.replace(msoListRegExp, function (match, list, level) {\n return kendo.format('data-list=\"{0}\" data-level=\"{1}\" {2}', list, level, match);\n });\n return html;\n },\n lists: function (placeholder) {\n var blockChildren = $(placeholder).find(dom.blockElements.join(',')), lastMargin = -1, name, levels = {}, li = placeholder, rootMargin, listContainer, i, p, type, margin, list, listData;\n for (i = 0; i < blockChildren.length; i++) {\n p = blockChildren[i];\n listData = $(p).data();\n var listIndex = listData.list;\n name = dom.name(p);\n if (name == 'td') {\n continue;\n }\n var listType = this.listType(p, listData);\n type = listType && listType.tag;\n if (!type || name != 'p') {\n if (!p.innerHTML) {\n dom.remove(p);\n } else {\n lastMargin = -1;\n li = placeholder;\n }\n continue;\n }\n margin = parseFloat(p.style.marginLeft || 0);\n if (rootMargin === undefined) {\n rootMargin = margin;\n }\n var levelType = type + listIndex;\n if (!levels[margin]) {\n levels[margin] = {};\n }\n list = levels[margin][levelType];\n if (margin > lastMargin || !list) {\n list = dom.create(document, type, { style: { listStyleType: listType.style } });\n if (li == placeholder || margin <= lastMargin) {\n if (listContainer && rootMargin !== margin) {\n listContainer.appendChild(list);\n } else {\n dom.insertBefore(list, p);\n }\n levels[margin] = {};\n } else {\n listContainer = li;\n li.appendChild(list);\n }\n levels[margin][levelType] = list;\n }\n li = this._convertToLi(p);\n list.appendChild(li);\n lastMargin = margin;\n }\n },\n removeAttributes: function (element) {\n var attributes = element.attributes, i = attributes.length;\n while (i--) {\n if (dom.name(attributes[i]) != 'colspan') {\n element.removeAttributeNode(attributes[i]);\n }\n }\n },\n createColGroup: function (row) {\n var cells = row.cells;\n var table = $(row).closest('table');\n var colgroup = table.children('colgroup');\n if (cells.length < 2) {\n return;\n } else if (colgroup.length) {\n cells = colgroup.children();\n colgroup[0].parentNode.removeChild(colgroup[0]);\n }\n colgroup = $($.map(cells, function (cell) {\n var width = cell.width;\n if (width && parseInt(width, 10) !== 0) {\n return kendo.format('', width);\n }\n return '';\n }).join(''));\n if (!colgroup.is('colgroup')) {\n colgroup = $('').append(colgroup);\n }\n colgroup.prependTo(table);\n },\n convertHeaders: function (row) {\n var cells = row.cells, i, boldedCells = $.map(cells, function (cell) {\n var child = $(cell).children('p').children('strong')[0];\n if (child && dom.name(child) == 'strong') {\n return child;\n }\n });\n if (boldedCells.length == cells.length) {\n for (i = 0; i < boldedCells.length; i++) {\n dom.unwrap(boldedCells[i]);\n }\n $(row).closest('table').find('colgroup').after('').end().find('thead').append(row);\n for (i = 0; i < cells.length; i++) {\n dom.changeTag(cells[i], 'th');\n }\n }\n },\n removeParagraphs: function (cells) {\n var i, j, len, cell, paragraphs;\n for (i = 0; i < cells.length; i++) {\n this.removeAttributes(cells[i]);\n cell = $(cells[i]);\n paragraphs = cell.children('p');\n for (j = 0, len = paragraphs.length; j < len; j++) {\n if (j < len - 1) {\n dom.insertAfter(dom.create(document, 'br'), paragraphs[j]);\n }\n dom.unwrap(paragraphs[j]);\n }\n }\n },\n removeDefaultColors: function (spans) {\n for (var i = 0; i < spans.length; i++) {\n if (/^\\s*color:\\s*[^;]*;?$/i.test(spans[i].style.cssText)) {\n dom.unwrap(spans[i]);\n }\n }\n },\n tables: function (placeholder) {\n var tables = $(placeholder).find('table'), that = this, rows, firstRow, longestRow, i, j;\n for (i = 0; i < tables.length; i++) {\n rows = tables[i].rows;\n longestRow = firstRow = rows[0];\n for (j = 1; j < rows.length; j++) {\n if (rows[j].cells.length > longestRow.cells.length) {\n longestRow = rows[j];\n }\n }\n that.createColGroup(longestRow);\n that.convertHeaders(firstRow);\n that.removeAttributes(tables[i]);\n that.removeParagraphs(tables.eq(i).find('td,th'));\n that.removeDefaultColors(tables.eq(i).find('span'));\n }\n },\n headers: function (placeholder) {\n var titles = $(placeholder).find('p.MsoTitle');\n for (var i = 0; i < titles.length; i++) {\n dom.changeTag(titles[i], 'h1');\n }\n },\n removeFormatting: function (placeholder) {\n $(placeholder).find('*').each(function () {\n $(this).css({\n fontSize: '',\n fontFamily: ''\n });\n if (!this.getAttribute('style') && !this.style.cssText) {\n this.removeAttribute('style');\n }\n });\n },\n clean: function (html) {\n var that = this, placeholder;\n var filters = this.options;\n if (filters.none) {\n html = Cleaner.fn.clean.call(that, html, this.junkReplacements);\n html = that.stripEmptyAnchors(html);\n } else {\n html = this.extractListLevels(html);\n html = Cleaner.fn.clean.call(that, html);\n html = that.stripEmptyAnchors(html);\n placeholder = dom.create(document, 'div', { innerHTML: html });\n that.headers(placeholder);\n if (filters.msConvertLists) {\n that.lists(placeholder);\n }\n that.tables(placeholder);\n if (filters.msAllFormatting) {\n that.removeFormatting(placeholder);\n }\n html = placeholder.innerHTML.replace(/(<[^>]*)\\s+class=\"?[^\"\\s>]*\"?/gi, '$1');\n }\n return html;\n }\n });\n var WebkitFormatCleaner = Cleaner.extend({\n init: function (options) {\n Cleaner.fn.init.call(this, options);\n this.replacements = [\n /\\s+class=\"Apple-style-span[^\"]*\"/gi,\n '',\n /<(div|p|h[1-6])\\s+style=\"[^\"]*\"/gi,\n '<$1',\n /^
    (.*)<\\/div>$/,\n '$1'\n ];\n },\n applicable: function (html) {\n return /class=\"?Apple-style-span|style=\"[^\"]*-webkit-nbsp-mode/i.test(html);\n }\n });\n var DomCleaner = Cleaner.extend({\n clean: function (html) {\n var container = dom.create(document, 'div', { innerHTML: html });\n container = this.cleanDom(container);\n return container.innerHTML;\n },\n cleanDom: function (container) {\n return container;\n }\n });\n var HtmlTagsCleaner = DomCleaner.extend({\n cleanDom: function (container) {\n var tags = this.collectTags();\n $(container).find(tags).each(function () {\n dom.unwrap(this);\n });\n return container;\n },\n collectTags: function () {\n if (this.options.span) {\n return 'span';\n }\n },\n applicable: function () {\n return this.options.span;\n }\n });\n var HtmlAttrCleaner = DomCleaner.extend({\n cleanDom: function (container) {\n var attributes = this.collectAttr();\n var nodes = $(container).find('[' + attributes.join('],[') + ']');\n nodes.removeAttr(attributes.join(' '));\n return container;\n },\n collectAttr: function () {\n if (this.options.css) {\n return [\n 'class',\n 'style'\n ];\n }\n return [];\n },\n applicable: function () {\n return this.options.css;\n }\n });\n var TextContainer = function () {\n this.text = '';\n this.add = function (text) {\n this.text += text;\n };\n };\n var HtmlTextLines = Class.extend({\n init: function (separators) {\n this.separators = separators || {\n text: ' ',\n line: '
    '\n };\n this.lines = [];\n this.inlineBlockText = [];\n this.resetLine();\n },\n appendText: function (text) {\n if (text.nodeType === 3) {\n text = text.nodeValue;\n }\n this.textContainer.add(text);\n },\n appendInlineBlockText: function (text) {\n this.inlineBlockText.push(text);\n },\n flashInlineBlockText: function () {\n if (this.inlineBlockText.length) {\n this.appendText(this.inlineBlockText.join(' '));\n this.inlineBlockText = [];\n }\n },\n endLine: function () {\n this.flashInlineBlockText();\n this.resetLine();\n },\n html: function () {\n var separators = this.separators;\n var result = '';\n var lines = this.lines;\n this.flashInlineBlockText();\n for (var i = 0, il = lines.length, il1 = il - 1; i < il; i++) {\n var line = lines[i];\n for (var j = 0, jl = line.length, jl1 = jl - 1; j < jl; j++) {\n var text = line[j].text;\n result += text;\n if (j !== jl1) {\n result += separators.text;\n }\n }\n if (i !== il1) {\n result += separators.line;\n }\n }\n return result;\n },\n resetLine: function () {\n this.textContainer = new TextContainer();\n this.line = [];\n this.line.push(this.textContainer);\n this.lines.push(this.line);\n }\n });\n var DomEnumerator = Class.extend({\n init: function (callback) {\n this.callback = callback;\n },\n enumerate: function (node) {\n if (!node) {\n return;\n }\n var preventDown = this.callback(node);\n var child = node.firstChild;\n if (!preventDown && child) {\n this.enumerate(child);\n }\n this.enumerate(node.nextSibling);\n }\n });\n var HtmlContentCleaner = Cleaner.extend({\n init: function (options) {\n Cleaner.fn.init.call(this, options);\n this.hasText = false;\n this.enumerator = new DomEnumerator($.proxy(this.buildText, this));\n },\n clean: function (html) {\n var container = dom.create(document, 'div', { innerHTML: html });\n return this.cleanDom(container);\n },\n cleanDom: function (container) {\n this.separators = this.getDefaultSeparators();\n this.htmlLines = new HtmlTextLines(this.separators);\n this.enumerator.enumerate(container.firstChild);\n this.hasText = false;\n return this.htmlLines.html();\n },\n buildText: function (node) {\n if (dom.isDataNode(node)) {\n if (dom.isEmptyspace(node)) {\n return;\n }\n this.htmlLines.appendText(node.nodeValue.replace('\\n', this.separators.line));\n this.hasText = true;\n } else if (dom.isBlock(node) && this.hasText) {\n var action = this.actions[dom.name(node)] || this.actions.block;\n return action(this, node);\n }\n },\n applicable: function () {\n var o = this.options;\n return o.all || o.keepNewLines;\n },\n getDefaultSeparators: function () {\n if (this.options.all) {\n return {\n text: ' ',\n line: ' '\n };\n } else {\n return {\n text: ' ',\n line: '
    '\n };\n }\n },\n actions: {\n ul: $.noop,\n ol: $.noop,\n table: $.noop,\n thead: $.noop,\n tbody: $.noop,\n td: function (cleaner, node) {\n var tdCleaner = new HtmlContentCleaner({ all: true });\n var cellText = tdCleaner.cleanDom(node);\n cleaner.htmlLines.appendInlineBlockText(cellText);\n return true;\n },\n block: function (cleaner) {\n cleaner.htmlLines.endLine();\n }\n }\n });\n var CustomCleaner = Cleaner.extend({\n clean: function (html) {\n return this.options.custom(html);\n },\n applicable: function () {\n return typeof this.options.custom === 'function';\n }\n });\n var PrintCommand = Command.extend({\n init: function (options) {\n Command.fn.init.call(this, options);\n this.managesUndoRedo = true;\n },\n exec: function () {\n var editor = this.editor;\n if (kendo.support.browser.msie) {\n editor.document.execCommand('print', false, null);\n } else if (editor.window.print) {\n editor.window.print();\n }\n }\n });\n var ExportPdfCommand = Command.extend({\n init: function (options) {\n this.async = true;\n Command.fn.init.call(this, options);\n },\n exec: function () {\n var that = this;\n var range = this.lockRange(true);\n this.editor.saveAsPDF().then(function () {\n that.releaseRange(range);\n });\n }\n });\n extend(editorNS, {\n _finishUpdate: finishUpdate,\n Command: Command,\n GenericCommand: GenericCommand,\n InsertHtmlCommand: InsertHtmlCommand,\n InsertHtmlTool: InsertHtmlTool,\n TypingHandler: TypingHandler,\n SystemHandler: SystemHandler,\n BackspaceHandler: BackspaceHandler,\n SelectAllHandler: SelectAllHandler,\n Keyboard: Keyboard,\n Clipboard: Clipboard,\n Cleaner: Cleaner,\n ScriptCleaner: ScriptCleaner,\n TabCleaner: TabCleaner,\n MSWordFormatCleaner: MSWordFormatCleaner,\n WebkitFormatCleaner: WebkitFormatCleaner,\n HtmlTagsCleaner: HtmlTagsCleaner,\n HtmlAttrCleaner: HtmlAttrCleaner,\n HtmlContentCleaner: HtmlContentCleaner,\n HtmlTextLines: HtmlTextLines,\n CustomCleaner: CustomCleaner,\n PrintCommand: PrintCommand,\n ExportPdfCommand: ExportPdfCommand\n });\n registerTool('insertHtml', new InsertHtmlTool({\n template: new ToolTemplate({\n template: EditorUtils.dropDownListTemplate,\n title: 'Insert HTML',\n initialValue: 'Insert HTML'\n })\n }));\n registerTool('print', new Tool({\n command: PrintCommand,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Print'\n })\n }));\n registerTool('pdf', new Tool({\n command: ExportPdfCommand,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Export PDF'\n })\n }));\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/inlineformat', ['editor/system'], f);\n}(function () {\n (function ($) {\n var kendo = window.kendo, Class = kendo.Class, Editor = kendo.ui.editor, formats = kendo.ui.Editor.fn.options.formats, EditorUtils = Editor.EditorUtils, Tool = Editor.Tool, ToolTemplate = Editor.ToolTemplate, FormatTool = Editor.FormatTool, dom = Editor.Dom, RangeUtils = Editor.RangeUtils, extend = $.extend, registerTool = Editor.EditorUtils.registerTool, registerFormat = Editor.EditorUtils.registerFormat, KMARKER = 'k-marker';\n var InlineFormatFinder = Class.extend({\n init: function (format) {\n this.format = format;\n },\n numberOfSiblings: function (referenceNode) {\n var textNodesCount = 0, elementNodesCount = 0, markerCount = 0, parentNode = referenceNode.parentNode, node;\n for (node = parentNode.firstChild; node; node = node.nextSibling) {\n if (node != referenceNode) {\n if (node.className == KMARKER) {\n markerCount++;\n } else if (node.nodeType == 3) {\n textNodesCount++;\n } else {\n elementNodesCount++;\n }\n }\n }\n if (markerCount > 1 && parentNode.firstChild.className == KMARKER && parentNode.lastChild.className == KMARKER) {\n return 0;\n } else {\n return elementNodesCount + textNodesCount;\n }\n },\n findSuitable: function (sourceNode, skip) {\n if (!skip && this.numberOfSiblings(sourceNode) > 0) {\n return null;\n }\n var node = sourceNode.parentNode;\n var tags = this.format[0].tags;\n while (!dom.ofType(node, tags)) {\n if (this.numberOfSiblings(node) > 0) {\n return null;\n }\n node = node.parentNode;\n }\n return node;\n },\n findFormat: function (sourceNode) {\n var format = this.format, attrEquals = dom.attrEquals, i, len, node, tags, attributes;\n for (i = 0, len = format.length; i < len; i++) {\n node = sourceNode;\n tags = format[i].tags;\n attributes = format[i].attr;\n if (node && dom.ofType(node, tags) && attrEquals(node, attributes)) {\n return node;\n }\n while (node) {\n node = dom.parentOfType(node, tags);\n if (node && attrEquals(node, attributes)) {\n return node;\n }\n }\n }\n return null;\n },\n isFormatted: function (nodes) {\n var i, len;\n for (i = 0, len = nodes.length; i < len; i++) {\n if (this.findFormat(nodes[i])) {\n return true;\n }\n }\n return false;\n }\n });\n var InlineFormatter = Class.extend({\n init: function (format, values) {\n this.finder = new InlineFormatFinder(format);\n this.attributes = extend({}, format[0].attr, values);\n this.tag = format[0].tags[0];\n },\n wrap: function (node) {\n return dom.wrap(node, dom.create(node.ownerDocument, this.tag, this.attributes));\n },\n activate: function (range, nodes) {\n if (this.finder.isFormatted(nodes)) {\n this.split(range);\n this.remove(nodes);\n } else {\n this.apply(nodes);\n }\n },\n toggle: function (range) {\n var textNodes = this.immutables() ? RangeUtils.editableTextNodes : RangeUtils.textNodes;\n var nodes = textNodes(range);\n if (nodes.length > 0) {\n this.activate(range, nodes);\n }\n },\n immutables: function () {\n return this.editor && this.editor.options.immutables;\n },\n apply: function (nodes) {\n var formatNodes = [];\n var i, l, node, formatNode;\n var attributes = this.attributes;\n var styleAttr = attributes ? attributes.style || {} : {};\n for (i = 0, l = nodes.length; i < l; i++) {\n node = nodes[i];\n formatNode = this.finder.findSuitable(node);\n if (formatNode) {\n if (dom.is(formatNode, 'font')) {\n if (styleAttr.color) {\n formatNode.removeAttribute('color');\n }\n if (styleAttr.fontName) {\n formatNode.removeAttribute('face');\n }\n if (styleAttr.fontSize) {\n formatNode.removeAttribute('size');\n }\n }\n dom.attr(formatNode, attributes);\n } else {\n while (!dom.isBlock(node.parentNode) && node.parentNode.childNodes.length == 1 && node.parentNode.contentEditable !== 'true') {\n node = node.parentNode;\n }\n formatNode = this.wrap(node);\n }\n formatNodes.push(formatNode);\n }\n this.consolidate(formatNodes);\n },\n remove: function (nodes) {\n var i, l, formatNode;\n for (i = 0, l = nodes.length; i < l; i++) {\n formatNode = this.finder.findFormat(nodes[i]);\n if (formatNode) {\n if (this.attributes && this.attributes.style) {\n dom.unstyle(formatNode, this.attributes.style);\n if (!formatNode.style.cssText && !formatNode.attributes['class']) {\n dom.unwrap(formatNode);\n }\n } else {\n dom.unwrap(formatNode);\n }\n }\n }\n },\n split: function (range) {\n var nodes = RangeUtils.textNodes(range);\n var l = nodes.length;\n var i, formatNode;\n if (l > 0) {\n for (i = 0; i < l; i++) {\n formatNode = this.finder.findFormat(nodes[i]);\n if (formatNode) {\n RangeUtils.split(range, formatNode, true);\n }\n }\n }\n },\n consolidate: function (nodes) {\n var node, last;\n while (nodes.length > 1) {\n node = nodes.pop();\n last = nodes[nodes.length - 1];\n if (node.previousSibling && node.previousSibling.className == KMARKER) {\n last.appendChild(node.previousSibling);\n }\n if (node.tagName == last.tagName && node.previousSibling == last && node.style.cssText == last.style.cssText) {\n while (node.firstChild) {\n last.appendChild(node.firstChild);\n }\n dom.remove(node);\n }\n }\n }\n });\n var GreedyInlineFormatFinder = InlineFormatFinder.extend({\n init: function (format, greedyProperty) {\n this.format = format;\n this.greedyProperty = greedyProperty;\n InlineFormatFinder.fn.init.call(this, format);\n },\n getInlineCssValue: function (node) {\n var attributes = node.attributes;\n var trim = $.trim;\n var i, l, attribute, name, attributeValue, css, pair, cssIndex, len;\n var propertyAndValue, property, value;\n if (!attributes) {\n return;\n }\n for (i = 0, l = attributes.length; i < l; i++) {\n attribute = attributes[i];\n name = attribute.nodeName;\n attributeValue = attribute.nodeValue;\n if (attribute.specified && name == 'style') {\n css = trim(attributeValue || node.style.cssText).split(';');\n for (cssIndex = 0, len = css.length; cssIndex < len; cssIndex++) {\n pair = css[cssIndex];\n if (pair.length) {\n propertyAndValue = pair.split(':');\n property = trim(propertyAndValue[0].toLowerCase());\n value = trim(propertyAndValue[1]);\n if (property != this.greedyProperty) {\n continue;\n }\n return property.indexOf('color') >= 0 ? dom.toHex(value) : value;\n }\n }\n }\n }\n },\n getFormatInner: function (node) {\n var $node = $(dom.isDataNode(node) ? node.parentNode : node);\n var parents = $node.parentsUntil('[contentEditable]').addBack().toArray().reverse();\n var i, len, value;\n for (i = 0, len = parents.length; i < len; i++) {\n value = this.greedyProperty == 'className' ? parents[i].className : this.getInlineCssValue(parents[i]);\n if (value) {\n return value;\n }\n }\n return 'inherit';\n },\n getFormat: function (nodes) {\n var result = this.getFormatInner(nodes[0]), i, len;\n for (i = 1, len = nodes.length; i < len; i++) {\n if (result != this.getFormatInner(nodes[i])) {\n return '';\n }\n }\n return result;\n },\n isFormatted: function (nodes) {\n return this.getFormat(nodes) !== '';\n }\n });\n var GreedyInlineFormatter = InlineFormatter.extend({\n init: function (format, values, greedyProperty) {\n InlineFormatter.fn.init.call(this, format, values);\n this.values = values;\n this.finder = new GreedyInlineFormatFinder(format, greedyProperty);\n if (greedyProperty) {\n this.greedyProperty = kendo.toCamelCase(greedyProperty);\n }\n },\n activate: function (range, nodes) {\n var greedyProperty = this.greedyProperty;\n var action = 'apply';\n this.split(range);\n if (greedyProperty && this.values.style[greedyProperty] == 'inherit') {\n action = 'remove';\n }\n this[action](nodes);\n }\n });\n var InlineFormatTool = FormatTool.extend({\n init: function (options) {\n FormatTool.fn.init.call(this, extend(options, {\n finder: new InlineFormatFinder(options.format),\n formatter: function () {\n return new InlineFormatter(options.format);\n }\n }));\n }\n });\n var DelayedExecutionTool = Tool.extend({\n update: function (ui, nodes) {\n var list = ui.data(this.type);\n list.close();\n list.value(this.finder.getFormat(nodes));\n }\n });\n var FontTool = DelayedExecutionTool.extend({\n init: function (options) {\n Tool.fn.init.call(this, options);\n this.type = kendo.support.browser.msie || kendo.support.touch ? 'kendoDropDownList' : 'kendoComboBox';\n this.format = [{\n tags: [\n 'span',\n 'font'\n ]\n }];\n this.finder = new GreedyInlineFormatFinder(this.format, options.cssAttr);\n },\n command: function (commandArguments) {\n var options = this.options, format = this.format, style = {};\n return new Editor.FormatCommand(extend(commandArguments, {\n formatter: function () {\n style[options.domAttr] = commandArguments.value;\n return new GreedyInlineFormatter(format, { style: style }, options.cssAttr);\n }\n }));\n },\n initialize: function (ui, initOptions) {\n var editor = initOptions.editor, options = this.options, toolName = options.name, dataSource, defaultValue = [];\n if (options.defaultValue) {\n defaultValue = [{\n text: editor.options.messages[options.defaultValue[0].text],\n value: options.defaultValue[0].value\n }];\n }\n dataSource = defaultValue.concat(options.items ? options.items : editor.options[toolName] || []);\n ui.attr({ title: initOptions.title });\n ui[this.type]({\n dataTextField: 'text',\n dataValueField: 'value',\n dataSource: dataSource,\n change: function () {\n Tool.exec(editor, toolName, this.value());\n },\n highlightFirst: false\n });\n ui.closest('.k-widget').removeClass('k-' + toolName).find('*').addBack().attr('unselectable', 'on');\n ui.data(this.type).value('inherit');\n }\n });\n var ColorTool = Tool.extend({\n init: function (options) {\n Tool.fn.init.call(this, options);\n this.format = [{\n tags: [\n 'span',\n 'font'\n ]\n }];\n this.finder = new GreedyInlineFormatFinder(this.format, options.cssAttr);\n },\n options: { palette: 'websafe' },\n update: function () {\n this._widget.close();\n },\n command: function (commandArguments) {\n var options = this.options, format = this.format, style = {};\n return new Editor.FormatCommand(extend(commandArguments, {\n formatter: function () {\n style[options.domAttr] = commandArguments.value;\n return new GreedyInlineFormatter(format, { style: style }, options.cssAttr);\n }\n }));\n },\n initialize: function (ui, initOptions) {\n var editor = initOptions.editor, toolName = this.name, options = extend({}, ColorTool.fn.options, this.options), palette = options.palette;\n ui = this._widget = new kendo.ui.ColorPicker(ui, {\n toolIcon: 'k-' + options.name,\n palette: palette,\n change: function () {\n var color = ui.value();\n if (color) {\n Tool.exec(editor, toolName, color);\n }\n ui.value(null);\n editor.focus();\n },\n activate: function (e) {\n e.preventDefault();\n ui.trigger('change');\n }\n });\n ui.wrapper.attr({\n title: initOptions.title,\n unselectable: 'on'\n }).find('*').attr('unselectable', 'on');\n }\n });\n extend(Editor, {\n InlineFormatFinder: InlineFormatFinder,\n InlineFormatter: InlineFormatter,\n DelayedExecutionTool: DelayedExecutionTool,\n GreedyInlineFormatFinder: GreedyInlineFormatFinder,\n GreedyInlineFormatter: GreedyInlineFormatter,\n InlineFormatTool: InlineFormatTool,\n FontTool: FontTool,\n ColorTool: ColorTool\n });\n registerFormat('bold', [\n {\n tags: [\n 'strong',\n 'b'\n ]\n },\n {\n tags: ['span'],\n attr: { style: { fontWeight: 'bold' } }\n }\n ]);\n registerTool('bold', new InlineFormatTool({\n key: 'B',\n ctrl: true,\n format: formats.bold,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Bold'\n })\n }));\n registerFormat('italic', [\n {\n tags: [\n 'em',\n 'i'\n ]\n },\n {\n tags: ['span'],\n attr: { style: { fontStyle: 'italic' } }\n }\n ]);\n registerTool('italic', new InlineFormatTool({\n key: 'I',\n ctrl: true,\n format: formats.italic,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Italic'\n })\n }));\n registerFormat('underline', [\n {\n tags: ['span'],\n attr: { style: { textDecoration: 'underline' } }\n },\n { tags: ['u'] }\n ]);\n registerTool('underline', new InlineFormatTool({\n key: 'U',\n ctrl: true,\n format: formats.underline,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Underline'\n })\n }));\n registerFormat('strikethrough', [\n {\n tags: [\n 'del',\n 'strike'\n ]\n },\n {\n tags: ['span'],\n attr: { style: { textDecoration: 'line-through' } }\n }\n ]);\n registerTool('strikethrough', new InlineFormatTool({\n format: formats.strikethrough,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Strikethrough'\n })\n }));\n registerFormat('superscript', [{ tags: ['sup'] }]);\n registerTool('superscript', new InlineFormatTool({\n format: formats.superscript,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Superscript'\n })\n }));\n registerFormat('subscript', [{ tags: ['sub'] }]);\n registerTool('subscript', new InlineFormatTool({\n format: formats.subscript,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Subscript'\n })\n }));\n registerTool('foreColor', new ColorTool({\n cssAttr: 'color',\n domAttr: 'color',\n name: 'foreColor',\n template: new ToolTemplate({\n template: EditorUtils.colorPickerTemplate,\n title: 'Color'\n })\n }));\n registerTool('backColor', new ColorTool({\n cssAttr: 'background-color',\n domAttr: 'backgroundColor',\n name: 'backColor',\n template: new ToolTemplate({\n template: EditorUtils.colorPickerTemplate,\n title: 'Background Color'\n })\n }));\n registerTool('fontName', new FontTool({\n cssAttr: 'font-family',\n domAttr: 'fontFamily',\n name: 'fontName',\n defaultValue: [{\n text: 'fontNameInherit',\n value: 'inherit'\n }],\n template: new ToolTemplate({\n template: EditorUtils.comboBoxTemplate,\n title: 'Font Name'\n })\n }));\n registerTool('fontSize', new FontTool({\n cssAttr: 'font-size',\n domAttr: 'fontSize',\n name: 'fontSize',\n defaultValue: [{\n text: 'fontSizeInherit',\n value: 'inherit'\n }],\n template: new ToolTemplate({\n template: EditorUtils.comboBoxTemplate,\n title: 'Font Size'\n })\n }));\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/formatblock', ['editor/inlineformat'], f);\n}(function () {\n (function ($) {\n var kendo = window.kendo, Class = kendo.Class, extend = $.extend, Editor = kendo.ui.editor, formats = kendo.ui.Editor.fn.options.formats, dom = Editor.Dom, Command = Editor.Command, ToolTemplate = Editor.ToolTemplate, FormatTool = Editor.FormatTool, EditorUtils = Editor.EditorUtils, registerTool = EditorUtils.registerTool, registerFormat = EditorUtils.registerFormat, RangeUtils = Editor.RangeUtils;\n var BlockFormatFinder = Class.extend({\n init: function (format) {\n this.format = format;\n },\n contains: function (node, children) {\n var i, len, child;\n for (i = 0, len = children.length; i < len; i++) {\n child = children[i];\n if (!child || !dom.isAncestorOrSelf(node, child)) {\n return false;\n }\n }\n return true;\n },\n findSuitable: function (nodes) {\n var format = this.format, suitable = [], i, len, candidate;\n for (i = 0, len = nodes.length; i < len; i++) {\n for (var f = format.length - 1; f >= 0; f--) {\n candidate = dom.ofType(nodes[i], format[f].tags) ? nodes[i] : dom.closestEditableOfType(nodes[i], format[f].tags);\n if (candidate) {\n break;\n }\n }\n if (!candidate || candidate.contentEditable === 'true') {\n return [];\n }\n if ($.inArray(candidate, suitable) < 0) {\n suitable.push(candidate);\n }\n }\n this._resolveListsItems(suitable);\n for (i = 0, len = suitable.length; i < len; i++) {\n if (this.contains(suitable[i], suitable)) {\n return [suitable[i]];\n }\n }\n return suitable;\n },\n _resolveListsItems: function (nodes) {\n var i, node, wrapper;\n for (i = 0; i < nodes.length; i++) {\n node = nodes[i];\n wrapper = dom.is(node, 'li') ? node : dom.wrapper(node);\n wrapper = wrapper && dom.list(wrapper) ? wrapper.children[0] : wrapper;\n if (dom.is(wrapper, 'li')) {\n node = nodes[i] = wrapper;\n }\n }\n },\n findFormat: function (sourceNode) {\n var format = this.format, i, len, node, tags, attributes;\n var editableParent = dom.editableParent(sourceNode);\n var immutables = this.options && this.options.immutables;\n var ImmutablesNS = Editor.Immutables;\n for (i = 0, len = format.length; i < len; i++) {\n node = sourceNode;\n tags = format[i].tags;\n attributes = format[i].attr;\n if (immutables && tags && tags[0] == 'immutable') {\n var immutable = ImmutablesNS.immutableParent(node);\n if (immutable && dom.attrEquals(immutable, attributes)) {\n return node;\n }\n }\n while (node && dom.isAncestorOf(editableParent, node)) {\n if (dom.ofType(node, tags) && dom.attrEquals(node, attributes)) {\n return node;\n }\n node = node.parentNode;\n }\n }\n return null;\n },\n getFormat: function (nodes) {\n var that = this, findFormat = function (node) {\n return that.findFormat(dom.isDataNode(node) ? node.parentNode : node);\n }, result = findFormat(nodes[0]), i, len;\n if (!result) {\n return '';\n }\n for (i = 1, len = nodes.length; i < len; i++) {\n if (result != findFormat(nodes[i])) {\n return '';\n }\n }\n return result.nodeName.toLowerCase();\n },\n isFormatted: function (nodes) {\n for (var i = 0, len = nodes.length; i < len; i++) {\n if (!this.findFormat(nodes[i])) {\n return false;\n }\n }\n return true;\n }\n });\n var BlockFormatter = Class.extend({\n init: function (format, values) {\n this.format = format;\n this.values = values;\n this.finder = new BlockFormatFinder(format);\n },\n wrap: function (tag, attributes, nodes) {\n var commonAncestor = nodes.length == 1 ? dom.blockParentOrBody(nodes[0]) : dom.commonAncestor.apply(null, nodes);\n if (dom.isInline(commonAncestor)) {\n commonAncestor = dom.blockParentOrBody(commonAncestor);\n }\n var ancestors = dom.significantChildNodes(commonAncestor), position = dom.findNodeIndex(ancestors[0]), wrapper = dom.create(commonAncestor.ownerDocument, tag, attributes), i, ancestor;\n for (i = 0; i < ancestors.length; i++) {\n ancestor = ancestors[i];\n if (dom.isBlock(ancestor)) {\n dom.attr(ancestor, attributes);\n if (wrapper.childNodes.length) {\n dom.insertBefore(wrapper, ancestor);\n wrapper = wrapper.cloneNode(false);\n }\n position = dom.findNodeIndex(ancestor) + 1;\n continue;\n }\n wrapper.appendChild(ancestor);\n }\n if (wrapper.firstChild) {\n dom.insertAt(commonAncestor, wrapper, position);\n }\n },\n apply: function (nodes) {\n var format, values = this.values;\n function attributes(format) {\n return extend({}, format && format.attr, values);\n }\n this._handleImmutables(nodes, true);\n var images = dom.filter('img', nodes);\n var imageFormat = EditorUtils.formatByName('img', this.format);\n var imageAttributes = attributes(imageFormat);\n $.each(images, function () {\n dom.attr(this, imageAttributes);\n });\n if (images.length == nodes.length) {\n return;\n }\n var nonImages = dom.filter('img', nodes, true);\n var formatNodes = this.finder.findSuitable(nonImages);\n if (formatNodes.length) {\n for (var i = 0, len = formatNodes.length; i < len; i++) {\n format = EditorUtils.formatByName(dom.name(formatNodes[i]), this.format);\n dom.attr(formatNodes[i], attributes(format));\n }\n } else {\n format = this.format[0];\n this.wrap(format.tags[0], attributes(format), nonImages);\n }\n },\n _handleImmutables: function (nodes, applyFormatting) {\n if (!this.immutables()) {\n return;\n }\n var immutableFormat = EditorUtils.formatByName('immutable', this.format);\n if (!immutableFormat) {\n return;\n }\n var ImmutablesNS = Editor.Immutables;\n var l = nodes.length - 1;\n for (var i = l; i >= 0; i--) {\n var immutableParent = ImmutablesNS.immutableParent(nodes[i]);\n if (!immutableParent) {\n continue;\n }\n if (immutableParent !== nodes[i + 1]) {\n if (applyFormatting) {\n dom.attr(immutableParent, immutableFormat.attr);\n } else {\n dom.unstyle(immutableParent, immutableFormat.attr.style);\n }\n }\n nodes.splice(i, 1);\n }\n },\n immutables: function () {\n return this.editor && this.editor.options.immutables;\n },\n remove: function (nodes) {\n var i, l, formatNode, namedFormat, name;\n this._handleImmutables(nodes, false);\n for (i = 0, l = nodes.length; i < l; i++) {\n formatNode = this.finder.findFormat(nodes[i]);\n if (formatNode) {\n name = dom.name(formatNode);\n if (name == 'div' && !formatNode.getAttribute('class')) {\n dom.unwrap(formatNode);\n } else {\n namedFormat = EditorUtils.formatByName(name, this.format);\n if (namedFormat.attr.style) {\n dom.unstyle(formatNode, namedFormat.attr.style);\n }\n if (namedFormat.attr.className) {\n dom.removeClass(formatNode, namedFormat.attr.className);\n }\n }\n }\n }\n },\n toggle: function (range) {\n var that = this, nodes = dom.filterBy(RangeUtils.nodes(range), dom.htmlIndentSpace, true);\n if (that.finder.isFormatted(nodes)) {\n that.remove(nodes);\n } else {\n that.apply(nodes);\n }\n }\n });\n var GreedyBlockFormatter = Class.extend({\n init: function (format, values) {\n var that = this;\n that.format = format;\n that.values = values;\n that.finder = new BlockFormatFinder(format);\n },\n apply: function (nodes) {\n var format = this.format;\n var blocks = dom.blockParents(nodes);\n var formatTag = format[0].tags[0];\n var i, len, list, formatter, range;\n var element;\n var tagName;\n var block;\n var immutalbeParent;\n if (blocks.length) {\n for (i = 0, len = blocks.length; i < len; i++) {\n block = blocks[i];\n immutalbeParent = this.immutables() && Editor.Immutables.immutableParent(block);\n if (!immutalbeParent) {\n tagName = dom.name(block);\n if (tagName == 'li') {\n list = block.parentNode;\n formatter = new Editor.ListFormatter(list.nodeName.toLowerCase(), formatTag);\n range = this.editor.createRange();\n range.selectNode(blocks[i]);\n formatter.toggle(range);\n } else if (formatTag && (tagName == 'td' || block.attributes.contentEditable)) {\n new BlockFormatter(format, this.values).apply(block.childNodes);\n } else {\n element = dom.changeTag(block, formatTag);\n dom.attr(element, format[0].attr);\n }\n }\n }\n } else {\n var blockFormatter = new BlockFormatter(format, this.values);\n blockFormatter.editor = this.editor;\n blockFormatter.apply(nodes);\n }\n },\n toggle: function (range) {\n var nodes = RangeUtils.textNodes(range);\n if (!nodes.length) {\n range.selectNodeContents(range.commonAncestorContainer);\n nodes = RangeUtils.textNodes(range);\n if (!nodes.length) {\n nodes = dom.significantChildNodes(range.commonAncestorContainer);\n }\n }\n this.apply(nodes);\n },\n immutables: function () {\n return this.editor && this.editor.options.immutables;\n }\n });\n var FormatCommand = Command.extend({\n init: function (options) {\n options.formatter = options.formatter();\n var finder = options.formatter.finder;\n if (finder && EditorUtils.formatByName('immutable', finder.format)) {\n finder._initOptions({ immutables: options.immutables });\n }\n Command.fn.init.call(this, options);\n }\n });\n var BlockFormatTool = FormatTool.extend({\n init: function (options) {\n FormatTool.fn.init.call(this, extend(options, {\n finder: new BlockFormatFinder(options.format),\n formatter: function () {\n return new BlockFormatter(options.format);\n }\n }));\n }\n });\n extend(Editor, {\n BlockFormatFinder: BlockFormatFinder,\n BlockFormatter: BlockFormatter,\n GreedyBlockFormatter: GreedyBlockFormatter,\n FormatCommand: FormatCommand,\n BlockFormatTool: BlockFormatTool\n });\n var listElements = [\n 'ul',\n 'ol',\n 'li'\n ];\n registerFormat('justifyLeft', [\n {\n tags: dom.nonListBlockElements,\n attr: { style: { textAlign: 'left' } }\n },\n {\n tags: ['img'],\n attr: {\n style: {\n 'float': 'left',\n display: '',\n marginLeft: '',\n marginRight: ''\n }\n }\n },\n {\n tags: ['immutable'],\n attr: {\n style: {\n 'float': 'left',\n display: '',\n marginLeft: '',\n marginRight: ''\n }\n }\n },\n {\n tags: listElements,\n attr: {\n style: {\n textAlign: 'left',\n listStylePosition: ''\n }\n }\n }\n ]);\n registerTool('justifyLeft', new BlockFormatTool({\n format: formats.justifyLeft,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Justify Left'\n })\n }));\n registerFormat('justifyCenter', [\n {\n tags: dom.nonListBlockElements,\n attr: { style: { textAlign: 'center' } }\n },\n {\n tags: ['img'],\n attr: {\n style: {\n display: 'block',\n marginLeft: 'auto',\n marginRight: 'auto',\n 'float': ''\n }\n }\n },\n {\n tags: ['immutable'],\n attr: {\n style: {\n display: 'block',\n marginLeft: 'auto',\n marginRight: 'auto',\n 'float': ''\n }\n }\n },\n {\n tags: listElements,\n attr: {\n style: {\n textAlign: 'center',\n listStylePosition: 'inside'\n }\n }\n }\n ]);\n registerTool('justifyCenter', new BlockFormatTool({\n format: formats.justifyCenter,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Justify Center'\n })\n }));\n registerFormat('justifyRight', [\n {\n tags: dom.nonListBlockElements,\n attr: { style: { textAlign: 'right' } }\n },\n {\n tags: ['img'],\n attr: {\n style: {\n 'float': 'right',\n display: '',\n marginLeft: '',\n marginRight: ''\n }\n }\n },\n {\n tags: ['immutable'],\n attr: {\n style: {\n 'float': 'right',\n display: '',\n marginLeft: '',\n marginRight: ''\n }\n }\n },\n {\n tags: listElements,\n attr: {\n style: {\n textAlign: 'right',\n listStylePosition: 'inside'\n }\n }\n }\n ]);\n registerTool('justifyRight', new BlockFormatTool({\n format: formats.justifyRight,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Justify Right'\n })\n }));\n registerFormat('justifyFull', [\n {\n tags: dom.nonListBlockElements,\n attr: { style: { textAlign: 'justify' } }\n },\n {\n tags: ['img'],\n attr: {\n style: {\n display: 'block',\n marginLeft: 'auto',\n marginRight: 'auto',\n 'float': ''\n }\n }\n },\n {\n tags: ['immutable'],\n attr: {\n style: {\n display: 'block',\n marginLeft: 'auto',\n marginRight: 'auto',\n 'float': ''\n }\n }\n },\n {\n tags: listElements,\n attr: {\n style: {\n textAlign: 'justify',\n listStylePosition: ''\n }\n }\n }\n ]);\n registerTool('justifyFull', new BlockFormatTool({\n format: formats.justifyFull,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Justify Full'\n })\n }));\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/linebreak', ['editor/formatblock'], f);\n}(function () {\n (function ($) {\n var kendo = window.kendo, extend = $.extend, editorNS = kendo.ui.editor, dom = editorNS.Dom, Command = editorNS.Command, Tool = editorNS.Tool, BlockFormatter = editorNS.BlockFormatter, normalize = dom.normalize, RangeUtils = editorNS.RangeUtils, registerTool = editorNS.EditorUtils.registerTool;\n var ParagraphCommand = Command.extend({\n init: function (options) {\n this.options = options;\n Command.fn.init.call(this, options);\n },\n _insertMarker: function (doc, range) {\n var marker = dom.create(doc, 'a'), container;\n marker.className = 'k-marker';\n range.insertNode(marker);\n if (!marker.parentNode) {\n container = range.commonAncestorContainer;\n container.innerHTML = '';\n container.appendChild(marker);\n }\n normalize(marker.parentNode);\n return marker;\n },\n _moveFocus: function (range, candidate) {\n if (dom.isEmpty(candidate)) {\n range.setStartBefore(candidate);\n } else {\n range.selectNodeContents(candidate);\n var focusNode = RangeUtils.textNodes(range)[0];\n if (!focusNode) {\n while (candidate.childNodes.length && !dom.is(candidate.firstChild, 'br')) {\n candidate = candidate.firstChild;\n }\n focusNode = candidate;\n }\n if (dom.isEmpty(focusNode)) {\n range.setStartBefore(focusNode);\n } else {\n if (dom.emptyNode(focusNode)) {\n focusNode.innerHTML = '\\uFEFF';\n }\n range.setStartBefore(focusNode.firstChild || focusNode);\n }\n }\n },\n shouldTrim: function (range) {\n var blocks = 'p,h1,h2,h3,h4,h5,h6'.split(','), startInBlock = dom.parentOfType(range.startContainer, blocks), endInBlock = dom.parentOfType(range.endContainer, blocks);\n return startInBlock && !endInBlock || !startInBlock && endInBlock;\n },\n _blankAfter: function (node) {\n while (node && (dom.isMarker(node) || dom.stripBom(node.nodeValue) === '')) {\n node = node.nextSibling;\n }\n return !node;\n },\n exec: function () {\n var range = this.getRange(), doc = RangeUtils.documentFromRange(range), parent, previous, next, emptyParagraphContent = editorNS.emptyElementContent, paragraph, marker, li, heading, rng, shouldTrim;\n this.expandImmutablesIn(range);\n shouldTrim = this.shouldTrim(range);\n range.deleteContents();\n marker = this._insertMarker(doc, range);\n dom.stripBomNode(marker.previousSibling);\n dom.stripBomNode(marker.nextSibling);\n li = dom.closestEditableOfType(marker, ['li']);\n heading = dom.closestEditableOfType(marker, 'h1,h2,h3,h4,h5,h6'.split(','));\n if (li) {\n if (dom.emptyNode(li)) {\n paragraph = dom.create(doc, 'p');\n if (dom.next(li)) {\n rng = range.cloneRange();\n rng.selectNode(li);\n RangeUtils.split(rng, li.parentNode);\n }\n var br = $('br', li);\n if (br.length == 1) {\n br.remove();\n }\n var parentNode = li.parentNode;\n var parentChildrenLength = li.parentNode.children.length;\n var firstChild = parentChildrenLength > 1 && li.childNodes.length == 1 && li.children[0];\n dom.insertAfter(paragraph, parentNode);\n dom.remove(parentChildrenLength == 1 ? li.parentNode : li);\n if (firstChild && firstChild !== marker) {\n paragraph.appendChild(firstChild);\n paragraph.appendChild(marker);\n } else {\n paragraph.innerHTML = emptyParagraphContent;\n }\n next = paragraph;\n }\n } else if (heading && this._blankAfter(marker)) {\n paragraph = dom.create(doc, 'p');\n dom.insertAfter(paragraph, heading);\n paragraph.innerHTML = emptyParagraphContent;\n dom.remove(marker);\n next = paragraph;\n }\n if (!next) {\n if (!(li || heading)) {\n new BlockFormatter([{ tags: ['p'] }]).apply([marker]);\n }\n range.selectNode(marker);\n parent = dom.parentOfType(marker, [li ? 'li' : heading ? dom.name(heading) : 'p']);\n RangeUtils.split(range, parent, shouldTrim);\n previous = parent.previousSibling;\n if (dom.is(previous, 'li') && previous.firstChild && !dom.is(previous.firstChild, 'br')) {\n previous = previous.firstChild;\n }\n next = parent.nextSibling;\n this.clean(previous);\n this.clean(next, { links: true });\n if (dom.is(next, 'li') && next.firstChild && !dom.is(next.firstChild, 'br')) {\n next = next.firstChild;\n }\n dom.remove(parent);\n normalize(previous);\n }\n normalize(next);\n this._moveFocus(range, next);\n range.collapse(true);\n dom.scrollTo(next);\n RangeUtils.selectRange(range);\n },\n clean: function (node, options) {\n var root = node;\n if (node.firstChild && dom.is(node.firstChild, 'br')) {\n dom.remove(node.firstChild);\n }\n if (dom.isDataNode(node) && !node.nodeValue) {\n node = node.parentNode;\n }\n if (node) {\n var siblings = false;\n while (node.firstChild && node.firstChild.nodeType == 1) {\n siblings = siblings || dom.significantNodes(node.childNodes).length > 1;\n node = node.firstChild;\n }\n if (!dom.isEmpty(node) && /^\\s*$/.test(node.innerHTML) && !siblings) {\n $(root).find('.k-br').remove();\n node.innerHTML = editorNS.emptyElementContent;\n }\n if (options && options.links) {\n while (node != root) {\n if (dom.is(node, 'a') && dom.emptyNode(node)) {\n dom.unwrap(node);\n break;\n }\n node = node.parentNode;\n }\n }\n }\n }\n });\n var NewLineCommand = Command.extend({\n init: function (options) {\n this.options = options;\n Command.fn.init.call(this, options);\n },\n exec: function () {\n var range = this.getRange();\n this.expandImmutablesIn(range);\n var br = dom.create(RangeUtils.documentFromRange(range), 'br');\n var filler;\n var browser = kendo.support.browser;\n var oldIE = browser.msie && browser.version < 11;\n range.deleteContents();\n range.insertNode(br);\n normalize(br.parentNode);\n if (!oldIE && (!br.nextSibling || dom.isWhitespace(br.nextSibling))) {\n filler = br.cloneNode(true);\n filler.className = 'k-br';\n dom.insertAfter(filler, br);\n }\n range.setStartAfter(br);\n range.collapse(true);\n dom.scrollTo(br.nextSibling || br);\n RangeUtils.selectRange(range);\n }\n });\n extend(editorNS, {\n ParagraphCommand: ParagraphCommand,\n NewLineCommand: NewLineCommand\n });\n registerTool('insertLineBreak', new Tool({\n key: 13,\n shift: true,\n command: NewLineCommand\n }));\n registerTool('insertParagraph', new Tool({\n key: 13,\n command: ParagraphCommand\n }));\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/lists', ['editor/linebreak'], f);\n}(function () {\n (function ($) {\n var kendo = window.kendo, Class = kendo.Class, extend = $.extend, Editor = kendo.ui.editor, dom = Editor.Dom, RangeUtils = Editor.RangeUtils, EditorUtils = Editor.EditorUtils, Command = Editor.Command, ToolTemplate = Editor.ToolTemplate, FormatTool = Editor.FormatTool, BlockFormatFinder = Editor.BlockFormatFinder, textNodes = RangeUtils.textNodes, registerTool = Editor.EditorUtils.registerTool;\n var ListFormatFinder = BlockFormatFinder.extend({\n init: function (tag) {\n this.tag = tag;\n var tags = this.tags = [\n tag == 'ul' ? 'ol' : 'ul',\n tag\n ];\n BlockFormatFinder.fn.init.call(this, [{ tags: tags }]);\n },\n isFormatted: function (nodes) {\n var formatNodes = [];\n var formatNode, i;\n for (i = 0; i < nodes.length; i++) {\n formatNode = this.findFormat(nodes[i]);\n if (formatNode && dom.name(formatNode) == this.tag) {\n formatNodes.push(formatNode);\n }\n }\n if (formatNodes.length < 1) {\n return false;\n }\n if (formatNodes.length != nodes.length) {\n return false;\n }\n for (i = 0; i < formatNodes.length; i++) {\n if (formatNodes[i].parentNode != formatNode.parentNode) {\n break;\n }\n if (formatNodes[i] != formatNode) {\n return false;\n }\n }\n return true;\n },\n findSuitable: function (nodes) {\n var candidate = this.findFormat(nodes[0]);\n if (candidate && dom.name(candidate) == this.tag) {\n return candidate;\n }\n return null;\n }\n });\n var ListFormatter = Class.extend({\n init: function (tag, unwrapTag) {\n var that = this;\n that.finder = new ListFormatFinder(tag);\n that.tag = tag;\n that.unwrapTag = unwrapTag;\n },\n isList: function (node) {\n return dom.list(node);\n },\n immutables: function () {\n return this.editor && !!this.editor.options.immutables;\n },\n wrap: function (list, nodes) {\n var li = dom.create(list.ownerDocument, 'li'), i, node, isImmutable = this.immutables() ? Editor.Immutables.immutable : $.noop;\n for (i = 0; i < nodes.length; i++) {\n node = nodes[i];\n if (dom.is(node, 'li')) {\n list.appendChild(node);\n continue;\n }\n if (this.isList(node)) {\n while (node.firstChild) {\n list.appendChild(node.firstChild);\n }\n continue;\n }\n if (dom.is(node, 'td')) {\n while (node.firstChild) {\n li.appendChild(node.firstChild);\n }\n list.appendChild(li);\n node.appendChild(list);\n list = list.cloneNode(false);\n li = li.cloneNode(false);\n continue;\n }\n li.appendChild(node);\n if (dom.isBlock(node)) {\n list.appendChild(li);\n if (!isImmutable(node)) {\n dom.unwrap(node);\n }\n li = li.cloneNode(false);\n }\n }\n if (li.firstChild) {\n list.appendChild(li);\n }\n },\n containsAny: function (parent, nodes) {\n for (var i = 0; i < nodes.length; i++) {\n if (dom.isAncestorOrSelf(parent, nodes[i])) {\n return true;\n }\n }\n return false;\n },\n suitable: function (candidate, nodes) {\n if (candidate.className == 'k-marker') {\n var sibling = candidate.nextSibling;\n if (sibling && dom.isBlock(sibling)) {\n return false;\n }\n sibling = candidate.previousSibling;\n if (sibling && dom.isBlock(sibling)) {\n return false;\n }\n }\n return this.containsAny(candidate, nodes) || dom.isInline(candidate) || candidate.nodeType == 3;\n },\n _parentLists: function (node) {\n var editable = dom.closestEditable(node);\n return $(node).parentsUntil(editable, 'ul,ol');\n },\n split: function (range) {\n var nodes = textNodes(range);\n var start, end, parents;\n if (nodes.length) {\n start = dom.parentOfType(nodes[0], ['li']);\n end = dom.parentOfType(nodes[nodes.length - 1], ['li']);\n range.setStartBefore(start);\n range.setEndAfter(end);\n for (var i = 0, l = nodes.length; i < l; i++) {\n var formatNode = this.finder.findFormat(nodes[i]);\n if (formatNode) {\n parents = this._parentLists(formatNode);\n if (parents.length) {\n RangeUtils.split(range, parents.last()[0], true);\n } else {\n RangeUtils.split(range, formatNode, true);\n }\n }\n }\n }\n },\n merge: function (tag, formatNode) {\n var prev = formatNode.previousSibling, next;\n while (prev && (prev.className == 'k-marker' || prev.nodeType == 3 && dom.isWhitespace(prev))) {\n prev = prev.previousSibling;\n }\n if (prev && dom.name(prev) == tag) {\n while (formatNode.firstChild) {\n prev.appendChild(formatNode.firstChild);\n }\n dom.remove(formatNode);\n formatNode = prev;\n }\n next = formatNode.nextSibling;\n while (next && (next.className == 'k-marker' || next.nodeType == 3 && dom.isWhitespace(next))) {\n next = next.nextSibling;\n }\n if (next && dom.name(next) == tag) {\n while (formatNode.lastChild) {\n next.insertBefore(formatNode.lastChild, next.firstChild);\n }\n dom.remove(formatNode);\n }\n },\n breakable: function (node) {\n return node != node.ownerDocument.body && !/table|tbody|tr|td/.test(dom.name(node)) && !node.attributes.contentEditable;\n },\n applyOnSection: function (section, nodes) {\n var tag = this.tag;\n var commonAncestor = dom.closestSplittableParent(nodes);\n var ancestors = [];\n var formatNode = this.finder.findSuitable(nodes);\n if (!formatNode) {\n formatNode = new ListFormatFinder(tag == 'ul' ? 'ol' : 'ul').findSuitable(nodes);\n }\n var childNodes;\n if (/table|tbody/.test(dom.name(commonAncestor))) {\n childNodes = $.map(nodes, function (node) {\n return dom.parentOfType(node, ['td']);\n });\n } else {\n childNodes = dom.significantChildNodes(commonAncestor);\n if ($.grep(childNodes, dom.isBlock).length) {\n childNodes = $.grep(childNodes, $.proxy(function (node) {\n return this.containsAny(node, nodes);\n }, this));\n }\n if (!childNodes.length) {\n childNodes = nodes;\n }\n }\n function pushAncestor() {\n ancestors.push(this);\n }\n for (var i = 0; i < childNodes.length; i++) {\n var child = childNodes[i];\n var suitable = (!formatNode || !dom.isAncestorOrSelf(formatNode, child)) && this.suitable(child, nodes);\n if (!suitable) {\n continue;\n }\n if (formatNode && this.isList(child)) {\n $.each(child.children, pushAncestor);\n dom.remove(child);\n } else {\n ancestors.push(child);\n }\n }\n if (ancestors.length == childNodes.length && this.breakable(commonAncestor)) {\n ancestors = [commonAncestor];\n }\n if (!formatNode) {\n formatNode = dom.create(commonAncestor.ownerDocument, tag);\n dom.insertBefore(formatNode, ancestors[0]);\n }\n this.wrap(formatNode, ancestors);\n while (dom.isBom(formatNode.nextSibling)) {\n dom.remove(formatNode.nextSibling);\n }\n if (!dom.is(formatNode, tag)) {\n dom.changeTag(formatNode, tag);\n }\n this.merge(tag, formatNode);\n },\n apply: function (nodes) {\n var i = 0, sections = [], lastSection, lastNodes, section, node, l = nodes.length, immutableParent = this.immutables() ? Editor.Immutables.immutableParent : $.noop;\n function addLastSection() {\n if (lastSection) {\n sections.push({\n section: lastSection,\n nodes: lastNodes\n });\n }\n }\n for (i = 0; i < l; i++) {\n node = immutableParent(nodes[i]) || nodes[i];\n section = dom.closestEditable(node, [\n 'td',\n 'body'\n ]);\n if (!lastSection || section != lastSection) {\n addLastSection();\n lastNodes = [node];\n lastSection = section;\n } else {\n lastNodes.push(node);\n }\n }\n addLastSection();\n for (i = 0; i < sections.length; i++) {\n this.applyOnSection(sections[i].section, sections[i].nodes);\n }\n },\n unwrap: function (ul) {\n var fragment = ul.ownerDocument.createDocumentFragment(), unwrapTag = this.unwrapTag, parents, li, p, child;\n for (li = ul.firstChild; li; li = li.nextSibling) {\n p = dom.create(ul.ownerDocument, unwrapTag || 'p');\n while (li.firstChild) {\n child = li.firstChild;\n if (dom.isBlock(child)) {\n if (p.firstChild) {\n fragment.appendChild(p);\n p = dom.create(ul.ownerDocument, unwrapTag || 'p');\n }\n fragment.appendChild(child);\n } else {\n p.appendChild(child);\n }\n }\n if (p.firstChild) {\n fragment.appendChild(p);\n }\n }\n parents = this._parentLists(ul);\n if (parents[0]) {\n dom.insertAfter(fragment, parents.last()[0]);\n parents.last().remove();\n } else {\n dom.insertAfter(fragment, ul);\n }\n dom.remove(ul);\n },\n remove: function (nodes) {\n var formatNode;\n for (var i = 0, l = nodes.length; i < l; i++) {\n formatNode = this.finder.findFormat(nodes[i]);\n if (formatNode) {\n this.unwrap(formatNode);\n }\n }\n },\n toggle: function (range) {\n var that = this, nodes = textNodes(range), ancestor = range.commonAncestorContainer;\n if (!nodes.length) {\n range.selectNodeContents(ancestor);\n nodes = textNodes(range);\n if (!nodes.length) {\n var text = ancestor.ownerDocument.createTextNode('');\n range.startContainer.appendChild(text);\n nodes = [text];\n range.selectNode(text.parentNode);\n }\n }\n nodes = dom.filterBy(nodes, dom.htmlIndentSpace, true);\n if (that.finder.isFormatted(nodes)) {\n that.split(range);\n that.remove(nodes);\n } else {\n that.apply(nodes);\n }\n }\n });\n var ListCommand = Command.extend({\n init: function (options) {\n options.formatter = new ListFormatter(options.tag);\n Command.fn.init.call(this, options);\n }\n });\n var ListTool = FormatTool.extend({\n init: function (options) {\n this.options = options;\n FormatTool.fn.init.call(this, extend(options, { finder: new ListFormatFinder(options.tag) }));\n },\n command: function (commandArguments) {\n return new ListCommand(extend(commandArguments, { tag: this.options.tag }));\n }\n });\n extend(Editor, {\n ListFormatFinder: ListFormatFinder,\n ListFormatter: ListFormatter,\n ListCommand: ListCommand,\n ListTool: ListTool\n });\n registerTool('insertUnorderedList', new ListTool({\n tag: 'ul',\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Insert unordered list'\n })\n }));\n registerTool('insertOrderedList', new ListTool({\n tag: 'ol',\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Insert ordered list'\n })\n }));\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/link', ['editor/lists'], f);\n}(function () {\n (function ($, undefined) {\n var kendo = window.kendo, Class = kendo.Class, extend = $.extend, proxy = $.proxy, Editor = kendo.ui.editor, dom = Editor.Dom, RangeUtils = Editor.RangeUtils, EditorUtils = Editor.EditorUtils, Command = Editor.Command, Tool = Editor.Tool, ToolTemplate = Editor.ToolTemplate, InlineFormatter = Editor.InlineFormatter, InlineFormatFinder = Editor.InlineFormatFinder, textNodes = RangeUtils.textNodes, editableTextNodes = RangeUtils.editableTextNodes, registerTool = Editor.EditorUtils.registerTool, keys = kendo.keys;\n var HTTP_PROTOCOL = 'http://';\n var protocolRegExp = /^\\w*:\\/\\//;\n var endLinkCharsRegExp = /[\\w\\/\\$\\-_\\*\\?]/i;\n var LinkFormatFinder = Class.extend({\n findSuitable: function (sourceNode) {\n return dom.parentOfType(sourceNode, ['a']);\n }\n });\n var LinkFormatter = Class.extend({\n init: function () {\n this.finder = new LinkFormatFinder();\n },\n apply: function (range, attributes) {\n var nodes = this.immutables ? editableTextNodes(range) : textNodes(range);\n var markers, doc, formatter, a, parent;\n if (attributes.innerHTML) {\n doc = RangeUtils.documentFromRange(range);\n markers = RangeUtils.getMarkers(range);\n range.deleteContents();\n a = dom.create(doc, 'a', attributes);\n range.insertNode(a);\n parent = a.parentNode;\n if (dom.name(parent) == 'a') {\n dom.insertAfter(a, parent);\n }\n if (dom.emptyNode(parent)) {\n dom.remove(parent);\n }\n var ref = a;\n for (var i = 0; i < markers.length; i++) {\n dom.insertAfter(markers[i], ref);\n ref = markers[i];\n }\n if (markers.length) {\n dom.insertBefore(doc.createTextNode('\\uFEFF'), markers[1]);\n dom.insertAfter(doc.createTextNode('\\uFEFF'), markers[1]);\n range.setStartBefore(markers[0]);\n range.setEndAfter(markers[markers.length - 1]);\n }\n } else {\n formatter = new InlineFormatter([{ tags: ['a'] }], attributes);\n formatter.finder = this.finder;\n formatter.apply(nodes);\n }\n }\n });\n var UnlinkCommand = Command.extend({\n init: function (options) {\n var that = this;\n options.formatter = {\n toggle: function (range) {\n var nodes = that.immutables() ? editableTextNodes(range) : textNodes(range);\n new InlineFormatter([{ tags: ['a'] }]).remove(nodes);\n }\n };\n this.options = options;\n Command.fn.init.call(this, options);\n }\n });\n var LinkCommand = Command.extend({\n init: function (options) {\n var that;\n this.options = options;\n Command.fn.init.call(this, options);\n this.formatter = new LinkFormatter();\n if (!options.url) {\n this.attributes = null;\n this.async = true;\n } else {\n this.exec = function () {\n this.formatter.immutables = that && that.immutables();\n this.formatter.apply(options.range, {\n href: options.url,\n innerHTML: options.text || options.url,\n target: options.target\n });\n };\n }\n },\n _dialogTemplate: function () {\n return kendo.template('
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '
    ' + '' + '' + '
    ' + '
    ' + '' + '' + '
    ' + '
    ')({ messages: this.editor.options.messages });\n },\n exec: function () {\n var messages = this.editor.options.messages;\n this._initialText = '';\n this._range = this.lockRange(true);\n this.formatter.immutables = this.immutables();\n var nodes = textNodes(this._range);\n var a = nodes.length ? this.formatter.finder.findSuitable(nodes[0]) : null;\n var img = nodes.length && dom.name(nodes[0]) == 'img';\n var dialog = this.createDialog(this._dialogTemplate(), {\n title: messages.createLink,\n close: proxy(this._close, this),\n visible: false\n });\n if (a) {\n this._range.selectNodeContents(a);\n nodes = textNodes(this._range);\n }\n this._initialText = this.linkText(nodes);\n dialog.find('.k-dialog-insert').click(proxy(this._apply, this)).end().find('.k-dialog-close').click(proxy(this._close, this)).end().find('.k-edit-field input').keydown(proxy(this._keydown, this)).end().find('#k-editor-link-url').val(this.linkUrl(a)).end().find('#k-editor-link-text').val(this._initialText).end().find('#k-editor-link-title').val(a ? a.title : '').end().find('#k-editor-link-target').attr('checked', a ? a.target == '_blank' : false).end().find('.k-editor-link-text-row').toggle(!img);\n this._dialog = dialog.data('kendoWindow').center().open();\n $('#k-editor-link-url', dialog).focus().select();\n },\n _keydown: function (e) {\n var keys = kendo.keys;\n if (e.keyCode == keys.ENTER) {\n this._apply(e);\n } else if (e.keyCode == keys.ESC) {\n this._close(e);\n }\n },\n _apply: function (e) {\n var element = this._dialog.element;\n var href = $('#k-editor-link-url', element).val();\n var title, text, target;\n var textInput = $('#k-editor-link-text', element);\n if (href && href != HTTP_PROTOCOL) {\n if (href.indexOf('@') > 0 && !/^(\\w+:)|(\\/\\/)/i.test(href)) {\n href = 'mailto:' + href;\n }\n this.attributes = { href: href };\n title = $('#k-editor-link-title', element).val();\n if (title) {\n this.attributes.title = title;\n }\n if (textInput.is(':visible')) {\n text = textInput.val();\n if (!text && !this._initialText) {\n this.attributes.innerHTML = href;\n } else if (text && text !== this._initialText) {\n this.attributes.innerHTML = dom.stripBom(text);\n }\n }\n target = $('#k-editor-link-target', element).is(':checked');\n this.attributes.target = target ? '_blank' : null;\n this.formatter.apply(this._range, this.attributes);\n }\n this._close(e);\n if (this.change) {\n this.change();\n }\n },\n _close: function (e) {\n e.preventDefault();\n this._dialog.destroy();\n dom.windowFromDocument(RangeUtils.documentFromRange(this._range)).focus();\n this.releaseRange(this._range);\n },\n linkUrl: function (anchor) {\n if (anchor) {\n return anchor.getAttribute('href', 2);\n }\n return HTTP_PROTOCOL;\n },\n linkText: function (nodes) {\n var text = '';\n var i;\n for (i = 0; i < nodes.length; i++) {\n text += nodes[i].nodeValue;\n }\n return dom.stripBom(text || '');\n },\n redo: function () {\n var range = this.lockRange(true);\n this.formatter.apply(range, this.attributes);\n this.releaseRange(range);\n }\n });\n var AutoLinkCommand = Command.extend({\n init: function (options) {\n Command.fn.init.call(this, options);\n this.formatter = new LinkFormatter();\n },\n exec: function () {\n var detectedLink = this.detectLink();\n if (!detectedLink) {\n return;\n }\n var range = this.getRange();\n var linkMarker = new kendo.ui.editor.Marker();\n var linkRange = range.cloneRange();\n linkRange.setStart(detectedLink.start.node, detectedLink.start.offset);\n linkRange.setEnd(detectedLink.end.node, detectedLink.end.offset);\n range = this.lockRange();\n linkMarker.add(linkRange);\n this.formatter.apply(linkRange, { href: this._ensureWebProtocol(detectedLink.text) });\n linkMarker.remove(linkRange);\n this.releaseRange(range);\n },\n detectLink: function () {\n var range = this.getRange();\n var traverser = new LeftDomTextTraverser({\n node: range.startContainer,\n offset: range.startOffset,\n cancelAtNode: function (node) {\n return node && dom.name(node) === 'a';\n }\n });\n var detection = new DomTextLinkDetection(traverser);\n return detection.detectLink();\n },\n changesContent: function () {\n return !!this.detectLink();\n },\n _ensureWebProtocol: function (linkText) {\n var hasProtocol = this._hasProtocolPrefix(linkText);\n return hasProtocol ? linkText : this._prefixWithWebProtocol(linkText);\n },\n _hasProtocolPrefix: function (linkText) {\n return protocolRegExp.test(linkText);\n },\n _prefixWithWebProtocol: function (linkText) {\n return HTTP_PROTOCOL + linkText;\n }\n });\n var UnlinkTool = Tool.extend({\n init: function (options) {\n this.options = options;\n this.finder = new InlineFormatFinder([{ tags: ['a'] }]);\n Tool.fn.init.call(this, $.extend(options, { command: UnlinkCommand }));\n },\n initialize: function (ui, options) {\n Tool.fn.initialize.call(this, ui, options);\n ui.addClass('k-state-disabled');\n },\n update: function (ui, nodes) {\n ui.toggleClass('k-state-disabled', !this.finder.isFormatted(nodes)).removeClass('k-state-hover');\n }\n });\n var DomTextLinkDetection = Class.extend({\n init: function (traverser) {\n this.traverser = traverser;\n this.start = DomPos();\n this.end = DomPos();\n this.text = '';\n },\n detectLink: function () {\n var node = this.traverser.node;\n var offset = this.traverser.offset;\n if (dom.isDataNode(node)) {\n var text = node.data.substring(0, offset);\n if (/\\s{2}$/.test(dom.stripBom(text))) {\n return;\n }\n } else if (offset === 0) {\n var p = dom.closestEditableOfType(node, dom.blockElements);\n if (p && p.previousSibling) {\n this.traverser.init({ node: p.previousSibling });\n }\n }\n this.traverser.traverse($.proxy(this._detectEnd, this));\n if (!this.end.blank()) {\n this.traverser = this.traverser.clone(this.end);\n this.traverser.traverse($.proxy(this._detectStart, this));\n if (!this._isLinkDetected()) {\n var puntuationOptions = this.traverser.extendOptions(this.start);\n var puntuationTraverser = new RightDomTextTraverser(puntuationOptions);\n puntuationTraverser.traverse($.proxy(this._skipStartPuntuation, this));\n if (!this._isLinkDetected()) {\n this.start = DomPos();\n }\n }\n }\n if (this.start.blank()) {\n return null;\n } else {\n return {\n start: this.start,\n end: this.end,\n text: this.text\n };\n }\n },\n _isLinkDetected: function () {\n return protocolRegExp.test(this.text) || /^w{3}\\./i.test(this.text);\n },\n _detectEnd: function (text, node) {\n var i = lastIndexOfRegExp(text, endLinkCharsRegExp);\n if (i > -1) {\n this.end.node = node;\n this.end.offset = i + 1;\n return false;\n }\n },\n _detectStart: function (text, node) {\n var i = lastIndexOfRegExp(text, /\\s/);\n var ii = i + 1;\n this.text = text.substring(ii) + this.text;\n this.start.node = node;\n this.start.offset = ii;\n if (i > -1) {\n return false;\n }\n },\n _skipStartPuntuation: function (text, node, offset) {\n var i = indexOfRegExp(text, /\\w/);\n var ii = i;\n if (i === -1) {\n ii = text.length;\n }\n this.text = this.text.substring(ii);\n this.start.node = node;\n this.start.offset = ii + (offset | 0);\n if (i > -1) {\n return false;\n }\n }\n });\n function lastIndexOfRegExp(str, search) {\n var i = str.length;\n while (i-- && !search.test(str[i])) {\n }\n return i;\n }\n function indexOfRegExp(str, search) {\n var r = search.exec(str);\n return r ? r.index : -1;\n }\n var DomPos = function () {\n return {\n node: null,\n offset: null,\n blank: function () {\n return this.node === null && this.offset === null;\n }\n };\n };\n var DomTextTraverser = Class.extend({\n init: function (options) {\n this.node = options.node;\n this.offset = options.offset === undefined ? dom.isDataNode(this.node) && this.node.length || 0 : options.offset;\n this.cancelAtNode = options.cancelAtNode || this.cancelAtNode || $.noop;\n },\n traverse: function (callback) {\n if (!callback) {\n return;\n }\n this.cancel = false;\n this._traverse(callback, this.node, this.offset);\n },\n _traverse: function (callback, node, offset) {\n if (!node || this.cancel) {\n return;\n }\n if (node.nodeType === 3) {\n var text = node.data;\n if (offset !== undefined) {\n text = this.subText(text, offset);\n }\n this.cancel = callback(text, node, offset) === false;\n } else {\n var edgeNode = this.edgeNode(node);\n this.cancel = this.cancel || this.cancelAtNode(edgeNode);\n return this._traverse(callback, edgeNode);\n }\n var next = this.next(node);\n if (!next) {\n var parent = node.parentNode;\n while (!next && dom.isInline(parent)) {\n next = this.next(parent);\n parent = parent.parentNode;\n }\n }\n this.cancel = this.cancel || this.cancelAtNode(next);\n this._traverse(callback, next);\n },\n extendOptions: function (o) {\n return $.extend({\n node: this.node,\n offset: this.offset,\n cancelAtNode: this.cancelAtNode\n }, o || {});\n },\n edgeNode: function (node) {\n },\n next: function (node) {\n },\n subText: function (text, offset) {\n }\n });\n var LeftDomTextTraverser = DomTextTraverser.extend({\n subText: function (text, splitIndex) {\n return text.substring(0, splitIndex);\n },\n next: function (node) {\n return node.previousSibling;\n },\n edgeNode: function (node) {\n return node.lastChild;\n },\n clone: function (options) {\n var o = this.extendOptions(options);\n return new LeftDomTextTraverser(o);\n }\n });\n var RightDomTextTraverser = DomTextTraverser.extend({\n subText: function (text, splitIndex) {\n return text.substring(splitIndex);\n },\n next: function (node) {\n return node.nextSibling;\n },\n edgeNode: function (node) {\n return node.firstChild;\n },\n clone: function (options) {\n var o = this.extendOptions(options);\n return new RightDomTextTraverser(o);\n }\n });\n extend(kendo.ui.editor, {\n LinkFormatFinder: LinkFormatFinder,\n LinkFormatter: LinkFormatter,\n UnlinkCommand: UnlinkCommand,\n LinkCommand: LinkCommand,\n AutoLinkCommand: AutoLinkCommand,\n UnlinkTool: UnlinkTool,\n DomTextLinkDetection: DomTextLinkDetection,\n LeftDomTextTraverser: LeftDomTextTraverser,\n RightDomTextTraverser: RightDomTextTraverser\n });\n registerTool('createLink', new Tool({\n key: 'K',\n ctrl: true,\n command: LinkCommand,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Create Link'\n })\n }));\n registerTool('unlink', new UnlinkTool({\n key: 'K',\n ctrl: true,\n shift: true,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Remove Link'\n })\n }));\n registerTool('autoLink', new Tool({\n key: [\n keys.ENTER,\n keys.SPACEBAR\n ],\n keyPressCommand: true,\n command: AutoLinkCommand\n }));\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/file', [\n 'kendo.filebrowser',\n 'editor/link'\n ], f);\n}(function () {\n (function ($, undefined) {\n var kendo = window.kendo, extend = $.extend, Editor = kendo.ui.editor, EditorUtils = Editor.EditorUtils, dom = Editor.Dom, registerTool = EditorUtils.registerTool, ToolTemplate = Editor.ToolTemplate, RangeUtils = Editor.RangeUtils, Command = Editor.Command, LinkFormatter = Editor.LinkFormatter, textNodes = RangeUtils.textNodes, keys = kendo.keys, KEDITORFILEURL = '#k-editor-file-url', KEDITORFILETITLE = '#k-editor-file-title';\n var FileCommand = Command.extend({\n init: function (options) {\n var that = this;\n Command.fn.init.call(that, options);\n that.formatter = new LinkFormatter();\n that.async = true;\n that.attributes = {};\n },\n insertFile: function (file, range) {\n var attributes = this.attributes;\n var doc = RangeUtils.documentFromRange(range);\n if (attributes.href && attributes.href != 'http://') {\n if (!file) {\n file = dom.create(doc, 'a', { href: attributes.href });\n file.innerHTML = attributes.innerHTML;\n range.deleteContents();\n range.insertNode(file);\n if (!file.nextSibling) {\n dom.insertAfter(doc.createTextNode('\\uFEFF'), file);\n }\n range.setStartAfter(file);\n range.setEndAfter(file);\n RangeUtils.selectRange(range);\n return true;\n } else {\n dom.attr(file, attributes);\n }\n }\n return false;\n },\n _dialogTemplate: function (showBrowser) {\n return kendo.template('
    ' + '# if (showBrowser) { #' + '
    ' + '# } #' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '' + '
    ' + '
    ')({\n messages: this.editor.options.messages,\n showBrowser: showBrowser\n });\n },\n redo: function () {\n var that = this, range = that.lockRange();\n this.formatter.apply(range, this.attributes);\n that.releaseRange(range);\n },\n exec: function () {\n var that = this, range = that.lockRange(), nodes = textNodes(range), applied = false, file = nodes.length ? this.formatter.finder.findSuitable(nodes[0]) : null, dialog, options = that.editor.options, messages = options.messages, fileBrowser = options.fileBrowser, showBrowser = !!(kendo.ui.FileBrowser && fileBrowser && fileBrowser.transport && fileBrowser.transport.read !== undefined), dialogOptions = {\n title: messages.insertFile,\n visible: false,\n resizable: showBrowser\n };\n this.expandImmutablesIn(range);\n function apply(e) {\n var element = dialog.element, href = element.find(KEDITORFILEURL).val().replace(/ /g, '%20'), innerHTML = element.find(KEDITORFILETITLE).val();\n that.attributes = {\n href: href,\n innerHTML: innerHTML !== '' ? innerHTML : href\n };\n applied = that.insertFile(file, range);\n close(e);\n if (that.change) {\n that.change();\n }\n }\n function close(e) {\n e.preventDefault();\n dialog.destroy();\n dom.windowFromDocument(RangeUtils.documentFromRange(range)).focus();\n if (!applied) {\n that.releaseRange(range);\n }\n }\n function keyDown(e) {\n if (e.keyCode == keys.ENTER) {\n apply(e);\n } else if (e.keyCode == keys.ESC) {\n close(e);\n }\n }\n dialogOptions.close = close;\n if (showBrowser) {\n dialogOptions.width = 750;\n }\n dialog = this.createDialog(that._dialogTemplate(showBrowser), dialogOptions).toggleClass('k-filebrowser-dialog', showBrowser).find('.k-dialog-insert').click(apply).end().find('.k-dialog-close').click(close).end().find('.k-edit-field input').keydown(keyDown).end().find(KEDITORFILEURL).val(file ? file.getAttribute('href', 2) : 'http://').end().find(KEDITORFILETITLE).val(file ? file.title : '').end().data('kendoWindow');\n if (showBrowser) {\n that._fileBrowser = new kendo.ui.FileBrowser(dialog.element.find('.k-filebrowser'), extend({}, fileBrowser));\n that._fileBrowser.bind('change', function (ev) {\n if (ev.selected.get('type') === 'f') {\n dialog.element.find(KEDITORFILEURL).val(this.value());\n }\n });\n that._fileBrowser.bind('apply', apply);\n }\n dialog.center().open();\n dialog.element.find(KEDITORFILEURL).focus().select();\n }\n });\n kendo.ui.editor.FileCommand = FileCommand;\n registerTool('insertFile', new Editor.Tool({\n command: FileCommand,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Insert File'\n })\n }));\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/image', [\n 'kendo.imagebrowser',\n 'editor/link'\n ], f);\n}(function () {\n (function ($, undefined) {\n var kendo = window.kendo, extend = $.extend, Editor = kendo.ui.editor, EditorUtils = Editor.EditorUtils, dom = Editor.Dom, registerTool = EditorUtils.registerTool, ToolTemplate = Editor.ToolTemplate, RangeUtils = Editor.RangeUtils, Command = Editor.Command, keys = kendo.keys, KEDITORIMAGEURL = '#k-editor-image-url', KEDITORIMAGETITLE = '#k-editor-image-title', KEDITORIMAGEWIDTH = '#k-editor-image-width', KEDITORIMAGEHEIGHT = '#k-editor-image-height';\n var ImageCommand = Command.extend({\n init: function (options) {\n var that = this;\n Command.fn.init.call(that, options);\n that.async = true;\n that.attributes = {};\n },\n insertImage: function (img, range) {\n var attributes = this.attributes;\n var doc = RangeUtils.documentFromRange(range);\n if (attributes.src && attributes.src != 'http://') {\n var removeIEAttributes = function () {\n setTimeout(function () {\n if (!attributes.width) {\n img.removeAttribute('width');\n }\n if (!attributes.height) {\n img.removeAttribute('height');\n }\n img.removeAttribute('complete');\n });\n };\n if (!img) {\n img = dom.create(doc, 'img', attributes);\n img.onload = img.onerror = removeIEAttributes;\n range.deleteContents();\n range.insertNode(img);\n if (!img.nextSibling) {\n dom.insertAfter(doc.createTextNode('\\uFEFF'), img);\n }\n removeIEAttributes();\n range.setStartAfter(img);\n range.setEndAfter(img);\n RangeUtils.selectRange(range);\n return true;\n } else {\n img.onload = img.onerror = removeIEAttributes;\n dom.attr(img, attributes);\n removeIEAttributes();\n }\n }\n return false;\n },\n _dialogTemplate: function (showBrowser) {\n return kendo.template('
    ' + '# if (showBrowser) { #' + '
    ' + '# } #' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '' + '
    ' + '
    ')({\n messages: this.editor.options.messages,\n showBrowser: showBrowser\n });\n },\n redo: function () {\n var that = this, range = that.lockRange();\n if (!that.insertImage(RangeUtils.image(range), range)) {\n that.releaseRange(range);\n }\n },\n exec: function () {\n var that = this, range = that.lockRange(), applied = false, img = RangeUtils.image(range), imageWidth = img && img.getAttribute('width') || '', imageHeight = img && img.getAttribute('height') || '', dialog, options = that.editor.options, messages = options.messages, imageBrowser = options.imageBrowser, showBrowser = !!(kendo.ui.ImageBrowser && imageBrowser && imageBrowser.transport && imageBrowser.transport.read !== undefined), dialogOptions = {\n title: messages.insertImage,\n visible: false,\n resizable: showBrowser\n };\n this.expandImmutablesIn(range);\n function apply(e) {\n var element = dialog.element, w = parseInt(element.find(KEDITORIMAGEWIDTH).val(), 10), h = parseInt(element.find(KEDITORIMAGEHEIGHT).val(), 10);\n that.attributes = {\n src: element.find(KEDITORIMAGEURL).val().replace(/ /g, '%20'),\n alt: element.find(KEDITORIMAGETITLE).val()\n };\n that.attributes.width = null;\n that.attributes.height = null;\n if (!isNaN(w) && w > 0) {\n that.attributes.width = w;\n }\n if (!isNaN(h) && h > 0) {\n that.attributes.height = h;\n }\n applied = that.insertImage(img, range);\n close(e);\n if (that.change) {\n that.change();\n }\n }\n function close(e) {\n e.preventDefault();\n dialog.destroy();\n dom.windowFromDocument(RangeUtils.documentFromRange(range)).focus();\n if (!applied) {\n that.releaseRange(range);\n }\n }\n function keyDown(e) {\n if (e.keyCode == keys.ENTER) {\n apply(e);\n } else if (e.keyCode == keys.ESC) {\n close(e);\n }\n }\n dialogOptions.close = close;\n if (showBrowser) {\n dialogOptions.width = 750;\n }\n dialog = this.createDialog(that._dialogTemplate(showBrowser), dialogOptions).toggleClass('k-filebrowser-dialog', showBrowser).find('.k-dialog-insert').click(apply).end().find('.k-dialog-close').click(close).end().find('.k-edit-field input').keydown(keyDown).end().find(KEDITORIMAGEURL).val(img ? img.getAttribute('src', 2) : 'http://').end().find(KEDITORIMAGETITLE).val(img ? img.alt : '').end().find(KEDITORIMAGEWIDTH).val(imageWidth).end().find(KEDITORIMAGEHEIGHT).val(imageHeight).end().data('kendoWindow');\n if (showBrowser) {\n this._imageBrowser = new kendo.ui.ImageBrowser(dialog.element.find('.k-imagebrowser'), extend({}, imageBrowser));\n this._imageBrowser.bind('change', function (ev) {\n if (ev.selected.get('type') === 'f') {\n dialog.element.find(KEDITORIMAGEURL).val(this.value());\n }\n });\n this._imageBrowser.bind('apply', apply);\n }\n dialog.center().open();\n dialog.element.find(KEDITORIMAGEURL).focus().select();\n }\n });\n kendo.ui.editor.ImageCommand = ImageCommand;\n registerTool('insertImage', new Editor.Tool({\n command: ImageCommand,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Insert Image'\n })\n }));\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/components', ['editor/image'], f);\n}(function () {\n (function ($, undefined) {\n var kendo = window.kendo, DropDownList = kendo.ui.DropDownList, dom = kendo.ui.editor.Dom;\n var SelectBox = DropDownList.extend({\n init: function (element, options) {\n var that = this;\n DropDownList.fn.init.call(that, element, options);\n if (kendo.support.mobileOS.ios) {\n this._initSelectOverlay();\n this.bind('dataBound', $.proxy(this._initSelectOverlay, this));\n }\n that.text(that.options.title);\n that.bind('open', function () {\n if (that.options.autoSize) {\n var list = that.list, listWidth;\n list.css({\n whiteSpace: 'nowrap',\n width: 'auto'\n });\n listWidth = list.width();\n if (listWidth) {\n listWidth += 20;\n } else {\n listWidth = that._listWidth;\n }\n list.css('width', listWidth + kendo.support.scrollbar());\n that._listWidth = listWidth;\n }\n });\n },\n options: {\n name: 'SelectBox',\n index: -1\n },\n _initSelectOverlay: function () {\n var selectBox = this;\n var value = selectBox.value();\n var view = this.dataSource.view();\n var item;\n var html = '';\n var encode = kendo.htmlEncode;\n for (var i = 0; i < view.length; i++) {\n item = view[i];\n html += '