@silver-formily/element-plus 3.0.3 → 4.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en-US.md +3 -1
- package/README.md +3 -1
- package/esm/autocomplete/index.d.ts +41 -1
- package/esm/cascader/index.d.ts +31 -1
- package/esm/checkbox/index.d.ts +819 -1
- package/esm/color-picker/index.d.ts +210 -1
- package/esm/color-picker-panel/index.d.ts +130 -1
- package/esm/date-picker/index.d.ts +447 -1
- package/esm/date-picker-panel/index.d.ts +147 -1
- package/esm/editable/index.d.ts +60 -1
- package/esm/form-collapse/index.d.ts +3 -3
- package/esm/form-dialog/dialog-content.mjs +10 -12
- package/esm/form-dialog/dialog-content.mjs.map +1 -1
- package/esm/form-dialog/index.mjs +22 -26
- package/esm/form-dialog/index.mjs.map +1 -1
- package/esm/form-dialog/types.d.ts +0 -1
- package/esm/form-drawer/drawer-content.mjs +10 -12
- package/esm/form-drawer/drawer-content.mjs.map +1 -1
- package/esm/form-drawer/index.mjs +22 -26
- package/esm/form-drawer/index.mjs.map +1 -1
- package/esm/form-drawer/types.d.ts +0 -1
- package/esm/form-item/index.d.ts +83 -1
- package/esm/form-layout/form-layout.vue.d.ts +1 -1
- package/esm/index.d.ts +3 -1
- package/esm/index.mjs +2 -1
- package/esm/input/index.d.ts +43 -1
- package/esm/input-number/index.d.ts +328 -1
- package/esm/input-tag/index.d.ts +26 -1
- package/esm/mention/index.d.ts +36 -1
- package/esm/password/index.d.ts +42 -1
- package/esm/picker-select/index.d.ts +47 -0
- package/esm/picker-select/index.mjs +14 -0
- package/esm/picker-select/index.mjs.map +1 -0
- package/esm/picker-select/picker-select.mjs +186 -0
- package/esm/picker-select/picker-select.mjs.map +1 -0
- package/esm/picker-select/types.d.ts +23 -0
- package/esm/query-form-item/index.d.ts +152 -1
- package/esm/radio/index.d.ts +100 -46
- package/esm/rate/index.d.ts +186 -1
- package/esm/segmented/index.d.ts +28 -1
- package/esm/select/index.d.ts +112 -1
- package/esm/select-table/index.d.ts +61 -1
- package/esm/select-table/select-table.mjs +63 -29
- package/esm/select-table/select-table.mjs.map +1 -1
- package/esm/select-table/types.d.ts +22 -0
- package/esm/slider/index.d.ts +178 -1
- package/esm/switch/index.d.ts +298 -1
- package/esm/time-picker/index.d.ts +446 -1
- package/esm/time-select/index.d.ts +188 -1
- package/esm/transfer/index.d.ts +268 -1
- package/esm/tree/index.d.ts +45 -1
- package/esm/tree/types.d.ts +18 -0
- package/esm/tree-select/index.d.ts +19 -1
- package/esm/upload/index.d.ts +129 -1
- package/package.json +3 -3
- package/esm/shared/url-change-listener.mjs +0 -50
- package/esm/shared/url-change-listener.mjs.map +0 -1
package/esm/editable/index.d.ts
CHANGED
|
@@ -1,10 +1,69 @@
|
|
|
1
1
|
import { IFormItemProps } from "../form-item/types.js";
|
|
2
2
|
import { ElPopover } from "element-plus";
|
|
3
|
+
import * as _$vue from "vue";
|
|
3
4
|
|
|
4
5
|
//#region src/editable/index.d.ts
|
|
5
6
|
type EditableProps = IFormItemProps;
|
|
6
7
|
type EditablePopoverProps = typeof ElPopover;
|
|
7
|
-
declare const Editable:
|
|
8
|
+
declare const Editable: {
|
|
9
|
+
new (...args: any[]): _$vue.CreateComponentPublicInstanceWithMixins<Readonly<IFormItemProps & {
|
|
10
|
+
editProps?: IFormItemProps;
|
|
11
|
+
}> & Readonly<{}>, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, _$vue.PublicProps, {
|
|
12
|
+
size: "small" | "default" | "large";
|
|
13
|
+
feedbackLayout: "loose" | "terse" | "popover";
|
|
14
|
+
}, true, {}, {}, _$vue.GlobalComponents, _$vue.GlobalDirectives, string, {}, any, _$vue.ComponentProvideOptions, {
|
|
15
|
+
P: {};
|
|
16
|
+
B: {};
|
|
17
|
+
D: {};
|
|
18
|
+
C: {};
|
|
19
|
+
M: {};
|
|
20
|
+
Defaults: {};
|
|
21
|
+
}, Readonly<IFormItemProps & {
|
|
22
|
+
editProps?: IFormItemProps;
|
|
23
|
+
}> & Readonly<{}>, {}, {}, {}, {}, {
|
|
24
|
+
size: "small" | "default" | "large";
|
|
25
|
+
feedbackLayout: "loose" | "terse" | "popover";
|
|
26
|
+
}>;
|
|
27
|
+
__isFragment?: never;
|
|
28
|
+
__isTeleport?: never;
|
|
29
|
+
__isSuspense?: never;
|
|
30
|
+
} & _$vue.ComponentOptionsBase<Readonly<IFormItemProps & {
|
|
31
|
+
editProps?: IFormItemProps;
|
|
32
|
+
}> & Readonly<{}>, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, {
|
|
33
|
+
size: "small" | "default" | "large";
|
|
34
|
+
feedbackLayout: "loose" | "terse" | "popover";
|
|
35
|
+
}, {}, string, {}, _$vue.GlobalComponents, _$vue.GlobalDirectives, string, _$vue.ComponentProvideOptions> & _$vue.VNodeProps & _$vue.AllowedComponentProps & _$vue.ComponentCustomProps & (new () => {
|
|
36
|
+
$slots: {
|
|
37
|
+
default?: (props: {}) => any;
|
|
38
|
+
};
|
|
39
|
+
}) & {
|
|
40
|
+
Popover: {
|
|
41
|
+
new (...args: any[]): _$vue.CreateComponentPublicInstanceWithMixins<Readonly<IFormItemProps> & Readonly<{}>, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, _$vue.PublicProps, {
|
|
42
|
+
size: "small" | "default" | "large";
|
|
43
|
+
feedbackLayout: "loose" | "terse" | "popover";
|
|
44
|
+
}, true, {}, {}, _$vue.GlobalComponents, _$vue.GlobalDirectives, string, {}, any, _$vue.ComponentProvideOptions, {
|
|
45
|
+
P: {};
|
|
46
|
+
B: {};
|
|
47
|
+
D: {};
|
|
48
|
+
C: {};
|
|
49
|
+
M: {};
|
|
50
|
+
Defaults: {};
|
|
51
|
+
}, Readonly<IFormItemProps> & Readonly<{}>, {}, {}, {}, {}, {
|
|
52
|
+
size: "small" | "default" | "large";
|
|
53
|
+
feedbackLayout: "loose" | "terse" | "popover";
|
|
54
|
+
}>;
|
|
55
|
+
__isFragment?: never;
|
|
56
|
+
__isTeleport?: never;
|
|
57
|
+
__isSuspense?: never;
|
|
58
|
+
} & _$vue.ComponentOptionsBase<Readonly<IFormItemProps> & Readonly<{}>, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, {
|
|
59
|
+
size: "small" | "default" | "large";
|
|
60
|
+
feedbackLayout: "loose" | "terse" | "popover";
|
|
61
|
+
}, {}, string, {}, _$vue.GlobalComponents, _$vue.GlobalDirectives, string, _$vue.ComponentProvideOptions> & _$vue.VNodeProps & _$vue.AllowedComponentProps & _$vue.ComponentCustomProps & (new () => {
|
|
62
|
+
$slots: {
|
|
63
|
+
default?: (props: {}) => any;
|
|
64
|
+
};
|
|
65
|
+
});
|
|
66
|
+
};
|
|
8
67
|
//#endregion
|
|
9
68
|
export { Editable, EditablePopoverProps, EditableProps };
|
|
10
69
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -11,7 +11,7 @@ declare const composeFormCollapse: {
|
|
|
11
11
|
type: _$vue.PropType<IFormCollapse>;
|
|
12
12
|
};
|
|
13
13
|
activeKey: {
|
|
14
|
-
type: (
|
|
14
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
15
15
|
};
|
|
16
16
|
}>> & Readonly<{}>, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, _$vue.PublicProps, {}, true, {}, {}, _$vue.GlobalComponents, _$vue.GlobalDirectives, string, {}, any, _$vue.ComponentProvideOptions, {
|
|
17
17
|
P: {};
|
|
@@ -25,7 +25,7 @@ declare const composeFormCollapse: {
|
|
|
25
25
|
type: _$vue.PropType<IFormCollapse>;
|
|
26
26
|
};
|
|
27
27
|
activeKey: {
|
|
28
|
-
type: (
|
|
28
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
29
29
|
};
|
|
30
30
|
}>> & Readonly<{}>, {}, {}, {}, {}, {}>;
|
|
31
31
|
__isFragment?: never;
|
|
@@ -36,7 +36,7 @@ declare const composeFormCollapse: {
|
|
|
36
36
|
type: _$vue.PropType<IFormCollapse>;
|
|
37
37
|
};
|
|
38
38
|
activeKey: {
|
|
39
|
-
type: (
|
|
39
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
40
40
|
};
|
|
41
41
|
}>> & Readonly<{}>, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, {}, {}, string, {}, _$vue.GlobalComponents, _$vue.GlobalDirectives, string, _$vue.ComponentProvideOptions> & _$vue.VNodeProps & _$vue.AllowedComponentProps & _$vue.ComponentCustomProps & {
|
|
42
42
|
Item: _$vue.DefineComponent<{}, () => _$vue.VNode<_$vue.RendererNode, _$vue.RendererElement, {
|
|
@@ -4,7 +4,7 @@ import { stylePrefix } from "../__builtins__/configs/index.mjs";
|
|
|
4
4
|
import { useEnterSubmit } from "../__builtins__/shared/use-enter-submit.mjs";
|
|
5
5
|
import { resolveDialogElement } from "../shared/overlay-elements.mjs";
|
|
6
6
|
import { ElButton, ElConfigProvider, ElDialog } from "element-plus";
|
|
7
|
-
import { Fragment, computed, createBlock, createElementBlock, createElementVNode,
|
|
7
|
+
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, guardReactiveProps, mergeProps, normalizeClass, normalizeProps, openBlock, ref, renderSlot, toDisplayString, unref, useSlots, withCtx } from "vue";
|
|
8
8
|
import { FormProvider } from "@silver-formily/vue";
|
|
9
9
|
import { isFn } from "@formily/shared";
|
|
10
10
|
import { omit } from "lodash-es";
|
|
@@ -68,7 +68,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
68
68
|
if (unref(isFn)(props.dialogProps.beforeClose)) props.dialogProps.beforeClose(done);
|
|
69
69
|
else done();
|
|
70
70
|
}
|
|
71
|
-
}),
|
|
71
|
+
}), {
|
|
72
|
+
header: withCtx(() => [slots.header ? renderSlot(_ctx.$slots, "header", {
|
|
73
|
+
key: 0,
|
|
74
|
+
resolve: __props.resolve,
|
|
75
|
+
reject: __props.reject,
|
|
76
|
+
form: __props.form
|
|
77
|
+
}) : createCommentVNode("v-if", true)]),
|
|
72
78
|
default: withCtx(() => [createVNode(unref(FormProvider), { form: props.form }, {
|
|
73
79
|
default: withCtx(() => [createVNode(unref(ElConfigProvider), normalizeProps(guardReactiveProps(unref(elConfig))), {
|
|
74
80
|
default: withCtx(() => [renderSlot(_ctx.$slots, "default", {
|
|
@@ -95,16 +101,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
95
101
|
default: withCtx(() => [createTextVNode(toDisplayString(unref(_dialogProps).okText || "确定"), 1)]),
|
|
96
102
|
_: 1
|
|
97
103
|
}, 16, ["loading"])], 64))], 2)]),
|
|
98
|
-
_:
|
|
99
|
-
}, [
|
|
100
|
-
name: "header",
|
|
101
|
-
fn: withCtx(() => [renderSlot(_ctx.$slots, "header", {
|
|
102
|
-
resolve: __props.resolve,
|
|
103
|
-
reject: __props.reject,
|
|
104
|
-
form: __props.form
|
|
105
|
-
})]),
|
|
106
|
-
key: "0"
|
|
107
|
-
} : void 0]), 1040, [
|
|
104
|
+
_: 3
|
|
105
|
+
}, 16, [
|
|
108
106
|
"z-index",
|
|
109
107
|
"model-value",
|
|
110
108
|
"before-close"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog-content.mjs","names":[],"sources":["../../src/form-dialog/dialog-content.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Form } from '@formily/core'\nimport type { ComponentPublicInstance, PropType } from 'vue'\nimport type { FormDialogSlots, IFormDialogProps } from './types'\nimport { isFn } from '@formily/shared'\nimport { FormProvider } from '@silver-formily/vue'\nimport { ElButton, ElConfigProvider, ElDialog } from 'element-plus'\nimport { omit } from 'lodash-es'\nimport { computed, ref } from 'vue'\nimport { loadElConfigProvider, stylePrefix, useDebonceSubmitting } from '../__builtins__'\nimport { useEnterSubmit } from '../__builtins__/shared/use-enter-submit'\nimport { resolveDialogElement } from '../shared/overlay-elements'\n\ndefineOptions({\n name: 'FormDialogContent',\n})\nconst props = defineProps({\n dialogProps: {\n type: Object as PropType<IFormDialogProps>,\n required: true,\n },\n visible: {\n type: Boolean,\n required: true,\n },\n form: {\n type: Object as PropType<Form>,\n required: true,\n },\n resolve: {\n type: Function as PropType<(type?: string) => void>,\n required: true,\n },\n reject: {\n type: Function as PropType<() => void>,\n required: true,\n },\n})\n\nconst slots = defineSlots<FormDialogSlots>()\nconst prefixCls = `${stylePrefix}-form-dialog`\nconst elConfig = loadElConfigProvider()\nconst _dialogProps = omit(props.dialogProps, [\n 'modelValue',\n 'onUpdate:modelValue',\n 'beforeClose',\n 'enterSubmit',\n])\nconst { internalSubmitting } = useDebonceSubmitting(props.form)\nconst dialogRef = ref<ComponentPublicInstance | null>(null)\nconst enableEnterSubmit = computed(() => props.dialogProps.enterSubmit !== false)\n\nuseEnterSubmit({\n visible: computed(() => props.visible),\n resolve: () => props.resolve(),\n submitting: internalSubmitting,\n getContainer: () => resolveDialogElement(dialogRef.value),\n enabled: enableEnterSubmit,\n})\n</script>\n\n<template>\n <ElDialog\n ref=\"dialogRef\"\n :class=\"prefixCls\"\n :z-index=\"elConfig.zIndex\"\n v-bind=\"_dialogProps\"\n :model-value=\"visible\"\n :before-close=\"(done) => {\n reject()\n if (isFn(props.dialogProps.beforeClose)) {\n props.dialogProps.beforeClose(done)\n }\n else {\n done()\n }\n }\"\n >\n <template v-if=\"slots.header\"
|
|
1
|
+
{"version":3,"file":"dialog-content.mjs","names":[],"sources":["../../src/form-dialog/dialog-content.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Form } from '@formily/core'\nimport type { ComponentPublicInstance, PropType } from 'vue'\nimport type { FormDialogSlots, IFormDialogProps } from './types'\nimport { isFn } from '@formily/shared'\nimport { FormProvider } from '@silver-formily/vue'\nimport { ElButton, ElConfigProvider, ElDialog } from 'element-plus'\nimport { omit } from 'lodash-es'\nimport { computed, ref } from 'vue'\nimport { loadElConfigProvider, stylePrefix, useDebonceSubmitting } from '../__builtins__'\nimport { useEnterSubmit } from '../__builtins__/shared/use-enter-submit'\nimport { resolveDialogElement } from '../shared/overlay-elements'\n\ndefineOptions({\n name: 'FormDialogContent',\n})\nconst props = defineProps({\n dialogProps: {\n type: Object as PropType<IFormDialogProps>,\n required: true,\n },\n visible: {\n type: Boolean,\n required: true,\n },\n form: {\n type: Object as PropType<Form>,\n required: true,\n },\n resolve: {\n type: Function as PropType<(type?: string) => void>,\n required: true,\n },\n reject: {\n type: Function as PropType<() => void>,\n required: true,\n },\n})\n\nconst slots = defineSlots<FormDialogSlots>()\nconst prefixCls = `${stylePrefix}-form-dialog`\nconst elConfig = loadElConfigProvider()\nconst _dialogProps = omit(props.dialogProps, [\n 'modelValue',\n 'onUpdate:modelValue',\n 'beforeClose',\n 'enterSubmit',\n])\nconst { internalSubmitting } = useDebonceSubmitting(props.form)\nconst dialogRef = ref<ComponentPublicInstance | null>(null)\nconst enableEnterSubmit = computed(() => props.dialogProps.enterSubmit !== false)\n\nuseEnterSubmit({\n visible: computed(() => props.visible),\n resolve: () => props.resolve(),\n submitting: internalSubmitting,\n getContainer: () => resolveDialogElement(dialogRef.value),\n enabled: enableEnterSubmit,\n})\n</script>\n\n<template>\n <ElDialog\n ref=\"dialogRef\"\n :class=\"prefixCls\"\n :z-index=\"elConfig.zIndex\"\n v-bind=\"_dialogProps\"\n :model-value=\"visible\"\n :before-close=\"(done) => {\n reject()\n if (isFn(props.dialogProps.beforeClose)) {\n props.dialogProps.beforeClose(done)\n }\n else {\n done()\n }\n }\"\n >\n <template #header>\n <slot v-if=\"slots.header\" name=\"header\" :resolve=\"resolve\" :reject=\"reject\" :form=\"form\" />\n </template>\n\n <template #default>\n <FormProvider :form=\"props.form\">\n <ElConfigProvider v-bind=\"elConfig\">\n <slot :resolve=\"resolve\" :reject=\"reject\" :form=\"form\" />\n </ElConfigProvider>\n </FormProvider>\n </template>\n\n <template #footer>\n <div :class=\"`${prefixCls}-footer`\">\n <template v-if=\"slots.footer\">\n <slot name=\"footer\" :resolve=\"resolve\" :reject=\"reject\" :form=\"form\" />\n </template>\n <template v-else>\n <ElButton\n v-bind=\"_dialogProps.cancelButtonProps\"\n @click=\"props.reject()\"\n >\n {{ _dialogProps.cancelText || '取消' }}\n </ElButton>\n <ElButton\n type=\"primary\"\n v-bind=\"_dialogProps.okButtonProps\"\n :loading=\"internalSubmitting\"\n @click=\"props.resolve()\"\n >\n {{ _dialogProps.okText || '确定' }}\n </ElButton>\n </template>\n </div>\n </template>\n </ElDialog>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBA,MAAM,QAAQ;EAuBd,MAAM,QAAQ,UAAA;EACd,MAAM,YAAY,GAAG,YAAY;EACjC,MAAM,WAAW,sBAAqB;EACtC,MAAM,eAAe,KAAK,MAAM,aAAa;GAC3C;GACA;GACA;GACA;GACD,CAAA;EACD,MAAM,EAAE,uBAAuB,qBAAqB,MAAM,KAAI;EAC9D,MAAM,YAAY,IAAoC,KAAI;EAC1D,MAAM,oBAAoB,eAAe,MAAM,YAAY,gBAAgB,MAAK;AAEhF,iBAAe;GACb,SAAS,eAAe,MAAM,QAAQ;GACtC,eAAe,MAAM,SAAS;GAC9B,YAAY;GACZ,oBAAoB,qBAAqB,UAAU,MAAM;GACzD,SAAS;GACV,CAAA;;uBAIC,YAmDW,MAAA,SAAA,EAnDX,WAmDW;aAlDL;IAAJ,KAAI;IACH,OAAO;IACP,WAAS,MAAA,SAAQ,CAAC;MACX,MAAA,aAAY,EAAA;IACnB,eAAa,QAAA;IACb,iBAAe,SAAI;AAAa,aAAA,QAAM;SAAa,MAAA,KAAI,CAAC,MAAM,YAAY,YAAW,CAAa,OAAM,YAAY,YAAY,KAAI;SAA+B,OAAI;;;IAU7J,QAAM,cAC4E,CAA/E,MAAM,SAAlB,WAA2F,KAAA,QAAA,UAAA;;KAAlD,SAAS,QAAA;KAAU,QAAQ,QAAA;KAAS,MAAM,QAAA;;IAG1E,SAAO,cAKD,CAJf,YAIe,MAAA,aAAA,EAAA,EAJA,MAAM,MAAM,MAAA,EAAA;4BAGN,CAFnB,YAEmB,MAAA,iBAAA,EAAA,eAAA,mBAFO,MAAA,SAAQ,CAAA,CAAA,EAAA;6BACyB,CAAzD,WAAyD,KAAA,QAAA,WAAA;OAAlD,SAAS,QAAA;OAAU,QAAQ,QAAA;OAAS,MAAM,QAAA;;;;;;IAK5C,QAAM,cAqBT,CApBN,mBAoBM,OAAA,EApBA,OAAK,eAAA,GAAK,UAAS,SAAA,EAAA,EAAA,CACP,MAAM,SACpB,WAAuE,KAAA,QAAA,UAAA;;KAAlD,SAAS,QAAA;KAAU,QAAQ,QAAA;KAAS,MAAM,QAAA;uBAEjE,mBAeW,UAAA,EAAA,KAAA,GAAA,EAAA,CAdT,YAKW,MAAA,SAAA,EALX,WACU,MAIC,aAJW,CAAC,mBAAiB,EACrC,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,MAAM,QAAM,GAAA,CAAA,EAAA;4BAEiB,CAAA,gBAAA,gBAAlC,MAAA,aAAY,CAAC,cAAU,KAAA,EAAA,EAAA,CAAA,CAAA;;YAE5B,YAOW,MAAA,SAAA,EAPX,WAOW,EANT,MAAK,WAAS,EACN,MAAA,aAAY,CAAC,eAAa;KACjC,SAAS,MAAA,mBAAkB;KAC3B,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,MAAM,SAAO;;4BAEY,CAAA,gBAAA,gBAA9B,MAAA,aAAY,CAAC,UAAM,KAAA,EAAA,EAAA,CAAA,CAAA"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { getTransitionDuration, loading } from "../__builtins__/shared/loading.mjs";
|
|
2
2
|
import { isVueOptions } from "../__builtins__/shared/utils.mjs";
|
|
3
|
-
import { onUrlChange } from "../shared/url-change-listener.mjs";
|
|
4
3
|
import _sfc_main from "./dialog-content.mjs";
|
|
5
4
|
import { observer } from "@silver-formily/reactive-vue";
|
|
6
5
|
import { createApp, h, ref } from "vue";
|
|
@@ -16,7 +15,6 @@ function FormDialog(title, content, dynamicMiddlewareNames) {
|
|
|
16
15
|
promise: null,
|
|
17
16
|
app: null,
|
|
18
17
|
instance: null,
|
|
19
|
-
stopUrlChangeListener: void 0,
|
|
20
18
|
settled: false,
|
|
21
19
|
openMiddlewares: [],
|
|
22
20
|
confirmMiddlewares: [],
|
|
@@ -35,11 +33,7 @@ function FormDialog(title, content, dynamicMiddlewareNames) {
|
|
|
35
33
|
env[`${_middlewareName}Middlewares`] = [];
|
|
36
34
|
}
|
|
37
35
|
document.body.append(env.root);
|
|
38
|
-
const
|
|
39
|
-
const props = {
|
|
40
|
-
...rawProps,
|
|
41
|
-
closeOnUrlChange: rawProps.closeOnUrlChange ?? true
|
|
42
|
-
};
|
|
36
|
+
const props = isStr(title) ? { title } : title;
|
|
43
37
|
function render(visible, resolve, reject) {
|
|
44
38
|
const _content = isVueOptions(content) ? { default: () => h(content) } : isFn(content) ? { default: content } : content;
|
|
45
39
|
if (!env.instance) {
|
|
@@ -59,8 +53,6 @@ function FormDialog(title, content, dynamicMiddlewareNames) {
|
|
|
59
53
|
env.instance.visible = visible;
|
|
60
54
|
}
|
|
61
55
|
function disposeDialog() {
|
|
62
|
-
env.stopUrlChangeListener?.();
|
|
63
|
-
env.stopUrlChangeListener = void 0;
|
|
64
56
|
const animationDuration = getTransitionDuration();
|
|
65
57
|
setTimeout(() => {
|
|
66
58
|
env.app?.unmount?.();
|
|
@@ -73,12 +65,26 @@ function FormDialog(title, content, dynamicMiddlewareNames) {
|
|
|
73
65
|
async function rejectDialog(reject) {
|
|
74
66
|
if (env.settled) return;
|
|
75
67
|
env.settled = true;
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
68
|
+
try {
|
|
69
|
+
await loading(props.loadingText, () => applyMiddleware(env.form, env.cancelMiddlewares));
|
|
70
|
+
render(false);
|
|
71
|
+
disposeDialog();
|
|
72
|
+
reject?.();
|
|
73
|
+
} catch {
|
|
74
|
+
env.settled = false;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
async function submitDialog(type, resolve, close) {
|
|
78
|
+
if (env.settled) return;
|
|
79
|
+
env.settled = true;
|
|
80
|
+
try {
|
|
81
|
+
await (isValid(type) ? applyMiddleware(env.form, env[`${type}Middlewares`]) : applyMiddleware(env.form, env.confirmMiddlewares));
|
|
82
|
+
resolve(toJS(env.form.values));
|
|
83
|
+
close();
|
|
84
|
+
disposeDialog();
|
|
85
|
+
} catch {
|
|
86
|
+
env.settled = false;
|
|
87
|
+
}
|
|
82
88
|
}
|
|
83
89
|
const formDialog = {
|
|
84
90
|
forOpen: (middleware) => {
|
|
@@ -102,19 +108,9 @@ function FormDialog(title, content, dynamicMiddlewareNames) {
|
|
|
102
108
|
env.form = env.form || createForm(resPayload);
|
|
103
109
|
render(true, (type) => {
|
|
104
110
|
env.form.submit(async () => {
|
|
105
|
-
|
|
106
|
-
env.settled = true;
|
|
107
|
-
env.stopUrlChangeListener?.();
|
|
108
|
-
env.stopUrlChangeListener = void 0;
|
|
109
|
-
await (isValid(type) ? applyMiddleware(env.form, env[`${type}Middlewares`]) : applyMiddleware(env.form, env.confirmMiddlewares));
|
|
110
|
-
res(toJS(env.form.values));
|
|
111
|
-
formDialog.close();
|
|
112
|
-
disposeDialog();
|
|
111
|
+
await submitDialog(type, res, formDialog.close);
|
|
113
112
|
}).catch(() => void 0);
|
|
114
113
|
}, () => rejectDialog(() => rej(/* @__PURE__ */ new Error("cancel"))));
|
|
115
|
-
if (props.closeOnUrlChange) env.stopUrlChangeListener = onUrlChange(() => {
|
|
116
|
-
rejectDialog(() => rej(/* @__PURE__ */ new Error("cancel")));
|
|
117
|
-
});
|
|
118
114
|
}).catch(
|
|
119
115
|
/* istanbul ignore next -- @preserve */
|
|
120
116
|
(error) => rej(error)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["DialogContent"],"sources":["../../src/form-dialog/index.ts"],"sourcesContent":["import type { Form, IFormProps } from '@formily/core'\
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["DialogContent"],"sources":["../../src/form-dialog/index.ts"],"sourcesContent":["import type { Form, IFormProps } from '@formily/core'\nimport type { IMiddleware } from '@formily/shared'\nimport type { App, Component } from 'vue'\nimport type { FormDialogSlotContent, IFormDialog, IFormDialogProps } from './types'\nimport { createForm } from '@formily/core'\nimport { toJS } from '@formily/reactive'\nimport { applyMiddleware, isArr, isFn, isStr, isValid, pascalCase } from '@formily/shared'\nimport { observer } from '@silver-formily/reactive-vue'\nimport { camelCase } from 'lodash-es'\nimport { createApp, h, ref } from 'vue'\nimport { getTransitionDuration, isVueOptions, loading } from '../__builtins__'\nimport DialogContent from './dialog-content.vue'\n\nexport function FormDialog<\n T extends object = any,\n const DynamicMiddlewareNames extends readonly string[] = [],\n>(\n title: IFormDialogProps | string,\n content?: Component | FormDialogSlotContent<T, DynamicMiddlewareNames[number]>,\n dynamicMiddlewareNames?: DynamicMiddlewareNames,\n): IFormDialog<T, DynamicMiddlewareNames[number]> {\n const env: {\n root?: HTMLElement\n form?: Form<T>\n promise?: Promise<any>\n instance?: any\n app?: App<Element>\n settled?: boolean\n openMiddlewares: IMiddleware<IFormProps<T>>[]\n confirmMiddlewares: IMiddleware<Form<T>>[]\n cancelMiddlewares: IMiddleware<Form<T>>[]\n [key: `${string}Middlewares`]: IMiddleware<Form<T>>[] | IMiddleware<IFormProps<T>>[] | undefined\n } = {\n root: document.createElement('div'),\n form: null,\n promise: null,\n app: null,\n instance: null,\n settled: false,\n openMiddlewares: [],\n confirmMiddlewares: [],\n cancelMiddlewares: [],\n }\n\n if (isArr(dynamicMiddlewareNames)) {\n for (const middlewareName of dynamicMiddlewareNames) {\n /* istanbul ignore if -- @preserve */\n if (!isStr(middlewareName))\n return\n const _middlewareName = camelCase(middlewareName)\n /* istanbul ignore if -- @preserve */\n if (['open', 'cancel', 'confirm'].includes(_middlewareName)) {\n throw new Error(`for${pascalCase(_middlewareName)} is presved`)\n }\n (env[`${_middlewareName}Middlewares`] = [])\n }\n }\n\n document.body.append(env.root)\n\n const props = (isStr(title) ? { title } : title) as IFormDialogProps\n\n function render(visible: boolean, resolve?: (type?: string) => any, reject?: () => any) {\n const _content = isVueOptions(content)\n ? { default: () => h(content) }\n : isFn(content)\n ? { default: content }\n : content\n if (!env.instance) {\n const ComponentConstructor = observer({\n setup(_, { expose }) {\n const visible = ref(false)\n expose({\n visible,\n })\n return () => h(DialogContent, {\n dialogProps: props,\n form: env.form,\n resolve,\n reject,\n visible: visible.value,\n }, _content)\n },\n })\n env.app = createApp(ComponentConstructor)\n env.instance = env.app.mount(env.root)\n }\n env.instance.visible = visible\n }\n\n function disposeDialog() {\n const animationDuration = getTransitionDuration()\n setTimeout(() => {\n env.app?.unmount?.()\n env.app = null\n env.instance = null\n env.root?.remove()\n env.root = undefined\n }, animationDuration)\n }\n\n async function rejectDialog(reject?: () => any) {\n if (env.settled)\n return\n\n env.settled = true\n\n try {\n await loading(props.loadingText, () =>\n applyMiddleware(env.form, env.cancelMiddlewares))\n render(false)\n disposeDialog()\n reject?.()\n }\n catch {\n env.settled = false\n }\n }\n\n async function submitDialog(type: string | undefined, resolve: (payload: any) => void, close: () => void) {\n if (env.settled)\n return\n\n env.settled = true\n\n try {\n await (isValid(type) ? applyMiddleware(env.form, env[`${type}Middlewares`]) : applyMiddleware(env.form, env.confirmMiddlewares))\n resolve(toJS(env.form.values))\n close()\n disposeDialog()\n }\n catch {\n env.settled = false\n }\n }\n\n const formDialog = {\n forOpen: (middleware: IMiddleware<IFormProps<T>>) => {\n isFn(middleware) && env.openMiddlewares.push(middleware)\n return formDialog\n },\n forConfirm: (middleware: IMiddleware<Form<T>>) => {\n isFn(middleware) && env.confirmMiddlewares.push(middleware)\n return formDialog\n },\n forCancel: (middleware: IMiddleware<Form<T>>) => {\n isFn(middleware) && env.cancelMiddlewares.push(middleware)\n return formDialog\n },\n open: (payload: IFormProps<T>) => {\n /* istanbul ignore if -- @preserve */\n if (env.promise)\n return env.promise\n\n env.settled = false\n env.promise = new Promise((res, rej) => {\n loading(props.loadingText, () => applyMiddleware(payload, env.openMiddlewares))\n .then((resPayload) => {\n env.form = env.form || createForm(resPayload as IFormProps<T>)\n render(true, (type: string) => {\n env.form.submit(async () => {\n await submitDialog(type, res, formDialog.close)\n }).catch(() => undefined)\n }, () => rejectDialog(() => rej(new Error('cancel'))))\n })\n .catch(/* istanbul ignore next -- @preserve */ error => rej(error))\n })\n return env.promise\n },\n close: () => {\n /* istanbul ignore if -- @preserve */\n if (!env.root)\n return\n render(false)\n },\n }\n if (isArr(dynamicMiddlewareNames)) {\n for (const middlewareName of dynamicMiddlewareNames) {\n const _middlewareName = camelCase(middlewareName)\n formDialog[`for${pascalCase(_middlewareName)}`] = (middleware: IMiddleware<Form<T>>) => {\n isFn(middleware) && env[`${_middlewareName}Middlewares`].push(middleware)\n return formDialog\n }\n }\n }\n\n return formDialog as IFormDialog<T, DynamicMiddlewareNames[number]>\n}\n\nexport default FormDialog\n"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { stylePrefix } from "../__builtins__/configs/index.mjs";
|
|
|
4
4
|
import { useEnterSubmit } from "../__builtins__/shared/use-enter-submit.mjs";
|
|
5
5
|
import { resolveDrawerElement } from "../shared/overlay-elements.mjs";
|
|
6
6
|
import { ElButton, ElConfigProvider, ElDrawer } from "element-plus";
|
|
7
|
-
import { Fragment, computed, createBlock, createElementBlock, createElementVNode,
|
|
7
|
+
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, guardReactiveProps, mergeProps, normalizeClass, normalizeProps, openBlock, ref, renderSlot, toDisplayString, unref, useSlots, withCtx } from "vue";
|
|
8
8
|
import { FormProvider } from "@silver-formily/vue";
|
|
9
9
|
import { isFn } from "@formily/shared";
|
|
10
10
|
import { omit } from "lodash-es";
|
|
@@ -68,7 +68,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
68
68
|
if (unref(isFn)(props.drawerProps.beforeClose)) props.drawerProps.beforeClose(done);
|
|
69
69
|
else done();
|
|
70
70
|
}
|
|
71
|
-
}),
|
|
71
|
+
}), {
|
|
72
|
+
header: withCtx(() => [slots.header ? renderSlot(_ctx.$slots, "header", {
|
|
73
|
+
key: 0,
|
|
74
|
+
resolve: __props.resolve,
|
|
75
|
+
reject: __props.reject,
|
|
76
|
+
form: __props.form
|
|
77
|
+
}) : createCommentVNode("v-if", true)]),
|
|
72
78
|
default: withCtx(() => [createVNode(unref(FormProvider), { form: __props.form }, {
|
|
73
79
|
default: withCtx(() => [createVNode(unref(ElConfigProvider), normalizeProps(guardReactiveProps(unref(elConfig))), {
|
|
74
80
|
default: withCtx(() => [renderSlot(_ctx.$slots, "default", {
|
|
@@ -95,16 +101,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
95
101
|
default: withCtx(() => [createTextVNode(toDisplayString(unref(_drawerProps).okText || "确定"), 1)]),
|
|
96
102
|
_: 1
|
|
97
103
|
}, 16, ["loading"])], 64))], 2)]),
|
|
98
|
-
_:
|
|
99
|
-
}, [
|
|
100
|
-
name: "header",
|
|
101
|
-
fn: withCtx(() => [renderSlot(_ctx.$slots, "header", {
|
|
102
|
-
resolve: __props.resolve,
|
|
103
|
-
reject: __props.reject,
|
|
104
|
-
form: __props.form
|
|
105
|
-
})]),
|
|
106
|
-
key: "0"
|
|
107
|
-
} : void 0]), 1040, [
|
|
104
|
+
_: 3
|
|
105
|
+
}, 16, [
|
|
108
106
|
"z-index",
|
|
109
107
|
"model-value",
|
|
110
108
|
"before-close"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawer-content.mjs","names":[],"sources":["../../src/form-drawer/drawer-content.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Form } from '@formily/core'\nimport type { ComponentPublicInstance, PropType } from 'vue'\nimport type { FormDrawerSlots, IFormDrawerProps } from './types'\nimport { isFn } from '@formily/shared'\nimport { FormProvider } from '@silver-formily/vue'\nimport { ElButton, ElConfigProvider, ElDrawer } from 'element-plus'\nimport { omit } from 'lodash-es'\nimport { computed, ref } from 'vue'\nimport { loadElConfigProvider, stylePrefix, useDebonceSubmitting } from '../__builtins__'\nimport { useEnterSubmit } from '../__builtins__/shared/use-enter-submit'\nimport { resolveDrawerElement } from '../shared/overlay-elements'\n\ndefineOptions({\n name: 'FormDrawerContent',\n})\n\nconst props = defineProps({\n drawerProps: {\n type: Object as PropType<IFormDrawerProps>,\n required: true,\n },\n visible: {\n type: Boolean,\n required: true,\n },\n form: {\n type: Object as PropType<Form>,\n required: true,\n },\n resolve: {\n type: Function as PropType<(type?: string) => void>,\n required: true,\n },\n reject: {\n type: Function as PropType<() => void>,\n required: true,\n },\n})\nconst slots = defineSlots<FormDrawerSlots>()\nconst prefixCls = `${stylePrefix}-form-drawer`\nconst elConfig = loadElConfigProvider()\n\nconst { internalSubmitting } = useDebonceSubmitting(props.form)\nconst _drawerProps = omit(props.drawerProps, ['modelValue', 'onUpdate:modelValue', 'beforeClose', 'enterSubmit'])\nconst drawerRef = ref<ComponentPublicInstance | null>(null)\nconst enableEnterSubmit = computed(() => props.drawerProps.enterSubmit !== false)\n\nuseEnterSubmit({\n visible: computed(() => props.visible),\n resolve: () => props.resolve(),\n submitting: internalSubmitting,\n getContainer: () => resolveDrawerElement(drawerRef.value),\n enabled: enableEnterSubmit,\n})\n</script>\n\n<template>\n <ElDrawer\n ref=\"drawerRef\"\n :class=\"prefixCls\"\n :z-index=\"elConfig.zIndex\"\n v-bind=\"_drawerProps\"\n :model-value=\"visible\"\n :before-close=\"(done) => {\n reject()\n if (isFn(props.drawerProps.beforeClose)) {\n props.drawerProps.beforeClose(done)\n }\n else {\n done()\n }\n }\"\n >\n <template v-if=\"slots.header\"
|
|
1
|
+
{"version":3,"file":"drawer-content.mjs","names":[],"sources":["../../src/form-drawer/drawer-content.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Form } from '@formily/core'\nimport type { ComponentPublicInstance, PropType } from 'vue'\nimport type { FormDrawerSlots, IFormDrawerProps } from './types'\nimport { isFn } from '@formily/shared'\nimport { FormProvider } from '@silver-formily/vue'\nimport { ElButton, ElConfigProvider, ElDrawer } from 'element-plus'\nimport { omit } from 'lodash-es'\nimport { computed, ref } from 'vue'\nimport { loadElConfigProvider, stylePrefix, useDebonceSubmitting } from '../__builtins__'\nimport { useEnterSubmit } from '../__builtins__/shared/use-enter-submit'\nimport { resolveDrawerElement } from '../shared/overlay-elements'\n\ndefineOptions({\n name: 'FormDrawerContent',\n})\n\nconst props = defineProps({\n drawerProps: {\n type: Object as PropType<IFormDrawerProps>,\n required: true,\n },\n visible: {\n type: Boolean,\n required: true,\n },\n form: {\n type: Object as PropType<Form>,\n required: true,\n },\n resolve: {\n type: Function as PropType<(type?: string) => void>,\n required: true,\n },\n reject: {\n type: Function as PropType<() => void>,\n required: true,\n },\n})\nconst slots = defineSlots<FormDrawerSlots>()\nconst prefixCls = `${stylePrefix}-form-drawer`\nconst elConfig = loadElConfigProvider()\n\nconst { internalSubmitting } = useDebonceSubmitting(props.form)\nconst _drawerProps = omit(props.drawerProps, ['modelValue', 'onUpdate:modelValue', 'beforeClose', 'enterSubmit'])\nconst drawerRef = ref<ComponentPublicInstance | null>(null)\nconst enableEnterSubmit = computed(() => props.drawerProps.enterSubmit !== false)\n\nuseEnterSubmit({\n visible: computed(() => props.visible),\n resolve: () => props.resolve(),\n submitting: internalSubmitting,\n getContainer: () => resolveDrawerElement(drawerRef.value),\n enabled: enableEnterSubmit,\n})\n</script>\n\n<template>\n <ElDrawer\n ref=\"drawerRef\"\n :class=\"prefixCls\"\n :z-index=\"elConfig.zIndex\"\n v-bind=\"_drawerProps\"\n :model-value=\"visible\"\n :before-close=\"(done) => {\n reject()\n if (isFn(props.drawerProps.beforeClose)) {\n props.drawerProps.beforeClose(done)\n }\n else {\n done()\n }\n }\"\n >\n <template #header>\n <slot v-if=\"slots.header\" name=\"header\" :resolve=\"resolve\" :reject=\"reject\" :form=\"form\" />\n </template>\n\n <template #default>\n <FormProvider :form=\"form\">\n <ElConfigProvider v-bind=\"elConfig\">\n <slot :resolve=\"resolve\" :reject=\"reject\" :form=\"form\" />\n </ElConfigProvider>\n </FormProvider>\n </template>\n\n <template #footer>\n <div :class=\"`${prefixCls}-footer`\">\n <template v-if=\"slots.footer\">\n <slot name=\"footer\" :resolve=\"resolve\" :reject=\"reject\" :form=\"form\" />\n </template>\n <template v-else>\n <ElButton\n v-bind=\"_drawerProps.cancelButtonProps\"\n @click=\"reject()\"\n >\n {{ _drawerProps.cancelText || '取消' }}\n </ElButton>\n <ElButton\n type=\"primary\"\n v-bind=\"_drawerProps.okButtonProps\"\n :loading=\"internalSubmitting\"\n @click=\"resolve()\"\n >\n {{ _drawerProps.okText || '确定' }}\n </ElButton>\n </template>\n </div>\n </template>\n </ElDrawer>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBA,MAAM,QAAQ;EAsBd,MAAM,QAAQ,UAAA;EACd,MAAM,YAAY,GAAG,YAAY;EACjC,MAAM,WAAW,sBAAqB;EAEtC,MAAM,EAAE,uBAAuB,qBAAqB,MAAM,KAAI;EAC9D,MAAM,eAAe,KAAK,MAAM,aAAa;GAAC;GAAc;GAAuB;GAAe;GAAc,CAAA;EAChH,MAAM,YAAY,IAAoC,KAAI;EAC1D,MAAM,oBAAoB,eAAe,MAAM,YAAY,gBAAgB,MAAK;AAEhF,iBAAe;GACb,SAAS,eAAe,MAAM,QAAQ;GACtC,eAAe,MAAM,SAAS;GAC9B,YAAY;GACZ,oBAAoB,qBAAqB,UAAU,MAAM;GACzD,SAAS;GACV,CAAA;;uBAIC,YAmDW,MAAA,SAAA,EAnDX,WAmDW;aAlDL;IAAJ,KAAI;IACH,OAAO;IACP,WAAS,MAAA,SAAQ,CAAC;MACX,MAAA,aAAY,EAAA;IACnB,eAAa,QAAA;IACb,iBAAe,SAAI;AAAa,aAAA,QAAM;SAAa,MAAA,KAAI,CAAC,MAAM,YAAY,YAAW,CAAa,OAAM,YAAY,YAAY,KAAI;SAA+B,OAAI;;;IAU7J,QAAM,cAC4E,CAA/E,MAAM,SAAlB,WAA2F,KAAA,QAAA,UAAA;;KAAlD,SAAS,QAAA;KAAU,QAAQ,QAAA;KAAS,MAAM,QAAA;;IAG1E,SAAO,cAKD,CAJf,YAIe,MAAA,aAAA,EAAA,EAJA,MAAM,QAAA,MAAI,EAAA;4BAGJ,CAFnB,YAEmB,MAAA,iBAAA,EAAA,eAAA,mBAFO,MAAA,SAAQ,CAAA,CAAA,EAAA;6BACyB,CAAzD,WAAyD,KAAA,QAAA,WAAA;OAAlD,SAAS,QAAA;OAAU,QAAQ,QAAA;OAAS,MAAM,QAAA;;;;;;IAK5C,QAAM,cAqBT,CApBN,mBAoBM,OAAA,EApBA,OAAK,eAAA,GAAK,UAAS,SAAA,EAAA,EAAA,CACP,MAAM,SACpB,WAAuE,KAAA,QAAA,UAAA;;KAAlD,SAAS,QAAA;KAAU,QAAQ,QAAA;KAAS,MAAM,QAAA;uBAEjE,mBAeW,UAAA,EAAA,KAAA,GAAA,EAAA,CAdT,YAKW,MAAA,SAAA,EALX,WACU,MAIC,aAJW,CAAC,mBAAiB,EACrC,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,QAAA,QAAM,GAAA,CAAA,EAAA;4BAEuB,CAAA,gBAAA,gBAAlC,MAAA,aAAY,CAAC,cAAU,KAAA,EAAA,EAAA,CAAA,CAAA;;YAE5B,YAOW,MAAA,SAAA,EAPX,WAOW,EANT,MAAK,WAAS,EACN,MAAA,aAAY,CAAC,eAAa;KACjC,SAAS,MAAA,mBAAkB;KAC3B,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,QAAA,SAAO;;4BAEkB,CAAA,gBAAA,gBAA9B,MAAA,aAAY,CAAC,UAAM,KAAA,EAAA,EAAA,CAAA,CAAA"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { getTransitionDuration, loading } from "../__builtins__/shared/loading.mjs";
|
|
2
2
|
import { isVueOptions } from "../__builtins__/shared/utils.mjs";
|
|
3
|
-
import { onUrlChange } from "../shared/url-change-listener.mjs";
|
|
4
3
|
import _sfc_main from "./drawer-content.mjs";
|
|
5
4
|
import { observer } from "@silver-formily/reactive-vue";
|
|
6
5
|
import { createApp, h, ref } from "vue";
|
|
@@ -16,7 +15,6 @@ function FormDrawer(title, content, dynamicMiddlewareNames) {
|
|
|
16
15
|
promise: null,
|
|
17
16
|
app: null,
|
|
18
17
|
instance: null,
|
|
19
|
-
stopUrlChangeListener: void 0,
|
|
20
18
|
settled: false,
|
|
21
19
|
openMiddlewares: [],
|
|
22
20
|
confirmMiddlewares: [],
|
|
@@ -35,11 +33,7 @@ function FormDrawer(title, content, dynamicMiddlewareNames) {
|
|
|
35
33
|
env[`${_middlewareName}Middlewares`] = [];
|
|
36
34
|
}
|
|
37
35
|
document.body.append(env.root);
|
|
38
|
-
const
|
|
39
|
-
const props = {
|
|
40
|
-
...rawProps,
|
|
41
|
-
closeOnUrlChange: rawProps.closeOnUrlChange ?? true
|
|
42
|
-
};
|
|
36
|
+
const props = isStr(title) ? { title } : title;
|
|
43
37
|
function render(visible, resolve, reject) {
|
|
44
38
|
const _content = isVueOptions(content) ? { default: () => h(content) } : isFn(content) ? { default: content } : content;
|
|
45
39
|
if (!env.instance) {
|
|
@@ -59,8 +53,6 @@ function FormDrawer(title, content, dynamicMiddlewareNames) {
|
|
|
59
53
|
env.instance.visible = visible;
|
|
60
54
|
}
|
|
61
55
|
function disposeDrawer() {
|
|
62
|
-
env.stopUrlChangeListener?.();
|
|
63
|
-
env.stopUrlChangeListener = void 0;
|
|
64
56
|
const animationDuration = getTransitionDuration();
|
|
65
57
|
setTimeout(() => {
|
|
66
58
|
env.app?.unmount?.();
|
|
@@ -73,12 +65,26 @@ function FormDrawer(title, content, dynamicMiddlewareNames) {
|
|
|
73
65
|
async function rejectDrawer(reject) {
|
|
74
66
|
if (env.settled) return;
|
|
75
67
|
env.settled = true;
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
68
|
+
try {
|
|
69
|
+
await loading(props.loadingText, () => applyMiddleware(env.form, env.cancelMiddlewares));
|
|
70
|
+
render(false);
|
|
71
|
+
disposeDrawer();
|
|
72
|
+
reject?.();
|
|
73
|
+
} catch {
|
|
74
|
+
env.settled = false;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
async function submitDrawer(type, resolve, close) {
|
|
78
|
+
if (env.settled) return;
|
|
79
|
+
env.settled = true;
|
|
80
|
+
try {
|
|
81
|
+
await (isValid(type) ? applyMiddleware(env.form, env[`${type}Middlewares`]) : applyMiddleware(env.form, env.confirmMiddlewares));
|
|
82
|
+
resolve(toJS(env.form.values));
|
|
83
|
+
close();
|
|
84
|
+
disposeDrawer();
|
|
85
|
+
} catch {
|
|
86
|
+
env.settled = false;
|
|
87
|
+
}
|
|
82
88
|
}
|
|
83
89
|
const formDrawer = {
|
|
84
90
|
forOpen: (middleware) => {
|
|
@@ -102,19 +108,9 @@ function FormDrawer(title, content, dynamicMiddlewareNames) {
|
|
|
102
108
|
env.form = env.form || createForm(resPayload);
|
|
103
109
|
render(true, (type) => {
|
|
104
110
|
env.form.submit(async () => {
|
|
105
|
-
|
|
106
|
-
env.settled = true;
|
|
107
|
-
env.stopUrlChangeListener?.();
|
|
108
|
-
env.stopUrlChangeListener = void 0;
|
|
109
|
-
await (isValid(type) ? applyMiddleware(env.form, env[`${type}Middlewares`]) : applyMiddleware(env.form, env.confirmMiddlewares));
|
|
110
|
-
res(toJS(env.form.values));
|
|
111
|
-
formDrawer.close();
|
|
112
|
-
disposeDrawer();
|
|
111
|
+
await submitDrawer(type, res, formDrawer.close);
|
|
113
112
|
}).catch(() => void 0);
|
|
114
113
|
}, () => rejectDrawer(() => rej(/* @__PURE__ */ new Error("cancel"))));
|
|
115
|
-
if (props.closeOnUrlChange) env.stopUrlChangeListener = onUrlChange(() => {
|
|
116
|
-
rejectDrawer(() => rej(/* @__PURE__ */ new Error("cancel")));
|
|
117
|
-
});
|
|
118
114
|
}).catch(
|
|
119
115
|
/* istanbul ignore next -- @preserve */
|
|
120
116
|
(error) => rej(error)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["DrawerContent"],"sources":["../../src/form-drawer/index.ts"],"sourcesContent":["import type { Form, IFormProps } from '@formily/core'\nimport type { IMiddleware } from '@formily/shared'\nimport type { App, Component } from 'vue'\nimport type { FormDrawerSlotContent, IFormDrawer, IFormDrawerProps } from './types'\nimport { createForm } from '@formily/core'\nimport { toJS } from '@formily/reactive'\nimport { applyMiddleware, isArr, isFn, isStr, isValid, pascalCase } from '@formily/shared'\nimport { observer } from '@silver-formily/reactive-vue'\nimport { camelCase } from 'lodash-es'\nimport { createApp, h, ref } from 'vue'\nimport { getTransitionDuration, isVueOptions, loading } from '../__builtins__'\nimport
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["DrawerContent"],"sources":["../../src/form-drawer/index.ts"],"sourcesContent":["import type { Form, IFormProps } from '@formily/core'\nimport type { IMiddleware } from '@formily/shared'\nimport type { App, Component } from 'vue'\nimport type { FormDrawerSlotContent, IFormDrawer, IFormDrawerProps } from './types'\nimport { createForm } from '@formily/core'\nimport { toJS } from '@formily/reactive'\nimport { applyMiddleware, isArr, isFn, isStr, isValid, pascalCase } from '@formily/shared'\nimport { observer } from '@silver-formily/reactive-vue'\nimport { camelCase } from 'lodash-es'\nimport { createApp, h, ref } from 'vue'\nimport { getTransitionDuration, isVueOptions, loading } from '../__builtins__'\nimport DrawerContent from './drawer-content.vue'\n\nexport function FormDrawer<\n T extends object = any,\n const DynamicMiddlewareNames extends readonly string[] = [],\n>(\n title: IFormDrawerProps | string,\n content?: Component | FormDrawerSlotContent<T, DynamicMiddlewareNames[number]>,\n dynamicMiddlewareNames?: DynamicMiddlewareNames,\n): IFormDrawer<T, DynamicMiddlewareNames[number]> {\n const env: {\n root?: HTMLElement\n form?: Form<T>\n promise?: Promise<any>\n instance?: any\n app?: App<Element>\n settled?: boolean\n openMiddlewares: IMiddleware<IFormProps<T>>[]\n confirmMiddlewares: IMiddleware<Form<T>>[]\n cancelMiddlewares: IMiddleware<Form<T>>[]\n [key: `${string}Middlewares`]: IMiddleware<Form<T>>[] | IMiddleware<IFormProps<T>>[] | undefined\n } = {\n root: document.createElement('div'),\n form: null,\n promise: null,\n app: null,\n instance: null,\n settled: false,\n openMiddlewares: [],\n confirmMiddlewares: [],\n cancelMiddlewares: [],\n }\n\n if (isArr(dynamicMiddlewareNames)) {\n for (const middlewareName of dynamicMiddlewareNames) {\n /* istanbul ignore if -- @preserve */\n if (!isStr(middlewareName))\n return\n const _middlewareName = camelCase(middlewareName)\n /* istanbul ignore if -- @preserve */\n if (['open', 'cancel', 'confirm'].includes(_middlewareName)) {\n throw new Error(`for${pascalCase(_middlewareName)} is presved`)\n }\n (env[`${_middlewareName}Middlewares`] = [])\n }\n }\n\n document.body.append(env.root)\n\n const props = (isStr(title) ? { title } : title) as IFormDrawerProps\n\n function render(visible: boolean, resolve?: (type?: string) => any, reject?: () => any) {\n const _content = isVueOptions(content)\n ? { default: () => h(content) }\n : isFn(content)\n ? { default: content }\n : content\n if (!env.instance) {\n const ComponentConstructor = observer({\n setup(_, { expose }) {\n const visible = ref(false)\n expose({\n visible,\n })\n return () => h(DrawerContent, {\n drawerProps: props,\n form: env.form,\n resolve,\n reject,\n visible: visible.value,\n }, _content)\n },\n })\n env.app = createApp(ComponentConstructor)\n env.instance = env.app.mount(env.root)\n }\n env.instance.visible = visible\n }\n\n function disposeDrawer() {\n const animationDuration = getTransitionDuration()\n setTimeout(() => {\n env.app?.unmount?.()\n env.app = null\n env.instance = null\n env.root?.remove()\n env.root = undefined\n }, animationDuration)\n }\n\n async function rejectDrawer(reject?: () => any) {\n if (env.settled)\n return\n\n env.settled = true\n\n try {\n await loading(props.loadingText, () =>\n applyMiddleware(env.form, env.cancelMiddlewares))\n render(false)\n disposeDrawer()\n reject?.()\n }\n catch {\n env.settled = false\n }\n }\n\n async function submitDrawer(type: string | undefined, resolve: (payload: any) => void, close: () => void) {\n if (env.settled)\n return\n\n env.settled = true\n\n try {\n await (isValid(type) ? applyMiddleware(env.form, env[`${type}Middlewares`]) : applyMiddleware(env.form, env.confirmMiddlewares))\n resolve(toJS(env.form.values))\n close()\n disposeDrawer()\n }\n catch {\n env.settled = false\n }\n }\n\n const formDrawer = {\n forOpen: (middleware: IMiddleware<IFormProps<T>>) => {\n isFn(middleware) && env.openMiddlewares.push(middleware)\n return formDrawer\n },\n forConfirm: (middleware: IMiddleware<Form<T>>) => {\n isFn(middleware) && env.confirmMiddlewares.push(middleware)\n return formDrawer\n },\n forCancel: (middleware: IMiddleware<Form<T>>) => {\n isFn(middleware) && env.cancelMiddlewares.push(middleware)\n return formDrawer\n },\n open: (payload: IFormProps<T>) => {\n /* istanbul ignore if -- @preserve */\n if (env.promise)\n return env.promise\n\n env.settled = false\n env.promise = new Promise((res, rej) => {\n loading(props.loadingText, () => applyMiddleware(payload, env.openMiddlewares))\n .then((resPayload) => {\n env.form = env.form || createForm(resPayload as IFormProps<T>)\n render(true, (type: string) => {\n env.form.submit(async () => {\n await submitDrawer(type, res, formDrawer.close)\n }).catch(() => undefined)\n }, () => rejectDrawer(() => rej(new Error('cancel'))))\n })\n .catch(/* istanbul ignore next -- @preserve */ error => rej(error))\n })\n return env.promise\n },\n close: () => {\n /* istanbul ignore if -- @preserve */\n if (!env.root)\n return\n render(false)\n },\n }\n\n if (isArr(dynamicMiddlewareNames)) {\n for (const middlewareName of dynamicMiddlewareNames) {\n const _middlewareName = camelCase(middlewareName)\n formDrawer[`for${pascalCase(_middlewareName)}`] = (middleware: IMiddleware<Form<T>>) => {\n isFn(middleware) && env[`${_middlewareName}Middlewares`].push(middleware)\n return formDrawer\n }\n }\n }\n\n return formDrawer as IFormDrawer<T, DynamicMiddlewareNames[number]>\n}\n\nexport default FormDrawer\n"],"mappings":"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"}
|
package/esm/form-item/index.d.ts
CHANGED
|
@@ -1,9 +1,91 @@
|
|
|
1
1
|
import { IFormItemProps } from "./types.js";
|
|
2
2
|
import { _default } from "./form-item.vue.js";
|
|
3
|
+
import * as _$element_plus0 from "element-plus";
|
|
4
|
+
import * as _$vue from "vue";
|
|
3
5
|
|
|
4
6
|
//#region src/form-item/index.d.ts
|
|
5
7
|
declare function fieldFeedbackMapper(props: any, field: any): any;
|
|
6
|
-
declare const FormItem:
|
|
8
|
+
declare const FormItem: {
|
|
9
|
+
new (...args: any[]): _$vue.CreateComponentPublicInstanceWithMixins<Readonly<IFormItemProps> & Readonly<{}>, {
|
|
10
|
+
feedbackTooltipRef: _$vue.Ref<_$element_plus0.TooltipInstance, _$element_plus0.TooltipInstance>;
|
|
11
|
+
}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, _$vue.PublicProps, {
|
|
12
|
+
asterisk: boolean;
|
|
13
|
+
colon: boolean;
|
|
14
|
+
labelWrap: boolean;
|
|
15
|
+
fullness: boolean;
|
|
16
|
+
}, true, {}, {}, _$vue.GlobalComponents, _$vue.GlobalDirectives, string, {}, any, _$vue.ComponentProvideOptions, {
|
|
17
|
+
P: {};
|
|
18
|
+
B: {};
|
|
19
|
+
D: {};
|
|
20
|
+
C: {};
|
|
21
|
+
M: {};
|
|
22
|
+
Defaults: {};
|
|
23
|
+
}, Readonly<IFormItemProps> & Readonly<{}>, {
|
|
24
|
+
feedbackTooltipRef: _$vue.Ref<_$element_plus0.TooltipInstance, _$element_plus0.TooltipInstance>;
|
|
25
|
+
}, {}, {}, {}, {
|
|
26
|
+
asterisk: boolean;
|
|
27
|
+
colon: boolean;
|
|
28
|
+
labelWrap: boolean;
|
|
29
|
+
fullness: boolean;
|
|
30
|
+
}>;
|
|
31
|
+
__isFragment?: never;
|
|
32
|
+
__isTeleport?: never;
|
|
33
|
+
__isSuspense?: never;
|
|
34
|
+
} & _$vue.ComponentOptionsBase<Readonly<IFormItemProps> & Readonly<{}>, {
|
|
35
|
+
feedbackTooltipRef: _$vue.Ref<_$element_plus0.TooltipInstance, _$element_plus0.TooltipInstance>;
|
|
36
|
+
}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, {
|
|
37
|
+
asterisk: boolean;
|
|
38
|
+
colon: boolean;
|
|
39
|
+
labelWrap: boolean;
|
|
40
|
+
fullness: boolean;
|
|
41
|
+
}, {}, string, {}, _$vue.GlobalComponents, _$vue.GlobalDirectives, string, _$vue.ComponentProvideOptions> & _$vue.VNodeProps & _$vue.AllowedComponentProps & _$vue.ComponentCustomProps & (new () => {
|
|
42
|
+
$slots: {
|
|
43
|
+
default?: (props: {}) => any;
|
|
44
|
+
} & {
|
|
45
|
+
default?: (props: {}) => any;
|
|
46
|
+
};
|
|
47
|
+
}) & {
|
|
48
|
+
BaseItem: {
|
|
49
|
+
new (...args: any[]): _$vue.CreateComponentPublicInstanceWithMixins<Readonly<IFormItemProps> & Readonly<{}>, {
|
|
50
|
+
feedbackTooltipRef: _$vue.Ref<_$element_plus0.TooltipInstance, _$element_plus0.TooltipInstance>;
|
|
51
|
+
}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, _$vue.PublicProps, {
|
|
52
|
+
asterisk: boolean;
|
|
53
|
+
colon: boolean;
|
|
54
|
+
labelWrap: boolean;
|
|
55
|
+
fullness: boolean;
|
|
56
|
+
}, true, {}, {}, _$vue.GlobalComponents, _$vue.GlobalDirectives, string, {}, any, _$vue.ComponentProvideOptions, {
|
|
57
|
+
P: {};
|
|
58
|
+
B: {};
|
|
59
|
+
D: {};
|
|
60
|
+
C: {};
|
|
61
|
+
M: {};
|
|
62
|
+
Defaults: {};
|
|
63
|
+
}, Readonly<IFormItemProps> & Readonly<{}>, {
|
|
64
|
+
feedbackTooltipRef: _$vue.Ref<_$element_plus0.TooltipInstance, _$element_plus0.TooltipInstance>;
|
|
65
|
+
}, {}, {}, {}, {
|
|
66
|
+
asterisk: boolean;
|
|
67
|
+
colon: boolean;
|
|
68
|
+
labelWrap: boolean;
|
|
69
|
+
fullness: boolean;
|
|
70
|
+
}>;
|
|
71
|
+
__isFragment?: never;
|
|
72
|
+
__isTeleport?: never;
|
|
73
|
+
__isSuspense?: never;
|
|
74
|
+
} & _$vue.ComponentOptionsBase<Readonly<IFormItemProps> & Readonly<{}>, {
|
|
75
|
+
feedbackTooltipRef: _$vue.Ref<_$element_plus0.TooltipInstance, _$element_plus0.TooltipInstance>;
|
|
76
|
+
}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, {
|
|
77
|
+
asterisk: boolean;
|
|
78
|
+
colon: boolean;
|
|
79
|
+
labelWrap: boolean;
|
|
80
|
+
fullness: boolean;
|
|
81
|
+
}, {}, string, {}, _$vue.GlobalComponents, _$vue.GlobalDirectives, string, _$vue.ComponentProvideOptions> & _$vue.VNodeProps & _$vue.AllowedComponentProps & _$vue.ComponentCustomProps & (new () => {
|
|
82
|
+
$slots: {
|
|
83
|
+
default?: (props: {}) => any;
|
|
84
|
+
} & {
|
|
85
|
+
default?: (props: {}) => any;
|
|
86
|
+
};
|
|
87
|
+
});
|
|
88
|
+
};
|
|
7
89
|
//#endregion
|
|
8
90
|
export { FormItem, fieldFeedbackMapper };
|
|
9
91
|
//# sourceMappingURL=index.d.ts.map
|