@silver-formily/element-plus 4.0.1 → 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.
@@ -536,6 +536,10 @@ declare const Checkbox: {
536
536
  });
537
537
  CheckboxGroup: {
538
538
  new (...args: any[]): _$vue.CreateComponentPublicInstanceWithMixins<Readonly<_$vue.ExtractPropTypes<{
539
+ modelValue: {
540
+ type: _$vue.PropType<_$element_plus0.CheckboxGroupValueType>;
541
+ default: () => never[];
542
+ };
539
543
  props: {
540
544
  type: _$vue.PropType<{
541
545
  value?: string;
@@ -548,27 +552,23 @@ declare const Checkbox: {
548
552
  disabled?: string;
549
553
  }>;
550
554
  };
551
- fill: {
552
- type: _$vue.PropType<string>;
553
- };
554
- modelValue: {
555
- type: _$vue.PropType<_$element_plus0.CheckboxGroupValueType>;
556
- default: () => never[];
557
- };
558
555
  type: {
559
556
  type: _$vue.PropType<"button" | "checkbox">;
560
557
  default: string;
561
558
  };
559
+ fill: {
560
+ type: _$vue.PropType<string>;
561
+ };
562
562
  disabled: {
563
563
  type: _$vue.PropType<boolean>;
564
564
  default: undefined;
565
565
  };
566
- options: {
567
- type: _$vue.PropType<_$element_plus0.CheckboxOption[]>;
568
- };
569
566
  size: {
570
567
  type: _$vue.PropType<"" | "default" | "small" | "large">;
571
568
  };
569
+ options: {
570
+ type: _$vue.PropType<_$element_plus0.CheckboxOption[]>;
571
+ };
572
572
  validateEvent: {
573
573
  type: _$vue.PropType<boolean>;
574
574
  default: boolean;
@@ -614,6 +614,10 @@ declare const Checkbox: {
614
614
  M: {};
615
615
  Defaults: {};
616
616
  }, Readonly<_$vue.ExtractPropTypes<{
617
+ modelValue: {
618
+ type: _$vue.PropType<_$element_plus0.CheckboxGroupValueType>;
619
+ default: () => never[];
620
+ };
617
621
  props: {
618
622
  type: _$vue.PropType<{
619
623
  value?: string;
@@ -626,27 +630,23 @@ declare const Checkbox: {
626
630
  disabled?: string;
627
631
  }>;
628
632
  };
629
- fill: {
630
- type: _$vue.PropType<string>;
631
- };
632
- modelValue: {
633
- type: _$vue.PropType<_$element_plus0.CheckboxGroupValueType>;
634
- default: () => never[];
635
- };
636
633
  type: {
637
634
  type: _$vue.PropType<"button" | "checkbox">;
638
635
  default: string;
639
636
  };
637
+ fill: {
638
+ type: _$vue.PropType<string>;
639
+ };
640
640
  disabled: {
641
641
  type: _$vue.PropType<boolean>;
642
642
  default: undefined;
643
643
  };
644
- options: {
645
- type: _$vue.PropType<_$element_plus0.CheckboxOption[]>;
646
- };
647
644
  size: {
648
645
  type: _$vue.PropType<"" | "default" | "small" | "large">;
649
646
  };
647
+ options: {
648
+ type: _$vue.PropType<_$element_plus0.CheckboxOption[]>;
649
+ };
650
650
  validateEvent: {
651
651
  type: _$vue.PropType<boolean>;
652
652
  default: boolean;
@@ -686,6 +686,10 @@ declare const Checkbox: {
686
686
  __isTeleport?: never;
687
687
  __isSuspense?: never;
688
688
  } & _$vue.ComponentOptionsBase<Readonly<_$vue.ExtractPropTypes<{
689
+ modelValue: {
690
+ type: _$vue.PropType<_$element_plus0.CheckboxGroupValueType>;
691
+ default: () => never[];
692
+ };
689
693
  props: {
690
694
  type: _$vue.PropType<{
691
695
  value?: string;
@@ -698,27 +702,23 @@ declare const Checkbox: {
698
702
  disabled?: string;
699
703
  }>;
700
704
  };
701
- fill: {
702
- type: _$vue.PropType<string>;
703
- };
704
- modelValue: {
705
- type: _$vue.PropType<_$element_plus0.CheckboxGroupValueType>;
706
- default: () => never[];
707
- };
708
705
  type: {
709
706
  type: _$vue.PropType<"button" | "checkbox">;
710
707
  default: string;
711
708
  };
709
+ fill: {
710
+ type: _$vue.PropType<string>;
711
+ };
712
712
  disabled: {
713
713
  type: _$vue.PropType<boolean>;
714
714
  default: undefined;
715
715
  };
716
- options: {
717
- type: _$vue.PropType<_$element_plus0.CheckboxOption[]>;
718
- };
719
716
  size: {
720
717
  type: _$vue.PropType<"" | "default" | "small" | "large">;
721
718
  };
719
+ options: {
720
+ type: _$vue.PropType<_$element_plus0.CheckboxOption[]>;
721
+ };
722
722
  validateEvent: {
723
723
  type: _$vue.PropType<boolean>;
724
724
  default: boolean;
@@ -14,9 +14,6 @@ declare const ColorPicker: _$element_plus_es_utils_index_mjs0.SFCWithInstall<_$v
14
14
  type: _$vue.PropType<boolean>;
15
15
  default: undefined;
16
16
  };
17
- size: {
18
- type: _$vue.PropType<"" | "default" | "small" | "large">;
19
- };
20
17
  popperClass: {
21
18
  type: _$vue.PropType<string | {
22
19
  [x: string]: boolean;
@@ -52,6 +49,9 @@ declare const ColorPicker: _$element_plus_es_utils_index_mjs0.SFCWithInstall<_$v
52
49
  type: _$vue.PropType<boolean>;
53
50
  default: true;
54
51
  };
52
+ size: {
53
+ type: _$vue.PropType<"" | "default" | "small" | "large">;
54
+ };
55
55
  clearable: {
56
56
  type: _$vue.PropType<boolean>;
57
57
  default: true;
@@ -115,9 +115,6 @@ declare const ColorPicker: _$element_plus_es_utils_index_mjs0.SFCWithInstall<_$v
115
115
  type: _$vue.PropType<boolean>;
116
116
  default: undefined;
117
117
  };
118
- size: {
119
- type: _$vue.PropType<"" | "default" | "small" | "large">;
120
- };
121
118
  popperClass: {
122
119
  type: _$vue.PropType<string | {
123
120
  [x: string]: boolean;
@@ -153,6 +150,9 @@ declare const ColorPicker: _$element_plus_es_utils_index_mjs0.SFCWithInstall<_$v
153
150
  type: _$vue.PropType<boolean>;
154
151
  default: true;
155
152
  };
153
+ size: {
154
+ type: _$vue.PropType<"" | "default" | "small" | "large">;
155
+ };
156
156
  clearable: {
157
157
  type: _$vue.PropType<boolean>;
158
158
  default: true;
@@ -11,7 +11,7 @@ declare const composeFormCollapse: {
11
11
  type: _$vue.PropType<IFormCollapse>;
12
12
  };
13
13
  activeKey: {
14
- type: (NumberConstructor | StringConstructor)[];
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: (NumberConstructor | StringConstructor)[];
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: (NumberConstructor | StringConstructor)[];
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, createSlots, createTextVNode, createVNode, defineComponent, guardReactiveProps, mergeProps, normalizeClass, normalizeProps, openBlock, ref, renderSlot, toDisplayString, unref, useSlots, withCtx } from "vue";
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
- }), createSlots({
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
- _: 2
99
- }, [slots.header ? {
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\" #header>\n <slot 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;;;IAc7J,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;;;;OA9Bd,MAAM,SAAA;UAAS;sBAC0C,CAAvE,WAAuE,KAAA,QAAA,UAAA;KAAlD,SAAS,QAAA;KAAU,QAAQ,QAAA;KAAS,MAAM,QAAA"}
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 rawProps = isStr(title) ? { title } : title;
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
- env.stopUrlChangeListener?.();
77
- env.stopUrlChangeListener = void 0;
78
- await loading(props.loadingText, () => applyMiddleware(env.form, env.cancelMiddlewares));
79
- render(false);
80
- disposeDialog();
81
- reject?.();
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
- if (env.settled) return;
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'\r\nimport type { IMiddleware } from '@formily/shared'\r\nimport type { App, Component } from 'vue'\r\nimport type { FormDialogSlotContent, IFormDialog, IFormDialogProps } from './types'\r\nimport { createForm } from '@formily/core'\r\nimport { toJS } from '@formily/reactive'\r\nimport { applyMiddleware, isArr, isFn, isStr, isValid, pascalCase } from '@formily/shared'\r\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 { onUrlChange } from '../shared/url-change-listener'\nimport DialogContent from './dialog-content.vue'\n\r\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: {\r\n root?: HTMLElement\r\n form?: Form<T>\r\n promise?: Promise<any>\r\n instance?: any\n app?: App<Element>\n stopUrlChangeListener?: () => void\n settled?: boolean\n openMiddlewares: IMiddleware<IFormProps<T>>[]\n confirmMiddlewares: IMiddleware<Form<T>>[]\r\n cancelMiddlewares: IMiddleware<Form<T>>[]\r\n [key: `${string}Middlewares`]: IMiddleware<Form<T>>[] | IMiddleware<IFormProps<T>>[] | undefined\r\n } = {\r\n root: document.createElement('div'),\r\n form: null,\r\n promise: null,\r\n app: null,\n instance: null,\n stopUrlChangeListener: undefined,\n settled: false,\n openMiddlewares: [],\n confirmMiddlewares: [],\r\n cancelMiddlewares: [],\r\n }\r\n\r\n if (isArr(dynamicMiddlewareNames)) {\r\n for (const middlewareName of dynamicMiddlewareNames) {\r\n /* istanbul ignore if -- @preserve */\r\n if (!isStr(middlewareName))\r\n return\r\n const _middlewareName = camelCase(middlewareName)\r\n /* istanbul ignore if -- @preserve */\r\n if (['open', 'cancel', 'confirm'].includes(_middlewareName)) {\r\n throw new Error(`for${pascalCase(_middlewareName)} is presved`)\r\n }\r\n (env[`${_middlewareName}Middlewares`] = [])\r\n }\r\n }\r\n\r\n document.body.append(env.root)\r\n\r\n const rawProps = (isStr(title) ? { title } : title) as IFormDialogProps\n const props = {\n ...rawProps,\n closeOnUrlChange: rawProps.closeOnUrlChange ?? true,\n } 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) {\r\n const ComponentConstructor = observer({\r\n setup(_, { expose }) {\r\n const visible = ref(false)\r\n expose({\r\n visible,\r\n })\r\n return () => h(DialogContent, {\r\n dialogProps: props,\r\n form: env.form,\r\n resolve,\r\n reject,\r\n visible: visible.value,\r\n }, _content)\r\n },\r\n })\r\n env.app = createApp(ComponentConstructor)\r\n env.instance = env.app.mount(env.root)\r\n }\r\n env.instance.visible = visible\r\n }\r\n\r\n function disposeDialog() {\n env.stopUrlChangeListener?.()\n env.stopUrlChangeListener = undefined\n const animationDuration = getTransitionDuration()\n setTimeout(() => {\n env.app?.unmount?.()\n env.app = null\r\n env.instance = null\r\n env.root?.remove()\r\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 env.stopUrlChangeListener?.()\n env.stopUrlChangeListener = undefined\n await loading(props.loadingText, () =>\n applyMiddleware(env.form, env.cancelMiddlewares))\n render(false)\n disposeDialog()\n reject?.()\n }\n\r\n const formDialog = {\r\n forOpen: (middleware: IMiddleware<IFormProps<T>>) => {\r\n isFn(middleware) && env.openMiddlewares.push(middleware)\r\n return formDialog\r\n },\r\n forConfirm: (middleware: IMiddleware<Form<T>>) => {\r\n isFn(middleware) && env.confirmMiddlewares.push(middleware)\r\n return formDialog\r\n },\r\n forCancel: (middleware: IMiddleware<Form<T>>) => {\r\n isFn(middleware) && env.cancelMiddlewares.push(middleware)\r\n return formDialog\r\n },\r\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 if (env.settled)\n return\n\n env.settled = true\n env.stopUrlChangeListener?.()\n env.stopUrlChangeListener = undefined\n await (isValid(type) ? applyMiddleware(env.form, env[`${type}Middlewares`]) : applyMiddleware(env.form, env.confirmMiddlewares))\n res(toJS(env.form.values))\n formDialog.close()\n disposeDialog()\n }).catch(() => undefined)\n }, () => rejectDialog(() => rej(new Error('cancel'))))\n if (props.closeOnUrlChange) {\n env.stopUrlChangeListener = onUrlChange(() => {\n void rejectDialog(() => rej(new Error('cancel')))\n })\n }\n })\n .catch(/* istanbul ignore next -- @preserve */ error => rej(error))\n })\n return env.promise\n },\r\n close: () => {\r\n /* istanbul ignore if -- @preserve */\r\n if (!env.root)\r\n return\r\n render(false)\r\n },\r\n }\r\n if (isArr(dynamicMiddlewareNames)) {\r\n for (const middlewareName of dynamicMiddlewareNames) {\r\n const _middlewareName = camelCase(middlewareName)\r\n formDialog[`for${pascalCase(_middlewareName)}`] = (middleware: IMiddleware<Form<T>>) => {\r\n isFn(middleware) && env[`${_middlewareName}Middlewares`].push(middleware)\r\n return formDialog\r\n }\r\n }\r\n }\r\n\r\n return formDialog as IFormDialog<T, DynamicMiddlewareNames[number]>\n}\n\r\nexport default FormDialog\r\n"],"mappings":"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"}
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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"}
@@ -11,7 +11,6 @@ type IFormDialogProps = Partial<DialogProps> & {
11
11
  okButtonProps?: ButtonProps;
12
12
  loadingText?: string;
13
13
  enterSubmit?: boolean;
14
- closeOnUrlChange?: boolean;
15
14
  };
16
15
  interface FormDialogResolve {
17
16
  (type?: string): void;
@@ -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, createSlots, createTextVNode, createVNode, defineComponent, guardReactiveProps, mergeProps, normalizeClass, normalizeProps, openBlock, ref, renderSlot, toDisplayString, unref, useSlots, withCtx } from "vue";
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
- }), createSlots({
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
- _: 2
99
- }, [slots.header ? {
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\" #header>\n <slot 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;;;IAc7J,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;;;;OA9Bd,MAAM,SAAA;UAAS;sBAC0C,CAAvE,WAAuE,KAAA,QAAA,UAAA;KAAlD,SAAS,QAAA;KAAU,QAAQ,QAAA;KAAS,MAAM,QAAA"}
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 rawProps = isStr(title) ? { title } : title;
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
- env.stopUrlChangeListener?.();
77
- env.stopUrlChangeListener = void 0;
78
- await loading(props.loadingText, () => applyMiddleware(env.form, env.cancelMiddlewares));
79
- render(false);
80
- disposeDrawer();
81
- reject?.();
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
- if (env.settled) return;
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 { onUrlChange } from '../shared/url-change-listener'\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 stopUrlChangeListener?: () => void\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 stopUrlChangeListener: undefined,\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 rawProps = (isStr(title) ? { title } : title) as IFormDrawerProps\n const props = {\n ...rawProps,\n closeOnUrlChange: rawProps.closeOnUrlChange ?? true,\n } 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 env.stopUrlChangeListener?.()\n env.stopUrlChangeListener = undefined\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 env.stopUrlChangeListener?.()\n env.stopUrlChangeListener = undefined\n await loading(props.loadingText, () =>\n applyMiddleware(env.form, env.cancelMiddlewares))\n render(false)\n disposeDrawer()\n reject?.()\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 if (env.settled)\n return\n\n env.settled = true\n env.stopUrlChangeListener?.()\n env.stopUrlChangeListener = undefined\n await (isValid(type) ? applyMiddleware(env.form, env[`${type}Middlewares`]) : applyMiddleware(env.form, env.confirmMiddlewares))\n res(toJS(env.form.values))\n formDrawer.close()\n disposeDrawer()\n }).catch(() => undefined)\n }, () => rejectDrawer(() => rej(new Error('cancel'))))\n if (props.closeOnUrlChange) {\n env.stopUrlChangeListener = onUrlChange(() => {\n void rejectDrawer(() => rej(new Error('cancel')))\n })\n }\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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"}
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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"}
@@ -11,7 +11,6 @@ type IFormDrawerProps = Partial<DrawerProps> & {
11
11
  okButtonProps?: ButtonProps;
12
12
  loadingText?: string;
13
13
  enterSubmit?: boolean;
14
- closeOnUrlChange?: boolean;
15
14
  };
16
15
  interface FormDrawerResolve {
17
16
  (type?: string): void;