UNPKG

yanzhen-design-vue

Version:

124 lines (123 loc) 3.69 kB
"use strict"; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); const vue = require("vue"); const lodashEs = require("lodash-es"); require("../../_utils/index.cjs"); const antDesignVue = require("ant-design-vue"); const configProvider = require("ant-design-vue/es/config-provider"); const destroyFns = require("./destroyFns.cjs"); require("./contacts-select.vue.cjs"); const render = require("../../_utils/render.cjs"); const triggerVNodeUpdate = require("../../_utils/triggerVNodeUpdate.cjs"); const contactsSelect_vue_vue_type_script_setup_true_lang = require("./contacts-select.vue2.cjs"); const confirm = (props) => { var _a; const { content = "", ...config } = props; const dom = (_a = window == null ? void 0 : window.$vueApp) == null ? void 0 : _a._container; const container = document.createElement("div"); dom == null ? void 0 : dom.appendChild(container); let currentConfig = { ...lodashEs.omit(config, "parentContext", "appContext"), style: { display: "none" }, listType: false, modalOpen: true, onClose: close }; let confirmDialogInstance = null; function destroy(...args) { if (confirmDialogInstance) { render.render(null, container); confirmDialogInstance = null; } const triggerCancel = args.some((param) => param && param.triggerCancel); if (config.onCancel && triggerCancel) { config.onCancel( () => { }, ...args.slice(1) ); } for (let i = 0; i < destroyFns.default.length; i++) { const fn = destroyFns.default[i]; if (fn === close) { destroyFns.default.splice(i, 1); break; } } } function close(...args) { const modalProps = { ...currentConfig.modalProps ?? {} }; const afterClose = modalProps == null ? void 0 : modalProps.afterClose; currentConfig = { ...currentConfig, modalOpen: false, modalProps: { ...modalProps, afterClose: () => { if (typeof afterClose === "function") { afterClose(); } destroy.apply(this, args); } } }; if (currentConfig.visible) { delete currentConfig.visible; } update(currentConfig); } function update(configUpdate) { if (typeof configUpdate === "function") { currentConfig = configUpdate(currentConfig); } else { currentConfig = { ...currentConfig, ...configUpdate }; } if (confirmDialogInstance) { triggerVNodeUpdate.triggerVNodeUpdate(confirmDialogInstance, currentConfig, container); } } const Wrapper = (p) => { return vue.h( antDesignVue.ConfigProvider, vue.mergeProps({}, configProvider.globalConfigForApi, { //@ts-ignore appContext: config.parentContext ?? config.appContext ?? p.appContext }), { default: vue.withCtx(() => { return [ vue.h(contactsSelect_vue_vue_type_script_setup_true_lang.default, p, { default: vue.withCtx(() => [vue.h(content)]) }) ]; }) } ); }; function render$1(props2) { const vm = vue.createVNode(Wrapper, { ...props2 }); vm.appContext = config.parentContext ?? config.appContext ?? vm.appContext; render.render(vm, container); return vm; } confirmDialogInstance = render$1(currentConfig); destroyFns.default.push(close); return { destroy: close, update }; }; function withConfirm(props) { return { ...props, type: "confirm" }; } exports.confirm = confirm; exports.default = confirm; exports.withConfirm = withConfirm;