mirror of
https://gitee.com/niucloud-team/niucloud-admin.git
synced 2026-01-05 12:38:10 +00:00
2 lines
4.1 KiB
JavaScript
2 lines
4.1 KiB
JavaScript
import{c as T}from"./event-a537c4cb.js";import{E as J}from"./index-c7745eb3.js";import{b as Q,d as O,a as U,i as v,a3 as X,f as Z}from"./index-72686045.js";import{m as ee,u as ae}from"./index-8cefa3ab.js";import{u as te,_ as le,w as re}from"./base-0e92f4db.js";import{u as se}from"./index-6cae7119.js";import{i as oe}from"./position-c2e84b2a.js";import{d as V,l as ne,r as u,c as p,w as ie,o as ue,b as c,e as m,y as ce,u as a,C as d,n as g,g as E,f as P,x as de,F as fe,m as ve,p as pe,h as me,A as ye,j as ge}from"./runtime-core.esm-bundler-67034826.js";import{g as we}from"./focus-trap-83769a43.js";const he=Q({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:O([String,Object])},previewSrcList:{type:O(Array),default:()=>ee([])},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}}),Le={load:s=>s instanceof Event,error:s=>s instanceof Event,switch:s=>U(s),close:()=>!0,show:()=>!0},ke=["src","loading"],Se={key:0},ze=V({name:"ElImage",inheritAttrs:!1}),Ee=V({...ze,props:he,emits:Le,setup(s,{emit:f}){const t=s;let C="";const{t:$}=se(),o=te("image"),M=ne(),F=ae(),w=u(),n=u(!1),i=u(!0),h=u(!1),y=u(),r=u(),H=v&&"loading"in HTMLImageElement.prototype;let L,k;const j=p(()=>M.style),x=p(()=>{const{fit:e}=t;return v&&e?{objectFit:e}:{}}),S=p(()=>{const{previewSrcList:e}=t;return Array.isArray(e)&&e.length>0}),D=p(()=>{const{previewSrcList:e,initialIndex:l}=t;let N=l;return l>e.length-1&&(N=0),N}),b=p(()=>t.loading==="eager"?!1:!H&&t.loading==="lazy"||t.lazy),z=()=>{v&&(i.value=!0,n.value=!1,w.value=t.src)};function R(e){i.value=!1,n.value=!1,f("load",e)}function Y(e){i.value=!1,n.value=!0,f("error",e)}function I(){oe(y.value,r.value)&&(z(),_())}const B=Z(I,200);async function A(){var e;if(!v)return;await ye();const{scrollContainer:l}=t;X(l)?r.value=l:ge(l)&&l!==""?r.value=(e=document.querySelector(l))!=null?e:void 0:y.value&&(r.value=we(y.value)),r.value&&(L=T(r,"scroll",B),setTimeout(()=>I(),100))}function _(){!v||!r.value||!B||(L==null||L(),r.value=void 0)}function q(e){if(e.ctrlKey){if(e.deltaY<0)return e.preventDefault(),!1;if(e.deltaY>0)return e.preventDefault(),!1}}function K(){S.value&&(k=T("wheel",q,{passive:!1}),C=document.body.style.overflow,document.body.style.overflow="hidden",h.value=!0,f("show"))}function W(){k==null||k(),document.body.style.overflow=C,h.value=!1,f("close")}function G(e){f("switch",e)}return ie(()=>t.src,()=>{b.value?(i.value=!0,n.value=!1,_(),A()):z()}),ue(()=>{b.value?A():z()}),(e,l)=>(c(),m("div",{ref_key:"container",ref:y,class:g([a(o).b(),e.$attrs.class]),style:me(a(j))},[w.value!==void 0&&!n.value?(c(),m("img",ce({key:0},a(F),{src:w.value,loading:e.loading,style:a(x),class:[a(o).e("inner"),a(S)&&a(o).e("preview"),i.value&&a(o).is("loading")],onClick:K,onLoad:R,onError:Y}),null,16,ke)):d("v-if",!0),i.value||n.value?(c(),m("div",{key:1,class:g(a(o).e("wrapper"))},[i.value?E(e.$slots,"placeholder",{key:0},()=>[P("div",{class:g(a(o).e("placeholder"))},null,2)]):n.value?E(e.$slots,"error",{key:1},()=>[P("div",{class:g(a(o).e("error"))},de(a($)("el.image.error")),3)]):d("v-if",!0)],2)):d("v-if",!0),a(S)?(c(),m(fe,{key:2},[h.value?(c(),ve(a(J),{key:0,"z-index":e.zIndex,"initial-index":a(D),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:W,onSwitch:G},{default:pe(()=>[e.$slots.viewer?(c(),m("div",Se,[E(e.$slots,"viewer")])):d("v-if",!0)]),_:3},8,["z-index","initial-index","infinite","zoom-rate","url-list","hide-on-click-modal","teleported","close-on-press-escape"])):d("v-if",!0)],64)):d("v-if",!0)],6))}});var Ce=le(Ee,[["__file","/home/runner/work/element-plus/element-plus/packages/components/image/src/image.vue"]]);const Ve=re(Ce);export{Ve as E};
|