Refactor #4433 - ConfirmDialog
parent
44f802dc0f
commit
c368c0f8df
|
@ -47,6 +47,10 @@ const ConfirmDialogSlots = [
|
||||||
{
|
{
|
||||||
name: 'rejecticon',
|
name: 'rejecticon',
|
||||||
description: 'Custom reject icon template.'
|
description: 'Custom reject icon template.'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'container',
|
||||||
|
description: 'Custom container template.'
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -211,6 +211,20 @@ export interface ConfirmDialogSlots {
|
||||||
* Custom icon template.
|
* Custom icon template.
|
||||||
*/
|
*/
|
||||||
rejecticon(): VNode[];
|
rejecticon(): VNode[];
|
||||||
|
/**
|
||||||
|
* Custom container slot.
|
||||||
|
* @param {Object} scope - container slot's params.
|
||||||
|
*/
|
||||||
|
container(scope: {
|
||||||
|
/**
|
||||||
|
* Message of the component
|
||||||
|
*/
|
||||||
|
message: any;
|
||||||
|
/**
|
||||||
|
* Close dialog function.
|
||||||
|
*/
|
||||||
|
onClose: () => void;
|
||||||
|
}): VNode[];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -14,15 +14,20 @@
|
||||||
:pt="pt"
|
:pt="pt"
|
||||||
:unstyled="unstyled"
|
:unstyled="unstyled"
|
||||||
>
|
>
|
||||||
<template v-if="!$slots.message">
|
<template v-if="$slots.container" #container="slotProps">
|
||||||
<slot name="icon">
|
<slot name="container" :message="confirmation" :onClose="slotProps.onClose" />
|
||||||
<component v-if="$slots.icon" :is="$slots.icon" :class="cx('icon')" />
|
|
||||||
<span v-else-if="confirmation.icon" :class="cx('icon')" v-bind="ptm('icon')" />
|
|
||||||
</slot>
|
|
||||||
<span :class="cx('message')" v-bind="ptm('message')">{{ message }}</span>
|
|
||||||
</template>
|
</template>
|
||||||
<component v-else :is="$slots.message" :message="confirmation"></component>
|
<template v-if="!$slots.container">
|
||||||
<template #footer>
|
<template v-if="!$slots.message">
|
||||||
|
<slot name="icon">
|
||||||
|
<component v-if="$slots.icon" :is="$slots.icon" :class="cx('icon')" />
|
||||||
|
<span v-else-if="confirmation.icon" :class="cx('icon')" v-bind="ptm('icon')" />
|
||||||
|
</slot>
|
||||||
|
<span :class="cx('message')" v-bind="ptm('message')">{{ message }}</span>
|
||||||
|
</template>
|
||||||
|
<component v-else :is="$slots.message" :message="confirmation"></component>
|
||||||
|
</template>
|
||||||
|
<template v-if="!$slots.container" #footer>
|
||||||
<CDButton :label="rejectLabel" :class="[cx('rejectButton'), confirmation.rejectClass]" @click="reject()" :autofocus="autoFocusReject" :unstyled="unstyled" :pt="ptm('rejectButton')" data-pc-name="rejectbutton">
|
<CDButton :label="rejectLabel" :class="[cx('rejectButton'), confirmation.rejectClass]" @click="reject()" :autofocus="autoFocusReject" :unstyled="unstyled" :pt="ptm('rejectButton')" data-pc-name="rejectbutton">
|
||||||
<template v-if="rejectIcon || $slots.rejecticon" #icon="iconProps">
|
<template v-if="rejectIcon || $slots.rejecticon" #icon="iconProps">
|
||||||
<slot name="rejecticon">
|
<slot name="rejecticon">
|
||||||
|
|
Loading…
Reference in New Issue