| 1 |
- var he=Object.defineProperty,ye=Object.defineProperties;var ve=Object.getOwnPropertyDescriptors;var ee=Object.getOwnPropertySymbols;var be=Object.prototype.hasOwnProperty,Me=Object.prototype.propertyIsEnumerable;var te=(n,l,s)=>l in n?he(n,l,{enumerable:!0,configurable:!0,writable:!0,value:s}):n[l]=s,C=(n,l)=>{for(var s in l||(l={}))be.call(l,s)&&te(n,s,l[s]);if(ee)for(var s of ee(l))Me.call(l,s)&&te(n,s,l[s]);return n},L=(n,l)=>ye(n,ve(l));var A=(n,l,s)=>new Promise((i,t)=>{var u=c=>{try{r(s.next(c))}catch(p){t(p)}},e=c=>{try{r(s.throw(c))}catch(p){t(p)}},r=c=>c.done?i(c.value):Promise.resolve(c.value).then(u,e);r((s=s.apply(n,l)).next())});import{a as re,o as He,aT as Ce,a$ as _e,v as Se,t as ke,b0 as Be,S as Fe,f as ie,aG as Te,_ as we,d as Oe,aL as $e,aN as ce,an as Pe,aU as Ne}from"./index.js";import{h as U,u as o,d as D,G as De,l as H,i as Re,f as h,c as _,w as ue,o as We,b as de,x as w,q as xe,Y as b,a6 as P,a7 as y,n as Ee,Z as N,N as O,ad as Le,F as je,a9 as V,a0 as Ie,a5 as pe,E as J,$ as Y,aa as j,J as Ae,g as K,y as qe,ab as oe,a8 as ne,ag as ae,ah as le,r as fe,H as q}from"./vue-aed314e3.js";import{M as ze,aq as Ve,T as G,ap as Ye,af as Ue,o as z,e as ge,a as Xe}from"./antd-f259b82a.js";import{u as Ge}from"./useWindowSizeFn-6e9d633b.js";const{t:se}=re(),Je={open:{type:Boolean},scrollTop:{type:Boolean,default:!0},height:{type:Number},minHeight:{type:Number},draggable:{type:Boolean,default:!0},centered:{type:Boolean},cancelText:{type:String,default:se("common.cancelText")},okText:{type:String,default:se("common.okText")},closeFunc:Function},Q=Object.assign({},Je,{defaultFullscreen:{type:Boolean},canFullscreen:{type:Boolean,default:!1},wrapperFooterOffset:{type:Number,default:0},helpMessage:[String,Array],useWrapper:{type:Boolean,default:!0},loading:{type:Boolean},loadingTip:{type:String},showCancelBtn:{type:Boolean,default:!0},showOkBtn:{type:Boolean,default:!0},wrapperProps:Object,afterClose:Function,bodyStyle:Object,closable:{type:Boolean,default:!0},closeIcon:Object,confirmLoading:{type:Boolean},destroyOnClose:{type:Boolean},footer:Object,getContainer:Function,mask:{type:Boolean,default:!0},maskClosable:{type:Boolean,default:!0},keyboard:{type:Boolean,default:!0},maskStyle:Object,okType:{type:String,default:"primary"},okButtonProps:Object,cancelButtonProps:Object,title:{type:String},subTitle:{type:String},open:{type:Boolean},width:[String,Number],wrapClassName:{type:String},zIndex:{type:Number}});function Ze(n){const l=(t,u)=>getComputedStyle(t)[u],s=t=>{if(!t)return;t.setAttribute("data-drag",o(n.draggable));const u=t.querySelector(".ant-modal-header"),e=t.querySelector(".ant-modal");!u||!e||!o(n.draggable)||(u.style.cursor="move",u.onmousedown=r=>{if(!r)return;const c=r.clientX,p=r.clientY,F=document.body.clientWidth,f=document.documentElement.clientHeight,d=e.offsetWidth,m=e.offsetHeight,g=e.offsetLeft,v=F-e.offsetLeft-d,S=e.offsetTop,k=f-e.offsetTop-m,M=l(e,"left"),R=l(e,"top");let W=+M,x=+R;M.includes("%")?(W=+document.body.clientWidth*(+M.replace(/%/g,"")/100),x=+document.body.clientHeight*(+R.replace(/%/g,"")/100)):(W=+M.replace(/px/g,""),x=+R.replace(/px/g,"")),document.onmousemove=function(I){let T=I.clientX-c,a=I.clientY-p;-T>g?T=-g:T>v&&(T=v),-a>S?a=-S:a>k&&(a=k),e.style.cssText+=`;left:${T+W}px;top:${a+x}px;`},document.onmouseup=()=>{document.onmousemove=null,document.onmouseup=null}})},i=()=>{const t=document.querySelectorAll(".ant-modal-wrap");for(const u of Array.from(t)){if(!u)continue;const e=l(u,"display"),r=u.getAttribute("data-drag");e!=="none"&&(r===null||o(n.destroyOnClose))&&s(u)}};U(()=>{!o(n.open)||!o(n.draggable)||He(()=>{i()},30)})}function Ke(n){return typeof n=="function"||Object.prototype.toString.call(n)==="[object Object]"&&!Re(n)}const Qe=D({name:"Modal",inheritAttrs:!1,props:Q,emits:["cancel"],setup(n,{slots:l,emit:s}){const{open:i,draggable:t,destroyOnClose:u}=De(n),e=Ce();Ze({open:i,destroyOnClose:u,draggable:t});const r=c=>{s("cancel",c)};return()=>{let c;const p=L(C(C({},o(e)),n),{onCancel:r});return H(ze,p,Ke(c=_e(l))?c:{default:()=>[c]})}}}),me=Symbol();function et(n){return ke(n,me)}function yt(){return Se(me)}const tt=["loading-tip"],ot=D({name:"ModalWrapper",inheritAttrs:!1,__name:"ModalWrapper",props:{loading:{type:Boolean},useWrapper:{type:Boolean,default:!0},modalHeaderHeight:{type:Number,default:57},modalFooterHeight:{type:Number,default:74},minHeight:{type:Number,default:200},height:{type:Number},footerOffset:{type:Number,default:0},open:{type:Boolean},fullScreen:{type:Boolean},loadingTip:{type:String}},emits:["height-change","ext-height"],setup(n,{expose:l,emit:s}){const i=n,t=h(null),u=h(null),e=h(0),r=h(0),c=h(0);Ge(f.bind(null)),Be(u,()=>{f()},{attributes:!0,subtree:!0}),et({redoModalHeight:f});const p=_(()=>({minHeight:`${i.minHeight}px`,[i.fullScreen?"height":"maxHeight"]:`${o(e)}px`}));U(()=>{i.useWrapper&&f()}),ue(()=>i.fullScreen,d=>{f(),d?r.value=e.value:e.value=r.value}),We(()=>{const{modalHeaderHeight:d,modalFooterHeight:m}=i;s("ext-height",d+m)}),de(()=>{});function F(){return A(this,null,function*(){w(()=>{var m;const d=o(t);d&&((m=d==null?void 0:d.scrollTo)==null||m.call(d,0))})})}function f(){return A(this,null,function*(){if(!i.open)return;const d=o(t);if(!d)return;const m=d.$el.parentElement;if(m){m.style.padding="0",yield w();try{const g=m.parentElement&&m.parentElement.parentElement;if(!g)return;const v=getComputedStyle(g).top,S=Number.parseInt(v);let k=window.innerHeight-S*2+(i.footerOffset||0)-i.modalFooterHeight-i.modalHeaderHeight;S<40&&(k-=26),yield w();const M=o(u);if(!M)return;yield w(),c.value=M.scrollHeight,i.fullScreen?e.value=window.innerHeight-i.modalFooterHeight-i.modalHeaderHeight-28:e.value=i.height?i.height:c.value>k?k:c.value,s("height-change",o(e))}catch(g){console.log(g)}}})}return l({scrollTop:F,setModalHeight:f}),(d,m)=>{const g=xe("loading");return b(),P(o(Fe),{ref_key:"wrapperRef",ref:t,scrollHeight:c.value},{default:y(()=>[Ee((b(),N("div",{ref_key:"spinRef",ref:u,style:Le(p.value),"loading-tip":n.loadingTip},[O(d.$slots,"default")],12,tt)),[[g,n.loading]])]),_:3},8,["scrollHeight"])}}}),nt=D({name:"ModalClose",__name:"ModalClose",props:{canFullscreen:{type:Boolean,default:!0},fullScreen:{type:Boolean}},emits:["cancel","fullscreen"],setup(n,{emit:l}){const s=n,{prefixCls:i}=ie("basic-modal-close"),{t}=re(),u=_(()=>[i,`${i}--custom`,{[`${i}--can-full`]:s.canFullscreen}]);function e(c){l("cancel",c)}function r(c){c==null||c.stopPropagation(),c==null||c.preventDefault(),l("fullscreen")}return(c,p)=>(b(),N("div",{class:Ie(u.value)},[n.canFullscreen?(b(),N(je,{key:0},[n.fullScreen?(b(),P(o(G),{key:0,title:o(t)("component.modal.restore"),placement:"bottom"},{default:y(()=>[H(o(Ve),{role:"full",onClick:r})]),_:1},8,["title"])):(b(),P(o(G),{key:1,title:o(t)("component.modal.maximize"),placement:"bottom"},{default:y(()=>[H(o(Ye),{role:"close",onClick:r})]),_:1},8,["title"]))],64)):V("",!0),H(o(G),{title:o(t)("component.modal.close"),placement:"bottom"},{default:y(()=>[H(o(Ue),{onClick:e})]),_:1},8,["title"])],2))}});const at=D({name:"BasicModalFooter",__name:"ModalFooter",props:Q,emits:["ok","cancel"],setup(n,{emit:l}){function s(t){l("ok",t)}function i(t){l("cancel",t)}return(t,u)=>{const e=pe("a-button");return b(),N("div",null,[O(t.$slots,"insertFooter"),t.showCancelBtn?(b(),P(e,j({key:0},t.cancelButtonProps,{onClick:i}),{default:y(()=>[J(Y(t.cancelText),1)]),_:1},16)):V("",!0),O(t.$slots,"centerFooter"),t.showOkBtn?(b(),P(e,j({key:1,type:t.okType,onClick:s,loading:t.confirmLoading},t.okButtonProps),{default:y(()=>[J(Y(t.okText),1)]),_:1},16,["type","loading"])):V("",!0),O(t.$slots,"appendFooter")])}}}),lt=D({name:"BasicModalHeader",components:{BasicTitle:Te},props:{helpMessage:{type:[String,Array]},title:{type:String},subTitle:{type:String}},emits:["dblclick"]});const st={class:"title-wrap"},rt={key:0,class:"subTitle"};function it(n,l,s,i,t,u){const e=pe("BasicTitle");return b(),N("span",st,[H(e,{helpMessage:n.helpMessage,class:"!font-semibold title"},{default:y(()=>[J(Y(n.title),1)]),_:1},8,["helpMessage"]),!n.helpMessage&&n.subTitle?(b(),N("span",rt,Y(n.subTitle),1)):V("",!0)])}const ct=we(lt,[["render",it],["__scopeId","data-v-8fb42aca"]]);function ut(n){const l=h(!1),s=_(()=>{const t=o(n.wrapClassName)||"";return o(l)?`fullscreen-modal ${t} `:o(t)});function i(t){t&&t.stopPropagation(),l.value=!o(l)}return{getWrapClassName:s,handleFullScreen:i,fullScreenRef:l}}const dt=D({name:"BasicModal",inheritAttrs:!1,__name:"BasicModal",props:Q,emits:["open-change","height-change","cancel","ok","register","update:open"],setup(n,{emit:l}){const s=n,i=Ae(),t=h(!1),u=h(null),e=h(null),{prefixCls:r}=ie("basic-modal"),c=h(0),p={setModalProps:R,emitOpen:void 0,redoModalHeight:()=>{w(()=>{o(e)&&o(e).setModalHeight()})}},F=K();F&&l("register",p,F.uid);const f=_(()=>C(C({},s),o(u))),{handleFullScreen:d,getWrapClassName:m,fullScreenRef:g}=ut({modalWrapperRef:e,extHeightRef:c,wrapClassName:qe(f.value,"wrapClassName")}),v=_(()=>{const a=L(C({},o(f)),{open:o(t),okButtonProps:void 0,cancelButtonProps:void 0,title:void 0});return L(C({},a),{wrapClassName:o(m)})}),S=_(()=>{const a=L(C(C({},i),o(f)),{open:o(t)});return a.wrapClassName=`${(a==null?void 0:a.wrapClassName)||""} ${o(m)}vben-basic-modal-wrap`,o(g)?z(a,["height","title"]):z(a,"title")}),k=_(()=>{if(!o(g))return o(v).height});U(()=>{t.value=!!s.open,g.value=!!s.defaultFullscreen}),ue(()=>o(t),a=>{l("open-change",a),l("update:open",a),w(()=>{s.scrollTop&&a&&o(e)&&o(e).scrollTop()})},{immediate:!1});function M(a){return A(this,null,function*(){var X,B;if(a==null||a.stopPropagation(),!((B=(X=a.target)==null?void 0:X.classList)!=null&&B.contains(r+"-close--custom"))){if(s.closeFunc&&ge(s.closeFunc)){const E=yield s.closeFunc();t.value=!E;return}t.value=!1,l("cancel",a)}})}function R(a){u.value=Oe(o(u)||{},a),Reflect.has(a,"open")&&(t.value=!!a.open),Reflect.has(a,"defaultFullscreen")&&(g.value=!!a.defaultFullscreen)}function W(a){l("ok",a)}function x(a){l("height-change",a)}function I(a){c.value=a}function T(a){s.canFullscreen&&(a.stopPropagation(),d(a))}return(a,X)=>(b(),P(o(Qe),j(S.value,{onCancel:M}),oe({default:y(()=>[H(ot,j({useWrapper:v.value.useWrapper,footerOffset:a.wrapperFooterOffset,fullScreen:o(g),ref_key:"modalWrapperRef",ref:e,loading:v.value.loading,"loading-tip":v.value.loadingTip,minHeight:v.value.minHeight,height:k.value,open:t.value,modalFooterHeight:a.footer!==void 0&&!a.footer?0:void 0},o(z)(v.value.wrapperProps,"open","height","modalFooterHeight"),{onExtHeight:I,onHeightChange:x}),{default:y(()=>[O(a.$slots,"default")]),_:3},16,["useWrapper","footerOffset","fullScreen","loading","loading-tip","minHeight","height","open","modalFooterHeight"])]),_:2},[a.$slots.closeIcon?void 0:{name:"closeIcon",fn:y(()=>[H(nt,{canFullscreen:v.value.canFullscreen,fullScreen:o(g),onCancel:M,onFullscreen:o(d)},null,8,["canFullscreen","fullScreen","onFullscreen"])]),key:"0"},a.$slots.title?void 0:{name:"title",fn:y(()=>[H(ct,{helpMessage:v.value.helpMessage,title:f.value.title,"sub-title":f.value.subTitle,onDblclick:T},null,8,["helpMessage","title","sub-title"])]),key:"1"},a.$slots.footer?void 0:{name:"footer",fn:y(()=>[H(at,j(S.value,{onOk:W,onCancel:M}),oe({_:2},[ne(Object.keys(a.$slots),B=>({name:B,fn:y(E=>[O(a.$slots,B,ae(le(E||{})))])}))]),1040)]),key:"2"},ne(Object.keys(o(z)(a.$slots,"default")),B=>({name:B,fn:y(E=>[O(a.$slots,B,ae(le(E||{})))])}))]),1040))}});const $=fe({}),Z=fe({});function vt(){const n=h(null),l=h(!1),s=h(0);function i(e,r){if(!K())throw new Error("useModal() can only be used inside setup() or functional components!");s.value=r,de(()=>{n.value=null,l.value=!1,$[String(o(s))]=null}),!(o(l)&&$e()&&e===o(n))&&(n.value=e,l.value=!0,e.emitOpen=(c,p)=>{Z[p]=c})}const t=()=>{const e=o(n);return console.log("🚀 ~ file: useModal.ts:59 ~ getInstance ~ instance:",e),e||ce("useModal instance is undefined!"),e},u={setModalProps:e=>{var r;(r=t())==null||r.setModalProps(e)},getOpen:_(()=>Z[~~o(s)]),redoModalHeight:()=>{var e,r;(r=(e=t())==null?void 0:e.redoModalHeight)==null||r.call(e)},openModal:(e=!0,r,c=!0)=>{var f;if((f=t())==null||f.setModalProps({open:e}),!r)return;const p=o(s);if(c){$[p]=null,$[p]=q(r);return}Xe(q($[p]),q(r))||($[p]=q(r))},closeModal:()=>{var e;(e=t())==null||e.setModalProps({open:!1})}};return[i,u]}const bt=n=>{const l=h(null),s=K(),i=h(0),t=()=>{const e=o(l);return e||ce("useModalInner instance is undefined!"),e},u=(e,r)=>{Pe(()=>{l.value=null}),i.value=r,l.value=e,s==null||s.emit("register",e,r)};return U(()=>{const e=$[o(i)];e&&(!n||!ge(n)||w(()=>{n(e)}))}),[u,{changeLoading:(e=!0)=>{var r;(r=t())==null||r.setModalProps({loading:e})},getOpen:_(()=>Z[~~o(i)]),changeOkLoading:(e=!0)=>{var r;(r=t())==null||r.setModalProps({confirmLoading:e})},closeModal:()=>{var e;(e=t())==null||e.setModalProps({open:!1})},setModalProps:e=>{var r;(r=t())==null||r.setModalProps(e)},redoModalHeight:()=>{var r;const e=(r=t())==null?void 0:r.redoModalHeight;e&&e()}}]},Mt=Ne(dt);export{Mt as B,bt as a,yt as b,vt as u};
|