You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2 lines
12 KiB
JavaScript

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