UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

1 lines 12.1 kB
module.exports=function(n){var r={};function i(e){if(r[e])return r[e].exports;var t=r[e]={exports:{},id:e,loaded:!1};return n[e].call(t.exports,t,t.exports,i),t.loaded=!0,t.exports}return i.m=n,i.c=r,i.p="",i(0)}({0:function(e,t,n){e.exports=n(1e3)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},980:function(e,t){e.exports=require("../command")},1e3:function(e,t,n){var r;n(3),n=[n(980)],void 0===(t="function"==typeof(r=function(){var C=window.kendo.jQuery,l=window.kendo,e=l.Class,b=l.ui.editor,d=b.RangeUtils,T=b.Dom,u=b.RestorePoint,c=b.Marker,m=l.support.browser,s="<span class='k-br'>\ufeff</span>",p=C.extend,n=T.nodeTypes,S="previousSibling";function y(e,t){return t.startContainer===e&&t.endContainer===e&&t.startOffset===0&&t.endOffset==e.childNodes.length}function _(e,t,n){var r=e?e[t]:null;while(r&&!n(r))r=r[t];return r}var h="td,th,caption",t="table,tbody,thead,tfoot,tr",g=t+","+h,v=function(e){return!e.collapsed&&C(e.commonAncestorContainer).is(t)},k=e.extend({remove:function(e){var t=this;var n=new c;n.add(e,false);var r=d.getAll(e,function(e){return C(e).is(g)});var i=d.documentFromRange(e);var o=n.start;var s=n.end;var a=h.split(",");var f=T.parentOfType(o,a);var l=T.parentOfType(s,a);t._removeContent(o,f,true);t._removeContent(s,l,false);C(r).each(function(e,t){t=C(t);(t.is(h)?t:t.find(h)).each(function(e,t){t.innerHTML="&#65279;"})});if(f&&!o.previousSibling)T.insertBefore(i.createTextNode("\ufeff"),o);if(l&&!s.nextSibling)T.insertAfter(i.createTextNode("\ufeff"),s);if(f)e.setStartBefore(o);else if(r[0]){f=C(r[0]);f=f.is(h)?f:f.find(h).first();if(f.length)e.setStart(f.get(0),0)}e.collapse(true);T.remove(o);T.remove(s)},_removeContent:function(e,t,n){if(t){var r=n?"nextSibling":"previousSibling",i,o=function(e){while(e&&!e[r])e=e.parentNode;return e&&C.contains(t,e)?e[r]:null};e=o(e);while(e){i=o(e);T.remove(e);e=i}}}}),r=e.extend({init:function(e){this.editor=e},keydown:function(e){var t=this,n=t.editor,r=n.keyboard,i=r.isTypingKey(e),o=p(C.Event(),e);t.editor.trigger("keydown",o);if(o.isDefaultPrevented()){e.preventDefault();return true}if(!o.isDefaultPrevented()&&i&&!r.isTypingInProgress()){var s=n.getRange();var a=n.body;t.startRestorePoint=new u(s,a);if(v(s)){var f=new k(n);f.remove(s);n.selectRange(s)}if(m.webkit&&!s.collapsed&&y(a,s))a.innerHTML="";if(n.immutables&&b.Immutables.immutablesContext(s)){var l=new b.BackspaceHandler(n);l.deleteSelection(s)}r.startTyping(function(){t._removeBomSpan();t.endRestorePoint=b._finishUpdate(n,t.startRestorePoint)});return true}return false},keyup:function(e){var t=this.editor.keyboard;this.editor.trigger("keyup",e);if(t.isTypingInProgress()){t.endTyping();return true}return false},_removeBomSpan:function(){var e=this.editor.getRange().commonAncestorContainer;if(!T.emptyNode(e)){if(e.nodeType===3)e=e.parentNode;if(T.insignificant(e)){e.textContent=T.stripBom(e.textContent);T.unwrap(e)}}}}),i=e.extend({init:function(e){this.editor=e},_addCaret:function(e){var t=T.create(this.editor.document,"a");if(!l.support.browser.chrome&&e.firstChild&&e.firstChild.nodeType===n.ELEMENT_NODE)e=e.firstChild;T.insertAt(e,t,0);T.stripBomNode(t.previousSibling);T.stripBomNode(t.nextSibling);return t},_restoreCaret:function(e){var t=this.editor.createRange();if(!e.nextSibling&&T.isDataNode(e.previousSibling))t.setStart(e.previousSibling,e.previousSibling.length);else t.setStartAfter(e);t.collapse(true);this.editor.selectRange(t);T.remove(e)},_handleDelete:function(e){var t=e.endContainer;var n=T.closestEditableOfType(t,T.blockElements);if(n&&b.RangeUtils.isEndOf(e,n)){var r=T.next(n);if(!r||T.name(r)!="p")return false;var i=T.significantChildNodes(r)[0];i=i&&T.isInline(i)?i:r;var o=this._addCaret(i);this._merge(n,r);this._restoreCaret(o);return true}return false},_cleanBomBefore:function(e){var t=e.startOffset;var n=e.startContainer;var r=n.nodeValue;var i=0;while(t-i>=0&&r[t-i-1]=="\ufeff")i++;if(i>0){n.deleteData(t-i,i);e.setStart(n,Math.max(0,t-i));e.collapse(true);this.editor.selectRange(e)}},_handleBackspace:function(e){var t=e.startContainer;var n=T.closestEditableOfType(t,["li"]);var r=T.closestEditableOfType(t,"p,h1,h2,h3,h4,h5,h6".split(","));var i=this.editor;var o;if(T.isDataNode(t)){if(e.collapsed&&/^\s[\ufeff]+$/.test(t.nodeValue)){e.setStart(t,0);e.setEnd(t,t.length);i.selectRange(e);return false}this._cleanBomBefore(e)}o=_(r,S,function(e){return!T.htmlIndentSpace(e)});if(e.collapsed&&e.startOffset!==e.endOffset&&e.startOffset<0){e.startOffset=0;e.endOffset=0;i.selectRange(e)}var d=n&&b.RangeUtils.isStartOf(e,n);var u=n&&C(n).index();var c=d&&u>0;if(c){r=n;o=T.prev(n)}if(r&&o&&T.is(o,"table")&&b.RangeUtils.isStartOf(e,r)){if(r.innerText==="")r.innerHTML="\ufeff";return true}if(b.RangeUtils.isStartOf(e,r)&&parseInt(r.style.marginLeft,10)>0){i.exec("outdent");return true}if(r&&o&&b.RangeUtils.isStartOf(e,r)||c){var s=T.significantChildNodes(r)[0];s=s&&T.isInline(s)?s:r;var h=this._addCaret(s);this._merge(o,r);this._restoreCaret(h);return true}if(d&&u===0){var a=n.firstChild;if(!a){n.innerHTML=b.emptyElementContent;a=n.firstChild}var m=new b.ListFormatter(T.name(n.parentNode),"p");e.selectNodeContents(n);m.toggle(e);if(T.insignificant(a))e.setStartBefore(a);else e.setStart(a,0);i.selectRange(e);return true}var p=t.childNodes[e.startOffset-1];var f=e;var l=p&&T.closestEditableOfType(p,["a"]);var y=_(p||t,S,function(e){return!T.isDataNode(e)||!T.isBom(e)&&e.length>0});if(l||(e.startOffset===0||p)&&T.is(y,"a")){l=l||y;f=i.createRange();f.setStart(l,l.childNodes.length);f.collapse(true)}l=l||T.closestEditableOfType(p||f.startContainer,["a"]);var g=l&&b.RangeUtils.isEndOf(f,l);if(g){var v=new b.UnlinkCommand({range:f,body:i.body,immutables:!!i.immutables});i.execCommand(v);i._selectionChange()}return false},_handleSelection:function(e){var t=e.commonAncestorContainer;var n=T.closest(t,"table");var r=b.emptyElementContent;var i=this.editor;var o;if(v(e)){var s=new k(i);s.remove(e);i.selectRange(e);return true}var a=new c;a.add(e,false);if(e.commonAncestorContainer===i.body)this._surroundFullyContent(a,e);if(i.immutables)this._handleImmutables(a);this._surroundFullySelectedAnchor(a,e);e.setStartAfter(a.start);e.setEndBefore(a.end);var f=e.startContainer;var l=e.endContainer;e.deleteContents();if(l.tagName.toLocaleLowerCase()==="li"&&T.emptyNode(l)){e.selectNode(l);e.deleteContents()}if(n&&C(n).text()===""){e.selectNode(n);e.deleteContents()}t=e.commonAncestorContainer;if(T.name(t)==="p"&&t.innerHTML===""){t.innerHTML=r;e.setStart(t,0)}this._join(f,l);T.insertAfter(i.document.createTextNode("\ufeff"),a.start);a.remove(e);f=e.startContainer;if(T.name(f)=="tr"){f=f.childNodes[Math.max(0,e.startOffset-1)];e.setStart(f,T.getNodeLength(f))}e.collapse(true);i.selectRange(e);o=f.parentElement||f.parentNode;if(T.isDataNode(f)&&!T.emptyNode(o))this._cleanBomBefore(e);return true},_handleImmutables:function(e){var t=b.Immutables.immutableParent;var n=t(e.start);var r=t(e.start);if(n)T.insertBefore(e.start,n);if(r)T.insertAfter(e.end,r);if(n)T.remove(n);if(r&&r.parentNode)T.remove(r)},_surroundFullyContent:function(e,t){var n=t.commonAncestorContainer.children,r=n[0],i=n[n.length-1];this._moveMarker(e,t,r,i)},_surroundFullySelectedAnchor:function(e,t){var n=e.start,r=C(n).closest("a").get(0),i=e.end,o=C(i).closest("a").get(0);this._moveMarker(e,t,r,o)},_moveMarker:function(e,t,n,r){var i=e.start,o=e.end;if(n&&d.isStartOf(t,n))T.insertBefore(i,n);if(r&&d.isEndOf(t,r))T.insertAfter(o,r)},_root:function(e){while(e&&T.name(e)!="body"&&e.parentNode&&T.name(e.parentNode)!="body")e=e.parentNode;return e},_join:function(e,t){e=this._root(e);t=this._root(t);if(e!=t&&T.is(t,"p"))this._merge(e,t)},_merge:function(e,t){T.removeTrailingBreak(e);while(e&&t.firstChild)if(e.nodeType==1){e=T.list(e)?e.children[e.children.length-1]:e;if(e)e.appendChild(t.firstChild)}else if(e.nodeType===n.TEXT_NODE)this._mergeWithTextNode(e,t.firstChild);else e.parentNode.appendChild(t.firstChild);T.remove(t)},_mergeWithTextNode:function(e,t){if(e&&e.nodeType===n.TEXT_NODE)if(e.nextSibling&&this._isCaret(e.nextSibling))T.insertAfter(t,e.nextSibling);else T.insertAfter(t,e)},_isCaret:function(e){return C(e).is("a")},keydown:function(e){var t,n;var r=this.editor;var i=r.getRange();var o=e.keyCode;var s=l.keys;var a=o===s.BACKSPACE;var f=o==s.DELETE;if(r.immutables&&r.immutables.keydown(e,i))return;if((a||f)&&!i.collapsed)t="_handleSelection";else if(a)t="_handleBackspace";else if(f)t="_handleDelete";if(!t)return;n=new u(i,r.body);if(this[t](i)){e.preventDefault();b._finishUpdate(r,n)}},deleteSelection:function(e){this._handleSelection(e)},keyup:C.noop}),o=e.extend({init:function(e){this.editor=e;this.systemCommandIsInProgress=false},createUndoCommand:function(){this.startRestorePoint=this.endRestorePoint=b._finishUpdate(this.editor,this.startRestorePoint)},changed:function(){if(this.startRestorePoint)return this.startRestorePoint.html!=this.editor.body.innerHTML;return false},keydown:function(e){var t=this,n=t.editor,r=n.keyboard;if(r.isModifierKey(e)){if(r.isTypingInProgress())r.endTyping(true);t.startRestorePoint=new u(n.getRange(),n.body);return true}if(r.isSystem(e)){t.systemCommandIsInProgress=true;if(t.changed()){t.systemCommandIsInProgress=false;t.createUndoCommand()}return true}return false},keyup:function(){var e=this;if(e.systemCommandIsInProgress&&e.changed()){e.systemCommandIsInProgress=false;e.createUndoCommand();return true}return false}}),a=e.extend({init:function(e){this.editor=e},keydown:function(e){if(!m.webkit||e.isDefaultPrevented()||!(e.ctrlKey&&e.keyCode==65&&!e.altKey&&!e.shiftKey))return;if(this.editor.options.immutables)this._toSelectableImmutables();this._selectEditorBody()},_selectEditorBody:function(){var e=this.editor;var t=e.getRange();t.selectNodeContents(e.body);setTimeout(function(){e.selectRange(t)})},_toSelectableImmutables:function(){var e=this.editor,t=e.body,n=b.Immutables.immutable,r=T.emptyTextNode,i=t.firstChild,o=t.lastChild;while(r(i))i=i.nextSibling;while(r(o))o=o.previousSibling;if(i&&n(i))C(s).prependTo(t);if(o&&n(o))C(s).appendTo(t)},keyup:C.noop}),f=e.extend({init:function(e){this.handlers=e;this.typingInProgress=false},isCharacter:function(e){return e>=48&&e<=90||e>=96&&e<=111||e>=186&&e<=192||e>=219&&e<=222||e==229},toolFromShortcut:function(e,t){var n=String.fromCharCode(t.keyCode),r,i,o=this._getShortcutModifier(t,navigator.platform);for(r in e){i=C.extend({ctrl:false,alt:false,shift:false},e[r].options);if((i.key==n||i.key==t.keyCode)&&i.ctrl==o&&i.alt==t.altKey&&i.shift==t.shiftKey)return r}},_getShortcutModifier:function(e,t){var n=t.toUpperCase().indexOf("MAC")>=0;return n?e.metaKey:e.ctrlKey},toolsFromShortcut:function(e,t){var n=String.fromCharCode(t.keyCode),r,i,o,s=[];var a=function(e){return e==n||e==t.keyCode||e==t.charCode};for(r in e){i=C.extend({ctrl:false,alt:false,shift:false},e[r].options);o=Array.isArray(i.key)?C.grep(i.key,a).length>0:a(i.key);if(o&&i.ctrl==t.ctrlKey&&i.alt==t.altKey&&i.shift==t.shiftKey)s.push(e[r])}return s},isTypingKey:function(e){var t=e.keyCode;return this.isCharacter(t)&&!e.ctrlKey&&!e.altKey||t==32||t==13||t==8||t==46&&!e.shiftKey&&!e.ctrlKey&&!e.altKey},isModifierKey:function(e){var t=e.keyCode;return t==17&&!e.shiftKey&&!e.altKey||t==16&&!e.ctrlKey&&!e.altKey||t==18&&!e.ctrlKey&&!e.shiftKey},isSystem:function(e){return e.keyCode==46&&e.ctrlKey&&!e.altKey&&!e.shiftKey},startTyping:function(e){this.onEndTyping=e;this.typingInProgress=true},stopTyping:function(){if(this.typingInProgress&&this.onEndTyping)this.onEndTyping();this.typingInProgress=false},endTyping:function(e){var t=this;t.clearTimeout();if(e)t.stopTyping();else t.timeout=window.setTimeout(t.stopTyping.bind(t),1e3)},isTypingInProgress:function(){return this.typingInProgress},clearTimeout:function(){window.clearTimeout(this.timeout)},notify:function(e,t){var n,r=this.handlers;for(n=0;n<r.length;n++)if(r[n][t](e))break},keydown:function(e){this.notify(e,"keydown")},keyup:function(e){this.notify(e,"keyup")}});p(b,{TypingHandler:r,SystemHandler:o,BackspaceHandler:i,SelectAllHandler:a,Keyboard:f})})?r.apply(t,n):r)||(e.exports=t)}});