ux-datagrid-dragRows.min.js |
|
! ux-angularjs-datagrid v.1.4.11 (c) 2016, Obogo https://github.com/obogo/ux-angularjs-datagrid License: MIT. |
(function (exports, global) {
if (typeof define === "function" && define.amd) {
define(exports);
} else if (typeof module !== "undefined" && module.exports) {
module.exports = exports;
} else {
global.ux = exports;
}
!function(a,b){"function"==typeof define&&define.amd?define(a):"undefined"!=typeof module&&module.exports?module.exports=a:b.ux=a,a.datagrid.events.DRAG_START="datagrid:dragStart",a.datagrid.events.DRAG_STOP="datagrid:dragStop",a.datagrid.events.DRAG_DROP="datagrid:dragDrop",a.datagrid.options.dragRows={dragClass:"",templateId:""},angular.module("ux").factory("dragRows",function(){return["inst",function(b){function c(){o()}function d(){return!!r}function e(a){a.style.webkitUserSelect="none",a.style.khtmlUserSelect="none",a.style.mozUserSelect="-moz-none",a.style.mozUserSelect="none",a.style.msUserSelect="none",a.style.userSelect="none"}function f(a){a.style.webkitUserSelect="",a.style.khtmlUserSelect="",a.style.mozUserSelect="",a.style.mozUserSelect="",a.style.msUserSelect="",a.style.userSelect=""}function g(a){return a.pageY-v+b.element[0].scrollTop-.5*r.height}function h(a){var b=m(a);t.style.top=b.y+"px",r.targetIndex=b.index}function i(){t=document.createElement("div"),t.style.top="0px",t.style.left="0px",t.style.position="absolute",t.style.webkitTransform="translateY(-50%);",t.style.mozTransform="translateY(-50%);",t.style.msTransform="translateY(-50%);",t.style.transform="translateY(-50%);",t.classList.add("ux-datagrid-dragRow-indicator")}function j(c,d){v=b.element[0].offsetTop,e(b.element[0]);var f=b.getRowElm(d),h=document.createElement("div");h.innerHTML=f[0].outerHTML,s=h.children[0],i(),h.innerHTML="",r={index:d,el:f,data:b.getRowItem(d),height:b.getRowHeight(d),cloneEl:s},s.style.position="absolute",s.style.top=g(c)+"px",s.style.left="0px",s.classList.add("ux-datagrid-dragRow-dragging"),b.element.append(t),b.element.append(s),b.dispatch(a.datagrid.events.DRAG_START,r),b.element.on("mousemove",k),b.element.on("mouseup",n)}function k(a){var b;(a.pageY>x+w||a.pageY<x-w)&&(b=g(a),r.cloneEl.style.top=g(a)+"px",r.cloneEl.style.left="0px",x=a.pageY,h(b))}function l(){var c;r&&(b.element.off("mousemove",k),b.element.off("mouseup",n),b.dispatch(a.datagrid.events.DRAG_STOP,r),r=void 0,f(b.element[0]),c=b.scope.$on(a.datagrid.events.ON_AFTER_RENDER,function(){c(),b.element[0].removeChild(s),b.element[0].removeChild(t),s=null,t=null}))}function m(a){var c=0,d=b.rowsLength,e=0,f=0;for(c;d>c;c+=1)if(f=b.getRowHeight(c),e+=f,e-.5*f>a)return{index:c+1,y:e};return-1}function n(c){b.dispatch(a.datagrid.events.DRAG_DROP,r),b.moveItem(r.index,r.targetIndex),l()}function o(){}function p(){}function q(){p()}var r,s,t,u=a.logWrapper("dragRows",{},"#00CCFF",b),v=0,w=4,x=0;return u.isDragging=d,u.start=j,u.stop=l,u.destroy=q,b.unwatchers.push(b.scope.$on(a.datagrid.events.ON_READY,c)),b.unwatchers.push(b.scope.$on(a.datagrid.events.ON_BEFORE_DATA_CHANGE,function(a){l()})),b.dragRows=u,b}]})}(this.ux=this.ux||{},function(){return this}());
|
¶ sourceMappingURL=ux-datagrid-dragRows.min.js.map |
}(this.ux = this.ux || {}, function() {return this;}()));
|