pro-design-vue 1.0.0-beta.1 → 1.0.0-beta.4
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/dist/index.full.js +23 -17
- package/dist/index.full.min.js +3 -3
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +3 -3
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +23 -17
- package/es/components/button/index.d.ts +3 -3
- package/es/components/button/src/Button.d.ts +3 -3
- package/es/components/button/src/Button.mjs +3 -6
- package/es/components/button/src/Button.mjs.map +1 -1
- package/es/components/form/src/Form.d.ts +9 -2
- package/es/components/form/src/base/BaseForm.d.ts +9 -2
- package/es/components/form/src/base/StepForm.d.ts +9 -2
- package/es/components/form/src/layouts/DrawerForm.d.ts +9 -2
- package/es/components/form/src/layouts/ModalForm.d.ts +9 -2
- package/es/components/form/src/layouts/QueryFilter.d.ts +9 -2
- package/es/components/form/src/layouts/StepsForm.d.ts +9 -2
- package/es/components/form/src/props.d.ts +24 -6
- package/es/components/form/src/props.mjs +4 -1
- package/es/components/form/src/props.mjs.map +1 -1
- package/es/components/table/src/components/AutoHeightHeader/Header.vue.d.ts +3 -3
- package/es/components/table/src/components/AutoHeightHeader/HeaderRow.vue.d.ts +3 -3
- package/es/components/table/src/components/Filter/FilterDropdown.vue.d.ts +3 -3
- package/es/components/table/src/components/Header/Header.vue.d.ts +3 -3
- package/es/components/table/src/components/Header/HeaderCell.vue.d.ts +3 -3
- package/es/components/table/src/components/Header/HeaderRows.vue.d.ts +3 -3
- package/es/components/table/src/components/Header/HeaderRowsWrap.vue.d.ts +3 -3
- package/es/components/table/src/components/InteralTable.vue.d.ts +6 -6
- package/es/components/table/src/hooks/useFetchData.mjs +14 -8
- package/es/components/table/src/hooks/useFetchData.mjs.map +1 -1
- package/es/index.d.ts +69 -18
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/button/index.d.ts +3 -3
- package/lib/components/button/src/Button.d.ts +3 -3
- package/lib/components/button/src/Button.js +3 -6
- package/lib/components/button/src/Button.js.map +1 -1
- package/lib/components/form/src/Form.d.ts +9 -2
- package/lib/components/form/src/base/BaseForm.d.ts +9 -2
- package/lib/components/form/src/base/StepForm.d.ts +9 -2
- package/lib/components/form/src/layouts/DrawerForm.d.ts +9 -2
- package/lib/components/form/src/layouts/ModalForm.d.ts +9 -2
- package/lib/components/form/src/layouts/QueryFilter.d.ts +9 -2
- package/lib/components/form/src/layouts/StepsForm.d.ts +9 -2
- package/lib/components/form/src/props.d.ts +24 -6
- package/lib/components/form/src/props.js +4 -1
- package/lib/components/form/src/props.js.map +1 -1
- package/lib/components/table/src/components/AutoHeightHeader/Header.vue.d.ts +3 -3
- package/lib/components/table/src/components/AutoHeightHeader/HeaderRow.vue.d.ts +3 -3
- package/lib/components/table/src/components/Filter/FilterDropdown.vue.d.ts +3 -3
- package/lib/components/table/src/components/Header/Header.vue.d.ts +3 -3
- package/lib/components/table/src/components/Header/HeaderCell.vue.d.ts +3 -3
- package/lib/components/table/src/components/Header/HeaderRows.vue.d.ts +3 -3
- package/lib/components/table/src/components/Header/HeaderRowsWrap.vue.d.ts +3 -3
- package/lib/components/table/src/components/InteralTable.vue.d.ts +6 -6
- package/lib/components/table/src/hooks/useFetchData.js +14 -8
- package/lib/components/table/src/hooks/useFetchData.js.map +1 -1
- package/lib/index.d.ts +69 -18
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +1 -1
@@ -16,6 +16,10 @@ export declare const antFormProps: () => {
|
|
16
16
|
type: PropType<FormProps["colon"]>;
|
17
17
|
default: boolean;
|
18
18
|
};
|
19
|
+
requiredMark: {
|
20
|
+
type: PropType<FormProps["requiredMark"]>;
|
21
|
+
default: boolean;
|
22
|
+
};
|
19
23
|
labelAlign: {
|
20
24
|
type: PropType<FormProps["labelAlign"]>;
|
21
25
|
default: string;
|
@@ -26,7 +30,6 @@ export declare const antFormProps: () => {
|
|
26
30
|
default: boolean;
|
27
31
|
};
|
28
32
|
prefixCls: PropType<FormProps["prefixCls"]>;
|
29
|
-
requiredMark: PropType<FormProps["requiredMark"]>;
|
30
33
|
validateMessages: PropType<FormProps["validateMessages"]>;
|
31
34
|
validateTrigger: {
|
32
35
|
type: PropType<FormProps["validateTrigger"]>;
|
@@ -176,6 +179,10 @@ export declare const baseFormProps: () => {
|
|
176
179
|
type: PropType<FormProps["colon"]>;
|
177
180
|
default: boolean;
|
178
181
|
};
|
182
|
+
requiredMark: {
|
183
|
+
type: PropType<FormProps["requiredMark"]>;
|
184
|
+
default: boolean;
|
185
|
+
};
|
179
186
|
labelAlign: {
|
180
187
|
type: PropType<FormProps["labelAlign"]>;
|
181
188
|
default: string;
|
@@ -186,7 +193,6 @@ export declare const baseFormProps: () => {
|
|
186
193
|
default: boolean;
|
187
194
|
};
|
188
195
|
prefixCls: PropType<FormProps["prefixCls"]>;
|
189
|
-
requiredMark: PropType<FormProps["requiredMark"]>;
|
190
196
|
validateMessages: PropType<FormProps["validateMessages"]>;
|
191
197
|
validateTrigger: {
|
192
198
|
type: PropType<FormProps["validateTrigger"]>;
|
@@ -328,6 +334,10 @@ export declare const drawerOrModalFormProps: () => {
|
|
328
334
|
type: PropType<FormProps["colon"]>;
|
329
335
|
default: boolean;
|
330
336
|
};
|
337
|
+
requiredMark: {
|
338
|
+
type: PropType<FormProps["requiredMark"]>;
|
339
|
+
default: boolean;
|
340
|
+
};
|
331
341
|
labelAlign: {
|
332
342
|
type: PropType<FormProps["labelAlign"]>;
|
333
343
|
default: string;
|
@@ -338,7 +348,6 @@ export declare const drawerOrModalFormProps: () => {
|
|
338
348
|
default: boolean;
|
339
349
|
};
|
340
350
|
prefixCls: PropType<FormProps["prefixCls"]>;
|
341
|
-
requiredMark: PropType<FormProps["requiredMark"]>;
|
342
351
|
validateMessages: PropType<FormProps["validateMessages"]>;
|
343
352
|
validateTrigger: {
|
344
353
|
type: PropType<FormProps["validateTrigger"]>;
|
@@ -490,6 +499,10 @@ export declare const queryFilterProps: () => {
|
|
490
499
|
type: PropType<FormProps["colon"]>;
|
491
500
|
default: boolean;
|
492
501
|
};
|
502
|
+
requiredMark: {
|
503
|
+
type: PropType<FormProps["requiredMark"]>;
|
504
|
+
default: boolean;
|
505
|
+
};
|
493
506
|
labelAlign: {
|
494
507
|
type: PropType<FormProps["labelAlign"]>;
|
495
508
|
default: string;
|
@@ -500,7 +513,6 @@ export declare const queryFilterProps: () => {
|
|
500
513
|
default: boolean;
|
501
514
|
};
|
502
515
|
prefixCls: PropType<FormProps["prefixCls"]>;
|
503
|
-
requiredMark: PropType<FormProps["requiredMark"]>;
|
504
516
|
validateMessages: PropType<FormProps["validateMessages"]>;
|
505
517
|
validateTrigger: {
|
506
518
|
type: PropType<FormProps["validateTrigger"]>;
|
@@ -635,6 +647,10 @@ export declare const stepsFormProps: () => {
|
|
635
647
|
type: PropType<FormProps["colon"]>;
|
636
648
|
default: boolean;
|
637
649
|
};
|
650
|
+
requiredMark: {
|
651
|
+
type: PropType<FormProps["requiredMark"]>;
|
652
|
+
default: boolean;
|
653
|
+
};
|
638
654
|
labelAlign: {
|
639
655
|
type: PropType<FormProps["labelAlign"]>;
|
640
656
|
default: string;
|
@@ -645,7 +661,6 @@ export declare const stepsFormProps: () => {
|
|
645
661
|
default: boolean;
|
646
662
|
};
|
647
663
|
prefixCls: PropType<FormProps["prefixCls"]>;
|
648
|
-
requiredMark: PropType<FormProps["requiredMark"]>;
|
649
664
|
validateMessages: PropType<FormProps["validateMessages"]>;
|
650
665
|
validateTrigger: {
|
651
666
|
type: PropType<FormProps["validateTrigger"]>;
|
@@ -780,6 +795,10 @@ export declare const formProps: () => {
|
|
780
795
|
type: PropType<FormProps["colon"]>;
|
781
796
|
default: boolean;
|
782
797
|
};
|
798
|
+
requiredMark: {
|
799
|
+
type: PropType<FormProps["requiredMark"]>;
|
800
|
+
default: boolean;
|
801
|
+
};
|
783
802
|
labelAlign: {
|
784
803
|
type: PropType<FormProps["labelAlign"]>;
|
785
804
|
default: string;
|
@@ -790,7 +809,6 @@ export declare const formProps: () => {
|
|
790
809
|
default: boolean;
|
791
810
|
};
|
792
811
|
prefixCls: PropType<FormProps["prefixCls"]>;
|
793
|
-
requiredMark: PropType<FormProps["requiredMark"]>;
|
794
812
|
validateMessages: PropType<FormProps["validateMessages"]>;
|
795
813
|
validateTrigger: {
|
796
814
|
type: PropType<FormProps["validateTrigger"]>;
|
@@ -13,6 +13,10 @@ const antFormProps = () => ({
|
|
13
13
|
type: Boolean,
|
14
14
|
default: true
|
15
15
|
},
|
16
|
+
requiredMark: {
|
17
|
+
type: [Boolean, String],
|
18
|
+
default: true
|
19
|
+
},
|
16
20
|
labelAlign: {
|
17
21
|
type: String,
|
18
22
|
default: "right"
|
@@ -23,7 +27,6 @@ const antFormProps = () => ({
|
|
23
27
|
default: false
|
24
28
|
},
|
25
29
|
prefixCls: String,
|
26
|
-
requiredMark: [String, Boolean],
|
27
30
|
validateMessages: Object,
|
28
31
|
validateTrigger: {
|
29
32
|
type: [String, Array],
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"props.mjs","sources":["../../../../../../packages/components/form/src/props.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-07-30 08:16:14\n * @LastEditors: shen\n * @LastEditTime: 2025-09-08 09:37:42\n * @Description:\n */\nimport type { CSSProperties, ExtractPropTypes, PropType } from 'vue'\nimport type {\n ProFormPropsType,\n ProFormItemType,\n Entity,\n SpanConfig,\n ProFormActionType,\n} from './type'\n\nimport type { StepsProps, StepProps, FormProps } from 'ant-design-vue'\n\nexport const antFormProps = () => ({\n layout: {\n type: String as PropType<FormProps['layout']>,\n default: 'horizontal',\n },\n labelCol: {\n type: Object as PropType<FormProps['labelCol']>,\n },\n wrapperCol: {\n type: Object as PropType<FormProps['wrapperCol']>,\n },\n colon: {\n type: Boolean as PropType<FormProps['colon']>,\n default: true,\n },\n labelAlign: {\n type: String as PropType<FormProps['labelAlign']>,\n default: 'right',\n },\n labelWrap: Boolean as PropType<FormProps['labelWrap']>,\n disabled: {\n type: Boolean as PropType<FormProps['disabled']>,\n default: false,\n },\n prefixCls: String as PropType<FormProps['prefixCls']>,\n requiredMark: [String, Boolean] as PropType<FormProps['requiredMark']>,\n validateMessages: Object as PropType<FormProps['validateMessages']>,\n validateTrigger: {\n type: [String, Array] as PropType<FormProps['validateTrigger']>,\n default: 'change',\n },\n validateOnRuleChange: {\n type: Boolean as PropType<FormProps['validateOnRuleChange']>,\n default: true,\n },\n scrollToFirstError: {\n type: [Boolean, Object] as PropType<FormProps['scrollToFirstError']>,\n default: false,\n },\n name: String,\n})\n\nexport const commonFieldProps = () => ({\n value: {\n type: [String, Array, Number, Object, Boolean] as PropType<any>,\n },\n readonly: {\n type: Boolean,\n default: undefined,\n },\n readonlyProps: {\n type: Object as PropType<ProFormItemType['readonlyProps']>,\n default: undefined,\n },\n valueEnum: {\n type: [Function, Object] as PropType<ProFormItemType['valueEnum']>,\n default: undefined,\n },\n options: {\n type: [Array, Function] as PropType<ProFormItemType['options']>,\n default: undefined,\n },\n request: {\n type: Function as PropType<ProFormItemType['request']>,\n default: undefined,\n },\n params: {\n type: [Function, Object] as PropType<ProFormItemType['params']>,\n default: undefined,\n },\n dependencies: {\n type: Array as PropType<ProFormItemType['dependencies']>,\n default: undefined,\n },\n onChange: {\n type: Function as PropType<ProFormItemType['onChange']>,\n },\n})\n\nexport const baseFormProps = () => ({\n ...antFormProps(),\n // name: String,\n loading: {\n type: Boolean,\n default: undefined,\n },\n showLoading: {\n type: Boolean,\n default: true,\n },\n submitOnLoading: {\n type: Boolean,\n default: true,\n },\n gridSubmitter: {\n type: Boolean,\n default: false,\n },\n omitNil: { type: Boolean, default: true },\n readonly: Boolean,\n grid: Boolean,\n isKeyPressSubmit: Boolean,\n formKey: String,\n theme: {\n type: String as PropType<ProFormPropsType['theme']>,\n default: 'custom',\n },\n customUi: {\n type: Boolean,\n default: true,\n },\n initialValues: {\n type: Object as PropType<ProFormPropsType['initialValues']>,\n },\n readonlyProps: {\n type: Object as PropType<ProFormPropsType['readonlyProps']>,\n },\n colProps: {\n type: Object as PropType<ProFormPropsType['colProps']>,\n },\n rowProps: {\n type: Object as PropType<ProFormPropsType['rowProps']>,\n },\n dateFormatter: {\n type: [String, Function, Boolean] as PropType<ProFormPropsType['dateFormatter']>,\n default: 'string',\n },\n params: {\n type: Object as PropType<ProFormPropsType['params']>,\n },\n items: {\n type: Array as PropType<ProFormItemType<Entity, any>[]>,\n },\n request: {\n type: Function as PropType<ProFormPropsType['request']>,\n },\n requestAbort: {\n type: Boolean,\n },\n submitter: {\n type: [Object, Boolean] as PropType<ProFormPropsType['submitter']>,\n default: undefined,\n },\n onReset: {\n type: Function as PropType<ProFormPropsType['onReset']>,\n },\n onFinish: {\n type: Function as PropType<ProFormPropsType['onFinish']>,\n },\n onFinishFailed: {\n type: Function as PropType<ProFormPropsType['onFinishFailed']>,\n },\n onLoadingChange: {\n type: Function as PropType<ProFormPropsType['onLoadingChange']>,\n },\n onValuesChange: {\n type: Function as PropType<ProFormPropsType['onValuesChange']>,\n },\n onInit: {\n type: Function as PropType<(values: any, formAction: ProFormActionType) => void>,\n default: undefined,\n },\n})\n\nexport const drawerOrModalFormProps = () => ({\n ...baseFormProps(),\n submitTimeout: {\n type: Number,\n default: undefined,\n },\n title: {\n type: String,\n default: undefined,\n },\n width: {\n type: [String, Number] as PropType<string | number>,\n default: 800,\n },\n open: {\n type: Boolean,\n default: undefined,\n },\n closeOnFinish: {\n type: Boolean,\n default: true,\n },\n confirmOnValuesChange: {\n type: Boolean,\n default: true,\n },\n onOpenChange: {\n type: Function as PropType<(open: boolean) => void>,\n default: undefined,\n },\n})\n\nexport const queryFilterProps = () => ({\n ...baseFormProps(),\n preserve: {\n type: Boolean,\n default: true,\n },\n defaultCollapsed: {\n type: Boolean,\n default: true,\n },\n collapsed: {\n type: Boolean as PropType<boolean | undefined>,\n default: undefined,\n },\n defaultColsNumber: Number,\n defaultFormItemsNumber: Number,\n labelWidth: {\n type: [String, Number] as PropType<number | 'auto'>,\n default: '80',\n },\n searchText: String,\n resetText: String,\n searchGutter: {\n type: Number,\n default: 24,\n },\n span: {\n type: [Number, Object] as PropType<SpanConfig>,\n },\n // span: definePropType<SpanConfig>([Number, String]),\n showHiddenNum: Boolean,\n ignoreRules: Boolean,\n resetOnSubmit: Boolean,\n onCollapse: {\n type: Function as PropType<(val: boolean) => void>,\n default: undefined,\n },\n onResize: {\n type: Function as PropType<(width: number, height: number) => void>,\n default: undefined,\n },\n})\nexport const stepsFormProps = () => ({\n ...baseFormProps(),\n current: {\n type: Number,\n default: undefined,\n },\n steps: {\n type: Array as PropType<(StepProps & { formProps?: BaseFormProps })[]>,\n default: () => [],\n },\n items: {\n type: Array as PropType<ProFormItemType<Entity, any>[][]>,\n default: () => [],\n },\n stepsProps: {\n type: Object as PropType<StepsProps>,\n },\n containerStyle: {\n type: Object as PropType<CSSProperties>,\n },\n onCurrentChange: {\n type: Function as PropType<(current: number) => void>,\n default: undefined,\n },\n})\n\nexport const formProps = () => ({\n ...baseFormProps(),\n ...drawerOrModalFormProps(),\n ...queryFilterProps(),\n ...stepsFormProps(),\n items: {\n type: Array as PropType<Array<ProFormItemType<Entity, any>[]> | ProFormItemType<Entity, any>[]>,\n default: () => [],\n },\n})\n\nexport type BaseFormProps = Partial<ExtractPropTypes<ReturnType<typeof baseFormProps>>>\n\nexport type ProFormProps = Partial<ExtractPropTypes<ReturnType<typeof formProps>>>\nexport type ProQueryFilterProps = Partial<ExtractPropTypes<ReturnType<typeof queryFilterProps>>>\nexport type ProStepsFormProps = Partial<ExtractPropTypes<ReturnType<typeof stepsFormProps>>>\nexport type ProDrawerOrModalFormProps = Partial<\n ExtractPropTypes<ReturnType<typeof drawerOrModalFormProps>>\n>\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"props.mjs","sources":["../../../../../../packages/components/form/src/props.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-07-30 08:16:14\n * @LastEditors: shen\n * @LastEditTime: 2025-09-09 16:58:33\n * @Description:\n */\nimport type { CSSProperties, ExtractPropTypes, PropType } from 'vue'\nimport type {\n ProFormPropsType,\n ProFormItemType,\n Entity,\n SpanConfig,\n ProFormActionType,\n} from './type'\n\nimport type { StepsProps, StepProps, FormProps } from 'ant-design-vue'\n\nexport const antFormProps = () => ({\n layout: {\n type: String as PropType<FormProps['layout']>,\n default: 'horizontal',\n },\n labelCol: {\n type: Object as PropType<FormProps['labelCol']>,\n },\n wrapperCol: {\n type: Object as PropType<FormProps['wrapperCol']>,\n },\n colon: {\n type: Boolean as PropType<FormProps['colon']>,\n default: true,\n },\n requiredMark: {\n type: [Boolean, String] as PropType<FormProps['requiredMark']>,\n default: true,\n },\n labelAlign: {\n type: String as PropType<FormProps['labelAlign']>,\n default: 'right',\n },\n labelWrap: Boolean as PropType<FormProps['labelWrap']>,\n disabled: {\n type: Boolean as PropType<FormProps['disabled']>,\n default: false,\n },\n prefixCls: String as PropType<FormProps['prefixCls']>,\n validateMessages: Object as PropType<FormProps['validateMessages']>,\n validateTrigger: {\n type: [String, Array] as PropType<FormProps['validateTrigger']>,\n default: 'change',\n },\n validateOnRuleChange: {\n type: Boolean as PropType<FormProps['validateOnRuleChange']>,\n default: true,\n },\n scrollToFirstError: {\n type: [Boolean, Object] as PropType<FormProps['scrollToFirstError']>,\n default: false,\n },\n name: String,\n})\n\nexport const commonFieldProps = () => ({\n value: {\n type: [String, Array, Number, Object, Boolean] as PropType<any>,\n },\n readonly: {\n type: Boolean,\n default: undefined,\n },\n readonlyProps: {\n type: Object as PropType<ProFormItemType['readonlyProps']>,\n default: undefined,\n },\n valueEnum: {\n type: [Function, Object] as PropType<ProFormItemType['valueEnum']>,\n default: undefined,\n },\n options: {\n type: [Array, Function] as PropType<ProFormItemType['options']>,\n default: undefined,\n },\n request: {\n type: Function as PropType<ProFormItemType['request']>,\n default: undefined,\n },\n params: {\n type: [Function, Object] as PropType<ProFormItemType['params']>,\n default: undefined,\n },\n dependencies: {\n type: Array as PropType<ProFormItemType['dependencies']>,\n default: undefined,\n },\n onChange: {\n type: Function as PropType<ProFormItemType['onChange']>,\n },\n})\n\nexport const baseFormProps = () => ({\n ...antFormProps(),\n // name: String,\n loading: {\n type: Boolean,\n default: undefined,\n },\n showLoading: {\n type: Boolean,\n default: true,\n },\n submitOnLoading: {\n type: Boolean,\n default: true,\n },\n gridSubmitter: {\n type: Boolean,\n default: false,\n },\n omitNil: { type: Boolean, default: true },\n readonly: Boolean,\n grid: Boolean,\n isKeyPressSubmit: Boolean,\n formKey: String,\n theme: {\n type: String as PropType<ProFormPropsType['theme']>,\n default: 'custom',\n },\n customUi: {\n type: Boolean,\n default: true,\n },\n initialValues: {\n type: Object as PropType<ProFormPropsType['initialValues']>,\n },\n readonlyProps: {\n type: Object as PropType<ProFormPropsType['readonlyProps']>,\n },\n colProps: {\n type: Object as PropType<ProFormPropsType['colProps']>,\n },\n rowProps: {\n type: Object as PropType<ProFormPropsType['rowProps']>,\n },\n dateFormatter: {\n type: [String, Function, Boolean] as PropType<ProFormPropsType['dateFormatter']>,\n default: 'string',\n },\n params: {\n type: Object as PropType<ProFormPropsType['params']>,\n },\n items: {\n type: Array as PropType<ProFormItemType<Entity, any>[]>,\n },\n request: {\n type: Function as PropType<ProFormPropsType['request']>,\n },\n requestAbort: {\n type: Boolean,\n },\n submitter: {\n type: [Object, Boolean] as PropType<ProFormPropsType['submitter']>,\n default: undefined,\n },\n onReset: {\n type: Function as PropType<ProFormPropsType['onReset']>,\n },\n onFinish: {\n type: Function as PropType<ProFormPropsType['onFinish']>,\n },\n onFinishFailed: {\n type: Function as PropType<ProFormPropsType['onFinishFailed']>,\n },\n onLoadingChange: {\n type: Function as PropType<ProFormPropsType['onLoadingChange']>,\n },\n onValuesChange: {\n type: Function as PropType<ProFormPropsType['onValuesChange']>,\n },\n onInit: {\n type: Function as PropType<(values: any, formAction: ProFormActionType) => void>,\n default: undefined,\n },\n})\n\nexport const drawerOrModalFormProps = () => ({\n ...baseFormProps(),\n submitTimeout: {\n type: Number,\n default: undefined,\n },\n title: {\n type: String,\n default: undefined,\n },\n width: {\n type: [String, Number] as PropType<string | number>,\n default: 800,\n },\n open: {\n type: Boolean,\n default: undefined,\n },\n closeOnFinish: {\n type: Boolean,\n default: true,\n },\n confirmOnValuesChange: {\n type: Boolean,\n default: true,\n },\n onOpenChange: {\n type: Function as PropType<(open: boolean) => void>,\n default: undefined,\n },\n})\n\nexport const queryFilterProps = () => ({\n ...baseFormProps(),\n preserve: {\n type: Boolean,\n default: true,\n },\n defaultCollapsed: {\n type: Boolean,\n default: true,\n },\n collapsed: {\n type: Boolean as PropType<boolean | undefined>,\n default: undefined,\n },\n defaultColsNumber: Number,\n defaultFormItemsNumber: Number,\n labelWidth: {\n type: [String, Number] as PropType<number | 'auto'>,\n default: '80',\n },\n searchText: String,\n resetText: String,\n searchGutter: {\n type: Number,\n default: 24,\n },\n span: {\n type: [Number, Object] as PropType<SpanConfig>,\n },\n // span: definePropType<SpanConfig>([Number, String]),\n showHiddenNum: Boolean,\n ignoreRules: Boolean,\n resetOnSubmit: Boolean,\n onCollapse: {\n type: Function as PropType<(val: boolean) => void>,\n default: undefined,\n },\n onResize: {\n type: Function as PropType<(width: number, height: number) => void>,\n default: undefined,\n },\n})\nexport const stepsFormProps = () => ({\n ...baseFormProps(),\n current: {\n type: Number,\n default: undefined,\n },\n steps: {\n type: Array as PropType<(StepProps & { formProps?: BaseFormProps })[]>,\n default: () => [],\n },\n items: {\n type: Array as PropType<ProFormItemType<Entity, any>[][]>,\n default: () => [],\n },\n stepsProps: {\n type: Object as PropType<StepsProps>,\n },\n containerStyle: {\n type: Object as PropType<CSSProperties>,\n },\n onCurrentChange: {\n type: Function as PropType<(current: number) => void>,\n default: undefined,\n },\n})\n\nexport const formProps = () => ({\n ...baseFormProps(),\n ...drawerOrModalFormProps(),\n ...queryFilterProps(),\n ...stepsFormProps(),\n items: {\n type: Array as PropType<Array<ProFormItemType<Entity, any>[]> | ProFormItemType<Entity, any>[]>,\n default: () => [],\n },\n})\n\nexport type BaseFormProps = Partial<ExtractPropTypes<ReturnType<typeof baseFormProps>>>\n\nexport type ProFormProps = Partial<ExtractPropTypes<ReturnType<typeof formProps>>>\nexport type ProQueryFilterProps = Partial<ExtractPropTypes<ReturnType<typeof queryFilterProps>>>\nexport type ProStepsFormProps = Partial<ExtractPropTypes<ReturnType<typeof stepsFormProps>>>\nexport type ProDrawerOrModalFormProps = Partial<\n ExtractPropTypes<ReturnType<typeof drawerOrModalFormProps>>\n>\n"],"names":[],"mappings":"AAkBO,MAAM,eAAe,OAAO;AAAA,EACjC,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,GACR;AAAA,EACA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM;AAAA,GACR;AAAA,EACA,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,CAAC,OAAA,EAAS,MAAM,CAAA;AAAA,IACtB,OAAA,EAAS;AAAA,GACX;AAAA,EACA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,SAAA,EAAW,OAAA;AAAA,EACX,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,SAAA,EAAW,MAAA;AAAA,EACX,gBAAA,EAAkB,MAAA;AAAA,EAClB,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM,CAAC,MAAA,EAAQ,KAAK,CAAA;AAAA,IACpB,OAAA,EAAS;AAAA,GACX;AAAA,EACA,oBAAA,EAAsB;AAAA,IACpB,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,kBAAA,EAAoB;AAAA,IAClB,IAAA,EAAM,CAAC,OAAA,EAAS,MAAM,CAAA;AAAA,IACtB,OAAA,EAAS;AAAA,GACX;AAAA,EACA,IAAA,EAAM;AACR,CAAA;AAEO,MAAM,mBAAmB,OAAO;AAAA,EACrC,KAAA,EAAO;AAAA,IACL,MAAM,CAAC,MAAA,EAAQ,KAAA,EAAO,MAAA,EAAQ,QAAQ,OAAO;AAAA,GAC/C;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,aAAA,EAAe;AAAA,IACb,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,CAAC,QAAA,EAAU,MAAM,CAAA;AAAA,IACvB,OAAA,EAAS;AAAA,GACX;AAAA,EACA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,CAAC,KAAA,EAAO,QAAQ,CAAA;AAAA,IACtB,OAAA,EAAS;AAAA,GACX;AAAA,EACA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,QAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,CAAC,QAAA,EAAU,MAAM,CAAA;AAAA,IACvB,OAAA,EAAS;AAAA,GACX;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA;AAEV,CAAA;AAEO,MAAM,gBAAgB,OAAO;AAAA,EAClC,GAAG,YAAA,EAAa;AAAA;AAAA,EAEhB,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,aAAA,EAAe;AAAA,IACb,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,OAAA,EAAS,EAAE,IAAA,EAAM,OAAA,EAAS,SAAS,IAAA,EAAK;AAAA,EACxC,QAAA,EAAU,OAAA;AAAA,EACV,IAAA,EAAM,OAAA;AAAA,EACN,gBAAA,EAAkB,OAAA;AAAA,EAClB,OAAA,EAAS,MAAA;AAAA,EACT,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,aAAA,EAAe;AAAA,IACb,IAAA,EAAM;AAAA,GACR;AAAA,EACA,aAAA,EAAe;AAAA,IACb,IAAA,EAAM;AAAA,GACR;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,GACR;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,GACR;AAAA,EACA,aAAA,EAAe;AAAA,IACb,IAAA,EAAM,CAAC,MAAA,EAAQ,QAAA,EAAU,OAAO,CAAA;AAAA,IAChC,OAAA,EAAS;AAAA,GACX;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM;AAAA,GACR;AAAA,EACA,KAAA,EAAO;AAAA,IACL,IAAA,EAAM;AAAA,GACR;AAAA,EACA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM;AAAA,GACR;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM;AAAA,GACR;AAAA,EACA,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,CAAC,MAAA,EAAQ,OAAO,CAAA;AAAA,IACtB,OAAA,EAAS;AAAA,GACX;AAAA,EACA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM;AAAA,GACR;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,GACR;AAAA,EACA,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM;AAAA,GACR;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA,GACR;AAAA,EACA,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM;AAAA,GACR;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb,CAAA;AAEO,MAAM,yBAAyB,OAAO;AAAA,EAC3C,GAAG,aAAA,EAAc;AAAA,EACjB,aAAA,EAAe;AAAA,IACb,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAA,EAAS;AAAA,GACX;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,aAAA,EAAe;AAAA,IACb,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,qBAAA,EAAuB;AAAA,IACrB,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb,CAAA;AAEO,MAAM,mBAAmB,OAAO;AAAA,EACrC,GAAG,aAAA,EAAc;AAAA,EACjB,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,gBAAA,EAAkB;AAAA,IAChB,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,iBAAA,EAAmB,MAAA;AAAA,EACnB,sBAAA,EAAwB,MAAA;AAAA,EACxB,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAA,EAAS;AAAA,GACX;AAAA,EACA,UAAA,EAAY,MAAA;AAAA,EACZ,SAAA,EAAW,MAAA;AAAA,EACX,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM;AAAA,GACvB;AAAA;AAAA,EAEA,aAAA,EAAe,OAAA;AAAA,EACf,WAAA,EAAa,OAAA;AAAA,EACb,aAAA,EAAe,OAAA;AAAA,EACf,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,QAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,QAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb,CAAA;AACO,MAAM,iBAAiB,OAAO;AAAA,EACnC,GAAG,aAAA,EAAc;AAAA,EACjB,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA,EACA,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA,EACA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM;AAAA,GACR;AAAA,EACA,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM;AAAA,GACR;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM,QAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb,CAAA;AAEO,MAAM,YAAY,OAAO;AAAA,EAC9B,GAAG,aAAA,EAAc;AAAA,EACjB,GAAG,sBAAA,EAAuB;AAAA,EAC1B,GAAG,gBAAA,EAAiB;AAAA,EACpB,GAAG,cAAA,EAAe;AAAA,EAClB,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC;AAEpB,CAAA;;;;"}
|
@@ -6129,7 +6129,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
6129
6129
|
}>;
|
6130
6130
|
};
|
6131
6131
|
icon: {
|
6132
|
-
type:
|
6132
|
+
type: PropType<any>;
|
6133
6133
|
default: string;
|
6134
6134
|
};
|
6135
6135
|
iconStyle: {
|
@@ -6212,7 +6212,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
6212
6212
|
}>;
|
6213
6213
|
};
|
6214
6214
|
icon: {
|
6215
|
-
type:
|
6215
|
+
type: PropType<any>;
|
6216
6216
|
default: string;
|
6217
6217
|
};
|
6218
6218
|
iconStyle: {
|
@@ -6237,7 +6237,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
6237
6237
|
"onMenu-click"?: ((...args: any[]) => any) | undefined;
|
6238
6238
|
}>, {
|
6239
6239
|
danger: boolean;
|
6240
|
-
icon:
|
6240
|
+
icon: any;
|
6241
6241
|
htmlType: import("ant-design-vue/es/button/buttonTypes").ButtonHTMLType | undefined;
|
6242
6242
|
loading: boolean | {
|
6243
6243
|
delay?: number;
|
@@ -6059,7 +6059,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
6059
6059
|
}>;
|
6060
6060
|
};
|
6061
6061
|
icon: {
|
6062
|
-
type:
|
6062
|
+
type: PropType<any>;
|
6063
6063
|
default: string;
|
6064
6064
|
};
|
6065
6065
|
iconStyle: {
|
@@ -6142,7 +6142,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
6142
6142
|
}>;
|
6143
6143
|
};
|
6144
6144
|
icon: {
|
6145
|
-
type:
|
6145
|
+
type: PropType<any>;
|
6146
6146
|
default: string;
|
6147
6147
|
};
|
6148
6148
|
iconStyle: {
|
@@ -6167,7 +6167,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
6167
6167
|
"onMenu-click"?: ((...args: any[]) => any) | undefined;
|
6168
6168
|
}>, {
|
6169
6169
|
danger: boolean;
|
6170
|
-
icon:
|
6170
|
+
icon: any;
|
6171
6171
|
htmlType: import("ant-design-vue/es/button/buttonTypes").ButtonHTMLType | undefined;
|
6172
6172
|
loading: boolean | {
|
6173
6173
|
delay?: number;
|
@@ -2218,7 +2218,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
2218
2218
|
}>;
|
2219
2219
|
};
|
2220
2220
|
icon: {
|
2221
|
-
type:
|
2221
|
+
type: PropType<any>;
|
2222
2222
|
default: string;
|
2223
2223
|
};
|
2224
2224
|
iconStyle: {
|
@@ -2301,7 +2301,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
2301
2301
|
}>;
|
2302
2302
|
};
|
2303
2303
|
icon: {
|
2304
|
-
type:
|
2304
|
+
type: PropType<any>;
|
2305
2305
|
default: string;
|
2306
2306
|
};
|
2307
2307
|
iconStyle: {
|
@@ -2326,7 +2326,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
2326
2326
|
"onMenu-click"?: ((...args: any[]) => any) | undefined;
|
2327
2327
|
}>, {
|
2328
2328
|
danger: boolean;
|
2329
|
-
icon:
|
2329
|
+
icon: any;
|
2330
2330
|
htmlType: import("ant-design-vue/es/button/buttonTypes").ButtonHTMLType | undefined;
|
2331
2331
|
loading: boolean | {
|
2332
2332
|
delay?: number;
|
@@ -4981,7 +4981,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
4981
4981
|
}>;
|
4982
4982
|
};
|
4983
4983
|
icon: {
|
4984
|
-
type:
|
4984
|
+
type: PropType<any>;
|
4985
4985
|
default: string;
|
4986
4986
|
};
|
4987
4987
|
iconStyle: {
|
@@ -5064,7 +5064,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
5064
5064
|
}>;
|
5065
5065
|
};
|
5066
5066
|
icon: {
|
5067
|
-
type:
|
5067
|
+
type: PropType<any>;
|
5068
5068
|
default: string;
|
5069
5069
|
};
|
5070
5070
|
iconStyle: {
|
@@ -5089,7 +5089,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
5089
5089
|
"onMenu-click"?: ((...args: any[]) => any) | undefined;
|
5090
5090
|
}>, {
|
5091
5091
|
danger: boolean;
|
5092
|
-
icon:
|
5092
|
+
icon: any;
|
5093
5093
|
htmlType: import("ant-design-vue/es/button/buttonTypes").ButtonHTMLType | undefined;
|
5094
5094
|
loading: boolean | {
|
5095
5095
|
delay?: number;
|
@@ -4114,7 +4114,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
4114
4114
|
}>;
|
4115
4115
|
};
|
4116
4116
|
icon: {
|
4117
|
-
type:
|
4117
|
+
type: PropType<any>;
|
4118
4118
|
default: string;
|
4119
4119
|
};
|
4120
4120
|
iconStyle: {
|
@@ -4197,7 +4197,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
4197
4197
|
}>;
|
4198
4198
|
};
|
4199
4199
|
icon: {
|
4200
|
-
type:
|
4200
|
+
type: PropType<any>;
|
4201
4201
|
default: string;
|
4202
4202
|
};
|
4203
4203
|
iconStyle: {
|
@@ -4222,7 +4222,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
4222
4222
|
"onMenu-click"?: ((...args: any[]) => any) | undefined;
|
4223
4223
|
}>, {
|
4224
4224
|
danger: boolean;
|
4225
|
-
icon:
|
4225
|
+
icon: any;
|
4226
4226
|
htmlType: import("ant-design-vue/es/button/buttonTypes").ButtonHTMLType | undefined;
|
4227
4227
|
loading: boolean | {
|
4228
4228
|
delay?: number;
|
@@ -4868,7 +4868,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
4868
4868
|
}>;
|
4869
4869
|
};
|
4870
4870
|
icon: {
|
4871
|
-
type:
|
4871
|
+
type: PropType<any>;
|
4872
4872
|
default: string;
|
4873
4873
|
};
|
4874
4874
|
iconStyle: {
|
@@ -4951,7 +4951,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
4951
4951
|
}>;
|
4952
4952
|
};
|
4953
4953
|
icon: {
|
4954
|
-
type:
|
4954
|
+
type: PropType<any>;
|
4955
4955
|
default: string;
|
4956
4956
|
};
|
4957
4957
|
iconStyle: {
|
@@ -4976,7 +4976,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
4976
4976
|
"onMenu-click"?: ((...args: any[]) => any) | undefined;
|
4977
4977
|
}>, {
|
4978
4978
|
danger: boolean;
|
4979
|
-
icon:
|
4979
|
+
icon: any;
|
4980
4980
|
htmlType: import("ant-design-vue/es/button/buttonTypes").ButtonHTMLType | undefined;
|
4981
4981
|
loading: boolean | {
|
4982
4982
|
delay?: number;
|
@@ -4919,7 +4919,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
4919
4919
|
}>;
|
4920
4920
|
};
|
4921
4921
|
icon: {
|
4922
|
-
type:
|
4922
|
+
type: PropType<any>;
|
4923
4923
|
default: string;
|
4924
4924
|
};
|
4925
4925
|
iconStyle: {
|
@@ -5002,7 +5002,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
5002
5002
|
}>;
|
5003
5003
|
};
|
5004
5004
|
icon: {
|
5005
|
-
type:
|
5005
|
+
type: PropType<any>;
|
5006
5006
|
default: string;
|
5007
5007
|
};
|
5008
5008
|
iconStyle: {
|
@@ -5027,7 +5027,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
5027
5027
|
"onMenu-click"?: ((...args: any[]) => any) | undefined;
|
5028
5028
|
}>, {
|
5029
5029
|
danger: boolean;
|
5030
|
-
icon:
|
5030
|
+
icon: any;
|
5031
5031
|
htmlType: import("ant-design-vue/es/button/buttonTypes").ButtonHTMLType | undefined;
|
5032
5032
|
loading: boolean | {
|
5033
5033
|
delay?: number;
|
@@ -7676,7 +7676,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
7676
7676
|
}>;
|
7677
7677
|
};
|
7678
7678
|
icon: {
|
7679
|
-
type:
|
7679
|
+
type: import("vue").PropType<any>;
|
7680
7680
|
default: string;
|
7681
7681
|
};
|
7682
7682
|
iconStyle: {
|
@@ -7759,7 +7759,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
7759
7759
|
}>;
|
7760
7760
|
};
|
7761
7761
|
icon: {
|
7762
|
-
type:
|
7762
|
+
type: import("vue").PropType<any>;
|
7763
7763
|
default: string;
|
7764
7764
|
};
|
7765
7765
|
iconStyle: {
|
@@ -7784,7 +7784,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
7784
7784
|
"onMenu-click"?: ((...args: any[]) => any) | undefined;
|
7785
7785
|
}>, {
|
7786
7786
|
danger: boolean;
|
7787
|
-
icon:
|
7787
|
+
icon: any;
|
7788
7788
|
htmlType: import("ant-design-vue/es/button/buttonTypes").ButtonHTMLType | undefined;
|
7789
7789
|
loading: boolean | {
|
7790
7790
|
delay?: number;
|
@@ -13465,7 +13465,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
13465
13465
|
}>;
|
13466
13466
|
};
|
13467
13467
|
icon: {
|
13468
|
-
type:
|
13468
|
+
type: import("vue").PropType<any>;
|
13469
13469
|
default: string;
|
13470
13470
|
};
|
13471
13471
|
iconStyle: {
|
@@ -13548,7 +13548,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
13548
13548
|
}>;
|
13549
13549
|
};
|
13550
13550
|
icon: {
|
13551
|
-
type:
|
13551
|
+
type: import("vue").PropType<any>;
|
13552
13552
|
default: string;
|
13553
13553
|
};
|
13554
13554
|
iconStyle: {
|
@@ -13573,7 +13573,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
13573
13573
|
"onMenu-click"?: ((...args: any[]) => any) | undefined;
|
13574
13574
|
}>, {
|
13575
13575
|
danger: boolean;
|
13576
|
-
icon:
|
13576
|
+
icon: any;
|
13577
13577
|
htmlType: import("ant-design-vue/es/button/buttonTypes").ButtonHTMLType | undefined;
|
13578
13578
|
loading: boolean | {
|
13579
13579
|
delay?: number;
|
@@ -305,14 +305,20 @@ const useFetchData = (getData, props) => {
|
|
305
305
|
deep: true
|
306
306
|
}
|
307
307
|
);
|
308
|
-
watch(
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
308
|
+
watch(
|
309
|
+
formSearch,
|
310
|
+
() => {
|
311
|
+
setPagination({
|
312
|
+
...pagination.value,
|
313
|
+
current: 1
|
314
|
+
});
|
315
|
+
abortFetch();
|
316
|
+
fetchListDebounce(false);
|
317
|
+
},
|
318
|
+
{
|
319
|
+
immediate: true
|
320
|
+
}
|
321
|
+
);
|
316
322
|
const onTableChange = (pageInfo, filt, sort, extra) => {
|
317
323
|
var _a2;
|
318
324
|
if (extra.action === "paginate") {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useFetchData.mjs","sources":["../../../../../../../packages/components/table/src/hooks/useFetchData.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-12 12:24:29\n * @LastEditors: shen\n * @LastEditTime: 2025-08-27 13:40:03\n * @Description:\n */\nimport type { SpinProps } from 'ant-design-vue/es/spin'\nimport type { ComputedRef, Ref } from 'vue'\nimport type { RequestData, ProTableProps, SorterResult } from '../components/interface'\nimport type { IntlType } from '@pro-design-vue/components/config-provider'\n\nimport {\n ref,\n computed,\n watch,\n onUnmounted,\n onMounted,\n isReactive,\n toRaw,\n onDeactivated,\n onActivated,\n} from 'vue'\nimport { useDebounceFn, usePrevious } from '@vueuse/core'\nimport { useMergedState } from '@pro-design-vue/hooks'\nimport { runFunction } from '@pro-design-vue/utils'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nexport type PageInfo = {\n pageSize: number\n total: number\n current: number\n}\n\nexport type UseFetchDataAction<T = any> = {\n dataSource: Ref<T[]>\n keyword: Ref<string>\n formSearch: Ref<Record<string, any> | undefined>\n loading: ComputedRef<boolean | SpinProps | undefined>\n setParams: (key: string, value: any) => void\n reload: (resetPageIndex?: boolean) => Promise<void>\n fullScreen?: () => void\n reset: () => void\n pollingLoading: Ref<boolean>\n pagination: Ref<PageInfo>\n setFormSearch: (val: Record<string, any> | undefined) => void\n setPagination: (val: PageInfo) => void\n onTableChange: ProTableProps['onChange']\n}\n\n/**\n * 组合用户的配置和默认值\n *\n * @param param0\n */\nconst mergePropsAndPagination = ({ pagination }: ProTableProps, intl: IntlType) => {\n if (pagination) {\n const { current, pageSize, total, showTotal, showSizeChanger } = pagination\n return {\n current: current || 1,\n total: total || 0,\n pageSize: pageSize || 10,\n showSizeChanger: showSizeChanger ?? true,\n showTotal:\n showTotal ||\n ((total: number, range: number[]) =>\n `${intl.getMessage('pagination.total.range', '第')} ${range[0]}-${range[1]} ${intl.getMessage(\n 'pagination.total.total',\n '条/总共',\n )} ${total} ${intl.getMessage('pagination.total.item', '条')}`),\n }\n }\n return {\n current: 1,\n total: 0,\n pageSize: 10,\n showSizeChanger: true,\n showTotal: (total: number, range: number[]) =>\n `${intl.getMessage('pagination.total.range', '第')} ${range[0]}-${range[1]} ${intl.getMessage(\n 'pagination.total.total',\n '条/总共',\n )} ${total} ${intl.getMessage('pagination.total.item', '条')}`,\n }\n}\n\nconst formatSorters = (\n sorter: SorterResult<any> | SorterResult<any>[],\n): SorterResult<any>[] | undefined => {\n if (!sorter) {\n return\n }\n let result: SorterResult<any>[]\n if (!Array.isArray(sorter)) {\n result = [{ ...sorter }]\n } else {\n result = [...sorter]\n }\n result = result.filter((sort) => !!sort.order)\n if (!result.length) {\n return\n }\n if (result.length > 1) {\n result = result.sort(\n (a, b) =>\n ((b.column?.sorter as any)?.multiple || 0) - ((a.column?.sorter as any)?.multiple || 0),\n )\n }\n return result.map((item) => ({\n field: item.field,\n order: item.order?.toUpperCase(),\n })) as SorterResult<any>[]\n}\n\nexport const useFetchData = (\n getData: ComputedRef<\n | ((\n params?: Record<string, any>,\n sorters?: SorterResult<any>[],\n filter?: Record<string, (string | number)[] | null>,\n ) => Promise<RequestData>)\n | undefined\n >,\n props: ProTableProps,\n): UseFetchDataAction => {\n /**\n * 用于保存组件是否被卸载的状态的引用\n */\n const umountRef = ref<boolean>(false)\n /**\n * 用于保存 AbortController 实例的引用,方便需要时进行请求的取消操作\n */\n const abortRef = ref<AbortController | null>(null)\n /** 是否首次加载的指示器 */\n const manualRequestRef = ref<boolean>(!!props.manual)\n /** 轮询的setTime ID 存储 */\n const pollingSetTimeRef = ref<any>()\n const pollingLoading = ref<boolean>(false)\n const keyword = ref<string>('')\n const intl = useIntl()\n const innerParams = ref<Record<string, any>>({})\n const sorters = ref<SorterResult<any>[]>()\n const filter = ref<Record<string, any>>()\n const keywordName = computed(() => {\n if (props.options !== false && props.options!.search !== false) {\n return props.options!.search === true || !props.options!.search!.name\n ? undefined\n : props.options!.search!.name!\n }\n return undefined\n })\n const [tableLoading, setTableLoading] = useMergedState(false, {\n value: computed(() => {\n return typeof props.loading === 'object' ? props.loading.spinning : props.loading\n }),\n onChange: props.onLoadingChange,\n })\n\n const [tableDataList, setTableDataList] = useMergedState<any[] | undefined>(\n props.defaultData ?? [],\n {\n value: computed(() => {\n return props.request ? undefined : props.dataSource\n }),\n // onChange(value) {\n // \tif (!props.request) {\n // \t\tprops['onUpdate:dataSource']?.(value ?? [])\n // \t}\n // }\n },\n )\n\n const [pagination, setPagination] = useMergedState<PageInfo>(\n () => mergePropsAndPagination(props, intl),\n {\n onChange(value) {\n if (props.pagination !== false) {\n props['onUpdate:pagination']?.(\n isReactive(props.pagination) ? Object.assign(props.pagination || {}, value) : value,\n )\n props.pagination?.onChange?.(value.current, value?.pageSize)\n }\n },\n },\n )\n\n const [formSearch, setFormSearch] = useMergedState<Record<string, any> | undefined>(() => {\n // 如果手动模式,或者 search 不存在的时候设置为 undefined\n // undefined 就不会触发首次加载\n if (manualRequestRef.value || props.search !== false) {\n return undefined\n }\n return {}\n })\n\n const prePage = usePrevious(computed(() => pagination.value?.current))\n const prePageSize = usePrevious(computed(() => pagination.value?.pageSize))\n\n const requestFinally = () => {\n setTableLoading(false)\n pollingLoading.value = false\n }\n\n const fetchList = async (isPolling: boolean) => {\n // 需要手动触发的首次请求\n if (manualRequestRef.value) {\n manualRequestRef.value = false\n return\n }\n\n if (!isPolling) {\n setTableLoading(true)\n } else {\n pollingLoading.value = true\n }\n\n const { current, pageSize } = pagination.value\n const params: Record<string, any> = { ...innerParams.value, ...formSearch.value }\n if (props?.pagination !== false) {\n params.current = current\n params.pageSize = pageSize\n }\n if (keyword.value) {\n params[keywordName.value ?? 'keyword'] = keyword.value\n }\n try {\n const {\n data = [],\n success,\n total = 0,\n ...rest\n } = (await getData.value?.(params, toRaw(sorters.value), toRaw(filter.value))) || {}\n // 如果失败了,直接返回,不走剩下的逻辑了\n if (success === false) return []\n setTableDataList(data)\n if (pagination.value?.total !== total) {\n pagination.value.total = total || data.length\n // setPagination({\n // \t...pagination.value,\n // \ttotal: total || data.length\n // })\n }\n props.onLoad?.(data, rest)\n return data\n } catch (e) {\n if (props.onRequestError === undefined) throw new Error(e as string)\n if (tableDataList.value === undefined) setTableDataList([])\n props.onRequestError(e as Error)\n } finally {\n requestFinally()\n }\n }\n\n const fetchListDebounce = useDebounceFn(async (isPolling: boolean) => {\n if (pollingSetTimeRef.value) {\n clearTimeout(pollingSetTimeRef.value)\n }\n if (!getData) {\n return\n }\n const abort = new AbortController()\n abortRef.value = abort\n\n try {\n const msg = (await Promise.race([\n fetchList(isPolling),\n new Promise((_, reject) => {\n abortRef.value?.signal.addEventListener('abort', () => {\n reject('aborted')\n requestFinally()\n })\n }),\n ])) as any[]\n\n if (abort.signal.aborted) return\n // 放到请求前面会导致数据是上一次的\n const needPolling = runFunction(props.polling, msg)\n\n if (needPolling && !umountRef.value) {\n pollingSetTimeRef.value = setTimeout(\n () => {\n fetchListDebounce(needPolling)\n // 这里判断最小要2000ms,不然一直loading\n },\n Math.max(needPolling, 2000),\n )\n }\n } catch (error) {\n if (error === 'aborted') {\n return\n }\n throw error\n }\n }, props.debounceTime || 30)\n\n const abortFetch = () => {\n abortRef.value?.abort()\n requestFinally()\n }\n\n watch(\n () => props.polling,\n (newPolling, prePolling) => {\n if (!newPolling) {\n clearTimeout(pollingSetTimeRef.value)\n }\n if (!prePolling && newPolling) {\n fetchListDebounce(true)\n }\n },\n )\n\n watch(\n () => props.manual,\n () => {\n abortFetch()\n fetchListDebounce(false)\n if (!props.manual) {\n // 如果 manual 标志未设置,则将 manualRequestRef 设置为 false。\n // 用于跟踪当前的请求是否是手动发起的。\n manualRequestRef.value = false\n }\n },\n )\n\n watch(\n () => pagination.value.current,\n () => {\n const { current, pageSize } = pagination.value || {}\n if (\n (!prePage || prePage.value === current) &&\n (!prePageSize || prePageSize.value === pageSize)\n ) {\n return\n }\n\n if (\n (props.pagination && tableDataList.value && tableDataList.value?.length > pageSize) ||\n 0\n ) {\n return\n }\n\n if (current !== undefined && tableDataList.value && tableDataList.value.length <= pageSize) {\n abortFetch()\n fetchListDebounce(false)\n }\n },\n )\n\n watch(\n () => pagination.value.pageSize,\n () => {\n if (!prePageSize.value) {\n return\n }\n abortFetch()\n fetchListDebounce(false)\n },\n )\n\n watch(sorters, () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n })\n\n watch(filter, () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n })\n\n watch(\n () => props.params,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n deep: true,\n },\n )\n\n watch(\n innerParams,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n deep: true,\n },\n )\n\n watch(formSearch, () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n })\n\n const onTableChange: ProTableProps['onChange'] = (pageInfo, filt, sort, extra) => {\n if (extra.action === 'paginate') {\n setPagination({ ...pagination.value, ...pageInfo })\n }\n if (extra.action === 'sort') {\n sorters.value = formatSorters(sort)\n }\n\n if (extra.action === 'filter') {\n filter.value = filt\n }\n props.onChange?.(pageInfo, filt, sort, extra)\n }\n\n onMounted(() => {\n umountRef.value = false\n if (props.search === false) {\n fetchListDebounce(false)\n }\n })\n\n onActivated(() => {\n if (props.polling) {\n fetchListDebounce(true)\n }\n })\n\n onUnmounted(() => {\n umountRef.value = true\n abortFetch()\n clearTimeout(pollingSetTimeRef.value)\n })\n onDeactivated(() => {\n clearTimeout(pollingSetTimeRef.value)\n })\n\n return {\n keyword,\n formSearch,\n dataSource: tableDataList,\n loading: computed(() =>\n typeof props?.loading === 'object'\n ? { ...props?.loading, spinning: tableLoading.value }\n : tableLoading.value,\n ),\n setParams: (key: string, value: any) => {\n innerParams.value[key] = value\n },\n reload: async (resetPageIndex?: boolean) => {\n if (resetPageIndex) {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n }\n abortFetch()\n return fetchListDebounce(false)\n },\n pollingLoading,\n pagination,\n reset: async () => {\n const { pagination: optionPageInfo } = props || {}\n const { current = 1, pageSize = 10 } = optionPageInfo || {}\n const initialPageInfo = {\n current,\n total: 0,\n pageSize,\n }\n setPagination(initialPageInfo)\n },\n setPagination,\n setFormSearch,\n onTableChange,\n } as UseFetchDataAction\n}\n"],"names":["total","_a"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"useFetchData.mjs","sources":["../../../../../../../packages/components/table/src/hooks/useFetchData.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-12 12:24:29\n * @LastEditors: shen\n * @LastEditTime: 2025-09-09 14:15:32\n * @Description:\n */\nimport type { SpinProps } from 'ant-design-vue/es/spin'\nimport type { ComputedRef, Ref } from 'vue'\nimport type { RequestData, ProTableProps, SorterResult } from '../components/interface'\nimport type { IntlType } from '@pro-design-vue/components/config-provider'\n\nimport {\n ref,\n computed,\n watch,\n onUnmounted,\n onMounted,\n isReactive,\n toRaw,\n onDeactivated,\n onActivated,\n} from 'vue'\nimport { useDebounceFn, usePrevious } from '@vueuse/core'\nimport { useMergedState } from '@pro-design-vue/hooks'\nimport { runFunction } from '@pro-design-vue/utils'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nexport type PageInfo = {\n pageSize: number\n total: number\n current: number\n}\n\nexport type UseFetchDataAction<T = any> = {\n dataSource: Ref<T[]>\n keyword: Ref<string>\n formSearch: Ref<Record<string, any> | undefined>\n loading: ComputedRef<boolean | SpinProps | undefined>\n setParams: (key: string, value: any) => void\n reload: (resetPageIndex?: boolean) => Promise<void>\n fullScreen?: () => void\n reset: () => void\n pollingLoading: Ref<boolean>\n pagination: Ref<PageInfo>\n setFormSearch: (val: Record<string, any> | undefined) => void\n setPagination: (val: PageInfo) => void\n onTableChange: ProTableProps['onChange']\n}\n\n/**\n * 组合用户的配置和默认值\n *\n * @param param0\n */\nconst mergePropsAndPagination = ({ pagination }: ProTableProps, intl: IntlType) => {\n if (pagination) {\n const { current, pageSize, total, showTotal, showSizeChanger } = pagination\n return {\n current: current || 1,\n total: total || 0,\n pageSize: pageSize || 10,\n showSizeChanger: showSizeChanger ?? true,\n showTotal:\n showTotal ||\n ((total: number, range: number[]) =>\n `${intl.getMessage('pagination.total.range', '第')} ${range[0]}-${range[1]} ${intl.getMessage(\n 'pagination.total.total',\n '条/总共',\n )} ${total} ${intl.getMessage('pagination.total.item', '条')}`),\n }\n }\n return {\n current: 1,\n total: 0,\n pageSize: 10,\n showSizeChanger: true,\n showTotal: (total: number, range: number[]) =>\n `${intl.getMessage('pagination.total.range', '第')} ${range[0]}-${range[1]} ${intl.getMessage(\n 'pagination.total.total',\n '条/总共',\n )} ${total} ${intl.getMessage('pagination.total.item', '条')}`,\n }\n}\n\nconst formatSorters = (\n sorter: SorterResult<any> | SorterResult<any>[],\n): SorterResult<any>[] | undefined => {\n if (!sorter) {\n return\n }\n let result: SorterResult<any>[]\n if (!Array.isArray(sorter)) {\n result = [{ ...sorter }]\n } else {\n result = [...sorter]\n }\n result = result.filter((sort) => !!sort.order)\n if (!result.length) {\n return\n }\n if (result.length > 1) {\n result = result.sort(\n (a, b) =>\n ((b.column?.sorter as any)?.multiple || 0) - ((a.column?.sorter as any)?.multiple || 0),\n )\n }\n return result.map((item) => ({\n field: item.field,\n order: item.order?.toUpperCase(),\n })) as SorterResult<any>[]\n}\n\nexport const useFetchData = (\n getData: ComputedRef<\n | ((\n params?: Record<string, any>,\n sorters?: SorterResult<any>[],\n filter?: Record<string, (string | number)[] | null>,\n ) => Promise<RequestData>)\n | undefined\n >,\n props: ProTableProps,\n): UseFetchDataAction => {\n /**\n * 用于保存组件是否被卸载的状态的引用\n */\n const umountRef = ref<boolean>(false)\n /**\n * 用于保存 AbortController 实例的引用,方便需要时进行请求的取消操作\n */\n const abortRef = ref<AbortController | null>(null)\n /** 是否首次加载的指示器 */\n const manualRequestRef = ref<boolean>(!!props.manual)\n /** 轮询的setTime ID 存储 */\n const pollingSetTimeRef = ref<any>()\n const pollingLoading = ref<boolean>(false)\n const keyword = ref<string>('')\n const intl = useIntl()\n const innerParams = ref<Record<string, any>>({})\n const sorters = ref<SorterResult<any>[]>()\n const filter = ref<Record<string, any>>()\n const keywordName = computed(() => {\n if (props.options !== false && props.options!.search !== false) {\n return props.options!.search === true || !props.options!.search!.name\n ? undefined\n : props.options!.search!.name!\n }\n return undefined\n })\n const [tableLoading, setTableLoading] = useMergedState(false, {\n value: computed(() => {\n return typeof props.loading === 'object' ? props.loading.spinning : props.loading\n }),\n onChange: props.onLoadingChange,\n })\n\n const [tableDataList, setTableDataList] = useMergedState<any[] | undefined>(\n props.defaultData ?? [],\n {\n value: computed(() => {\n return props.request ? undefined : props.dataSource\n }),\n // onChange(value) {\n // \tif (!props.request) {\n // \t\tprops['onUpdate:dataSource']?.(value ?? [])\n // \t}\n // }\n },\n )\n\n const [pagination, setPagination] = useMergedState<PageInfo>(\n () => mergePropsAndPagination(props, intl),\n {\n onChange(value) {\n if (props.pagination !== false) {\n props['onUpdate:pagination']?.(\n isReactive(props.pagination) ? Object.assign(props.pagination || {}, value) : value,\n )\n props.pagination?.onChange?.(value.current, value?.pageSize)\n }\n },\n },\n )\n\n const [formSearch, setFormSearch] = useMergedState<Record<string, any> | undefined>(() => {\n // 如果手动模式,或者 search 不存在的时候设置为 undefined\n // undefined 就不会触发首次加载\n if (manualRequestRef.value || props.search !== false) {\n return undefined\n }\n return {}\n })\n\n const prePage = usePrevious(computed(() => pagination.value?.current))\n const prePageSize = usePrevious(computed(() => pagination.value?.pageSize))\n\n const requestFinally = () => {\n setTableLoading(false)\n pollingLoading.value = false\n }\n\n const fetchList = async (isPolling: boolean) => {\n // 需要手动触发的首次请求\n if (manualRequestRef.value) {\n manualRequestRef.value = false\n return\n }\n\n if (!isPolling) {\n setTableLoading(true)\n } else {\n pollingLoading.value = true\n }\n\n const { current, pageSize } = pagination.value\n const params: Record<string, any> = { ...innerParams.value, ...formSearch.value }\n if (props?.pagination !== false) {\n params.current = current\n params.pageSize = pageSize\n }\n if (keyword.value) {\n params[keywordName.value ?? 'keyword'] = keyword.value\n }\n try {\n const {\n data = [],\n success,\n total = 0,\n ...rest\n } = (await getData.value?.(params, toRaw(sorters.value), toRaw(filter.value))) || {}\n // 如果失败了,直接返回,不走剩下的逻辑了\n if (success === false) return []\n setTableDataList(data)\n if (pagination.value?.total !== total) {\n pagination.value.total = total || data.length\n // setPagination({\n // \t...pagination.value,\n // \ttotal: total || data.length\n // })\n }\n props.onLoad?.(data, rest)\n return data\n } catch (e) {\n if (props.onRequestError === undefined) throw new Error(e as string)\n if (tableDataList.value === undefined) setTableDataList([])\n props.onRequestError(e as Error)\n } finally {\n requestFinally()\n }\n }\n\n const fetchListDebounce = useDebounceFn(async (isPolling: boolean) => {\n if (pollingSetTimeRef.value) {\n clearTimeout(pollingSetTimeRef.value)\n }\n if (!getData) {\n return\n }\n const abort = new AbortController()\n abortRef.value = abort\n\n try {\n const msg = (await Promise.race([\n fetchList(isPolling),\n new Promise((_, reject) => {\n abortRef.value?.signal.addEventListener('abort', () => {\n reject('aborted')\n requestFinally()\n })\n }),\n ])) as any[]\n\n if (abort.signal.aborted) return\n // 放到请求前面会导致数据是上一次的\n const needPolling = runFunction(props.polling, msg)\n\n if (needPolling && !umountRef.value) {\n pollingSetTimeRef.value = setTimeout(\n () => {\n fetchListDebounce(needPolling)\n // 这里判断最小要2000ms,不然一直loading\n },\n Math.max(needPolling, 2000),\n )\n }\n } catch (error) {\n if (error === 'aborted') {\n return\n }\n throw error\n }\n }, props.debounceTime || 30)\n\n const abortFetch = () => {\n abortRef.value?.abort()\n requestFinally()\n }\n\n watch(\n () => props.polling,\n (newPolling, prePolling) => {\n if (!newPolling) {\n clearTimeout(pollingSetTimeRef.value)\n }\n if (!prePolling && newPolling) {\n fetchListDebounce(true)\n }\n },\n )\n\n watch(\n () => props.manual,\n () => {\n abortFetch()\n fetchListDebounce(false)\n if (!props.manual) {\n // 如果 manual 标志未设置,则将 manualRequestRef 设置为 false。\n // 用于跟踪当前的请求是否是手动发起的。\n manualRequestRef.value = false\n }\n },\n )\n\n watch(\n () => pagination.value.current,\n () => {\n const { current, pageSize } = pagination.value || {}\n if (\n (!prePage || prePage.value === current) &&\n (!prePageSize || prePageSize.value === pageSize)\n ) {\n return\n }\n\n if (\n (props.pagination && tableDataList.value && tableDataList.value?.length > pageSize) ||\n 0\n ) {\n return\n }\n\n if (current !== undefined && tableDataList.value && tableDataList.value.length <= pageSize) {\n abortFetch()\n fetchListDebounce(false)\n }\n },\n )\n\n watch(\n () => pagination.value.pageSize,\n () => {\n if (!prePageSize.value) {\n return\n }\n abortFetch()\n fetchListDebounce(false)\n },\n )\n\n watch(sorters, () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n })\n\n watch(filter, () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n })\n\n watch(\n () => props.params,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n deep: true,\n },\n )\n\n watch(\n innerParams,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n deep: true,\n },\n )\n\n watch(\n formSearch,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n immediate: true,\n },\n )\n\n const onTableChange: ProTableProps['onChange'] = (pageInfo, filt, sort, extra) => {\n if (extra.action === 'paginate') {\n setPagination({ ...pagination.value, ...pageInfo })\n }\n if (extra.action === 'sort') {\n sorters.value = formatSorters(sort)\n }\n\n if (extra.action === 'filter') {\n filter.value = filt\n }\n props.onChange?.(pageInfo, filt, sort, extra)\n }\n\n onMounted(() => {\n umountRef.value = false\n if (props.search === false) {\n fetchListDebounce(false)\n }\n })\n\n onActivated(() => {\n if (props.polling) {\n fetchListDebounce(true)\n }\n })\n\n onUnmounted(() => {\n umountRef.value = true\n abortFetch()\n clearTimeout(pollingSetTimeRef.value)\n })\n onDeactivated(() => {\n clearTimeout(pollingSetTimeRef.value)\n })\n\n return {\n keyword,\n formSearch,\n dataSource: tableDataList,\n loading: computed(() =>\n typeof props?.loading === 'object'\n ? { ...props?.loading, spinning: tableLoading.value }\n : tableLoading.value,\n ),\n setParams: (key: string, value: any) => {\n innerParams.value[key] = value\n },\n reload: async (resetPageIndex?: boolean) => {\n if (resetPageIndex) {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n }\n abortFetch()\n return fetchListDebounce(false)\n },\n pollingLoading,\n pagination,\n reset: async () => {\n const { pagination: optionPageInfo } = props || {}\n const { current = 1, pageSize = 10 } = optionPageInfo || {}\n const initialPageInfo = {\n current,\n total: 0,\n pageSize,\n }\n setPagination(initialPageInfo)\n },\n setPagination,\n setFormSearch,\n onTableChange,\n } as UseFetchDataAction\n}\n"],"names":["total","_a"],"mappings":";;;;;;AAsDA,MAAM,uBAAA,GAA0B,CAAC,EAAE,UAAA,IAA6B,IAAA,KAAmB;AACjF,EAAA,IAAI,UAAA,EAAY;AACd,IAAA,MAAM,EAAE,OAAA,EAAS,QAAA,EAAU,KAAA,EAAO,SAAA,EAAW,iBAAgB,GAAI,UAAA;AACjE,IAAA,OAAO;AAAA,MACL,SAAS,OAAA,IAAW,CAAA;AAAA,MACpB,OAAO,KAAA,IAAS,CAAA;AAAA,MAChB,UAAU,QAAA,IAAY,EAAA;AAAA,MACtB,iBAAiB,eAAA,IAAA,IAAA,GAAA,eAAA,GAAmB,IAAA;AAAA,MACpC,SAAA,EACE,cACC,CAACA,MAAAA,EAAe,UACf,CAAA,EAAG,IAAA,CAAK,WAAW,wBAAA,EAA0B,QAAG,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA,EAAI,MAAM,CAAC,CAAC,IAAI,IAAA,CAAK,UAAA;AAAA,QAChF,wBAAA;AAAA,QACA;AAAA,OACD,IAAIA,MAAK,CAAA,CAAA,EAAI,KAAK,UAAA,CAAW,uBAAA,EAAyB,QAAG,CAAC,CAAA,CAAA;AAAA,KACjE;AAAA,EACF;AACA,EAAA,OAAO;AAAA,IACL,OAAA,EAAS,CAAA;AAAA,IACT,KAAA,EAAO,CAAA;AAAA,IACP,QAAA,EAAU,EAAA;AAAA,IACV,eAAA,EAAiB,IAAA;AAAA,IACjB,WAAW,CAAC,KAAA,EAAe,UACzB,CAAA,EAAG,IAAA,CAAK,WAAW,wBAAA,EAA0B,QAAG,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA,EAAI,MAAM,CAAC,CAAC,IAAI,IAAA,CAAK,UAAA;AAAA,MAChF,wBAAA;AAAA,MACA;AAAA,KACD,IAAI,KAAK,CAAA,CAAA,EAAI,KAAK,UAAA,CAAW,uBAAA,EAAyB,QAAG,CAAC,CAAA;AAAA,GAC/D;AACF,CAAA;AAEA,MAAM,aAAA,GAAgB,CACpB,MAAA,KACoC;AACpC,EAAA,IAAI,CAAC,MAAA,EAAQ;AACX,IAAA;AAAA,EACF;AACA,EAAA,IAAI,MAAA;AACJ,EAAA,IAAI,CAAC,KAAA,CAAM,OAAA,CAAQ,MAAM,CAAA,EAAG;AAC1B,IAAA,MAAA,GAAS,CAAC,EAAE,GAAG,MAAA,EAAQ,CAAA;AAAA,EACzB,CAAA,MAAO;AACL,IAAA,MAAA,GAAS,CAAC,GAAG,MAAM,CAAA;AAAA,EACrB;AACA,EAAA,MAAA,GAAS,OAAO,MAAA,CAAO,CAAC,SAAS,CAAC,CAAC,KAAK,KAAK,CAAA;AAC7C,EAAA,IAAI,CAAC,OAAO,MAAA,EAAQ;AAClB,IAAA;AAAA,EACF;AACA,EAAA,IAAI,MAAA,CAAO,SAAS,CAAA,EAAG;AACrB,IAAA,MAAA,GAAS,MAAA,CAAO,IAAA;AAAA,MACd,CAAC,GAAG,CAAA,KAAG;AAtGb,QAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAuGU,QAAA,OAAA,CAAA,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,CAAE,MAAA,KAAF,IAAA,GAAA,MAAA,GAAA,EAAA,CAAU,MAAA,KAAV,IAAA,GAAA,MAAA,GAAA,EAAA,CAA0B,QAAA,KAAY,CAAA,KAAA,CAAA,CAAO,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,CAAE,MAAA,KAAF,IAAA,GAAA,MAAA,GAAA,EAAA,CAAU,MAAA,KAAV,IAAA,GAAA,MAAA,GAAA,EAAA,CAA0B,QAAA,KAAY,CAAA,CAAA;AAAA,MAAA;AAAA,KACzF;AAAA,EACF;AACA,EAAA,OAAO,MAAA,CAAO,GAAA,CAAI,CAAC,IAAA,KAAM;AA1G3B,IAAA,IAAA,EAAA;AA0G+B,IAAA,OAAA;AAAA,MAC3B,OAAO,IAAA,CAAK,KAAA;AAAA,MACZ,KAAA,EAAA,CAAO,EAAA,GAAA,IAAA,CAAK,KAAA,KAAL,IAAA,GAAA,MAAA,GAAA,EAAA,CAAY,WAAA;AAAA,KACrB;AAAA,EAAA,CAAE,CAAA;AACJ,CAAA;AAEO,MAAM,YAAA,GAAe,CAC1B,OAAA,EAQA,KAAA,KACuB;AA1HzB,EAAA,IAAA,EAAA;AA8HE,EAAA,MAAM,SAAA,GAAY,IAAa,KAAK,CAAA;AAIpC,EAAA,MAAM,QAAA,GAAW,IAA4B,IAAI,CAAA;AAEjD,EAAA,MAAM,gBAAA,GAAmB,GAAA,CAAa,CAAC,CAAC,MAAM,MAAM,CAAA;AAEpD,EAAA,MAAM,oBAAoB,GAAA,EAAS;AACnC,EAAA,MAAM,cAAA,GAAiB,IAAa,KAAK,CAAA;AACzC,EAAA,MAAM,OAAA,GAAU,IAAY,EAAE,CAAA;AAC9B,EAAA,MAAM,OAAO,OAAA,EAAQ;AACrB,EAAA,MAAM,WAAA,GAAc,GAAA,CAAyB,EAAE,CAAA;AAC/C,EAAA,MAAM,UAAU,GAAA,EAAyB;AACzC,EAAA,MAAM,SAAS,GAAA,EAAyB;AACxC,EAAA,MAAM,WAAA,GAAc,SAAS,MAAM;AACjC,IAAA,IAAI,MAAM,OAAA,KAAY,KAAA,IAAS,KAAA,CAAM,OAAA,CAAS,WAAW,KAAA,EAAO;AAC9D,MAAA,OAAO,KAAA,CAAM,OAAA,CAAS,MAAA,KAAW,IAAA,IAAQ,CAAC,KAAA,CAAM,OAAA,CAAS,MAAA,CAAQ,IAAA,GAC7D,MAAA,GACA,KAAA,CAAM,OAAA,CAAS,MAAA,CAAQ,IAAA;AAAA,IAC7B;AACA,IAAA,OAAO,MAAA;AAAA,EACT,CAAC,CAAA;AACD,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAI,eAAe,KAAA,EAAO;AAAA,IAC5D,KAAA,EAAO,SAAS,MAAM;AACpB,MAAA,OAAO,OAAO,KAAA,CAAM,OAAA,KAAY,WAAW,KAAA,CAAM,OAAA,CAAQ,WAAW,KAAA,CAAM,OAAA;AAAA,IAC5E,CAAC,CAAA;AAAA,IACD,UAAU,KAAA,CAAM;AAAA,GACjB,CAAA;AAED,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAI,cAAA;AAAA,IAAA,CACxC,EAAA,GAAA,KAAA,CAAM,WAAA,KAAN,IAAA,GAAA,EAAA,GAAqB,EAAC;AAAA,IACtB;AAAA,MACE,KAAA,EAAO,SAAS,MAAM;AACpB,QAAA,OAAO,KAAA,CAAM,OAAA,GAAU,MAAA,GAAY,KAAA,CAAM,UAAA;AAAA,MAC3C,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMH,GACF;AAEA,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,cAAA;AAAA,IAClC,MAAM,uBAAA,CAAwB,KAAA,EAAO,IAAI,CAAA;AAAA,IACzC;AAAA,MACE,SAAS,KAAA,EAAO;AA7KtB,QAAA,IAAAC,GAAAA,EAAA,EAAA,EAAA,EAAA;AA8KQ,QAAA,IAAI,KAAA,CAAM,eAAe,KAAA,EAAO;AAC9B,UAAA,CAAAA,GAAAA,GAAA,KAAA,CAAM,qBAAA,CAAA,KAAN,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAA,IAAA;AAAA,YAAA,KAAA;AAAA,YACE,UAAA,CAAW,KAAA,CAAM,UAAU,CAAA,GAAI,MAAA,CAAO,MAAA,CAAO,KAAA,CAAM,UAAA,IAAc,EAAC,EAAG,KAAK,CAAA,GAAI;AAAA,WAAA;AAEhF,UAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAM,eAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAkB,QAAA,KAAlB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAA6B,KAAA,CAAM,SAAS,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,QAAA,CAAA;AAAA,QACrD;AAAA,MACF;AAAA;AACF,GACF;AAEA,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,eAAgD,MAAM;AAGxF,IAAA,IAAI,gBAAA,CAAiB,KAAA,IAAS,KAAA,CAAM,MAAA,KAAW,KAAA,EAAO;AACpD,MAAA,OAAO,MAAA;AAAA,IACT;AACA,IAAA,OAAO,EAAC;AAAA,EACV,CAAC,CAAA;AAED,EAAA,MAAM,OAAA,GAAU,WAAA,CAAY,QAAA,CAAS,MAAG;AAjM1C,IAAA,IAAAA,GAAAA;AAiM6C,IAAA,OAAA,CAAAA,GAAAA,GAAA,UAAA,CAAW,KAAA,KAAX,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAkB,OAAA;AAAA,EAAA,CAAO,CAAC,CAAA;AACrE,EAAA,MAAM,WAAA,GAAc,WAAA,CAAY,QAAA,CAAS,MAAG;AAlM9C,IAAA,IAAAA,GAAAA;AAkMiD,IAAA,OAAA,CAAAA,GAAAA,GAAA,UAAA,CAAW,KAAA,KAAX,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAkB,QAAA;AAAA,EAAA,CAAQ,CAAC,CAAA;AAE1E,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAA,eAAA,CAAgB,KAAK,CAAA;AACrB,IAAA,cAAA,CAAe,KAAA,GAAQ,KAAA;AAAA,EACzB,CAAA;AAEA,EAAA,MAAM,SAAA,GAAY,OAAO,SAAA,KAAuB;AAzMlD,IAAA,IAAAA,GAAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA2MI,IAAA,IAAI,iBAAiB,KAAA,EAAO;AAC1B,MAAA,gBAAA,CAAiB,KAAA,GAAQ,KAAA;AACzB,MAAA;AAAA,IACF;AAEA,IAAA,IAAI,CAAC,SAAA,EAAW;AACd,MAAA,eAAA,CAAgB,IAAI,CAAA;AAAA,IACtB,CAAA,MAAO;AACL,MAAA,cAAA,CAAe,KAAA,GAAQ,IAAA;AAAA,IACzB;AAEA,IAAA,MAAM,EAAE,OAAA,EAAS,QAAA,EAAS,GAAI,UAAA,CAAW,KAAA;AACzC,IAAA,MAAM,SAA8B,EAAE,GAAG,YAAY,KAAA,EAAO,GAAG,WAAW,KAAA,EAAM;AAChF,IAAA,IAAA,CAAI,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,gBAAe,KAAA,EAAO;AAC/B,MAAA,MAAA,CAAO,OAAA,GAAU,OAAA;AACjB,MAAA,MAAA,CAAO,QAAA,GAAW,QAAA;AAAA,IACpB;AACA,IAAA,IAAI,QAAQ,KAAA,EAAO;AACjB,MAAA,MAAA,CAAA,CAAOA,MAAA,WAAA,CAAY,KAAA,KAAZ,OAAAA,GAAAA,GAAqB,SAAS,IAAI,OAAA,CAAQ,KAAA;AAAA,IACnD;AACA,IAAA,IAAI;AACF,MAAA,MAAM;AAAA,QACJ,OAAO,EAAC;AAAA,QACR,OAAA;AAAA,QACA,KAAA,GAAQ,CAAA;AAAA,QACR,GAAG;AAAA,OACL,GAAK,OAAA,CAAM,EAAA,GAAA,OAAA,CAAQ,KAAA,KAAR,iCAAgB,MAAA,EAAQ,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG,KAAA,CAAM,MAAA,CAAO,KAAK,OAAO,EAAC;AAEnF,MAAA,IAAI,OAAA,KAAY,KAAA,EAAO,OAAO,EAAC;AAC/B,MAAA,gBAAA,CAAiB,IAAI,CAAA;AACrB,MAAA,IAAA,CAAA,CAAI,EAAA,GAAA,UAAA,CAAW,KAAA,KAAX,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAkB,KAAA,MAAU,KAAA,EAAO;AACrC,QAAA,UAAA,CAAW,KAAA,CAAM,KAAA,GAAQ,KAAA,IAAS,IAAA,CAAK,MAAA;AAAA,MAKzC;AACA,MAAA,CAAA,EAAA,GAAA,KAAA,CAAM,MAAA,KAAN,+BAAe,IAAA,EAAM,IAAA,CAAA;AACrB,MAAA,OAAO,IAAA;AAAA,IACT,SAAS,CAAA,EAAG;AACV,MAAA,IAAI,MAAM,cAAA,KAAmB,MAAA,EAAW,MAAM,IAAI,MAAM,CAAW,CAAA;AACnE,MAAA,IAAI,aAAA,CAAc,KAAA,KAAU,MAAA,EAAW,gBAAA,CAAiB,EAAE,CAAA;AAC1D,MAAA,KAAA,CAAM,eAAe,CAAU,CAAA;AAAA,IACjC,CAAA,SAAE;AACA,MAAA,cAAA,EAAe;AAAA,IACjB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,iBAAA,GAAoB,aAAA,CAAc,OAAO,SAAA,KAAuB;AACpE,IAAA,IAAI,kBAAkB,KAAA,EAAO;AAC3B,MAAA,YAAA,CAAa,kBAAkB,KAAK,CAAA;AAAA,IACtC;AACA,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA;AAAA,IACF;AACA,IAAA,MAAM,KAAA,GAAQ,IAAI,eAAA,EAAgB;AAClC,IAAA,QAAA,CAAS,KAAA,GAAQ,KAAA;AAEjB,IAAA,IAAI;AACF,MAAA,MAAM,GAAA,GAAO,MAAM,OAAA,CAAQ,IAAA,CAAK;AAAA,QAC9B,UAAU,SAAS,CAAA;AAAA,QACnB,IAAI,OAAA,CAAQ,CAAC,CAAA,EAAG,MAAA,KAAW;AAxQnC,UAAA,IAAAA,GAAAA;AAyQU,UAAA,CAAAA,GAAAA,GAAA,SAAS,KAAA,KAAT,IAAA,GAAA,KAAA,CAAA,GAAAA,IAAgB,MAAA,CAAO,gBAAA,CAAiB,SAAS,MAAM;AACrD,YAAA,MAAA,CAAO,SAAS,CAAA;AAChB,YAAA,cAAA,EAAe;AAAA,UACjB,CAAA,CAAA;AAAA,QACF,CAAC;AAAA,OACF,CAAA;AAED,MAAA,IAAI,KAAA,CAAM,OAAO,OAAA,EAAS;AAE1B,MAAA,MAAM,WAAA,GAAc,WAAA,CAAY,KAAA,CAAM,OAAA,EAAS,GAAG,CAAA;AAElD,MAAA,IAAI,WAAA,IAAe,CAAC,SAAA,CAAU,KAAA,EAAO;AACnC,QAAA,iBAAA,CAAkB,KAAA,GAAQ,UAAA;AAAA,UACxB,MAAM;AACJ,YAAA,iBAAA,CAAkB,WAAW,CAAA;AAAA,UAE/B,CAAA;AAAA,UACA,IAAA,CAAK,GAAA,CAAI,WAAA,EAAa,GAAI;AAAA,SAC5B;AAAA,MACF;AAAA,IACF,SAAS,KAAA,EAAO;AACd,MAAA,IAAI,UAAU,SAAA,EAAW;AACvB,QAAA;AAAA,MACF;AACA,MAAA,MAAM,KAAA;AAAA,IACR;AAAA,EACF,CAAA,EAAG,KAAA,CAAM,YAAA,IAAgB,EAAE,CAAA;AAE3B,EAAA,MAAM,aAAa,MAAM;AArS3B,IAAA,IAAAA,GAAAA;AAsSI,IAAA,CAAAA,GAAAA,GAAA,QAAA,CAAS,KAAA,KAAT,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAgB,KAAA,EAAA;AAChB,IAAA,cAAA,EAAe;AAAA,EACjB,CAAA;AAEA,EAAA,KAAA;AAAA,IACE,MAAM,KAAA,CAAM,OAAA;AAAA,IACZ,CAAC,YAAY,UAAA,KAAe;AAC1B,MAAA,IAAI,CAAC,UAAA,EAAY;AACf,QAAA,YAAA,CAAa,kBAAkB,KAAK,CAAA;AAAA,MACtC;AACA,MAAA,IAAI,CAAC,cAAc,UAAA,EAAY;AAC7B,QAAA,iBAAA,CAAkB,IAAI,CAAA;AAAA,MACxB;AAAA,IACF;AAAA,GACF;AAEA,EAAA,KAAA;AAAA,IACE,MAAM,KAAA,CAAM,MAAA;AAAA,IACZ,MAAM;AACJ,MAAA,UAAA,EAAW;AACX,MAAA,iBAAA,CAAkB,KAAK,CAAA;AACvB,MAAA,IAAI,CAAC,MAAM,MAAA,EAAQ;AAGjB,QAAA,gBAAA,CAAiB,KAAA,GAAQ,KAAA;AAAA,MAC3B;AAAA,IACF;AAAA,GACF;AAEA,EAAA,KAAA;AAAA,IACE,MAAM,WAAW,KAAA,CAAM,OAAA;AAAA,IACvB,MAAM;AArUV,MAAA,IAAAA,GAAAA;AAsUM,MAAA,MAAM,EAAE,OAAA,EAAS,QAAA,EAAS,GAAI,UAAA,CAAW,SAAS,EAAC;AACnD,MAAA,IAAA,CACG,CAAC,WAAW,OAAA,CAAQ,KAAA,KAAU,aAC9B,CAAC,WAAA,IAAe,WAAA,CAAY,KAAA,KAAU,QAAA,CAAA,EACvC;AACA,QAAA;AAAA,MACF;AAEA,MAAA,IACG,KAAA,CAAM,UAAA,IAAc,aAAA,CAAc,KAAA,IAAA,CAAA,CAASA,GAAAA,GAAA,aAAA,CAAc,KAAA,KAAd,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAqB,MAAA,IAAS,QAAA,IAC1E,CAAA,EACA;AACA,QAAA;AAAA,MACF;AAEA,MAAA,IAAI,YAAY,MAAA,IAAa,aAAA,CAAc,SAAS,aAAA,CAAc,KAAA,CAAM,UAAU,QAAA,EAAU;AAC1F,QAAA,UAAA,EAAW;AACX,QAAA,iBAAA,CAAkB,KAAK,CAAA;AAAA,MACzB;AAAA,IACF;AAAA,GACF;AAEA,EAAA,KAAA;AAAA,IACE,MAAM,WAAW,KAAA,CAAM,QAAA;AAAA,IACvB,MAAM;AACJ,MAAA,IAAI,CAAC,YAAY,KAAA,EAAO;AACtB,QAAA;AAAA,MACF;AACA,MAAA,UAAA,EAAW;AACX,MAAA,iBAAA,CAAkB,KAAK,CAAA;AAAA,IACzB;AAAA,GACF;AAEA,EAAA,KAAA,CAAM,SAAS,MAAM;AACnB,IAAA,aAAA,CAAc;AAAA,MACZ,GAAG,UAAA,CAAW,KAAA;AAAA,MACd,OAAA,EAAS;AAAA,KACV,CAAA;AACD,IAAA,UAAA,EAAW;AACX,IAAA,iBAAA,CAAkB,KAAK,CAAA;AAAA,EACzB,CAAC,CAAA;AAED,EAAA,KAAA,CAAM,QAAQ,MAAM;AAClB,IAAA,aAAA,CAAc;AAAA,MACZ,GAAG,UAAA,CAAW,KAAA;AAAA,MACd,OAAA,EAAS;AAAA,KACV,CAAA;AACD,IAAA,UAAA,EAAW;AACX,IAAA,iBAAA,CAAkB,KAAK,CAAA;AAAA,EACzB,CAAC,CAAA;AAED,EAAA,KAAA;AAAA,IACE,MAAM,KAAA,CAAM,MAAA;AAAA,IACZ,MAAM;AACJ,MAAA,aAAA,CAAc;AAAA,QACZ,GAAG,UAAA,CAAW,KAAA;AAAA,QACd,OAAA,EAAS;AAAA,OACV,CAAA;AACD,MAAA,UAAA,EAAW;AACX,MAAA,iBAAA,CAAkB,KAAK,CAAA;AAAA,IACzB,CAAA;AAAA,IACA;AAAA,MACE,IAAA,EAAM;AAAA;AACR,GACF;AAEA,EAAA,KAAA;AAAA,IACE,WAAA;AAAA,IACA,MAAM;AACJ,MAAA,aAAA,CAAc;AAAA,QACZ,GAAG,UAAA,CAAW,KAAA;AAAA,QACd,OAAA,EAAS;AAAA,OACV,CAAA;AACD,MAAA,UAAA,EAAW;AACX,MAAA,iBAAA,CAAkB,KAAK,CAAA;AAAA,IACzB,CAAA;AAAA,IACA;AAAA,MACE,IAAA,EAAM;AAAA;AACR,GACF;AAEA,EAAA,KAAA;AAAA,IACE,UAAA;AAAA,IACA,MAAM;AACJ,MAAA,aAAA,CAAc;AAAA,QACZ,GAAG,UAAA,CAAW,KAAA;AAAA,QACd,OAAA,EAAS;AAAA,OACV,CAAA;AACD,MAAA,UAAA,EAAW;AACX,MAAA,iBAAA,CAAkB,KAAK,CAAA;AAAA,IACzB,CAAA;AAAA,IACA;AAAA,MACE,SAAA,EAAW;AAAA;AACb,GACF;AAEA,EAAA,MAAM,aAAA,GAA2C,CAAC,QAAA,EAAU,IAAA,EAAM,MAAM,KAAA,KAAU;AAtapF,IAAA,IAAAA,GAAAA;AAuaI,IAAA,IAAI,KAAA,CAAM,WAAW,UAAA,EAAY;AAC/B,MAAA,aAAA,CAAc,EAAE,GAAG,UAAA,CAAW,KAAA,EAAO,GAAG,UAAU,CAAA;AAAA,IACpD;AACA,IAAA,IAAI,KAAA,CAAM,WAAW,MAAA,EAAQ;AAC3B,MAAA,OAAA,CAAQ,KAAA,GAAQ,cAAc,IAAI,CAAA;AAAA,IACpC;AAEA,IAAA,IAAI,KAAA,CAAM,WAAW,QAAA,EAAU;AAC7B,MAAA,MAAA,CAAO,KAAA,GAAQ,IAAA;AAAA,IACjB;AACA,IAAA,CAAAA,GAAAA,GAAA,MAAM,QAAA,KAAN,IAAA,GAAA,MAAA,GAAAA,IAAA,IAAA,CAAA,KAAA,EAAiB,QAAA,EAAU,MAAM,IAAA,EAAM,KAAA,CAAA;AAAA,EACzC,CAAA;AAEA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,SAAA,CAAU,KAAA,GAAQ,KAAA;AAClB,IAAA,IAAI,KAAA,CAAM,WAAW,KAAA,EAAO;AAC1B,MAAA,iBAAA,CAAkB,KAAK,CAAA;AAAA,IACzB;AAAA,EACF,CAAC,CAAA;AAED,EAAA,WAAA,CAAY,MAAM;AAChB,IAAA,IAAI,MAAM,OAAA,EAAS;AACjB,MAAA,iBAAA,CAAkB,IAAI,CAAA;AAAA,IACxB;AAAA,EACF,CAAC,CAAA;AAED,EAAA,WAAA,CAAY,MAAM;AAChB,IAAA,SAAA,CAAU,KAAA,GAAQ,IAAA;AAClB,IAAA,UAAA,EAAW;AACX,IAAA,YAAA,CAAa,kBAAkB,KAAK,CAAA;AAAA,EACtC,CAAC,CAAA;AACD,EAAA,aAAA,CAAc,MAAM;AAClB,IAAA,YAAA,CAAa,kBAAkB,KAAK,CAAA;AAAA,EACtC,CAAC,CAAA;AAED,EAAA,OAAO;AAAA,IACL,OAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAA,EAAY,aAAA;AAAA,IACZ,OAAA,EAAS,QAAA;AAAA,MAAS,MAChB,QAAO,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,OAAA,CAAA,KAAY,QAAA,GACtB,EAAE,GAAG,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,OAAA,EAAS,QAAA,EAAU,YAAA,CAAa,KAAA,KAC5C,YAAA,CAAa;AAAA,KACnB;AAAA,IACA,SAAA,EAAW,CAAC,GAAA,EAAa,KAAA,KAAe;AACtC,MAAA,WAAA,CAAY,KAAA,CAAM,GAAG,CAAA,GAAI,KAAA;AAAA,IAC3B,CAAA;AAAA,IACA,MAAA,EAAQ,OAAO,cAAA,KAA6B;AAC1C,MAAA,IAAI,cAAA,EAAgB;AAClB,QAAA,aAAA,CAAc;AAAA,UACZ,GAAG,UAAA,CAAW,KAAA;AAAA,UACd,OAAA,EAAS;AAAA,SACV,CAAA;AAAA,MACH;AACA,MAAA,UAAA,EAAW;AACX,MAAA,OAAO,kBAAkB,KAAK,CAAA;AAAA,IAChC,CAAA;AAAA,IACA,cAAA;AAAA,IACA,UAAA;AAAA,IACA,OAAO,YAAY;AACjB,MAAA,MAAM,EAAE,UAAA,EAAY,cAAA,EAAe,GAAI,SAAS,EAAC;AACjD,MAAA,MAAM,EAAE,OAAA,GAAU,CAAA,EAAG,WAAW,EAAA,EAAG,GAAI,kBAAkB,EAAC;AAC1D,MAAA,MAAM,eAAA,GAAkB;AAAA,QACtB,OAAA;AAAA,QACA,KAAA,EAAO,CAAA;AAAA,QACP;AAAA,OACF;AACA,MAAA,aAAA,CAAc,eAAe,CAAA;AAAA,IAC/B,CAAA;AAAA,IACA,aAAA;AAAA,IACA,aAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
|