mirror of
https://gitee.com/niucloud-team/niucloud-admin.git
synced 2025-12-31 18:48:09 +00:00
2 lines
4.0 KiB
JavaScript
2 lines
4.0 KiB
JavaScript
import{c as T}from"./index-bcd7a424.js";import{E as J}from"./index-344f0086.js";import{b as Q,d as O,a as U,i as v,L as X,f as Z}from"./index-cf9a2dd7.js";import{m as ee,u as ae}from"./index-e27c3bb0.js";import{d as V,b as te,t as le,r as u,c as p,w as re,o as se,e as c,f as m,C as oe,u as a,H as d,n as g,h as E,g as P,B as ne,F as ie,v as ue,x as ce,j as de,_ as fe,E as ve,m as pe,l as me}from"./plugin-vue_export-helper-85a4d40b.js";import{u as ye}from"./index-1ad115d7.js";import{i as ge}from"./position-37364850.js";import{g as we}from"./focus-trap-64c402c5.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:$}=ye(),o=te("image"),H=le(),M=ae(),w=u(),n=u(!1),i=u(!0),h=u(!1),y=u(),r=u(),F=v&&"loading"in HTMLImageElement.prototype;let L,k;const j=p(()=>H.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:!F&&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(){ge(y.value,r.value)&&(z(),A())}const B=Z(I,200);async function _(){var e;if(!v)return;await ve();const{scrollContainer:l}=t;X(l)?r.value=l:pe(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 A(){!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 re(()=>t.src,()=>{b.value?(i.value=!0,n.value=!1,A(),_()):z()}),se(()=>{b.value?_():z()}),(e,l)=>(c(),m("div",{ref_key:"container",ref:y,class:g([a(o).b(),e.$attrs.class]),style:de(a(j))},[w.value!==void 0&&!n.value?(c(),m("img",oe({key:0},a(M),{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"))},ne(a($)("el.image.error")),3)]):d("v-if",!0)],2)):d("v-if",!0),a(S)?(c(),m(ie,{key:2},[h.value?(c(),ue(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:ce(()=>[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=fe(Ee,[["__file","/home/runner/work/element-plus/element-plus/packages/components/image/src/image.vue"]]);const Pe=me(Ce);export{Pe as E};
|