feat: 添加确认对话框组件,优化提示和对话框服务的交互逻辑
Some checks failed
/ playwright (push) Successful in 1m30s
/ depcheck (push) Successful in 1m19s
/ build-and-deploy-to-vercel (push) Failing after 1m50s

This commit is contained in:
严浩
2024-12-14 20:01:38 +08:00
parent 9ed80478e6
commit b1c0efb853
7 changed files with 215 additions and 180 deletions

View File

@ -1,17 +1,29 @@
/**
* 需要把 <Toast /> 放在 App.vue 的 template 中
*/
import '../assets/reset-primevue.css';
// ========================================================================
// ========================== ConfirmationService =========================
// ========================================================================
// @ts-expect-error - Ignore missing types
import ConfirmationEventBus from 'primevue/confirmationeventbus';
import type { ConfirmationServiceMethods } from 'primevue/confirmationservice';
export const ConfirmationService: ConfirmationServiceMethods = {
require: (options) => {
ConfirmationEventBus.emit('confirm', options);
},
close: () => {
ConfirmationEventBus.emit('close');
},
};
// ========================================================================
// ============================= ToastService =============================
// ========================================================================
// @ts-expect-error - Ignore missing types
import ToastEventBus from 'primevue/toasteventbus';
import type { ToastServiceMethods } from 'primevue/toastservice';
// @ts-expect-error - Ignore missing types
import DynamicDialogEventBus from 'primevue/dynamicdialogeventbus';
import type { DialogServiceMethods } from 'primevue/dialogservice';
import '../assets/reset-primevue.css';
// https://github.com/primefaces/primevue/blob/61929eae7526015af0362fc5889f2af7527403d1/packages/primevue/src/toastservice/ToastService.js
export const ToastService: ToastServiceMethods = {
add: (message) => {
@ -28,6 +40,12 @@ export const ToastService: ToastServiceMethods = {
},
};
// ========================================================================
// ============================= DialogService ============================
// ========================================================================
// @ts-expect-error - Ignore missing types
import DynamicDialogEventBus from 'primevue/dynamicdialogeventbus';
import type { DialogServiceMethods } from 'primevue/dialogservice';
// https://github.com/primefaces/primevue/blob/18367429f624285ff32d0ef775c1825a43a02fb1/packages/primevue/src/dialogservice/DialogService.js#L7
export const DialogService: DialogServiceMethods = {
open: (content, options) => {