@hopeio/utils
Version:
javascript utils
2 lines (1 loc) • 5.11 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),b=require("@vueuse/core"),B=require("@pureadmin/utils"),O={width:24,height:24,body:'<path fill="currentColor" d="M16 3h6v6h-2V5h-4V3ZM2 3h6v2H4v4H2V3Zm18 16v-4h2v6h-6v-2h4ZM4 19h4v2H2v-6h2v4Z"/>'},F={width:24,height:24,body:'<path fill="currentColor" d="M18 7h4v2h-6V3h2v4ZM8 9H2V7h4V3h2v6Zm10 8v4h-2v-6h6v2h-4ZM8 15v6H6v-4H2v-2h6Z"/>'},A={key:0,class:"flex items-center justify-between"},M=["id"],R=["onClick"],Z={key:1},E=e.defineComponent({name:"ReDialog",__name:"index",setup(u){const d=e.ref({}),v=e.ref(!1),D=e.computed(()=>f=>{var a;return((a=f==null?void 0:f.footerButtons)==null?void 0:a.length)>0?f.footerButtons:[{label:"取消",text:!0,bg:!0,btnClick:({dialog:{options:r,index:m}})=>{const t=()=>y(r,m,{command:"cancel"});r!=null&&r.beforeCancel&&B.isFunction(r==null?void 0:r.beforeCancel)?r.beforeCancel(t,{options:r,index:m}):t()}},{label:"确定",type:"primary",text:!0,bg:!0,popconfirm:f==null?void 0:f.popconfirm,btnClick:({dialog:{options:r,index:m}})=>{r!=null&&r.sureBtnLoading&&(d.value[m]=Object.assign({},d.value[m],{loading:!0}));const t=()=>{r!=null&&r.sureBtnLoading&&(d.value[m].loading=!1)},_=()=>{t(),y(r,m,{command:"sure"})};r!=null&&r.beforeSure&&B.isFunction(r==null?void 0:r.beforeSure)?r.beforeSure(_,{options:r,index:m,closeLoading:t}):_()}}]}),S=e.computed(()=>["el-icon","el-dialog__close","-translate-x-2","cursor-pointer","hover:!text-[red]"]);function k(f,a,r,m=!1){if(m||(v.value=(a==null?void 0:a.fullscreen)??!1),a!=null&&a[f]&&B.isFunction(a==null?void 0:a[f]))return a==null?void 0:a[f]({options:a,index:r})}function V(f,a,r={command:"close"}){y(f,a,r),k("close",f,a)}return(f,a)=>{const r=e.resolveComponent("IconifyIconOffline"),m=e.resolveComponent("el-button"),t=e.resolveComponent("el-popconfirm"),_=e.resolveComponent("el-dialog");return e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(h),(l,n)=>(e.openBlock(),e.createBlock(_,e.mergeProps({key:n,ref_for:!0},l,{modelValue:l.visible,"onUpdate:modelValue":c=>l.visible=c,class:"pure-dialog",fullscreen:v.value?!0:!!(l!=null&&l.fullscreen),onClosed:c=>V(l,n),onOpened:c=>k("open",l,n),onOpenAutoFocus:c=>k("openAutoFocus",l,n),onCloseAutoFocus:c=>k("closeAutoFocus",l,n)}),e.createSlots({default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.contentRenderer({options:l,index:n})),e.mergeProps({ref_for:!0},l==null?void 0:l.props,{onClose:c=>V(l,n,c)}),null,16,["onClose"]))]),_:2},[l!=null&&l.fullscreenIcon||l!=null&&l.headerRenderer?{name:"header",fn:e.withCtx(({close:c,titleId:g,titleClass:C})=>[l!=null&&l.fullscreenIcon?(e.openBlock(),e.createElementBlock("div",A,[e.createElementVNode("span",{id:g,class:e.normalizeClass(C)},e.toDisplayString(l==null?void 0:l.title),11,M),l!=null&&l.fullscreen?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("i",{key:0,class:e.normalizeClass(S.value),onClick:()=>{v.value=!v.value,k("fullscreenCallBack",{...l,fullscreen:v.value},n,!0)}},[e.createVNode(r,{class:"pure-dialog-svg",icon:l!=null&&l.fullscreen||v.value?e.unref(F):e.unref(O)},null,8,["icon"])],10,R))])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l==null?void 0:l.headerRenderer({close:c,titleId:g,titleClass:C})),{key:1}))]),key:"0"}:void 0,l!=null&&l.hideFooter?void 0:{name:"footer",fn:e.withCtx(()=>[l!=null&&l.footerRenderer?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l==null?void 0:l.footerRenderer({options:l,index:n})),{key:0})):(e.openBlock(),e.createElementBlock("span",Z,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(D.value(l),(c,g)=>{var C;return e.openBlock(),e.createElementBlock(e.Fragment,{key:g},[c.popconfirm?(e.openBlock(),e.createBlock(t,e.mergeProps({key:0,ref_for:!0},c.popconfirm,{onConfirm:w=>c.btnClick({dialog:{options:l,index:n},button:{btn:c,index:g}})}),{reference:e.withCtx(()=>[e.createVNode(m,e.mergeProps({ref_for:!0},c),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c==null?void 0:c.label),1)]),_:2},1040)]),_:2},1040,["onConfirm"])):(e.openBlock(),e.createBlock(m,e.mergeProps({key:1,ref_for:!0},c,{loading:g===1&&((C=d.value[n])==null?void 0:C.loading),onClick:w=>c.btnClick({dialog:{options:l,index:n},button:{btn:c,index:g}})}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c==null?void 0:c.label),1)]),_:2},1040,["loading","onClick"]))],64)}),128))]))]),key:"1"}]),1040,["modelValue","onUpdate:modelValue","fullscreen","onClosed","onOpened","onOpenAutoFocus","onCloseAutoFocus"]))),128)}}}),h=e.ref([]),$=u=>{const d=()=>h.value.push(Object.assign(u,{visible:!0}));u!=null&&u.openDelay?b.useTimeoutFn(()=>{d()},u.openDelay):d()},y=(u,d,v)=>{h.value[d].visible=!1,u.closeCallBack&&u.closeCallBack({options:u,index:d,args:v});const D=(u==null?void 0:u.closeDelay)??200;b.useTimeoutFn(()=>{h.value.splice(d,1)},D)},H=(u,d="title",v=0)=>{h.value[v][d]=u},I=()=>{h.value=[]},N=B.withInstall(E);exports.ReDialog=N;exports.addDialog=$;exports.closeAllDialog=I;exports.closeDialog=y;exports.dialogStore=h;exports.updateDialog=H;