mirror of
https://gitee.com/niucloud-team/niucloud-admin.git
synced 2026-01-03 19:58:12 +00:00
2 lines
9.3 KiB
JavaScript
2 lines
9.3 KiB
JavaScript
import{d as ke,v as be,T as he,c as B}from"./event-4977bef7.js";import{c1 as Ie,b as de,d as se,e as ue,g as K,at as ce,c5 as _e,c6 as ze,h as fe,r as w,bC as Le,s as Ee,j as y,w as le,P as ve,o as me,m as k,D as oe,F as i,E as L,q as m,v as u,u as a,x as re,T as b,G as S,bt as Ce,n as x,I as ie,a2 as Te,a3 as Oe,c7 as Se,c8 as xe,am as Ne,c9 as $e,ca as Ae,J as Re,a1 as Me,t as J,aQ as Be,_ as pe,k as Ve,y as ge,B as Ye,i as H,M as De,L as Xe,bM as Fe,z as Pe,R as He}from"./base-45eb5090.js";import{m as we,u as je}from"./index-4ce9333e.js";import{u as ye,b as We,E as M,g as Ze}from"./focus-trap-318ae2e0.js";import{d as qe}from"./index-9670e877.js";import{w as Ge}from"./index-341914e3.js";var Je="Expected a function";function ne(c,h,o){var s=!0,p=!0;if(typeof c!="function")throw new TypeError(Je);return Ie(o)&&(s="leading"in o?!!o.leading:s,p="trailing"in o?!!o.trailing:p),qe(c,h,{leading:s,maxWait:h,trailing:p})}const Ke=de({urlList:{type:se(Array),default:()=>we([])},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}}),Qe={close:()=>!0,switch:c=>ue(c)},Ue=["src"],ea=K({name:"ElImageViewer"}),aa=K({...ea,props:Ke,emits:Qe,setup(c,{expose:h,emit:o}){const s=c,p={CONTAIN:{name:"contain",icon:ce(_e)},ORIGINAL:{name:"original",icon:ce(ze)}},{t:E}=ye(),l=fe("image-viewer"),{nextZIndex:Q}=We(),N=w(),I=w([]),_=Le(),z=w(!0),d=w(s.initialIndex),f=Ee(p.CONTAIN),r=w({scale:1,deg:0,offsetX:0,offsetY:0,enableTransition:!1}),V=y(()=>{const{urlList:e}=s;return e.length<=1}),$=y(()=>d.value===0),j=y(()=>d.value===s.urlList.length-1),U=y(()=>s.urlList[d.value]),Y=y(()=>{const{scale:e,deg:t,offsetX:n,offsetY:v,enableTransition:T}=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:T?"transform .3s":""};return f.value.name===p.CONTAIN.name&&(R.maxWidth=R.maxHeight="100%"),R}),ee=y(()=>ue(s.zIndex)?s.zIndex:Q());function A(){ae(),o("close")}function D(){const e=ne(n=>{switch(n.code){case M.esc:s.closeOnPressEscape&&A();break;case M.space:F();break;case M.left:q();break;case M.up:C("zoomIn");break;case M.right:G();break;case M.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,T=e.pageY,g=ne(R=>{r.value={...r.value,offsetX:t+R.pageX-v,offsetY:n+R.pageY-T}}),O=B(document,"mousemove",g);B(document,"mouseup",()=>{O()}),e.preventDefault()}function X(){r.value={scale:1,deg:0,offsetX:0,offsetY:0,enableTransition:!1}}function F(){if(z.value)return;const e=Ve(p),t=Object.values(p),n=f.value.name,T=(t.findIndex(g=>g.name===n)+1)%e.length;f.value=p[e[T]],X()}function P(e){const t=s.urlList.length;d.value=(e+t)%t}function q(){$.value&&!s.infinite||P(d.value-1)}function G(){j.value&&!s.infinite||P(d.value+1)}function C(e,t={}){if(z.value)return;const{zoomRate:n,rotateDeg:v,enableTransition:T}={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=T}return le(U,()=>{ve(()=>{const e=I.value[0];e!=null&&e.complete||(z.value=!0)})}),le(d,e=>{X(),o("switch",e)}),me(()=>{var e,t;D(),(t=(e=N.value)==null?void 0:e.focus)==null||t.call(e)}),h({setActiveItem:P}),(e,t)=>(k(),oe(Be,{to:"body",disabled:!e.teleported},[i(he,{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),b(" CLOSE "),m("span",{class:u([a(l).e("btn"),a(l).e("close")]),onClick:A},[i(a(S),null,{default:L(()=>[i(a(Ce))]),_:1})],2),b(" ARROW "),a(V)?b("v-if",!0):(k(),x(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(Te))]),_: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(Oe))]),_:1})],2)],64)),b(" 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(Se))]),_:1}),i(a(S),{onClick:t[2]||(t[2]=n=>C("zoomIn"))},{default:L(()=>[i(a(xe))]),_:1}),m("i",{class:u(a(l).e("actions__divider"))},null,2),i(a(S),{onClick:F},{default:L(()=>[(k(),oe(Ne(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($e))]),_:1}),i(a(S),{onClick:t[4]||(t[4]=n=>C("clockwise"))},{default:L(()=>[i(a(Ae))]),_:1})],2)],2),b(" CANVAS "),m("div",{class:u(a(l).e("canvas"))},[(k(!0),x(ie,null,Re(e.urlList,(n,v)=>Me((k(),x("img",{ref_for:!0,ref:T=>I.value[v]=T,key:n,src:n,style:re(a(Y)),class:u(a(l).e("img")),onLoad:te,onError:W,onMousedown:Z},null,46,Ue)),[[be,v===d.value]])),128))],2),J(e.$slots,"default")],6)]),_:3})],8,["disabled"]))}});var ta=pe(aa,[["__file","/home/runner/work/element-plus/element-plus/packages/components/image-viewer/src/image-viewer.vue"]]);const na=ge(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:()=>we([])},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:h}){const o=c;let s="";const{t:p}=ye(),E=fe("image"),l=Ye(),Q=je(),N=w(),I=w(!1),_=w(!0),z=w(!1),d=w(),f=w(),r=H&&"loading"in HTMLImageElement.prototype;let V,$;const j=y(()=>l.style),U=y(()=>{const{fit:e}=o;return H&&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=()=>{H&&(_.value=!0,I.value=!1,N.value=o.src)};function ae(e){_.value=!1,I.value=!1,h("load",e)}function te(e){_.value=!1,I.value=!0,h("error",e)}function W(){Ge(d.value,f.value)&&(D(),F())}const Z=He(W,200);async function X(){var e;if(!H)return;await ve();const{scrollContainer:t}=o;Fe(t)?f.value=t:Pe(t)&&t!==""?f.value=(e=document.querySelector(t))!=null?e:void 0:d.value&&(f.value=Ze(d.value)),f.value&&(V=B(f,"scroll",Z),setTimeout(()=>W(),100))}function F(){!H||!f.value||!Z||(V==null||V(),f.value=void 0)}function P(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",P,{passive:!1}),s=document.body.style.overflow,document.body.style.overflow="hidden",z.value=!0,h("show"))}function G(){$==null||$(),document.body.style.overflow=s,z.value=!1,h("close")}function C(e){h("switch",e)}return le(()=>o.src,()=>{A.value?(_.value=!0,I.value=!1,F(),X()):D()}),me(()=>{A.value?X():D()}),(e,t)=>(k(),x("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(),x("img",De({key:0},a(Q),{src:N.value,loading:e.loading,style:a(U),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)):b("v-if",!0),_.value||I.value?(k(),x("div",{key:1,class:u(a(E).e("wrapper"))},[_.value?J(e.$slots,"placeholder",{key:0},()=>[m("div",{class:u(a(E).e("placeholder"))},null,2)]):I.value?J(e.$slots,"error",{key:1},()=>[m("div",{class:u(a(E).e("error"))},Xe(a(p)("el.image.error")),3)]):b("v-if",!0)],2)):b("v-if",!0),a(Y)?(k(),x(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(),x("div",ra,[J(e.$slots,"viewer")])):b("v-if",!0)]),_:3},8,["z-index","initial-index","infinite","zoom-rate","url-list","hide-on-click-modal","teleported","close-on-press-escape"])):b("v-if",!0)],64)):b("v-if",!0)],6))}});var ca=pe(ua,[["__file","/home/runner/work/element-plus/element-plus/packages/components/image/src/image.vue"]]);const wa=ge(ca);export{wa as E,na as a,ne as t};
|