@phl/vdrag
Version:
drag for vue
2 lines • 2.48 kB
JavaScript
!function(e){function t(o){if(r[o])return r[o].exports;var n=r[o]={i:o,l:!1,exports:{}};return e[o].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var r={};t.m=e,t.c=r,t.d=function(e,r,o){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/dist/",t(t.s=0)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={install:function(e,t){e.directive("drag",{bind:function(e,t){e.style.position="absolute",e.style.zIndex="99";var r;if(r=void 0!==t.value,/Android|webOS|iPhone|BlackBerry/i.test(navigator.userAgent)){var o=0,n=0;e.addEventListener("touchstart",function(t){if(1==t.targetTouches.length){var r=t.targetTouches[0];o=r.pageX-e.offsetLeft,n=r.pageY-e.offsetTop}e.addEventListener("touchmove",function(t){if(t.preventDefault(),1==t.targetTouches.length){var r=t.targetTouches[0],u=r.pageX-o,l=r.pageY-n,i=document.documentElement.clientWidth-e.offsetWidth,a=document.documentElement.clientHeight-e.offsetHeight;u=u<0?0:u,u=u>i?i:u,l=l<0?0:l,l=l>a?a:l,e.style.left=u+"px",e.style.top=l+"px"}},!1)},!1)}else{var u=function(o){if(a=o.pageX-e.offsetLeft,p=o.pageY-e.offsetTop,r){var n=e.querySelector(t.value);n.style.position="relative",t.modifiers.cursor&&(n.style.cursor="move");var u=n.currentStyle?n.currentStyle:window.getComputedStyle(n,null),s=e.currentStyle?e.currentStyle:window.getComputedStyle(e,null),c=Number(u.getPropertyValue("left").replace("px",""))+Number(s.getPropertyValue("left").replace("px",""))+Number(s.getPropertyValue("border-left-width").replace("px","")),d=c+Number(u.getPropertyValue("width").replace("px","")),f=Number(u.getPropertyValue("top").replace("px",""))+Number(s.getPropertyValue("top").replace("px",""))+Number(s.getPropertyValue("border-top-width").replace("px","")),m=f+Number(u.getPropertyValue("height").replace("px",""));o.clientX<=d&&o.clientX>=c&&o.clientY>=f&&o.clientY<=m&&(addEventListener("mousemove",l),addEventListener("mouseup",i))}else t.modifiers.cursor&&(e.style.cursor="move"),addEventListener("mousemove",l),addEventListener("mouseup",i)},l=function(t){e.style.left=t.pageX-a+"px",e.style.top=t.pageY-p+"px"},i=function e(){removeEventListener("mousemove",l),removeEventListener("mouseup",e)},a=0,p=0;e.addEventListener("mousedown",u)}}})}}}]);
//# sourceMappingURL=build.js.map