primevue
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primevue) [ • 2.91 kB
JavaScript
import i from"primevue/confirmationeventbus";import o from"primevue/dialog";import t from"primevue/button";import{resolveComponent as e,openBlock as n,createBlock as c,withCtx as r,createVNode as s,toDisplayString as a}from"vue";var l={name:"ConfirmDialog",props:{group:String,breakpoints:{type:Object,default:null}},confirmListener:null,closeListener:null,data:()=>({visible:!1,confirmation:null}),mounted(){this.confirmListener=i=>{i&&i.group===this.group&&(this.confirmation=i,this.visible=!0)},this.closeListener=()=>{this.visible=!1,this.confirmation=null},i.on("confirm",this.confirmListener),i.on("close",this.closeListener)},beforeUnmount(){i.off("confirm",this.confirmListener),i.off("close",this.closeListener)},methods:{accept(){this.confirmation.accept&&this.confirmation.accept(),this.visible=!1},reject(){this.confirmation.reject&&this.confirmation.reject(),this.visible=!1}},computed:{header(){return this.confirmation?this.confirmation.header:null},message(){return this.confirmation?this.confirmation.message:null},blockScroll(){return!this.confirmation||this.confirmation.blockScroll},position(){return this.confirmation?this.confirmation.position:null},iconClass(){return["p-confirm-dialog-icon",this.confirmation?this.confirmation.icon:null]},acceptLabel(){return this.confirmation?this.confirmation.acceptLabel||this.$primevue.config.locale.accept:null},rejectLabel(){return this.confirmation?this.confirmation.rejectLabel||this.$primevue.config.locale.reject:null},acceptIcon(){return this.confirmation?this.confirmation.acceptIcon:null},rejectIcon(){return this.confirmation?this.confirmation.rejectIcon:null},acceptClass(){return["p-confirm-dialog-accept",this.confirmation?this.confirmation.acceptClass:null]},rejectClass(){return["p-confirm-dialog-reject",this.confirmation?this.confirmation.rejectClass||"p-button-text":null]},autoFocusAccept(){return void 0===this.confirmation.defaultFocus||"accept"===this.confirmation.defaultFocus},autoFocusReject(){return"reject"===this.confirmation.defaultFocus}},components:{CDialog:o,CDButton:t}};const u={class:"p-confirm-dialog-message"};l.render=function(i,o,t,l,m,f){const p=e("CDButton"),h=e("CDialog");return n(),c(h,{visible:m.visible,"onUpdate:visible":o[3]||(o[3]=i=>m.visible=i),modal:!0,header:f.header,blockScroll:f.blockScroll,position:f.position,class:"p-confirm-dialog",breakpoints:t.breakpoints},{footer:r((()=>[s(p,{label:f.rejectLabel,icon:f.rejectIcon,class:f.rejectClass,onClick:o[1]||(o[1]=i=>f.reject()),autofocus:f.autoFocusReject},null,8,["label","icon","class","autofocus"]),s(p,{label:f.acceptLabel,icon:f.acceptIcon,class:f.acceptClass,onClick:o[2]||(o[2]=i=>f.accept()),autofocus:f.autoFocusAccept},null,8,["label","icon","class","autofocus"])])),default:r((()=>[s("i",{class:f.iconClass},null,2),s("span",u,a(f.message),1)])),_:1},8,["visible","header","blockScroll","position","breakpoints"])};export default l;