vue-admin-core
Version:
A Component Library for Vue 3
59 lines (55 loc) • 1.96 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 useFormilyDrawer(title, content, options) {
const form = vue.createForm(options);
const props = useCorePopup.getPopupProps(title);
const [drawer, ContextHolder] = useCorePopup.useCorePopup({
okText: "\u63D0\u4EA4",
addonCenter: vue$1.h(index.Reset, {
...props == null ? void 0 : props.resetButtonProps,
onClick: (e) => {
var _a;
return (_a = props == null ? void 0 : props.onReset) == null ? void 0 : _a.call(props, e);
}
}, {
default: () => (props == null ? void 0 : props.resetText) || "\u91CD\u7F6E"
}),
...props
}, elementPlus.ElDrawer, content);
const _originResolve = drawer.resolve.bind(drawer);
const _originReject = drawer.reject.bind(drawer);
const _originOpen = drawer.open.bind(drawer);
const _originBeforeOpen = drawer.beforeOpen.bind(drawer);
drawer.resolve = async () => {
form.submit(async () => _originResolve(form));
};
drawer.reject = async () => {
return _originReject(form);
};
drawer.beforeOpen = async () => {
return await _originBeforeOpen(form);
};
drawer.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 [drawer, Component];
}
exports.useFormilyDrawer = useFormilyDrawer;
//# sourceMappingURL=useFormilyDrawer.js.map