mirror of
https://github.com/primefaces/primevue.git
synced 2025-05-09 08:52:34 +00:00
Styles imported. Components added
This commit is contained in:
parent
3cb3910561
commit
8264983db4
452 changed files with 55902 additions and 0 deletions
126
components/confirmdialog/ConfirmDialog.vue
Normal file
126
components/confirmdialog/ConfirmDialog.vue
Normal file
|
@ -0,0 +1,126 @@
|
|||
<template>
|
||||
<CDialog v-model:visible="visible" :modal="true" :header="header" :blockScroll="blockScroll" :position="position" class="p-confirm-dialog"
|
||||
:breakpoints="breakpoints" :closeOnEscape="closeOnEscape">
|
||||
<template v-if="!$slots.message">
|
||||
<i :class="iconClass" />
|
||||
<span class="p-confirm-dialog-message">{{ message }}</span>
|
||||
</template>
|
||||
<component v-else :is="$slots.message" :message="confirmation"></component>
|
||||
<template #footer>
|
||||
<CDButton :label="rejectLabel" :icon="rejectIcon" :class="rejectClass" @click="reject()" :autofocus="autoFocusReject"/>
|
||||
<CDButton :label="acceptLabel" :icon="acceptIcon" :class="acceptClass" @click="accept()" :autofocus="autoFocusAccept" />
|
||||
</template>
|
||||
</CDialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ConfirmationEventBus from 'primevue/confirmationeventbus';
|
||||
import Dialog from 'primevue/dialog';
|
||||
import Button from 'primevue/button';
|
||||
|
||||
export default {
|
||||
name: 'ConfirmDialog',
|
||||
props: {
|
||||
group: String,
|
||||
breakpoints: {
|
||||
type: Object,
|
||||
default: null
|
||||
}
|
||||
},
|
||||
confirmListener: null,
|
||||
closeListener: null,
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
confirmation: null,
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.confirmListener = (options) => {
|
||||
if (!options) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (options.group === this.group) {
|
||||
this.confirmation = options;
|
||||
this.visible = true;
|
||||
}
|
||||
};
|
||||
|
||||
this.closeListener = () => {
|
||||
this.visible = false;
|
||||
this.confirmation = null;
|
||||
};
|
||||
ConfirmationEventBus.on('confirm', this.confirmListener);
|
||||
ConfirmationEventBus.on('close', this.closeListener);
|
||||
},
|
||||
beforeUnmount() {
|
||||
ConfirmationEventBus.off('confirm', this.confirmListener);
|
||||
ConfirmationEventBus.off('close', this.closeListener);
|
||||
},
|
||||
methods: {
|
||||
accept() {
|
||||
if (this.confirmation.accept) {
|
||||
this.confirmation.accept();
|
||||
}
|
||||
|
||||
this.visible = false;
|
||||
},
|
||||
reject() {
|
||||
if (this.confirmation.reject) {
|
||||
this.confirmation.reject();
|
||||
}
|
||||
|
||||
this.visible = false;
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
header() {
|
||||
return this.confirmation ? this.confirmation.header : null;
|
||||
},
|
||||
message() {
|
||||
return this.confirmation ? this.confirmation.message : null;
|
||||
},
|
||||
blockScroll() {
|
||||
return this.confirmation ? this.confirmation.blockScroll : true;
|
||||
},
|
||||
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 (this.confirmation.defaultFocus === undefined || this.confirmation.defaultFocus === 'accept') ? true : false;
|
||||
},
|
||||
autoFocusReject() {
|
||||
return this.confirmation.defaultFocus === 'reject' ? true : false;
|
||||
},
|
||||
closeOnEscape() {
|
||||
return this.confirmation ? this.confirmation.closeOnEscape : true;
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'CDialog': Dialog,
|
||||
'CDButton': Button
|
||||
}
|
||||
}
|
||||
</script>
|
Loading…
Add table
Add a link
Reference in a new issue