UNPKG

@progress/kendo-ui

Version:

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

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