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