UNPKG

vue-admin-core

Version:
58 lines (55 loc) 1.9 kB
import { h, defineComponent, createVNode } from 'vue'; import { createForm, FragmentComponent, FormProvider } from '@formily/vue'; import { observer } from '@formily/reactive-vue'; import '../../formily/index.mjs'; import { getPopupProps, useCorePopup } from '../__shared__/useCorePopup.mjs'; import { ElDialog } from 'element-plus'; import { Reset } from '../../formily/reset/src/index.mjs'; function useFormilyDialog(title, content, options) { const form = createForm(options); const props = getPopupProps(title); const [dialog, ContextHolder] = useCorePopup({ okText: "\u63D0\u4EA4", addonCenter: h(Reset, { ...props == null ? void 0 : props.resetButtonProps, onClick: (e) => { var _a; (_a = props == null ? void 0 : props.onReset) == null ? void 0 : _a.call(props, e); dialog.reset(form); } }, { default: () => (props == null ? void 0 : props.resetText) || "\u91CD\u7F6E" }), ...props }, ElDialog, content); const _originResolve = dialog.resolve.bind(dialog); const _originReject = dialog.reject.bind(dialog); const _originOpen = dialog.open.bind(dialog); const _originBeforeOpen = dialog.beforeOpen.bind(dialog); dialog.resolve = async () => { _originResolve(form); }; dialog.reject = async () => { _originReject(form); }; dialog.beforeOpen = async () => { return _originBeforeOpen(form); }; dialog.open = async (props2) => { return _originOpen(props2); }; const Component = observer(defineComponent({ setup() { return () => createVNode(FragmentComponent, null, { default: () => [createVNode(FormProvider, { "form": form }, { default: () => [createVNode(ContextHolder, null, null)] })] }); } })); return [dialog, Component]; } export { useFormilyDialog }; //# sourceMappingURL=useFormilyDialog.mjs.map