pro-design-vue 1.0.0-rc.1 → 1.0.0-rc.10
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 +325 -137
- package/dist/index.full.min.js +8 -8
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +8 -8
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +326 -138
- package/es/components/counter/src/counter.vue.d.ts +2 -4
- package/es/components/counter/src/counter.vue2.mjs +2 -4
- package/es/components/counter/src/counter.vue2.mjs.map +1 -1
- package/es/components/form/src/base/BaseForm.mjs +19 -12
- package/es/components/form/src/base/BaseForm.mjs.map +1 -1
- package/es/components/form/src/components/FormColWrapper.d.ts +9 -0
- package/es/components/form/src/components/FormColWrapper.mjs +9 -1
- package/es/components/form/src/components/FormColWrapper.mjs.map +1 -1
- package/es/components/form/src/components/FormGroup.d.ts +12 -12
- package/es/components/form/src/components/FormGroup.mjs.map +1 -1
- package/es/components/form/src/components/FormItem.d.ts +9 -0
- package/es/components/form/src/components/FormItem.mjs +13 -3
- package/es/components/form/src/components/FormItem.mjs.map +1 -1
- package/es/components/form/src/components/FormItems.mjs +2 -1
- package/es/components/form/src/components/FormItems.mjs.map +1 -1
- package/es/components/form/src/components/FormList.d.ts +12 -12
- package/es/components/form/src/components/FormListContainer.d.ts +12 -12
- package/es/components/form/src/components/FormListItem.d.ts +12 -12
- package/es/components/form/src/components/FormRowWrapper.d.ts +12 -12
- package/es/components/form/src/components/FormSet.d.ts +12 -12
- package/es/components/form/src/hooks/useAction.d.ts +5 -2
- package/es/components/form/src/hooks/useAction.mjs +137 -12
- package/es/components/form/src/hooks/useAction.mjs.map +1 -1
- package/es/components/form/src/hooks/useFieldValue.d.ts +1 -1
- package/es/components/form/src/hooks/useFieldValue.mjs +11 -15
- package/es/components/form/src/hooks/useFieldValue.mjs.map +1 -1
- package/es/components/form/src/layouts/DrawerForm.mjs +8 -12
- package/es/components/form/src/layouts/DrawerForm.mjs.map +1 -1
- package/es/components/form/src/layouts/ModalForm.mjs +8 -12
- package/es/components/form/src/layouts/ModalForm.mjs.map +1 -1
- package/es/components/form/src/layouts/QueryFilter.mjs +2 -2
- package/es/components/form/src/layouts/QueryFilter.mjs.map +1 -1
- package/es/components/form/src/layouts/StepsForm.mjs +5 -1
- package/es/components/form/src/layouts/StepsForm.mjs.map +1 -1
- package/es/components/form/src/type.d.ts +11 -7
- package/es/components/form/src/utils/transformer.d.ts +3 -0
- package/es/components/form/src/utils/transformer.mjs +24 -0
- package/es/components/form/src/utils/transformer.mjs.map +1 -0
- package/es/components/layout/src/components/layout-sidebar.vue.d.ts +5 -0
- package/es/components/layout/src/components/layout-sidebar.vue2.mjs +4 -3
- package/es/components/layout/src/components/layout-sidebar.vue2.mjs.map +1 -1
- package/es/components/layout/src/layout.vue.d.ts +1 -0
- package/es/components/layout/src/layout.vue2.mjs +3 -1
- package/es/components/layout/src/layout.vue2.mjs.map +1 -1
- package/es/components/layout/src/typing.d.ts +5 -0
- package/es/components/table/src/components/Body/Body.vue.d.ts +1 -0
- package/es/components/table/src/components/Body/Body.vue.mjs +14 -18
- package/es/components/table/src/components/Body/Body.vue.mjs.map +1 -1
- package/es/components/table/src/components/Body/Body.vue2.mjs +11 -2
- package/es/components/table/src/components/Body/Body.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Body/BodyCell.mjs +10 -1
- package/es/components/table/src/components/Body/BodyCell.mjs.map +1 -1
- package/es/components/table/src/components/Form/Form.d.ts +10 -7
- package/es/components/table/src/components/Form/Form.mjs +8 -40
- package/es/components/table/src/components/Form/Form.mjs.map +1 -1
- package/es/components/table/src/components/InteralTable.vue.d.ts +1 -0
- package/es/components/table/src/components/InteralTable.vue.mjs.map +1 -1
- package/es/components/table/src/components/InteralTable.vue2.mjs +3 -0
- package/es/components/table/src/components/InteralTable.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Table.mjs +29 -4
- package/es/components/table/src/components/Table.mjs.map +1 -1
- package/es/components/table/src/components/interface.d.ts +1 -0
- package/es/components/table/src/components/interface.mjs.map +1 -1
- package/es/components/table/src/utils/flatColumnsHandle.d.ts +2 -0
- package/es/components/table/src/utils/flatColumnsHandle.mjs +18 -0
- package/es/components/table/src/utils/flatColumnsHandle.mjs.map +1 -0
- package/es/index.d.ts +20 -11
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/counter/src/counter.vue.d.ts +2 -4
- package/lib/components/counter/src/counter.vue2.js +2 -4
- package/lib/components/counter/src/counter.vue2.js.map +1 -1
- package/lib/components/form/src/base/BaseForm.js +17 -10
- package/lib/components/form/src/base/BaseForm.js.map +1 -1
- package/lib/components/form/src/components/FormColWrapper.d.ts +9 -0
- package/lib/components/form/src/components/FormColWrapper.js +9 -1
- package/lib/components/form/src/components/FormColWrapper.js.map +1 -1
- package/lib/components/form/src/components/FormGroup.d.ts +12 -12
- package/lib/components/form/src/components/FormGroup.js.map +1 -1
- package/lib/components/form/src/components/FormItem.d.ts +9 -0
- package/lib/components/form/src/components/FormItem.js +13 -3
- package/lib/components/form/src/components/FormItem.js.map +1 -1
- package/lib/components/form/src/components/FormItems.js +2 -1
- package/lib/components/form/src/components/FormItems.js.map +1 -1
- package/lib/components/form/src/components/FormList.d.ts +12 -12
- package/lib/components/form/src/components/FormListContainer.d.ts +12 -12
- package/lib/components/form/src/components/FormListItem.d.ts +12 -12
- package/lib/components/form/src/components/FormRowWrapper.d.ts +12 -12
- package/lib/components/form/src/components/FormSet.d.ts +12 -12
- package/lib/components/form/src/hooks/useAction.d.ts +5 -2
- package/lib/components/form/src/hooks/useAction.js +137 -10
- package/lib/components/form/src/hooks/useAction.js.map +1 -1
- package/lib/components/form/src/hooks/useFieldValue.d.ts +1 -1
- package/lib/components/form/src/hooks/useFieldValue.js +11 -15
- package/lib/components/form/src/hooks/useFieldValue.js.map +1 -1
- package/lib/components/form/src/layouts/DrawerForm.js +8 -12
- package/lib/components/form/src/layouts/DrawerForm.js.map +1 -1
- package/lib/components/form/src/layouts/ModalForm.js +8 -12
- package/lib/components/form/src/layouts/ModalForm.js.map +1 -1
- package/lib/components/form/src/layouts/QueryFilter.js +2 -2
- package/lib/components/form/src/layouts/QueryFilter.js.map +1 -1
- package/lib/components/form/src/layouts/StepsForm.js +5 -1
- package/lib/components/form/src/layouts/StepsForm.js.map +1 -1
- package/lib/components/form/src/type.d.ts +11 -7
- package/lib/components/form/src/utils/transformer.d.ts +3 -0
- package/lib/components/form/src/utils/transformer.js +28 -0
- package/lib/components/form/src/utils/transformer.js.map +1 -0
- package/lib/components/layout/src/components/layout-sidebar.vue.d.ts +5 -0
- package/lib/components/layout/src/components/layout-sidebar.vue2.js +4 -3
- package/lib/components/layout/src/components/layout-sidebar.vue2.js.map +1 -1
- package/lib/components/layout/src/layout.vue.d.ts +1 -0
- package/lib/components/layout/src/layout.vue2.js +3 -1
- package/lib/components/layout/src/layout.vue2.js.map +1 -1
- package/lib/components/layout/src/typing.d.ts +5 -0
- package/lib/components/table/src/components/Body/Body.vue.d.ts +1 -0
- package/lib/components/table/src/components/Body/Body.vue.js +13 -17
- package/lib/components/table/src/components/Body/Body.vue.js.map +1 -1
- package/lib/components/table/src/components/Body/Body.vue2.js +11 -2
- package/lib/components/table/src/components/Body/Body.vue2.js.map +1 -1
- package/lib/components/table/src/components/Body/BodyCell.js +9 -0
- package/lib/components/table/src/components/Body/BodyCell.js.map +1 -1
- package/lib/components/table/src/components/Form/Form.d.ts +10 -7
- package/lib/components/table/src/components/Form/Form.js +8 -40
- package/lib/components/table/src/components/Form/Form.js.map +1 -1
- package/lib/components/table/src/components/InteralTable.vue.d.ts +1 -0
- package/lib/components/table/src/components/InteralTable.vue.js.map +1 -1
- package/lib/components/table/src/components/InteralTable.vue2.js +3 -0
- package/lib/components/table/src/components/InteralTable.vue2.js.map +1 -1
- package/lib/components/table/src/components/Table.js +29 -4
- package/lib/components/table/src/components/Table.js.map +1 -1
- package/lib/components/table/src/components/interface.d.ts +1 -0
- package/lib/components/table/src/components/interface.js.map +1 -1
- package/lib/components/table/src/utils/flatColumnsHandle.d.ts +2 -0
- package/lib/components/table/src/utils/flatColumnsHandle.js +20 -0
- package/lib/components/table/src/utils/flatColumnsHandle.js.map +1 -0
- package/lib/index.d.ts +20 -11
- 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
- package/theme-chalk/src/index.less +1 -1
- package/theme-chalk/pro-table.css +0 -1
- package/theme-chalk/src/table.less +0 -1
@@ -222,20 +222,20 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
222
222
|
};
|
223
223
|
justify: {
|
224
224
|
type: import("vue").PropType<"center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | {
|
225
|
-
sm?: "
|
226
|
-
md?: "
|
227
|
-
lg?: "
|
228
|
-
xl?: "
|
229
|
-
xs?: "
|
230
|
-
xxl?: "
|
225
|
+
sm?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
226
|
+
md?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
227
|
+
lg?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
228
|
+
xl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
229
|
+
xs?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
230
|
+
xxl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
231
231
|
}>;
|
232
232
|
default: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | {
|
233
|
-
sm?: "
|
234
|
-
md?: "
|
235
|
-
lg?: "
|
236
|
-
xl?: "
|
237
|
-
xs?: "
|
238
|
-
xxl?: "
|
233
|
+
sm?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
234
|
+
md?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
235
|
+
lg?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
236
|
+
xl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
237
|
+
xs?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
238
|
+
xxl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
239
239
|
};
|
240
240
|
};
|
241
241
|
prefixCls: StringConstructor;
|
@@ -171,20 +171,20 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
171
171
|
};
|
172
172
|
justify: {
|
173
173
|
type: import("vue").PropType<"center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | {
|
174
|
-
sm?: "
|
175
|
-
md?: "
|
176
|
-
lg?: "
|
177
|
-
xl?: "
|
178
|
-
xs?: "
|
179
|
-
xxl?: "
|
174
|
+
sm?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
175
|
+
md?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
176
|
+
lg?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
177
|
+
xl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
178
|
+
xs?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
179
|
+
xxl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
180
180
|
}>;
|
181
181
|
default: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | {
|
182
|
-
sm?: "
|
183
|
-
md?: "
|
184
|
-
lg?: "
|
185
|
-
xl?: "
|
186
|
-
xs?: "
|
187
|
-
xxl?: "
|
182
|
+
sm?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
183
|
+
md?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
184
|
+
lg?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
185
|
+
xl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
186
|
+
xs?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
187
|
+
xxl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
188
188
|
};
|
189
189
|
};
|
190
190
|
prefixCls: StringConstructor;
|
@@ -42,20 +42,20 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
42
42
|
};
|
43
43
|
justify: {
|
44
44
|
type: import("vue").PropType<"center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | {
|
45
|
-
sm?: "
|
46
|
-
md?: "
|
47
|
-
lg?: "
|
48
|
-
xl?: "
|
49
|
-
xs?: "
|
50
|
-
xxl?: "
|
45
|
+
sm?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
46
|
+
md?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
47
|
+
lg?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
48
|
+
xl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
49
|
+
xs?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
50
|
+
xxl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
51
51
|
}>;
|
52
52
|
default: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | {
|
53
|
-
sm?: "
|
54
|
-
md?: "
|
55
|
-
lg?: "
|
56
|
-
xl?: "
|
57
|
-
xs?: "
|
58
|
-
xxl?: "
|
53
|
+
sm?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
54
|
+
md?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
55
|
+
lg?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
56
|
+
xl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
57
|
+
xs?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
58
|
+
xxl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
59
59
|
};
|
60
60
|
};
|
61
61
|
prefixCls: StringConstructor;
|
@@ -116,20 +116,20 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
116
116
|
};
|
117
117
|
justify: {
|
118
118
|
type: import("vue").PropType<"center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | {
|
119
|
-
sm?: "
|
120
|
-
md?: "
|
121
|
-
lg?: "
|
122
|
-
xl?: "
|
123
|
-
xs?: "
|
124
|
-
xxl?: "
|
119
|
+
sm?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
120
|
+
md?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
121
|
+
lg?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
122
|
+
xl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
123
|
+
xs?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
124
|
+
xxl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
125
125
|
}>;
|
126
126
|
default: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | {
|
127
|
-
sm?: "
|
128
|
-
md?: "
|
129
|
-
lg?: "
|
130
|
-
xl?: "
|
131
|
-
xs?: "
|
132
|
-
xxl?: "
|
127
|
+
sm?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
128
|
+
md?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
129
|
+
lg?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
130
|
+
xl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
131
|
+
xs?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
132
|
+
xxl?: "start" | "center" | "end" | "space-around" | "space-between" | "space-evenly" | undefined;
|
133
133
|
};
|
134
134
|
};
|
135
135
|
prefixCls: StringConstructor;
|
@@ -1,13 +1,16 @@
|
|
1
1
|
import type { Ref, ShallowRef } from 'vue';
|
2
|
-
import type { ProFormActionType, Entity } from '../type';
|
2
|
+
import type { ProFormActionType, Entity, TransformerMapType } from '../type';
|
3
3
|
import type { ProFormProps } from '../props';
|
4
4
|
import type { FormInstance } from 'ant-design-vue';
|
5
|
-
export declare
|
5
|
+
export declare const transformKeySubmitValue: <T extends object = any>(values: T, transformerMap: TransformerMapType, paramsOmitNil?: boolean) => T;
|
6
|
+
export declare const convertKeyInitialValue: <T extends object = any>(values: T, transformerMap: TransformerMapType) => any;
|
7
|
+
export declare function useAction({ props, formRef, formData, initialValues, hasInitial, transformerMap, onFinish, onReset, onFinishFailed, }: {
|
6
8
|
props: ProFormProps;
|
7
9
|
formRef: Ref<FormInstance | undefined>;
|
8
10
|
formData: Ref<Entity>;
|
9
11
|
initialValues: ShallowRef<Entity>;
|
10
12
|
hasInitial: Ref<boolean>;
|
13
|
+
transformerMap: ShallowRef<TransformerMapType>;
|
11
14
|
onFinish: ProFormProps['onFinish'];
|
12
15
|
onReset: ProFormProps['onReset'];
|
13
16
|
onFinishFailed: ProFormProps['onFinishFailed'];
|
@@ -1,13 +1,137 @@
|
|
1
1
|
'use strict';
|
2
2
|
|
3
3
|
var namePath = require('../utils/namePath.js');
|
4
|
-
var
|
4
|
+
var cloneElement = require('../../../../utils/clone-element.js');
|
5
5
|
var validate = require('../../../../utils/validate.js');
|
6
|
+
var lodashUnified = require('lodash-unified');
|
6
7
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
return
|
8
|
+
function isPlainObj(itemValue) {
|
9
|
+
if (typeof itemValue !== "object") return false;
|
10
|
+
if (itemValue === null) return true;
|
11
|
+
if (cloneElement.isValidElement(itemValue)) return false;
|
12
|
+
if (itemValue.constructor === RegExp) return false;
|
13
|
+
if (itemValue instanceof Map) return false;
|
14
|
+
if (itemValue instanceof Set) return false;
|
15
|
+
if (itemValue instanceof HTMLElement) return false;
|
16
|
+
if (itemValue instanceof Blob) return false;
|
17
|
+
if (itemValue instanceof File) return false;
|
18
|
+
if (Array.isArray(itemValue)) return false;
|
19
|
+
return true;
|
20
|
+
}
|
21
|
+
const transformKeySubmitValue = (values, transformerMap, paramsOmitNil) => {
|
22
|
+
if (Object.keys(values).length < 1) {
|
23
|
+
return values;
|
24
|
+
}
|
25
|
+
if (typeof window === "undefined") return values;
|
26
|
+
if (typeof values !== "object" || validate.isNil(values) || values instanceof Blob) {
|
27
|
+
return values;
|
28
|
+
}
|
29
|
+
let finalValues = Array.isArray(values) ? [] : {};
|
30
|
+
const gen = (tempValues, parentsKey) => {
|
31
|
+
const isArrayValues = Array.isArray(tempValues);
|
32
|
+
let result = isArrayValues ? [] : {};
|
33
|
+
if (tempValues == null || tempValues === void 0) {
|
34
|
+
return result;
|
35
|
+
}
|
36
|
+
Object.keys(tempValues).forEach((entityKey) => {
|
37
|
+
var _a;
|
38
|
+
const transformForArray = (transformList, subItemValue) => {
|
39
|
+
if (!Array.isArray(transformList)) return entityKey;
|
40
|
+
transformList.forEach((transform2, idx) => {
|
41
|
+
if (!transform2) return;
|
42
|
+
const subTransformItem = subItemValue == null ? void 0 : subItemValue[idx];
|
43
|
+
if (typeof transform2 === "function") {
|
44
|
+
subItemValue[idx] = transform2(subItemValue, entityKey, tempValues);
|
45
|
+
}
|
46
|
+
if (typeof transform2 === "object" && !Array.isArray(transform2)) {
|
47
|
+
Object.keys(transform2).forEach((transformArrayItem) => {
|
48
|
+
const subTransformItemValue = subTransformItem == null ? void 0 : subTransformItem[transformArrayItem];
|
49
|
+
if (typeof transform2[transformArrayItem] === "function" && subTransformItemValue) {
|
50
|
+
const res = transform2[transformArrayItem](
|
51
|
+
subTransformItem[transformArrayItem],
|
52
|
+
entityKey,
|
53
|
+
tempValues
|
54
|
+
);
|
55
|
+
subTransformItem[transformArrayItem] = typeof res === "object" ? res[transformArrayItem] : res;
|
56
|
+
} else if (typeof transform2[transformArrayItem] === "object" && Array.isArray(transform2[transformArrayItem]) && subTransformItemValue) {
|
57
|
+
transformForArray(transform2[transformArrayItem], subTransformItemValue);
|
58
|
+
}
|
59
|
+
});
|
60
|
+
}
|
61
|
+
if (typeof transform2 === "object" && Array.isArray(transform2) && subTransformItem) {
|
62
|
+
transformForArray(transform2, subTransformItem);
|
63
|
+
}
|
64
|
+
});
|
65
|
+
return entityKey;
|
66
|
+
};
|
67
|
+
const itemValue = tempValues[entityKey];
|
68
|
+
const transformFunction = (_a = transformerMap.get(entityKey)) == null ? void 0 : _a.transform;
|
69
|
+
const transform = () => {
|
70
|
+
let tempKey, transformedResult, isTransformedResultPrimitive = false;
|
71
|
+
if (typeof transformFunction === "function") {
|
72
|
+
transformedResult = transformFunction == null ? void 0 : transformFunction(itemValue, entityKey, tempValues);
|
73
|
+
const typeOfResult = typeof transformedResult;
|
74
|
+
if (typeOfResult !== "object" && typeOfResult !== "undefined") {
|
75
|
+
tempKey = entityKey;
|
76
|
+
isTransformedResultPrimitive = true;
|
77
|
+
} else {
|
78
|
+
tempKey = transformedResult;
|
79
|
+
}
|
80
|
+
} else {
|
81
|
+
tempKey = transformForArray(transformFunction, itemValue);
|
82
|
+
}
|
83
|
+
if (Array.isArray(tempKey)) {
|
84
|
+
result = lodashUnified.set(result, tempKey, itemValue);
|
85
|
+
return;
|
86
|
+
}
|
87
|
+
if (typeof tempKey === "object" && !Array.isArray(finalValues)) {
|
88
|
+
finalValues = lodashUnified.merge(finalValues, tempKey);
|
89
|
+
} else if (typeof tempKey === "object" && Array.isArray(finalValues)) {
|
90
|
+
result = { ...result, ...tempKey };
|
91
|
+
} else if (tempKey !== null || tempKey !== void 0) {
|
92
|
+
result = lodashUnified.set(
|
93
|
+
result,
|
94
|
+
[tempKey],
|
95
|
+
isTransformedResultPrimitive ? transformedResult : itemValue
|
96
|
+
);
|
97
|
+
}
|
98
|
+
};
|
99
|
+
if (transformFunction && typeof transformFunction === "function") {
|
100
|
+
transform();
|
101
|
+
}
|
102
|
+
if (typeof window === "undefined") return;
|
103
|
+
if (isPlainObj(itemValue)) {
|
104
|
+
const genValues = gen(itemValue);
|
105
|
+
if (Object.keys(genValues).length < 1) {
|
106
|
+
return;
|
107
|
+
}
|
108
|
+
result = lodashUnified.set(result, [entityKey], genValues);
|
109
|
+
return;
|
110
|
+
}
|
111
|
+
transform();
|
112
|
+
});
|
113
|
+
return paramsOmitNil ? result : tempValues;
|
114
|
+
};
|
115
|
+
finalValues = Array.isArray(values) && Array.isArray(finalValues) ? [...gen(values)] : lodashUnified.merge({}, gen(values), finalValues);
|
116
|
+
return finalValues;
|
117
|
+
};
|
118
|
+
const convertKeyInitialValue = (values, transformerMap) => {
|
119
|
+
if (Object.keys(values).length < 1) {
|
120
|
+
return values;
|
121
|
+
}
|
122
|
+
const finalValues = {};
|
123
|
+
Object.keys(values).forEach((entityKey) => {
|
124
|
+
var _a;
|
125
|
+
const itemValue = values[entityKey];
|
126
|
+
const convertValueFunction = (_a = transformerMap.get(entityKey)) == null ? void 0 : _a.convertValue;
|
127
|
+
if (typeof convertValueFunction === "function") {
|
128
|
+
const convertResult = convertValueFunction == null ? void 0 : convertValueFunction(itemValue, entityKey);
|
129
|
+
finalValues[entityKey] = convertResult;
|
130
|
+
} else {
|
131
|
+
finalValues[entityKey] = itemValue;
|
132
|
+
}
|
133
|
+
});
|
134
|
+
return finalValues;
|
11
135
|
};
|
12
136
|
function useAction({
|
13
137
|
props,
|
@@ -15,6 +139,7 @@ function useAction({
|
|
15
139
|
formData,
|
16
140
|
initialValues,
|
17
141
|
hasInitial,
|
142
|
+
transformerMap,
|
18
143
|
onFinish,
|
19
144
|
onReset,
|
20
145
|
onFinishFailed
|
@@ -43,20 +168,20 @@ function useAction({
|
|
43
168
|
if (!namePath$1) throw new Error("name is require");
|
44
169
|
const value = lodashUnified.get(formData.value, namePath$1);
|
45
170
|
const obj = lodashUnified.set({}, namePath$1, value);
|
46
|
-
return lodashUnified.get(
|
171
|
+
return lodashUnified.get(transformKeySubmitValue(obj, transformerMap.value, props.omitNil), namePath$1);
|
47
172
|
};
|
48
173
|
const getFieldFormatValueObject = (name) => {
|
49
174
|
const namePath$1 = namePath.default(name);
|
50
175
|
if (!namePath$1) throw new Error("name is require");
|
51
176
|
const value = lodashUnified.get(formData.value, namePath$1);
|
52
177
|
const obj = lodashUnified.set({}, namePath$1, value);
|
53
|
-
return
|
178
|
+
return transformKeySubmitValue(obj, transformerMap.value, props.omitNil);
|
54
179
|
};
|
55
180
|
const validateFieldsReturnFormatValue = async (nameList) => {
|
56
181
|
var _a;
|
57
182
|
if (!Array.isArray(nameList) && nameList) throw new Error("nameList must be array");
|
58
183
|
const values = await ((_a = formRef.value) == null ? void 0 : _a.validateFields(nameList));
|
59
|
-
const transformedKey =
|
184
|
+
const transformedKey = transformKeySubmitValue(values, transformerMap.value, props.omitNil);
|
60
185
|
return transformedKey != null ? transformedKey : {};
|
61
186
|
};
|
62
187
|
const setFieldValue = (name, value) => {
|
@@ -82,10 +207,10 @@ function useAction({
|
|
82
207
|
var _a;
|
83
208
|
hasInitial.value = true;
|
84
209
|
(_a = formRef.value) == null ? void 0 : _a.clearValidate();
|
85
|
-
formData.value = lodashUnified.cloneDeep(initialValues.value);
|
210
|
+
formData.value = lodashUnified.cloneDeep(convertKeyInitialValue(initialValues.value, transformerMap.value));
|
86
211
|
Promise.resolve().then(() => {
|
87
212
|
hasInitial.value = false;
|
88
|
-
onReset == null ? void 0 : onReset(formData.value);
|
213
|
+
onReset == null ? void 0 : onReset(transformKeySubmitValue(formData.value, transformerMap.value, props.omitNil));
|
89
214
|
});
|
90
215
|
};
|
91
216
|
const resetField = (name) => {
|
@@ -141,5 +266,7 @@ function useAction({
|
|
141
266
|
};
|
142
267
|
}
|
143
268
|
|
269
|
+
exports.convertKeyInitialValue = convertKeyInitialValue;
|
270
|
+
exports.transformKeySubmitValue = transformKeySubmitValue;
|
144
271
|
exports.useAction = useAction;
|
145
272
|
//# sourceMappingURL=useAction.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useAction.js","sources":["../../../../../../../packages/components/form/src/hooks/useAction.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-23 20:07:22\n * @LastEditors: shen\n * @LastEditTime: 2025-07-26 12:01:35\n * @Description:\n */\n\nimport type { Ref, ShallowRef } from 'vue'\nimport type { ProFormActionType, NamePath, Entity } from '../type'\nimport type { ProFormProps } from '../props'\nimport type { FormInstance } from 'ant-design-vue'\nimport { cloneDeep, get, isObject, merge, set } from '@pro-design-vue/utils'\nimport covertFormName from '../utils/namePath'\n\nconst transformKey = (values: any, paramsOmitNil: boolean, parentKey?: NamePath) => {\n console.log('🚀 ~ transformKey ~ parentKey:', parentKey)\n console.log('🚀 ~ transformKey ~ paramsOmitNil:', paramsOmitNil)\n return values\n}\n\nexport function useAction({\n props,\n formRef,\n formData,\n initialValues,\n hasInitial,\n onFinish,\n onReset,\n onFinishFailed,\n}: {\n props: ProFormProps\n formRef: Ref<FormInstance | undefined>\n formData: Ref<Entity>\n initialValues: ShallowRef<Entity>\n hasInitial: Ref<boolean>\n onFinish: ProFormProps['onFinish']\n onReset: ProFormProps['onReset']\n onFinishFailed: ProFormProps['onFinishFailed']\n}): ProFormActionType {\n const getFieldValue = (name: NamePath) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n return get(formData.value, namePath)\n }\n const getFieldsValue = (nameList?: true | NamePath[]) => {\n if (nameList === true || nameList === undefined) {\n return cloneDeep(formData.value)\n }\n const obj = {}\n nameList.forEach((name) => {\n const namePath = covertFormName(name)\n const value = get(formData.value, namePath!)\n if (value !== undefined) {\n set(obj, namePath!, value)\n }\n })\n return obj\n }\n const getFieldFormatValue = (name: NamePath) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n const value = get(formData.value, namePath)\n const obj = set({}, namePath, value)\n return get(transformKey(obj, props.omitNil!, namePath), namePath)\n }\n\n const getFieldFormatValueObject = (name: NamePath) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n const value = get(formData.value, namePath)\n const obj = set({}, namePath, value)\n return transformKey(obj, props.omitNil!, namePath)\n }\n\n const validateFieldsReturnFormatValue = async (nameList?: NamePath[]) => {\n if (!Array.isArray(nameList) && nameList) throw new Error('nameList must be array')\n\n const values = await formRef.value?.validateFields(nameList)\n const transformedKey = transformKey(values, props.omitNil!)\n return transformedKey ?? {}\n }\n\n const setFieldValue = (name: NamePath, value: any) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n set(formData.value, namePath, value)\n }\n\n const setFieldsValue = (values: Entity, isMerge: boolean = true) => {\n if (!values) throw new Error('values is require')\n if (isMerge) {\n formData.value = merge({}, formData.value, values)\n } else {\n formData.value = cloneDeep(values)\n }\n }\n const resetInitialValues = (values: Entity) => {\n if (!values) throw new Error('values is require')\n if (!isObject(values)) throw new Error('values must be object')\n hasInitial.value = true\n initialValues.value = cloneDeep(values)\n }\n\n const reset = () => {\n hasInitial.value = true\n formRef.value?.clearValidate()\n formData.value = cloneDeep(initialValues.value)\n Promise.resolve().then(() => {\n hasInitial.value = false\n onReset?.(formData.value)\n })\n }\n\n const resetField = (name: NamePath) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n formRef.value?.clearValidate(name)\n set(formData.value, name, cloneDeep(get(initialValues.value, name)))\n }\n\n const clearValidate = (name?: NamePath) => {\n formRef.value?.clearValidate(name)\n }\n\n const validateFields = (nameList?: NamePath[]) => {\n return new Promise((resolve, reject) => {\n formRef.value\n ?.validateFields(nameList)\n .then((values) => {\n resolve({ ...formData.value, ...values })\n })\n .catch((e) => {\n reject(e)\n })\n }) as Promise<Entity>\n }\n\n const submit = () => {\n validateFields()\n .then((values) => {\n if (onFinish) {\n try {\n onFinish(values)\n } catch (err) {\n console.error(err)\n }\n }\n })\n .catch((e) => {\n if (onFinishFailed) {\n onFinishFailed(e)\n }\n })\n }\n\n return {\n getFieldValue,\n getFieldsValue,\n resetInitialValues,\n getFieldFormatValue,\n getFieldFormatValueObject,\n validateFieldsReturnFormatValue,\n setFieldValue,\n setFieldsValue,\n resetField,\n clearValidate,\n validateFields,\n reset,\n submit,\n }\n}\n"],"names":["namePath","covertFormName","get","cloneDeep","set","merge","isObject"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"useAction.js","sources":["../../../../../../../packages/components/form/src/hooks/useAction.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-23 20:07:22\n * @LastEditors: shen\n * @LastEditTime: 2025-09-22 16:11:16\n * @Description:\n */\n\nimport type { Ref, ShallowRef } from 'vue'\nimport type { ProFormActionType, NamePath, Entity, TransformerMapType } from '../type'\nimport type { ProFormProps } from '../props'\nimport type { FormInstance } from 'ant-design-vue'\nimport { cloneDeep, get, isObject, merge, set, isNil, isValidElement } from '@pro-design-vue/utils'\nimport covertFormName from '../utils/namePath'\n\n/**\n * 暂时还不支持 Set和 Map 结构 判断是不是一个能遍历的对象\n *\n * @param itemValue\n * @returns Boolean\n */\nfunction isPlainObj(itemValue: any) {\n if (typeof itemValue !== 'object') return false\n\n /** Null 也要处理,不然omit空会失效 */\n if (itemValue === null) return true\n\n if (isValidElement(itemValue)) return false\n if (itemValue.constructor === RegExp) return false\n if (itemValue instanceof Map) return false\n if (itemValue instanceof Set) return false\n if (itemValue instanceof HTMLElement) return false\n if (itemValue instanceof Blob) return false\n if (itemValue instanceof File) return false\n if (Array.isArray(itemValue)) return false\n return true\n}\n\nexport const transformKeySubmitValue = <T extends object = any>(\n values: T,\n transformerMap: TransformerMapType,\n paramsOmitNil?: boolean,\n) => {\n if (Object.keys(values).length < 1) {\n return values\n }\n\n if (typeof window === 'undefined') return values\n // 如果 value 是 string | null | Array | Blob类型 其中之一,直接返回\n // 形如 {key: [File, File]} 的表单字段当进行第二次递归时会导致其直接越过 typeof value !== 'object'\n if (typeof values !== 'object' || isNil(values) || values instanceof Blob) {\n return values\n }\n let finalValues: any = Array.isArray(values) ? [] : ({} as T)\n\n const gen = (tempValues: T, parentsKey?: NamePath) => {\n const isArrayValues = Array.isArray(tempValues)\n let result = isArrayValues ? ([] as any) : ({} as T)\n if (tempValues == null || tempValues === undefined) {\n return result\n }\n\n Object.keys(tempValues).forEach((entityKey) => {\n const transformForArray = (transformList: any, subItemValue: any) => {\n if (!Array.isArray(transformList)) return entityKey\n transformList.forEach((transform: Function | Record<string, any> | any[], idx: number) => {\n // 如果不存在直接返回\n if (!transform) return\n\n const subTransformItem = subItemValue?.[idx]\n\n // 如果是个方法,把key设置为方法的返回值\n if (typeof transform === 'function') {\n subItemValue[idx] = transform(subItemValue, entityKey, tempValues)\n }\n if (typeof transform === 'object' && !Array.isArray(transform)) {\n Object.keys(transform).forEach((transformArrayItem) => {\n const subTransformItemValue = subTransformItem?.[transformArrayItem]\n if (typeof transform[transformArrayItem] === 'function' && subTransformItemValue) {\n const res = transform[transformArrayItem](\n subTransformItem[transformArrayItem],\n entityKey,\n tempValues,\n )\n subTransformItem[transformArrayItem] =\n typeof res === 'object' ? res[transformArrayItem] : res\n } else if (\n typeof transform[transformArrayItem] === 'object' &&\n Array.isArray(transform[transformArrayItem]) &&\n subTransformItemValue\n ) {\n transformForArray(transform[transformArrayItem], subTransformItemValue)\n }\n })\n }\n if (typeof transform === 'object' && Array.isArray(transform) && subTransformItem) {\n transformForArray(transform, subTransformItem)\n }\n })\n return entityKey\n }\n const key = parentsKey ? [parentsKey, entityKey].flat(1) : [entityKey].flat(1)\n const itemValue = (tempValues as any)[entityKey]\n const transformFunction = transformerMap.get(entityKey)?.transform\n\n const transform = () => {\n let tempKey,\n transformedResult,\n isTransformedResultPrimitive = false\n\n /**\n * 先判断是否是方法,是的话执行后拿到值,如果是基本类型,则认为是直接 transform 为新的值,\n * 如果返回是 Object 则认为是 transform 为新的 {newKey: newValue}\n */\n if (typeof transformFunction === 'function') {\n transformedResult = transformFunction?.(itemValue, entityKey, tempValues)\n const typeOfResult = typeof transformedResult\n if (typeOfResult !== 'object' && typeOfResult !== 'undefined') {\n tempKey = entityKey\n isTransformedResultPrimitive = true\n } else {\n tempKey = transformedResult\n }\n } else {\n tempKey = transformForArray(transformFunction, itemValue)\n }\n\n // { [key:string]:any } 数组也能通过编译\n if (Array.isArray(tempKey)) {\n result = set(result, tempKey, itemValue)\n return\n }\n if (typeof tempKey === 'object' && !Array.isArray(finalValues)) {\n finalValues = merge(finalValues, tempKey)\n } else if (typeof tempKey === 'object' && Array.isArray(finalValues)) {\n result = { ...result, ...tempKey }\n } else if (tempKey !== null || tempKey !== undefined) {\n result = set(\n result,\n [tempKey],\n isTransformedResultPrimitive ? transformedResult : itemValue,\n )\n }\n }\n\n /** 如果存在转化器提前渲染一下 */\n if (transformFunction && typeof transformFunction === 'function') {\n transform()\n }\n\n if (typeof window === 'undefined') return\n if (isPlainObj(itemValue)) {\n const genValues = gen(itemValue, key)\n if (Object.keys(genValues).length < 1) {\n return\n }\n result = set(result, [entityKey], genValues)\n return\n }\n transform()\n })\n return paramsOmitNil ? result : tempValues\n }\n\n finalValues =\n Array.isArray(values) && Array.isArray(finalValues)\n ? [...gen(values)]\n : merge({}, gen(values), finalValues)\n\n return finalValues as T\n}\n\nexport const convertKeyInitialValue = <T extends object = any>(\n values: T,\n transformerMap: TransformerMapType,\n) => {\n if (Object.keys(values).length < 1) {\n return values\n }\n\n const finalValues: any = {} as T\n Object.keys(values).forEach((entityKey) => {\n const itemValue = (values as any)[entityKey]\n const convertValueFunction = transformerMap.get(entityKey)?.convertValue\n if (typeof convertValueFunction === 'function') {\n const convertResult = convertValueFunction?.(itemValue, entityKey)\n finalValues[entityKey] = convertResult\n } else {\n finalValues[entityKey] = itemValue\n }\n })\n\n return finalValues\n}\n\nexport function useAction({\n props,\n formRef,\n formData,\n initialValues,\n hasInitial,\n transformerMap,\n onFinish,\n onReset,\n onFinishFailed,\n}: {\n props: ProFormProps\n formRef: Ref<FormInstance | undefined>\n formData: Ref<Entity>\n initialValues: ShallowRef<Entity>\n hasInitial: Ref<boolean>\n transformerMap: ShallowRef<TransformerMapType>\n onFinish: ProFormProps['onFinish']\n onReset: ProFormProps['onReset']\n onFinishFailed: ProFormProps['onFinishFailed']\n}): ProFormActionType {\n const getFieldValue = (name: NamePath) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n return get(formData.value, namePath)\n }\n const getFieldsValue = (nameList?: true | NamePath[]) => {\n if (nameList === true || nameList === undefined) {\n return cloneDeep(formData.value)\n }\n const obj: any = {}\n nameList.forEach((name) => {\n const namePath = covertFormName(name)\n const value = get(formData.value, namePath!)\n if (value !== undefined) {\n set(obj, namePath!, value)\n }\n })\n return obj\n }\n const getFieldFormatValue = (name: NamePath) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n const value = get(formData.value, namePath)\n const obj = set({}, namePath, value)\n return get(transformKeySubmitValue(obj, transformerMap.value, props.omitNil!), namePath)\n }\n\n const getFieldFormatValueObject = (name: NamePath) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n const value = get(formData.value, namePath)\n const obj = set({}, namePath, value)\n return transformKeySubmitValue(obj, transformerMap.value, props.omitNil!)\n }\n\n const validateFieldsReturnFormatValue = async (nameList?: NamePath[]) => {\n if (!Array.isArray(nameList) && nameList) throw new Error('nameList must be array')\n\n const values = await formRef.value?.validateFields(nameList)\n const transformedKey = transformKeySubmitValue(values!, transformerMap.value, props.omitNil!)\n return transformedKey ?? {}\n }\n\n const setFieldValue = (name: NamePath, value: any) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n set(formData.value, namePath, value)\n }\n\n const setFieldsValue = (values: Entity, isMerge: boolean = true) => {\n if (!values) throw new Error('values is require')\n if (isMerge) {\n formData.value = merge({}, formData.value, values)\n } else {\n formData.value = cloneDeep(values)\n }\n }\n const resetInitialValues = (values: Entity) => {\n if (!values) throw new Error('values is require')\n if (!isObject(values)) throw new Error('values must be object')\n hasInitial.value = true\n initialValues.value = cloneDeep(values)\n }\n\n const reset = () => {\n hasInitial.value = true\n formRef.value?.clearValidate()\n formData.value = cloneDeep(convertKeyInitialValue(initialValues.value, transformerMap.value))\n Promise.resolve().then(() => {\n hasInitial.value = false\n onReset?.(transformKeySubmitValue(formData.value, transformerMap.value, props.omitNil))\n })\n }\n\n const resetField = (name: NamePath) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n formRef.value?.clearValidate(name)\n set(formData.value, name, cloneDeep(get(initialValues.value, name)))\n }\n\n const clearValidate = (name?: NamePath) => {\n formRef.value?.clearValidate(name)\n }\n\n const validateFields = (nameList?: NamePath[]) => {\n return new Promise((resolve, reject) => {\n formRef.value\n ?.validateFields(nameList)\n .then((values) => {\n resolve({ ...formData.value, ...values })\n })\n .catch((e) => {\n reject(e)\n })\n }) as Promise<Entity>\n }\n\n const submit = () => {\n validateFields()\n .then((values) => {\n if (onFinish) {\n try {\n onFinish(values)\n } catch (err) {\n console.error(err)\n }\n }\n })\n .catch((e) => {\n if (onFinishFailed) {\n onFinishFailed(e)\n }\n })\n }\n\n return {\n getFieldValue,\n getFieldsValue,\n resetInitialValues,\n getFieldFormatValue,\n getFieldFormatValueObject,\n validateFieldsReturnFormatValue,\n setFieldValue,\n setFieldsValue,\n resetField,\n clearValidate,\n validateFields,\n reset,\n submit,\n }\n}\n"],"names":["isValidElement","isNil","transform","set","merge","namePath","covertFormName","get","cloneDeep","isObject"],"mappings":"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"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import type { ComputedRef, Ref } from 'vue';
|
2
2
|
import type { NamePath, SearchConvertKeyFn, SearchTransformKeyFn } from '../type';
|
3
|
-
export declare function useFieldValue<T>({ namePath, initialValue, convertValue,
|
3
|
+
export declare function useFieldValue<T>({ namePath, initialValue, convertValue, }: {
|
4
4
|
isList?: boolean;
|
5
5
|
namePath: ComputedRef<NamePath>;
|
6
6
|
initialValue?: any;
|
@@ -7,25 +7,18 @@ var lodashUnified = require('lodash-unified');
|
|
7
7
|
function useFieldValue({
|
8
8
|
namePath,
|
9
9
|
initialValue,
|
10
|
-
convertValue
|
11
|
-
transform
|
10
|
+
convertValue
|
12
11
|
}) {
|
13
12
|
const fieldValue = vue.shallowRef();
|
14
|
-
const { formData, initialValues
|
13
|
+
const { formData, initialValues } = FormContext.useInjectForm();
|
15
14
|
const modelValue = vue.computed(() => lodashUnified.get(formData.value, namePath.value));
|
16
15
|
const onValueChange = (value) => {
|
17
|
-
lodashUnified.set(
|
18
|
-
formData.value,
|
19
|
-
namePath.value,
|
20
|
-
transform ? transform(value, namePath.value, formData.value) : value
|
21
|
-
);
|
16
|
+
lodashUnified.set(formData.value, namePath.value, value);
|
22
17
|
};
|
23
18
|
vue.watch(
|
24
19
|
modelValue,
|
25
20
|
(newValue) => {
|
26
|
-
fieldValue.value = lodashUnified.cloneDeep(
|
27
|
-
convertValue ? convertValue(newValue, namePath.value) : newValue
|
28
|
-
);
|
21
|
+
fieldValue.value = lodashUnified.cloneDeep(newValue);
|
29
22
|
},
|
30
23
|
{
|
31
24
|
immediate: true,
|
@@ -34,11 +27,14 @@ function useFieldValue({
|
|
34
27
|
);
|
35
28
|
const initFieldInitialValue = () => {
|
36
29
|
var _a;
|
37
|
-
if (
|
38
|
-
|
30
|
+
if (
|
31
|
+
// !mountedRef.value &&
|
32
|
+
typeof modelValue.value === "undefined" && typeof initialValue !== "undefined"
|
33
|
+
) {
|
34
|
+
const value = convertValue ? convertValue(initialValue, namePath.value) : initialValue;
|
39
35
|
lodashUnified.set(formData.value, namePath.value, lodashUnified.cloneDeep(value));
|
40
|
-
lodashUnified.set((_a = initialValues == null ? void 0 : initialValues.value) != null ? _a : {}, namePath.value, lodashUnified.cloneDeep(
|
41
|
-
fieldValue.value =
|
36
|
+
lodashUnified.set((_a = initialValues == null ? void 0 : initialValues.value) != null ? _a : {}, namePath.value, lodashUnified.cloneDeep(initialValue));
|
37
|
+
fieldValue.value = value;
|
42
38
|
}
|
43
39
|
};
|
44
40
|
initFieldInitialValue();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useFieldValue.js","sources":["../../../../../../../packages/components/form/src/hooks/useFieldValue.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2022-06-10 15:44:38\n * @LastEditors: shen\n * @LastEditTime: 2025-09-
|
1
|
+
{"version":3,"file":"useFieldValue.js","sources":["../../../../../../../packages/components/form/src/hooks/useFieldValue.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2022-06-10 15:44:38\n * @LastEditors: shen\n * @LastEditTime: 2025-09-22 16:14:20\n * @Description:\n */\nimport type { ComputedRef, Ref } from 'vue'\nimport type { NamePath, SearchConvertKeyFn, SearchTransformKeyFn } from '../type'\n\nimport { computed, shallowRef, watch } from 'vue'\nimport { useInjectForm } from '../context/FormContext'\nimport { cloneDeep, set, get } from '@pro-design-vue/utils'\n\nexport function useFieldValue<T>({\n namePath,\n initialValue,\n convertValue,\n}: {\n isList?: boolean\n namePath: ComputedRef<NamePath>\n initialValue?: any\n convertValue?: SearchConvertKeyFn\n transform?: SearchTransformKeyFn\n}): {\n fieldValue: Ref<T | undefined>\n onValueChange: (value: T) => void\n} {\n const fieldValue = shallowRef<T | undefined>()\n\n const { formData, initialValues } = useInjectForm()\n\n const modelValue = computed(() => get(formData.value, namePath.value) as T)\n\n const onValueChange = (value: T) => {\n set(formData.value, namePath.value, value)\n }\n\n watch(\n modelValue,\n (newValue) => {\n fieldValue.value = cloneDeep(newValue)\n },\n {\n immediate: true,\n deep: true,\n },\n )\n\n const initFieldInitialValue = () => {\n if (\n // !mountedRef.value &&\n typeof modelValue.value === 'undefined' &&\n typeof initialValue !== 'undefined'\n ) {\n const value = convertValue ? (convertValue(initialValue, namePath.value) as T) : initialValue\n set(formData.value, namePath.value, cloneDeep(value))\n set(initialValues?.value ?? {}, namePath.value, cloneDeep(initialValue))\n fieldValue.value = value\n }\n }\n initFieldInitialValue()\n\n return {\n fieldValue,\n onValueChange,\n }\n}\n"],"names":["shallowRef","useInjectForm","computed","get","set","watch","cloneDeep"],"mappings":";;;;;;AAcO,SAAS,aAAA,CAAiB;AAAA,EAC/B,QAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAAA,EASE;AACA,EAAA,MAAM,aAAaA,cAAA,EAA0B;AAE7C,EAAA,MAAM,EAAE,QAAA,EAAU,aAAA,EAAc,GAAIC,yBAAA,EAAc;AAElD,EAAA,MAAM,UAAA,GAAaC,aAAS,MAAMC,iBAAA,CAAI,SAAS,KAAA,EAAO,QAAA,CAAS,KAAK,CAAM,CAAA;AAE1E,EAAA,MAAM,aAAA,GAAgB,CAAC,KAAA,KAAa;AAClC,IAAAC,iBAAA,CAAI,QAAA,CAAS,KAAA,EAAO,QAAA,CAAS,KAAA,EAAO,KAAK,CAAA;AAAA,EAC3C,CAAA;AAEA,EAAAC,SAAA;AAAA,IACE,UAAA;AAAA,IACA,CAAC,QAAA,KAAa;AACZ,MAAA,UAAA,CAAW,KAAA,GAAQC,wBAAU,QAAQ,CAAA;AAAA,IACvC,CAAA;AAAA,IACA;AAAA,MACE,SAAA,EAAW,IAAA;AAAA,MACX,IAAA,EAAM;AAAA;AACR,GACF;AAEA,EAAA,MAAM,wBAAwB,MAAM;AAjDtC,IAAA,IAAA,EAAA;AAkDI,IAAA;AAAA;AAAA,MAEE,OAAO,UAAA,CAAW,KAAA,KAAU,WAAA,IAC5B,OAAO,YAAA,KAAiB;AAAA,MACxB;AACA,MAAA,MAAM,QAAQ,YAAA,GAAgB,YAAA,CAAa,YAAA,EAAc,QAAA,CAAS,KAAK,CAAA,GAAU,YAAA;AACjF,MAAAF,iBAAA,CAAI,SAAS,KAAA,EAAO,QAAA,CAAS,KAAA,EAAOE,uBAAA,CAAU,KAAK,CAAC,CAAA;AACpD,MAAAF,iBAAA,CAAA,CAAI,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAe,UAAf,IAAA,GAAA,EAAA,GAAwB,IAAI,QAAA,CAAS,KAAA,EAAOE,uBAAA,CAAU,YAAY,CAAC,CAAA;AACvE,MAAA,UAAA,CAAW,KAAA,GAAQ,KAAA;AAAA,IACrB;AAAA,EACF,CAAA;AACA,EAAA,qBAAA,EAAsB;AAEtB,EAAA,OAAO;AAAA,IACL,UAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
|
@@ -6,7 +6,6 @@ var vue = require('vue');
|
|
6
6
|
var antDesignVue = require('ant-design-vue');
|
7
7
|
var index = require('../../../drawer/index.js');
|
8
8
|
var props = require('../props.js');
|
9
|
-
var useFormExpose = require('../hooks/useFormExpose.js');
|
10
9
|
var BaseForm = require('../base/BaseForm.js');
|
11
10
|
var cloneElement = require('../../../../utils/clone-element.js');
|
12
11
|
var useIntl = require('../../../config-provider/src/useIntl.js');
|
@@ -27,8 +26,7 @@ var DrawerForm = /* @__PURE__ */ vue.defineComponent({
|
|
27
26
|
emits: ["update:open"],
|
28
27
|
setup(props, {
|
29
28
|
slots,
|
30
|
-
emit
|
31
|
-
expose
|
29
|
+
emit
|
32
30
|
}) {
|
33
31
|
const _open = vue.ref(false);
|
34
32
|
const loading = vue.ref(false);
|
@@ -36,7 +34,6 @@ var DrawerForm = /* @__PURE__ */ vue.defineComponent({
|
|
36
34
|
const intl = useIntl.useIntl();
|
37
35
|
const formRef = vue.ref();
|
38
36
|
const footerRef = vue.ref(null);
|
39
|
-
const formExpose = useFormExpose.useFormExpose(formRef);
|
40
37
|
const open = vue.computed({
|
41
38
|
get: () => {
|
42
39
|
var _a;
|
@@ -56,7 +53,7 @@ var DrawerForm = /* @__PURE__ */ vue.defineComponent({
|
|
56
53
|
});
|
57
54
|
const formProps = vue.computed(() => {
|
58
55
|
return {
|
59
|
-
...omit.omitUndefined(omit.omit(props, ["onOpenChange", "closeOnFinish", "drawerProps", "title", "width", "confirmOnValuesChange", "submitTimeout", "onFinish", "submitter"])),
|
56
|
+
...omit.omitUndefined(omit.omit(props, ["onOpenChange", "closeOnFinish", "drawerProps", "title", "width", "onInit", "confirmOnValuesChange", "submitTimeout", "onFinish", "submitter"])),
|
60
57
|
layout: "vertical"
|
61
58
|
};
|
62
59
|
});
|
@@ -162,10 +159,6 @@ var DrawerForm = /* @__PURE__ */ vue.defineComponent({
|
|
162
159
|
}
|
163
160
|
return result;
|
164
161
|
};
|
165
|
-
expose({
|
166
|
-
formRef,
|
167
|
-
...formExpose
|
168
|
-
});
|
169
162
|
return () => vue.createVNode(vue.Fragment, null, [vue.createVNode(index.ProDrawer, vue.mergeProps(drawerProps.value, {
|
170
163
|
"open": open.value,
|
171
164
|
"onAfterOpenChange": (e) => {
|
@@ -179,9 +172,7 @@ var DrawerForm = /* @__PURE__ */ vue.defineComponent({
|
|
179
172
|
closeConfirm(e);
|
180
173
|
}
|
181
174
|
}), {
|
182
|
-
default: () => [vue.createVNode(BaseForm.default, vue.mergeProps({
|
183
|
-
"ref": formRef
|
184
|
-
}, formProps.value, {
|
175
|
+
default: () => [vue.createVNode(BaseForm.default, vue.mergeProps(formProps.value, {
|
185
176
|
"submitter": submitterConfig.value,
|
186
177
|
"onFinish": async (values) => {
|
187
178
|
const result = await onFinishHandle(values);
|
@@ -200,6 +191,11 @@ var DrawerForm = /* @__PURE__ */ vue.defineComponent({
|
|
200
191
|
valuesChanged.value = false;
|
201
192
|
}
|
202
193
|
(_a = props.onReset) == null ? void 0 : _a.call(props);
|
194
|
+
},
|
195
|
+
"onInit": (values, action) => {
|
196
|
+
var _a;
|
197
|
+
formRef.value = action;
|
198
|
+
(_a = props.onInit) == null ? void 0 : _a.call(props, values, action);
|
203
199
|
}
|
204
200
|
}), formSlots.value)],
|
205
201
|
...drawerSlots.value,
|