UNPKG

@phl/vdrag

Version:
2 lines 2.83 kB
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("vdrag",[],t):"object"==typeof exports?exports.vdrag=t():e.vdrag=t()}("undefined"!=typeof self?self:this,function(){return 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={};return 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){var r,o="fixed",n=4;if(void 0!==t.value?(t.value.position&&(o=t.value.position),t.value.zIndex&&(n=t.value.zIndex),r=!0):r=!1,e.style.position=o,e.style.zIndex=n,/Android|webOS|iPhone|BlackBerry/i.test(navigator.userAgent)){var u=0,i=0;e.addEventListener("touchstart",function(t){if(1==t.targetTouches.length){var r=t.targetTouches[0];u=r.pageX-e.offsetLeft,i=r.pageY-e.offsetTop}e.addEventListener("touchmove",function(t){if(t.preventDefault(),1==t.targetTouches.length){var r=t.targetTouches[0],o=r.pageX-u,n=r.pageY-i,l=document.documentElement.clientWidth-e.offsetWidth,p=document.documentElement.clientHeight-e.offsetHeight;o=o<0?0:o,o=o>l?l:o,n=n<0?0:n,n=n>p?p:n,e.style.left=o+"px",e.style.top=n+"px"}},!1)},!1)}else{var l=function(o){if(s=o.pageX-e.offsetLeft,c=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),i=e.currentStyle?e.currentStyle:window.getComputedStyle(e,null),l=Number(u.getPropertyValue("left").replace("px",""))+Number(i.getPropertyValue("left").replace("px",""))+Number(i.getPropertyValue("border-left-width").replace("px","")),d=l+Number(u.getPropertyValue("width").replace("px","")),f=Number(u.getPropertyValue("top").replace("px",""))+Number(i.getPropertyValue("top").replace("px",""))+Number(i.getPropertyValue("border-top-width").replace("px","")),v=f+Number(u.getPropertyValue("height").replace("px",""));o.clientX<=d&&o.clientX>=l&&o.clientY>=f&&o.clientY<=v&&(addEventListener("mousemove",p),addEventListener("mouseup",a))}else t.modifiers.cursor&&(e.style.cursor="move"),addEventListener("mousemove",p),addEventListener("mouseup",a)},p=function(t){e.style.left=t.pageX-s+"px",e.style.top=t.pageY-c+"px"},a=function e(){removeEventListener("mousemove",p),removeEventListener("mouseup",e)},s=0,c=0;e.addEventListener("mousedown",l)}}})}}}])}); //# sourceMappingURL=vdrag.js.map