index-15566098.js 2.7 KB

1
  1. import{d as z,ap as l,y as B,e as C,r as O,n as A,a as M,o as V,A as j,m as D,E as F,d4 as G,f as H,d5 as J}from"./index-bf9ff227.js";import{E as K}from"./el-image-viewer-a3b9f5bd.js";const N=z({name:"ImageViewer",__name:"ImageViewer",props:{urlList:{type:Array,default:()=>[]},zIndex:l.number.def(200),initialIndex:l.number.def(0),infinite:l.bool.def(!0),hideOnClickModal:l.bool.def(!1),appendToBody:l.bool.def(!1),show:l.bool.def(!1)},setup(m){const g=B(),f=C(()=>g.getMobile),d=m,v=C(()=>{const n={...d};return delete n.show,n}),r=O(d.show);r.value&&_();const h=()=>{r.value=!1,_()};let o=document.querySelector(".el-image-viewer__img"),t=document.querySelector(".el-image-viewer__wrapper"),c=0,y=0,x=0,L=0,u=!0;const e={scale:1};function X(n){var s=n.touches,a=s[0],i=s[1];n&&(e.pageX=a.pageX,e.pageY=a.pageY,e.moveable=!0,i&&(e.pageX2=i.pageX,e.pageY2=i.pageY),e.originScale=e.scale||1)}function Y(n){if(e.moveable){var s=n.touches,a=s[0],i=s[1];if(i){e.pageX2||(e.pageX2=i.pageX),e.pageY2||(e.pageY2=i.pageY);var I=function(S,q){return Math.hypot(q.x-S.x,q.y-S.y)},T=I({x:a.pageX,y:a.pageY},{x:i.pageX,y:i.pageY})/I({x:e.pageX,y:e.pageY},{x:e.pageX2,y:e.pageY2}),p=e.originScale*T;p>3&&(p=3),e.scale=p,o.style.transform="scale("+p+")",o.style.transition="transform .3s"}}}function w(n){u=!1,e.moveable=!1,delete e.pageX2,delete e.pageY2}function E(n){u=!0,n.touches.length===1&&u&&(c=n.touches[0].clientX,y=n.touches[0].clientY,x=c-o.offsetLeft,L=y-o.offsetTop)}function b(n){if(n.touches.length==1&&u){const s=n.touches[0].clientX,a=n.touches[0].clientY;o.style.position!="fixed"&&(o.style.position="fixed"),o.style.left=s-x+"px",o.style.top=a-L+"px"}}function _(){A(()=>{o=document.querySelector(".el-image-viewer__img"),t=document.querySelector(".el-image-viewer__wrapper"),r.value?(f&&(document.querySelector(".el-image-viewer__actions").style.display="none"),t.addEventListener("touchstart",X),t.addEventListener("touchmove",Y),t.addEventListener("touchend",w),t.addEventListener("touchcancel",function(){e.moveable=!1,delete e.pageX2,delete e.pageY2}),o.addEventListener("touchstart",E),o.addEventListener("touchmove",b)):(t&&(t.removeEventListener("touchstart",X),t.removeEventListener("touchmove",Y),t.removeEventListener("touchend",w)),o&&(o.removeEventListener("touchstart",E),o.removeEventListener("touchmove",b)))})}return(n,s)=>{const a=K;return M(r)?(V(),j(a,D({key:0},M(v),{onClose:h}),null,16)):F("",!0)}}});let k=null;function P(m){if(!G)return;const{urlList:g,initialIndex:f=0,infinite:d=!0,hideOnClickModal:v=!1,appendToBody:r=!1,zIndex:h=2e3,show:o=!0}=m,t={},c=document.createElement("div");t.urlList=g,t.initialIndex=f,t.infinite=d,t.hideOnClickModal=v,t.appendToBody=r,t.zIndex=h,t.show=o,document.body.appendChild(c),k=H(N,t),J(k,c)}export{P as c};