UNPKG

primevue

Version:

PrimeVue is an open source UI library for Vue featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBloc

2 lines (1 loc) 2.87 kB
"use strict";var e=require("primevue/dialog"),n=require("primevue/dynamicdialogeventbus"),t=require("primevue/utils"),o=require("primevue/basecomponent"),i=require("primevue/dynamicdialog/style"),r=require("vue");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=s(e),l=s(n),c={name:"DynamicDialog",extends:{name:"BaseDynamicDialog",extends:s(o).default,props:{},style:s(i).default,provide:function(){return{$parentInstance:this}}},inheritAttrs:!1,data:function(){return{instanceMap:{}}},openListener:null,closeListener:null,currentInstance:null,mounted:function(){var e=this;this.openListener=function(n){var o=n.instance,i=t.UniqueComponentId()+"_dynamic_dialog";o.visible=!0,o.key=i,e.instanceMap[i]=o},this.closeListener=function(n){var t=n.params,o=e.instanceMap[n.instance.key];o&&(o.visible=!1,o.options.onClose&&o.options.onClose({data:t,type:"config-close"}),e.currentInstance=o)},l.default.on("open",this.openListener),l.default.on("close",this.closeListener)},beforeUnmount:function(){l.default.off("open",this.openListener),l.default.off("close",this.closeListener)},methods:{onDialogHide:function(e){!this.currentInstance&&e.options.onClose&&e.options.onClose({type:"dialog-close"})},onDialogAfterHide:function(){this.currentInstance&&delete this.currentInstance,this.currentInstance=null},getTemplateItems:function(e){return Array.isArray(e)?e:[e]}},components:{DDialog:a.default}};c.render=function(e,n,t,o,i,s){var a=r.resolveComponent("DDialog");return r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(i.instanceMap,(function(e,n){return r.openBlock(),r.createBlock(a,r.mergeProps({key:n,visible:e.visible,"onUpdate:visible":function(n){return e.visible=n},_instance:e},e.options.props,{onHide:function(n){return s.onDialogHide(e)},onAfterHide:s.onDialogAfterHide}),r.createSlots({default:r.withCtx((function(){return[(r.openBlock(),r.createBlock(r.resolveDynamicComponent(e.content),r.normalizeProps(r.guardReactiveProps(e.options.emits)),null,16))]})),_:2},[e.options.templates&&e.options.templates.header?{name:"header",fn:r.withCtx((function(){return[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(s.getTemplateItems(e.options.templates.header),(function(n,t){return r.openBlock(),r.createBlock(r.resolveDynamicComponent(n),r.mergeProps({key:t+"_header"},e.options.emits),null,16)})),128))]})),key:"0"}:void 0,e.options.templates&&e.options.templates.footer?{name:"footer",fn:r.withCtx((function(){return[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(s.getTemplateItems(e.options.templates.footer),(function(n,t){return r.openBlock(),r.createBlock(r.resolveDynamicComponent(n),r.mergeProps({key:t+"_footer"},e.options.emits),null,16)})),128))]})),key:"1"}:void 0]),1040,["visible","onUpdate:visible","_instance","onHide","onAfterHide"])})),128)},module.exports=c;