press-next
Version:
Vue3 组件库,支持 Composition API
51 lines (39 loc) • 1.09 kB
JavaScript
// 此文件不能改为ts,否则条件编译有问题
import { DIALOG_PROPS, DEFAULT_GP_DIALOG_ID } from './computed';
import { addFunctionForDialog } from 'press-ui/press-dialog-plus/handler-helper';
import { initFunctionalDialog } from 'press-ui/common/component-handler/init-functional-dialog';
// #ifdef H5
import VueDialog from './press-gp-dialog.vue';
// #endif
let queue = [];
const defaultOptions = Object.keys(DIALOG_PROPS).reduce((acc, item) => {
acc[item] = DIALOG_PROPS[item].default;
return acc;
}, {
selector: `#${DEFAULT_GP_DIALOG_ID}`,
});
let currentOptions = Object.assign({}, defaultOptions);
const Dialog = options => initFunctionalDialog({
options,
currentOptions,
id: DEFAULT_GP_DIALOG_ID,
// #ifdef H5
dialogComponent: VueDialog,
// #endif
});
function updateQueue(arg) {
queue = arg;
}
function updateCurrentOptions(arg) {
currentOptions = arg;
}
Dialog.show = options => Dialog(options);
addFunctionForDialog({
Dialog,
queue,
currentOptions,
defaultOptions,
updateQueue,
updateCurrentOptions,
});
export default Dialog;