vue-admin-core
Version:
A Component Library for Vue 3
60 lines (56 loc) • 1.94 kB
JavaScript
;
var vue$1 = require('vue');
var vue = require('@formily/vue');
var reactiveVue = require('@formily/reactive-vue');
require('../../formily/index.js');
var useCorePopup = require('../__shared__/useCorePopup.js');
var elementPlus = require('element-plus');
var index = require('../../formily/reset/src/index.js');
function useFormilyDialog(title, content, options) {
const form = vue.createForm(options);
const props = useCorePopup.getPopupProps(title);
const [dialog, ContextHolder] = useCorePopup.useCorePopup({
okText: "\u63D0\u4EA4",
addonCenter: vue$1.h(index.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
}, elementPlus.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 = reactiveVue.observer(vue$1.defineComponent({
setup() {
return () => vue$1.createVNode(vue.FragmentComponent, null, {
default: () => [vue$1.createVNode(vue.FormProvider, {
"form": form
}, {
default: () => [vue$1.createVNode(ContextHolder, null, null)]
})]
});
}
}));
return [dialog, Component];
}
exports.useFormilyDialog = useFormilyDialog;
//# sourceMappingURL=useFormilyDialog.js.map