@aplus-frontend/ui
Version:
2 lines (1 loc) • 1.72 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),v=require("@aplus-frontend/antdv"),u=require("../../config-provider/config-provider.js"),x=require("lodash-unified");require("../components/ApDrawerClose.vue.js");const b=require("../../ap-modal/utils/util.js"),q=require("../components/ApDrawerClose.vue2.js"),w=r=>{let t,s;const{destroyOnClose:i=!0}=r;function p(){t&&t(!1),setTimeout(()=>{o.render(null,n),n.parentElement?.removeChild(n)},500)}function h(){t&&t(!0)}function a(){t&&t(!1)}function C(e){s&&s(e)}const f=o.defineComponent({data(){return{open:i,props:r}},created(){t=e=>{this.open=e},s=e=>{this.props={...this.props,...e}}},methods:{async handleClose(){if(this.props?.onClose){const e=this.props?.content?.component?.exposed??void 0;await this.props?.onClose(e)}i?p():a()}},render(){const e=x.omit(this.props,["onClose","extra","footer","visible","onUpdate:visible","afterVisibleChange","onAfterVisibleOChange","open","onUpdate:open","getContainer"]),d=this.props?.content?.component?.exposed??void 0,c=()=>i?p():a();return o.createVNode(u.ConfigProvider,u.globalConfigCached.value,{default:()=>[o.createVNode(v.Drawer,o.mergeProps({open:this.open,onClose:this.handleClose,closeIcon:this.props?.closeIcon??null,extra:this.props?.extra?this.props?.extra?.(d,c):o.createVNode(q.default,{onClose:this.handleClose},null),footer:this.props?.footer?.(d,c)},e),{default:()=>[this.props?.content]})]})}}),g=r.getContainer||document.body,n=document.createElement("div");g.appendChild(n);const l=o.h(f),m=b.getModalGlobalAppContext();return l.appContext=r.appContext||m||l.appContext,o.render(l,n),{destroy:p,update:C,open:h,close:a}};exports.createDrawer=w;