mirror of
https://gitee.com/niucloud-team/niucloud-admin.git
synced 2026-01-04 12:18:14 +00:00
2 lines
9.3 KiB
JavaScript
2 lines
9.3 KiB
JavaScript
import{d as ke,v as he,T as be,c as B}from"./event-ff03ec12.js";import{az as Ie,b as de,d as se,a as ue,aD as _e,aE as ze,u as fe,E as S,aa as Le,m as Ee,n as Ce,aF as xe,aG as Oe,aH as Se,aI as Te,_ as ve,k as Ne,w as me,i as P,ai as $e,g as Ae}from"./base-962c0c23.js";import{m as pe,u as Re}from"./index-93f2c618.js";import{u as ge,b as Ve,E as V,g as Be}from"./focus-trap-b8b5a003.js";import{d as K,V as ce,r as w,ax as Me,s as Ye,c as y,w as le,A as we,o as ye,b as k,m as oe,q as i,p as L,f as m,n as u,u as a,h as re,C as h,e as T,F as ie,U as De,t as Fe,L as Xe,g as U,a1 as He,l as Pe,y as je,x as We,j as Ze}from"./runtime-core.esm-bundler-dc7a07d7.js";import{d as qe}from"./index-8bcaafa6.js";import{w as Ge}from"./index-da7837ad.js";var Ue="Expected a function";function ne(c,b,o){var s=!0,p=!0;if(typeof c!="function")throw new TypeError(Ue);return Ie(o)&&(s="leading"in o?!!o.leading:s,p="trailing"in o?!!o.trailing:p),qe(c,b,{leading:s,maxWait:b,trailing:p})}const Ke=de({urlList:{type:se(Array),default:()=>pe([])},zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},hideOnClickModal:{type:Boolean,default:!1},teleported:{type:Boolean,default:!1},closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2}}),Je={close:()=>!0,switch:c=>ue(c)},Qe=["src"],ea=K({name:"ElImageViewer"}),aa=K({...ea,props:Ke,emits:Je,setup(c,{expose:b,emit:o}){const s=c,p={CONTAIN:{name:"contain",icon:ce(_e)},ORIGINAL:{name:"original",icon:ce(ze)}},{t:E}=ge(),l=fe("image-viewer"),{nextZIndex:J}=Ve(),N=w(),I=w([]),_=Me(),z=w(!0),d=w(s.initialIndex),f=Ye(p.CONTAIN),r=w({scale:1,deg:0,offsetX:0,offsetY:0,enableTransition:!1}),M=y(()=>{const{urlList:e}=s;return e.length<=1}),$=y(()=>d.value===0),j=y(()=>d.value===s.urlList.length-1),Q=y(()=>s.urlList[d.value]),Y=y(()=>{const{scale:e,deg:t,offsetX:n,offsetY:v,enableTransition:x}=r.value;let g=n/e,O=v/e;switch(t%360){case 90:case-270:[g,O]=[O,-g];break;case 180:case-180:[g,O]=[-g,-O];break;case 270:case-90:[g,O]=[-O,g];break}const R={transform:`scale(${e}) rotate(${t}deg) translate(${g}px, ${O}px)`,transition:x?"transform .3s":""};return f.value.name===p.CONTAIN.name&&(R.maxWidth=R.maxHeight="100%"),R}),ee=y(()=>ue(s.zIndex)?s.zIndex:J());function A(){ae(),o("close")}function D(){const e=ne(n=>{switch(n.code){case V.esc:s.closeOnPressEscape&&A();break;case V.space:X();break;case V.left:q();break;case V.up:C("zoomIn");break;case V.right:G();break;case V.down:C("zoomOut");break}}),t=ne(n=>{const v=n.deltaY||n.deltaX;C(v<0?"zoomIn":"zoomOut",{zoomRate:s.zoomRate,enableTransition:!1})});_.run(()=>{B(document,"keydown",e),B(document,"wheel",t)})}function ae(){_.stop()}function te(){z.value=!1}function W(e){z.value=!1,e.target.alt=E("el.image.error")}function Z(e){if(z.value||e.button!==0||!N.value)return;r.value.enableTransition=!1;const{offsetX:t,offsetY:n}=r.value,v=e.pageX,x=e.pageY,g=ne(R=>{r.value={...r.value,offsetX:t+R.pageX-v,offsetY:n+R.pageY-x}}),O=B(document,"mousemove",g);B(document,"mouseup",()=>{O()}),e.preventDefault()}function F(){r.value={scale:1,deg:0,offsetX:0,offsetY:0,enableTransition:!1}}function X(){if(z.value)return;const e=Ne(p),t=Object.values(p),n=f.value.name,x=(t.findIndex(g=>g.name===n)+1)%e.length;f.value=p[e[x]],F()}function H(e){const t=s.urlList.length;d.value=(e+t)%t}function q(){$.value&&!s.infinite||H(d.value-1)}function G(){j.value&&!s.infinite||H(d.value+1)}function C(e,t={}){if(z.value)return;const{zoomRate:n,rotateDeg:v,enableTransition:x}={zoomRate:s.zoomRate,rotateDeg:90,enableTransition:!0,...t};switch(e){case"zoomOut":r.value.scale>.2&&(r.value.scale=Number.parseFloat((r.value.scale/n).toFixed(3)));break;case"zoomIn":r.value.scale<7&&(r.value.scale=Number.parseFloat((r.value.scale*n).toFixed(3)));break;case"clockwise":r.value.deg+=v;break;case"anticlockwise":r.value.deg-=v;break}r.value.enableTransition=x}return le(Q,()=>{we(()=>{const e=I.value[0];e!=null&&e.complete||(z.value=!0)})}),le(d,e=>{F(),o("switch",e)}),ye(()=>{var e,t;D(),(t=(e=N.value)==null?void 0:e.focus)==null||t.call(e)}),b({setActiveItem:H}),(e,t)=>(k(),oe(He,{to:"body",disabled:!e.teleported},[i(be,{name:"viewer-fade",appear:""},{default:L(()=>[m("div",{ref_key:"wrapper",ref:N,tabindex:-1,class:u(a(l).e("wrapper")),style:re({zIndex:a(ee)})},[m("div",{class:u(a(l).e("mask")),onClick:t[0]||(t[0]=ke(n=>e.hideOnClickModal&&A(),["self"]))},null,2),h(" CLOSE "),m("span",{class:u([a(l).e("btn"),a(l).e("close")]),onClick:A},[i(a(S),null,{default:L(()=>[i(a(Le))]),_:1})],2),h(" ARROW "),a(M)?h("v-if",!0):(k(),T(ie,{key:0},[m("span",{class:u([a(l).e("btn"),a(l).e("prev"),a(l).is("disabled",!e.infinite&&a($))]),onClick:q},[i(a(S),null,{default:L(()=>[i(a(Ee))]),_:1})],2),m("span",{class:u([a(l).e("btn"),a(l).e("next"),a(l).is("disabled",!e.infinite&&a(j))]),onClick:G},[i(a(S),null,{default:L(()=>[i(a(Ce))]),_:1})],2)],64)),h(" ACTIONS "),m("div",{class:u([a(l).e("btn"),a(l).e("actions")])},[m("div",{class:u(a(l).e("actions__inner"))},[i(a(S),{onClick:t[1]||(t[1]=n=>C("zoomOut"))},{default:L(()=>[i(a(xe))]),_:1}),i(a(S),{onClick:t[2]||(t[2]=n=>C("zoomIn"))},{default:L(()=>[i(a(Oe))]),_:1}),m("i",{class:u(a(l).e("actions__divider"))},null,2),i(a(S),{onClick:X},{default:L(()=>[(k(),oe(De(a(f).icon)))]),_:1}),m("i",{class:u(a(l).e("actions__divider"))},null,2),i(a(S),{onClick:t[3]||(t[3]=n=>C("anticlockwise"))},{default:L(()=>[i(a(Se))]),_:1}),i(a(S),{onClick:t[4]||(t[4]=n=>C("clockwise"))},{default:L(()=>[i(a(Te))]),_:1})],2)],2),h(" CANVAS "),m("div",{class:u(a(l).e("canvas"))},[(k(!0),T(ie,null,Fe(e.urlList,(n,v)=>Xe((k(),T("img",{ref_for:!0,ref:x=>I.value[v]=x,key:n,src:n,style:re(a(Y)),class:u(a(l).e("img")),onLoad:te,onError:W,onMousedown:Z},null,46,Qe)),[[he,v===d.value]])),128))],2),U(e.$slots,"default")],6)]),_:3})],8,["disabled"]))}});var ta=ve(aa,[["__file","/home/runner/work/element-plus/element-plus/packages/components/image-viewer/src/image-viewer.vue"]]);const na=me(ta),sa=de({hideOnClickModal:{type:Boolean,default:!1},src:{type:String,default:""},fit:{type:String,values:["","contain","cover","fill","none","scale-down"],default:""},loading:{type:String,values:["eager","lazy"]},lazy:{type:Boolean,default:!1},scrollContainer:{type:se([String,Object])},previewSrcList:{type:se(Array),default:()=>pe([])},previewTeleported:{type:Boolean,default:!1},zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2}}),la={load:c=>c instanceof Event,error:c=>c instanceof Event,switch:c=>ue(c),close:()=>!0,show:()=>!0},oa=["src","loading"],ra={key:0},ia=K({name:"ElImage",inheritAttrs:!1}),ua=K({...ia,props:sa,emits:la,setup(c,{emit:b}){const o=c;let s="";const{t:p}=ge(),E=fe("image"),l=Pe(),J=Re(),N=w(),I=w(!1),_=w(!0),z=w(!1),d=w(),f=w(),r=P&&"loading"in HTMLImageElement.prototype;let M,$;const j=y(()=>l.style),Q=y(()=>{const{fit:e}=o;return P&&e?{objectFit:e}:{}}),Y=y(()=>{const{previewSrcList:e}=o;return Array.isArray(e)&&e.length>0}),ee=y(()=>{const{previewSrcList:e,initialIndex:t}=o;let n=t;return t>e.length-1&&(n=0),n}),A=y(()=>o.loading==="eager"?!1:!r&&o.loading==="lazy"||o.lazy),D=()=>{P&&(_.value=!0,I.value=!1,N.value=o.src)};function ae(e){_.value=!1,I.value=!1,b("load",e)}function te(e){_.value=!1,I.value=!0,b("error",e)}function W(){Ge(d.value,f.value)&&(D(),X())}const Z=Ae(W,200);async function F(){var e;if(!P)return;await we();const{scrollContainer:t}=o;$e(t)?f.value=t:Ze(t)&&t!==""?f.value=(e=document.querySelector(t))!=null?e:void 0:d.value&&(f.value=Be(d.value)),f.value&&(M=B(f,"scroll",Z),setTimeout(()=>W(),100))}function X(){!P||!f.value||!Z||(M==null||M(),f.value=void 0)}function H(e){if(e.ctrlKey){if(e.deltaY<0)return e.preventDefault(),!1;if(e.deltaY>0)return e.preventDefault(),!1}}function q(){Y.value&&($=B("wheel",H,{passive:!1}),s=document.body.style.overflow,document.body.style.overflow="hidden",z.value=!0,b("show"))}function G(){$==null||$(),document.body.style.overflow=s,z.value=!1,b("close")}function C(e){b("switch",e)}return le(()=>o.src,()=>{A.value?(_.value=!0,I.value=!1,X(),F()):D()}),ye(()=>{A.value?F():D()}),(e,t)=>(k(),T("div",{ref_key:"container",ref:d,class:u([a(E).b(),e.$attrs.class]),style:re(a(j))},[N.value!==void 0&&!I.value?(k(),T("img",je({key:0},a(J),{src:N.value,loading:e.loading,style:a(Q),class:[a(E).e("inner"),a(Y)&&a(E).e("preview"),_.value&&a(E).is("loading")],onClick:q,onLoad:ae,onError:te}),null,16,oa)):h("v-if",!0),_.value||I.value?(k(),T("div",{key:1,class:u(a(E).e("wrapper"))},[_.value?U(e.$slots,"placeholder",{key:0},()=>[m("div",{class:u(a(E).e("placeholder"))},null,2)]):I.value?U(e.$slots,"error",{key:1},()=>[m("div",{class:u(a(E).e("error"))},We(a(p)("el.image.error")),3)]):h("v-if",!0)],2)):h("v-if",!0),a(Y)?(k(),T(ie,{key:2},[z.value?(k(),oe(a(na),{key:0,"z-index":e.zIndex,"initial-index":a(ee),infinite:e.infinite,"zoom-rate":e.zoomRate,"url-list":e.previewSrcList,"hide-on-click-modal":e.hideOnClickModal,teleported:e.previewTeleported,"close-on-press-escape":e.closeOnPressEscape,onClose:G,onSwitch:C},{default:L(()=>[e.$slots.viewer?(k(),T("div",ra,[U(e.$slots,"viewer")])):h("v-if",!0)]),_:3},8,["z-index","initial-index","infinite","zoom-rate","url-list","hide-on-click-modal","teleported","close-on-press-escape"])):h("v-if",!0)],64)):h("v-if",!0)],6))}});var ca=ve(ua,[["__file","/home/runner/work/element-plus/element-plus/packages/components/image/src/image.vue"]]);const ya=me(ca);export{ya as E,na as a,ne as t};
|