Files
qhmes/web-dist/js/useModal-DaJ3Bflg.js
2026-06-16 18:19:57 +08:00

2 lines
1.7 KiB
Java

import{e as v,i as b,b as w,t as H,c as I}from"./index-X7Y8jykP.js";import{w as O,c as p,r as d,u as s,b as P,t as f,g as h,d as R,n as q}from"./vue-vendor-DNhG1Cve.js";const u=P({}),c=P({});function x(){const r=d(null),a=d(!1),o=d("");function i(e,n){if(!h())throw new Error("useModal() can only be used inside setup() or functional components!");o.value=n,R(()=>{r.value=null,a.value=!1,u[s(o)]=null}),!(s(a)&&w()&&e===s(r))&&(r.value=e,a.value=!0,e.emitVisible=(M,l)=>{c[l]=M})}const t=()=>{const e=s(r);return e||v("useModal instance is undefined!"),e},g={setModalProps:e=>{var n;(n=t())==null||n.setModalProps(e)},getVisible:p(()=>c[~~s(o)]),getOpen:p(()=>c[~~s(o)]),redoModalHeight:()=>{var e,n;(n=(e=t())==null?void 0:e.redoModalHeight)==null||n.call(e)},openModal:(e=!0,n,M=!0)=>{var m;if((m=t())==null||m.setModalProps({open:e}),!n)return;const l=s(o);if(M){u[l]=null,u[l]=f(n);return}b(f(u[l]),f(n))||(u[l]=f(n))},closeModal:()=>{var e;(e=t())==null||e.setModalProps({open:!1})}};return[i,g]}const y=r=>{const a=d(null),o=h(),i=d(""),t=()=>{const e=s(a);return e||v("useModalInner instance is undefined!"),e},g=(e,n)=>{H(()=>{a.value=null}),i.value=n,a.value=e,o==null||o.emit("register",e,n)};return O(()=>{const e=u[s(i)];e&&(!r||!I(r)||q(()=>{r(e)}))}),[g,{changeLoading:(e=!0)=>{var n;(n=t())==null||n.setModalProps({loading:e})},getVisible:p(()=>c[~~s(i)]),getOpen:p(()=>c[~~s(i)]),changeOkLoading:(e=!0)=>{var n;(n=t())==null||n.setModalProps({confirmLoading:e})},closeModal:()=>{var e;(e=t())==null||e.setModalProps({open:!1})},setModalProps:e=>{var n;(n=t())==null||n.setModalProps(e)},redoModalHeight:()=>{var n;const e=(n=t())==null?void 0:n.redoModalHeight;e&&e()}}]};export{y as a,x as u};