UNPKG

press-next

Version:

Vue3 组件库,支持 Composition API

54 lines (39 loc) 1.2 kB
import { initFunctionalDialog } from 'press-ui/common/component-handler/init-functional-dialog'; import { addFunctionForDialog } from 'press-ui/press-dialog-plus/handler-helper'; import { DIALOG_PROPS, DEFAULT_GP_DIALOG_ID } from './computed'; // #ifdef H5 import VueDialog from './press-gp-dialog.vue'; // #endif import type { IOptions, IDialog } from './types'; let queue: any[] = []; const defaultOptions = Object.keys(DIALOG_PROPS).reduce((acc: Record<string, any>, item) => { acc[item] = DIALOG_PROPS[item as keyof typeof DIALOG_PROPS].default; return acc; }, { selector: `#${DEFAULT_GP_DIALOG_ID}`, }); let currentOptions = Object.assign({}, defaultOptions); const Dialog = (options: IOptions) => initFunctionalDialog({ options, currentOptions, id: DEFAULT_GP_DIALOG_ID, // #ifdef H5 dialogComponent: VueDialog, // #endif }); function updateQueue(arg: any) { queue = arg; } function updateCurrentOptions(arg: IOptions) { currentOptions = arg; } Dialog.show = (options: IOptions) => Dialog(options); addFunctionForDialog({ Dialog, queue, currentOptions, defaultOptions, updateQueue, updateCurrentOptions, }); export default (Dialog as IDialog);