UNPKG

@progress/kendo-ui

Version:

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

1 lines 4.32 kB
module.exports=function(t){function i(e){if(o[e])return o[e].exports;var s=o[e]={exports:{},id:e,loaded:!1};return t[e].call(s.exports,s,s.exports,i),s.loaded=!0,s.exports}var o={};return i.m=t,i.c=o,i.p="",i(0)}({0:function(t,i,o){t.exports=o(1445)},3:function(t,i){t.exports=function(){throw Error("define cannot be used indirect")}},1059:function(t,i){t.exports=require("./kendo.data")},1113:function(t,i){t.exports=require("./kendo.draganddrop")},1445:function(t,i,o){var e,s,r;!function(n,define){s=[o(1059),o(1113)],e=n,r="function"==typeof e?e.apply(i,s):e,!(void 0!==r&&(t.exports=r))}(function(){return function(t,i){var o=window.kendo,e=o.ui,s=t.proxy,r=t.extend,n="visibility",a="k-state-hover",d="input,a:not(.k-in),textarea,.k-multiselect-wrap,select,button,a.k-button>.k-icon,button.k-button>.k-icon,span.k-icon.k-i-arrow-60-right,span.k-icon.k-i-arrow-45-down-right",l="<div class='k-drop-hint k-drop-hint-h'><div class='k-drop-hint-start'></div><div class='k-drop-hint-line'></div></div>";e.HierarchicalDragAndDrop=o.Class.extend({init:function(i,n){this.element=i,this.hovered=i,this.options=r({dragstart:t.noop,drag:t.noop,drop:t.noop,dragend:t.noop},n),this._draggable=new e.Draggable(i,{ignore:d,filter:n.filter,autoScroll:n.autoScroll,cursorOffset:{left:10,top:o.support.mobileOS?-40/o.support.zoomLevel():10},hint:s(this._hint,this),dragstart:s(this.dragstart,this),dragcancel:s(this.dragcancel,this),drag:s(this.drag,this),dragend:s(this.dragend,this),$angular:n.$angular,holdToDrag:n.holdToDrag})},_hint:function(t){return"<div class='k-header k-drag-clue'><span class='k-icon k-drag-status'></span>"+this.options.hintText(t)+"</div>"},_removeTouchHover:function(){o.support.touch&&this.hovered&&(this.hovered.find("."+a).removeClass(a),this.hovered=!1)},_hintStatus:function(t){var e=this._draggable.hint.find(".k-drag-status")[0];return t?(e.className="k-icon k-drag-status "+t,i):o.trim(e.className.replace(/(p|k)-(icon|drag-status)/g,""))},dragstart:function(i){this.source=i.currentTarget.closest(this.options.itemSelector),this.options.dragstart(this.source)&&i.preventDefault(),this.dropHint=this.options.reorderable?t(l).css(n,"hidden").appendTo(this.element):t()},drag:function(i){var e,s,r,d,l,h,c,p,u,g,v,f=this.options,k=this.source,m=this.dropTarget=t(o.eventTarget(i)),_=m.closest(f.allowedContainers);_.length?k[0]==m[0]||f.contains(k[0],m[0])?v="k-i-cancel":(v="k-i-insert-middle",u=f.itemFromTarget(m),e=u.item,e.length?(this._removeTouchHover(),s=o._outerHeight(e),d=u.content,f.reorderable?(l=s/(d.length>0?4:2),r=o.getOffset(e).top,h=i.y.location<r+l,c=r+s-l<i.y.location,p=d.length&&!h&&!c):(p=!0,h=!1,c=!1),this.hovered=!!p&&_,this.dropHint.css(n,p?"hidden":"visible"),this._lastHover&&this._lastHover[0]!=d[0]&&this._lastHover.removeClass(a),this._lastHover=d.toggleClass(a,p),p?v="k-i-plus":(g=e.position(),g.top+=h?0:s,this.dropHint.css(g)[h?"prependTo":"appendTo"](f.dropHintContainer(e)),h&&u.first&&(v="k-i-insert-up"),c&&u.last&&(v="k-i-insert-down"))):m[0]!=this.dropHint[0]&&(this._lastHover&&this._lastHover.removeClass(a),v=t.contains(this.element[0],_[0])?"k-i-cancel":"k-i-plus")):(v="k-i-cancel",this._removeTouchHover()),this.options.drag({originalEvent:i.originalEvent,source:k,target:m,pageY:i.y.location,pageX:i.x.location,status:v.substring(2),setStatus:function(t){v=t}}),0!==v.indexOf("k-i-insert")&&this.dropHint.css(n,"hidden"),this._hintStatus(v)},dragcancel:function(){this.dropHint.remove()},dragend:function(t){var o,e,s,r="over",d=this.source,l=this.dropHint,h=this.dropTarget;return"visible"==l.css(n)?(r=this.options.dropPositionFrom(l),o=l.closest(this.options.itemSelector)):h&&(o=h.closest(this.options.itemSelector),o.length||(o=h.closest(this.options.allowedContainers))),e={originalEvent:t.originalEvent,source:d[0],destination:o[0],valid:"k-i-cancel"!=this._hintStatus(),setValid:function(t){this.valid=t},dropTarget:h[0],position:r},s=this.options.drop(e),l.remove(),this._removeTouchHover(),this._lastHover&&this._lastHover.removeClass(a),!e.valid||s?(this._draggable.dropped=e.valid,i):(this._draggable.dropped=!0,this.options.dragend({originalEvent:t.originalEvent,source:d,destination:o,position:r}),i)},destroy:function(){this._lastHover=this.hovered=null,this._draggable.destroy()}})}(window.kendo.jQuery),window.kendo},o(3))}});