pro-design-vue 1.2.19 → 1.2.21
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.css +1 -1
- package/dist/index.full.js +350 -82
- package/dist/index.full.min.js +7 -7
- 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 +351 -83
- package/es/components/form/src/components/FormGroup.d.ts +1 -0
- package/es/components/form/src/components/FormList.d.ts +1 -0
- package/es/components/form/src/components/FormListContainer.d.ts +1 -0
- package/es/components/form/src/components/FormListItem.d.ts +1 -0
- package/es/components/form/src/components/FormSet.d.ts +1 -0
- package/es/components/form/src/components/FormTitle.d.ts +10 -0
- package/es/components/form/src/fields/FieldUploadButton.d.ts +27 -4
- package/es/components/form/src/fields/FieldUploadDragger.d.ts +43 -19
- package/es/components/form/src/type.d.ts +1 -0
- package/es/index.d.ts +1 -0
- package/es/packages/components/form/src/components/FormItem.mjs +2 -1
- package/es/packages/components/form/src/components/FormItem.mjs.map +1 -1
- package/es/packages/components/form/src/components/FormTitle.mjs +8 -2
- package/es/packages/components/form/src/components/FormTitle.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldCascader.mjs +8 -1
- package/es/packages/components/form/src/fields/FieldCascader.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldDatePicker.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldDatePicker.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldDateRangePicker.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldDateRangePicker.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldDigit.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldDigit.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldDigitRange.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldDigitRange.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldPassword.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldPassword.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldRate.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldRate.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldSelect.mjs +8 -1
- package/es/packages/components/form/src/fields/FieldSelect.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldSlider.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldSlider.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldSwitch.mjs +8 -1
- package/es/packages/components/form/src/fields/FieldSwitch.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldText.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldText.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldTimePicker.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldTimePicker.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldTimeRangePicker.mjs +10 -2
- package/es/packages/components/form/src/fields/FieldTimeRangePicker.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldTreeSelect.mjs +8 -1
- package/es/packages/components/form/src/fields/FieldTreeSelect.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldUploadButton.mjs +119 -28
- package/es/packages/components/form/src/fields/FieldUploadButton.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldUploadDragger.mjs +102 -29
- package/es/packages/components/form/src/fields/FieldUploadDragger.mjs.map +1 -1
- package/es/packages/components/form/src/utils/fieldPropsMap.mjs +4 -0
- package/es/packages/components/form/src/utils/fieldPropsMap.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/form/src/components/FormGroup.d.ts +1 -0
- package/lib/components/form/src/components/FormList.d.ts +1 -0
- package/lib/components/form/src/components/FormListContainer.d.ts +1 -0
- package/lib/components/form/src/components/FormListItem.d.ts +1 -0
- package/lib/components/form/src/components/FormSet.d.ts +1 -0
- package/lib/components/form/src/components/FormTitle.d.ts +10 -0
- package/lib/components/form/src/fields/FieldUploadButton.d.ts +27 -4
- package/lib/components/form/src/fields/FieldUploadDragger.d.ts +43 -19
- package/lib/components/form/src/type.d.ts +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/packages/components/form/src/components/FormItem.js +2 -1
- package/lib/packages/components/form/src/components/FormItem.js.map +1 -1
- package/lib/packages/components/form/src/components/FormTitle.js +8 -2
- package/lib/packages/components/form/src/components/FormTitle.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldCascader.js +8 -1
- package/lib/packages/components/form/src/fields/FieldCascader.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldDatePicker.js +10 -2
- package/lib/packages/components/form/src/fields/FieldDatePicker.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldDateRangePicker.js +10 -2
- package/lib/packages/components/form/src/fields/FieldDateRangePicker.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldDigit.js +10 -2
- package/lib/packages/components/form/src/fields/FieldDigit.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldDigitRange.js +10 -2
- package/lib/packages/components/form/src/fields/FieldDigitRange.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldPassword.js +10 -2
- package/lib/packages/components/form/src/fields/FieldPassword.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldRate.js +10 -2
- package/lib/packages/components/form/src/fields/FieldRate.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldSelect.js +8 -1
- package/lib/packages/components/form/src/fields/FieldSelect.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldSlider.js +10 -2
- package/lib/packages/components/form/src/fields/FieldSlider.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldSwitch.js +8 -1
- package/lib/packages/components/form/src/fields/FieldSwitch.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldText.js +10 -2
- package/lib/packages/components/form/src/fields/FieldText.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldTimePicker.js +10 -2
- package/lib/packages/components/form/src/fields/FieldTimePicker.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldTimeRangePicker.js +10 -2
- package/lib/packages/components/form/src/fields/FieldTimeRangePicker.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldTreeSelect.js +8 -1
- package/lib/packages/components/form/src/fields/FieldTreeSelect.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldUploadButton.js +117 -26
- package/lib/packages/components/form/src/fields/FieldUploadButton.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldUploadDragger.js +100 -27
- package/lib/packages/components/form/src/fields/FieldUploadDragger.js.map +1 -1
- package/lib/packages/components/form/src/utils/fieldPropsMap.js +4 -0
- package/lib/packages/components/form/src/utils/fieldPropsMap.js.map +1 -1
- 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/index.css +1 -1
- package/theme-chalk/pro-form.css +1 -1
- package/theme-chalk/src/form.less +12 -0
|
@@ -77,6 +77,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
77
77
|
}>> & Readonly<{}>, {
|
|
78
78
|
title: import("pro-design-vue").ProVNode | ((params: {
|
|
79
79
|
formData: import("pro-design-vue").Entity;
|
|
80
|
+
readonly?: boolean;
|
|
80
81
|
}) => import("pro-design-vue").ProVNode);
|
|
81
82
|
items: ProFormItemType<import("pro-design-vue").Entity, "text" | "select" | "textarea" | "time" | "checkbox" | "date" | "password" | "formSet" | "formList" | "group" | "divider" | "digit" | "digitRange" | "treeSelect" | "cascader" | "checkboxGroup" | "radioGroup" | "switch" | "slider" | "rate" | "dateRange" | "timeRange" | "uploadButton" | "uploadDragger" | "uploadPicture" | "uploadPictureList" | "editor">[] | ((formData: import("pro-design-vue").Entity) => ProFormItemType<import("pro-design-vue").Entity, "text" | "select" | "textarea" | "time" | "checkbox" | "date" | "password" | "formSet" | "formList" | "group" | "divider" | "digit" | "digitRange" | "treeSelect" | "cascader" | "checkboxGroup" | "radioGroup" | "switch" | "slider" | "rate" | "dateRange" | "timeRange" | "uploadButton" | "uploadDragger" | "uploadPicture" | "uploadPictureList" | "editor">[]) | undefined;
|
|
82
83
|
item: ProFormItemType;
|
|
@@ -261,6 +261,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
261
261
|
}>, {
|
|
262
262
|
title: import("pro-design-vue").ProVNode | ((params: {
|
|
263
263
|
formData: Entity;
|
|
264
|
+
readonly?: boolean;
|
|
264
265
|
}) => import("pro-design-vue").ProVNode);
|
|
265
266
|
name: import("pro-design-vue").NamePath | undefined;
|
|
266
267
|
items: ProFormItemType<Entity, "text" | "select" | "textarea" | "time" | "checkbox" | "date" | "password" | "formSet" | "formList" | "group" | "divider" | "digit" | "digitRange" | "treeSelect" | "cascader" | "checkboxGroup" | "radioGroup" | "switch" | "slider" | "rate" | "dateRange" | "timeRange" | "uploadButton" | "uploadDragger" | "uploadPicture" | "uploadPictureList" | "editor">[] | ((formData: Entity) => ProFormItemType<Entity, "text" | "select" | "textarea" | "time" | "checkbox" | "date" | "password" | "formSet" | "formList" | "group" | "divider" | "digit" | "digitRange" | "treeSelect" | "cascader" | "checkboxGroup" | "radioGroup" | "switch" | "slider" | "rate" | "dateRange" | "timeRange" | "uploadButton" | "uploadDragger" | "uploadPicture" | "uploadPictureList" | "editor">[]) | undefined;
|
|
@@ -221,6 +221,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
221
221
|
}>, {
|
|
222
222
|
title: import("pro-design-vue").ProVNode | ((params: {
|
|
223
223
|
formData: Entity;
|
|
224
|
+
readonly?: boolean;
|
|
224
225
|
}) => import("pro-design-vue").ProVNode);
|
|
225
226
|
name: import("pro-design-vue").NamePath | undefined;
|
|
226
227
|
items: ProFormItemType<Entity, "text" | "select" | "textarea" | "time" | "checkbox" | "date" | "password" | "formSet" | "formList" | "group" | "divider" | "digit" | "digitRange" | "treeSelect" | "cascader" | "checkboxGroup" | "radioGroup" | "switch" | "slider" | "rate" | "dateRange" | "timeRange" | "uploadButton" | "uploadDragger" | "uploadPicture" | "uploadPictureList" | "editor">[] | ((formData: Entity) => ProFormItemType<Entity, "text" | "select" | "textarea" | "time" | "checkbox" | "date" | "password" | "formSet" | "formList" | "group" | "divider" | "digit" | "digitRange" | "treeSelect" | "cascader" | "checkboxGroup" | "radioGroup" | "switch" | "slider" | "rate" | "dateRange" | "timeRange" | "uploadButton" | "uploadDragger" | "uploadPicture" | "uploadPictureList" | "editor">[]) | undefined;
|
|
@@ -181,6 +181,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
181
181
|
}>, {
|
|
182
182
|
title: import("pro-design-vue").ProVNode | ((params: {
|
|
183
183
|
formData: Entity;
|
|
184
|
+
readonly?: boolean;
|
|
184
185
|
}) => import("pro-design-vue").ProVNode);
|
|
185
186
|
items: ProFormItemType[];
|
|
186
187
|
record: Entity;
|
|
@@ -93,6 +93,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
93
93
|
}>> & Readonly<{}>, {
|
|
94
94
|
title: import("pro-design-vue").ProVNode | ((params: {
|
|
95
95
|
formData: import("pro-design-vue").Entity;
|
|
96
|
+
readonly?: boolean;
|
|
96
97
|
}) => import("pro-design-vue").ProVNode);
|
|
97
98
|
name: import("pro-design-vue").NamePath | undefined;
|
|
98
99
|
items: ProFormItemType<import("pro-design-vue").Entity, "text" | "select" | "textarea" | "time" | "checkbox" | "date" | "password" | "formSet" | "formList" | "group" | "divider" | "digit" | "digitRange" | "treeSelect" | "cascader" | "checkboxGroup" | "radioGroup" | "switch" | "slider" | "rate" | "dateRange" | "timeRange" | "uploadButton" | "uploadDragger" | "uploadPicture" | "uploadPictureList" | "editor">[] | ((formData: import("pro-design-vue").Entity) => ProFormItemType<import("pro-design-vue").Entity, "text" | "select" | "textarea" | "time" | "checkbox" | "date" | "password" | "formSet" | "formList" | "group" | "divider" | "digit" | "digitRange" | "treeSelect" | "cascader" | "checkboxGroup" | "radioGroup" | "switch" | "slider" | "rate" | "dateRange" | "timeRange" | "uploadButton" | "uploadDragger" | "uploadPicture" | "uploadPictureList" | "editor">[]) | undefined;
|
|
@@ -9,6 +9,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
9
9
|
type: (BooleanConstructor | StringConstructor)[];
|
|
10
10
|
default: string;
|
|
11
11
|
};
|
|
12
|
+
readonly: {
|
|
13
|
+
type: BooleanConstructor;
|
|
14
|
+
default: boolean;
|
|
15
|
+
};
|
|
12
16
|
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
13
17
|
title: {
|
|
14
18
|
type: PropType<ProFormItemType["title"]>;
|
|
@@ -18,10 +22,16 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
18
22
|
type: (BooleanConstructor | StringConstructor)[];
|
|
19
23
|
default: string;
|
|
20
24
|
};
|
|
25
|
+
readonly: {
|
|
26
|
+
type: BooleanConstructor;
|
|
27
|
+
default: boolean;
|
|
28
|
+
};
|
|
21
29
|
}>> & Readonly<{}>, {
|
|
22
30
|
title: import("pro-design-vue").ProVNode | ((params: {
|
|
23
31
|
formData: import("pro-design-vue").Entity;
|
|
32
|
+
readonly?: boolean;
|
|
24
33
|
}) => import("pro-design-vue").ProVNode);
|
|
34
|
+
readonly: boolean;
|
|
25
35
|
tooltip: string | boolean;
|
|
26
36
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
27
37
|
export default _default;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { PropType } from 'vue';
|
|
2
|
+
import { type UploadProps } from 'ant-design-vue';
|
|
2
3
|
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
3
4
|
iconRender: {
|
|
4
5
|
type: StringConstructor;
|
|
@@ -27,7 +28,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
27
28
|
type: StringConstructor;
|
|
28
29
|
default: string;
|
|
29
30
|
};
|
|
30
|
-
|
|
31
|
+
maxCount: {
|
|
31
32
|
type: NumberConstructor;
|
|
32
33
|
default: undefined;
|
|
33
34
|
};
|
|
@@ -47,6 +48,16 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
47
48
|
type: PropType<"text" | "picture" | "picture-card">;
|
|
48
49
|
default: string;
|
|
49
50
|
};
|
|
51
|
+
listIgnore: {
|
|
52
|
+
type: BooleanConstructor;
|
|
53
|
+
default: boolean;
|
|
54
|
+
};
|
|
55
|
+
showUploadList: {
|
|
56
|
+
type: PropType<UploadProps["showUploadList"]>;
|
|
57
|
+
default: boolean;
|
|
58
|
+
};
|
|
59
|
+
customRequest: FunctionConstructor;
|
|
60
|
+
beforeUpload: FunctionConstructor;
|
|
50
61
|
value: {
|
|
51
62
|
type: PropType<any>;
|
|
52
63
|
};
|
|
@@ -112,7 +123,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
112
123
|
type: StringConstructor;
|
|
113
124
|
default: string;
|
|
114
125
|
};
|
|
115
|
-
|
|
126
|
+
maxCount: {
|
|
116
127
|
type: NumberConstructor;
|
|
117
128
|
default: undefined;
|
|
118
129
|
};
|
|
@@ -132,6 +143,16 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
132
143
|
type: PropType<"text" | "picture" | "picture-card">;
|
|
133
144
|
default: string;
|
|
134
145
|
};
|
|
146
|
+
listIgnore: {
|
|
147
|
+
type: BooleanConstructor;
|
|
148
|
+
default: boolean;
|
|
149
|
+
};
|
|
150
|
+
showUploadList: {
|
|
151
|
+
type: PropType<UploadProps["showUploadList"]>;
|
|
152
|
+
default: boolean;
|
|
153
|
+
};
|
|
154
|
+
customRequest: FunctionConstructor;
|
|
155
|
+
beforeUpload: FunctionConstructor;
|
|
135
156
|
value: {
|
|
136
157
|
type: PropType<any>;
|
|
137
158
|
};
|
|
@@ -179,14 +200,16 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
179
200
|
options: (string | number | import("pro-design-vue").RequestOptionsType)[] | ((formData: import("pro-design-vue").Entity, rowData?: import("pro-design-vue").Entity) => (string | number | import("pro-design-vue").RequestOptionsType)[]) | undefined;
|
|
180
201
|
valueEnum: import("pro-design-vue").ProValueEnumObj | import("pro-design-vue").ProValueEnumMap | ((formData: import("pro-design-vue").Entity) => import("pro-design-vue").ProValueEnumObj | import("pro-design-vue").ProValueEnumMap) | undefined;
|
|
181
202
|
dependencies: import("pro-design-vue").NamePath[] | undefined;
|
|
182
|
-
max: number;
|
|
183
203
|
iconRender: string;
|
|
184
204
|
removeIcon: string;
|
|
185
205
|
downloadIcon: string;
|
|
186
206
|
itemRender: string;
|
|
187
207
|
previewIcon: string;
|
|
188
|
-
buttonProps: Record<string, any>;
|
|
189
208
|
fileList: unknown[];
|
|
209
|
+
showUploadList: boolean | import("ant-design-vue/es/upload/interface").ShowUploadListInterface | undefined;
|
|
190
210
|
listType: "text" | "picture" | "picture-card";
|
|
211
|
+
maxCount: number;
|
|
212
|
+
buttonProps: Record<string, any>;
|
|
213
|
+
listIgnore: boolean;
|
|
191
214
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
192
215
|
export default _default;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
2
|
+
import { type UploadProps } from 'ant-design-vue';
|
|
1
3
|
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
2
4
|
iconRender: {
|
|
3
5
|
type: StringConstructor;
|
|
@@ -45,42 +47,52 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
45
47
|
type: ArrayConstructor;
|
|
46
48
|
default: undefined;
|
|
47
49
|
};
|
|
50
|
+
listIgnore: {
|
|
51
|
+
type: BooleanConstructor;
|
|
52
|
+
default: boolean;
|
|
53
|
+
};
|
|
54
|
+
showUploadList: {
|
|
55
|
+
type: PropType<UploadProps["showUploadList"]>;
|
|
56
|
+
default: boolean;
|
|
57
|
+
};
|
|
58
|
+
customRequest: FunctionConstructor;
|
|
59
|
+
beforeUpload: FunctionConstructor;
|
|
48
60
|
value: {
|
|
49
|
-
type:
|
|
61
|
+
type: PropType<any>;
|
|
50
62
|
};
|
|
51
63
|
readonly: {
|
|
52
64
|
type: BooleanConstructor;
|
|
53
65
|
default: undefined;
|
|
54
66
|
};
|
|
55
67
|
readonlyProps: {
|
|
56
|
-
type:
|
|
68
|
+
type: PropType<import("pro-design-vue").ProFormItemType["readonlyProps"]>;
|
|
57
69
|
default: undefined;
|
|
58
70
|
};
|
|
59
71
|
valueEnum: {
|
|
60
|
-
type:
|
|
72
|
+
type: PropType<import("pro-design-vue").ProFormItemType["valueEnum"]>;
|
|
61
73
|
default: undefined;
|
|
62
74
|
};
|
|
63
75
|
options: {
|
|
64
|
-
type:
|
|
76
|
+
type: PropType<import("pro-design-vue").ProFormItemType["options"]>;
|
|
65
77
|
default: undefined;
|
|
66
78
|
};
|
|
67
79
|
request: {
|
|
68
|
-
type:
|
|
80
|
+
type: PropType<import("pro-design-vue").ProFormItemType["request"]>;
|
|
69
81
|
default: undefined;
|
|
70
82
|
};
|
|
71
83
|
params: {
|
|
72
|
-
type:
|
|
84
|
+
type: PropType<import("pro-design-vue").ProFormItemType["params"]>;
|
|
73
85
|
default: undefined;
|
|
74
86
|
};
|
|
75
87
|
dependencies: {
|
|
76
|
-
type:
|
|
88
|
+
type: PropType<import("pro-design-vue").ProFormItemType["dependencies"]>;
|
|
77
89
|
default: undefined;
|
|
78
90
|
};
|
|
79
91
|
onChange: {
|
|
80
|
-
type:
|
|
92
|
+
type: PropType<import("pro-design-vue").ProFormItemType["onChange"]>;
|
|
81
93
|
};
|
|
82
94
|
onPressEnter: {
|
|
83
|
-
type:
|
|
95
|
+
type: PropType<import("pro-design-vue").KeyboardEventHandler>;
|
|
84
96
|
};
|
|
85
97
|
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
86
98
|
iconRender: {
|
|
@@ -129,42 +141,52 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
129
141
|
type: ArrayConstructor;
|
|
130
142
|
default: undefined;
|
|
131
143
|
};
|
|
144
|
+
listIgnore: {
|
|
145
|
+
type: BooleanConstructor;
|
|
146
|
+
default: boolean;
|
|
147
|
+
};
|
|
148
|
+
showUploadList: {
|
|
149
|
+
type: PropType<UploadProps["showUploadList"]>;
|
|
150
|
+
default: boolean;
|
|
151
|
+
};
|
|
152
|
+
customRequest: FunctionConstructor;
|
|
153
|
+
beforeUpload: FunctionConstructor;
|
|
132
154
|
value: {
|
|
133
|
-
type:
|
|
155
|
+
type: PropType<any>;
|
|
134
156
|
};
|
|
135
157
|
readonly: {
|
|
136
158
|
type: BooleanConstructor;
|
|
137
159
|
default: undefined;
|
|
138
160
|
};
|
|
139
161
|
readonlyProps: {
|
|
140
|
-
type:
|
|
162
|
+
type: PropType<import("pro-design-vue").ProFormItemType["readonlyProps"]>;
|
|
141
163
|
default: undefined;
|
|
142
164
|
};
|
|
143
165
|
valueEnum: {
|
|
144
|
-
type:
|
|
166
|
+
type: PropType<import("pro-design-vue").ProFormItemType["valueEnum"]>;
|
|
145
167
|
default: undefined;
|
|
146
168
|
};
|
|
147
169
|
options: {
|
|
148
|
-
type:
|
|
170
|
+
type: PropType<import("pro-design-vue").ProFormItemType["options"]>;
|
|
149
171
|
default: undefined;
|
|
150
172
|
};
|
|
151
173
|
request: {
|
|
152
|
-
type:
|
|
174
|
+
type: PropType<import("pro-design-vue").ProFormItemType["request"]>;
|
|
153
175
|
default: undefined;
|
|
154
176
|
};
|
|
155
177
|
params: {
|
|
156
|
-
type:
|
|
178
|
+
type: PropType<import("pro-design-vue").ProFormItemType["params"]>;
|
|
157
179
|
default: undefined;
|
|
158
180
|
};
|
|
159
181
|
dependencies: {
|
|
160
|
-
type:
|
|
182
|
+
type: PropType<import("pro-design-vue").ProFormItemType["dependencies"]>;
|
|
161
183
|
default: undefined;
|
|
162
184
|
};
|
|
163
185
|
onChange: {
|
|
164
|
-
type:
|
|
186
|
+
type: PropType<import("pro-design-vue").ProFormItemType["onChange"]>;
|
|
165
187
|
};
|
|
166
188
|
onPressEnter: {
|
|
167
|
-
type:
|
|
189
|
+
type: PropType<import("pro-design-vue").KeyboardEventHandler>;
|
|
168
190
|
};
|
|
169
191
|
}>> & Readonly<{}>, {
|
|
170
192
|
disabled: boolean;
|
|
@@ -182,7 +204,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
182
204
|
downloadIcon: string;
|
|
183
205
|
itemRender: string;
|
|
184
206
|
previewIcon: string;
|
|
185
|
-
buttonProps: Record<string, any>;
|
|
186
207
|
fileList: unknown[];
|
|
208
|
+
showUploadList: boolean | import("ant-design-vue/es/upload/interface").ShowUploadListInterface | undefined;
|
|
209
|
+
buttonProps: Record<string, any>;
|
|
210
|
+
listIgnore: boolean;
|
|
187
211
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
188
212
|
export default _default;
|
package/es/index.d.ts
CHANGED
|
@@ -196,7 +196,8 @@ var FormItem = /* @__PURE__ */ defineComponent({
|
|
|
196
196
|
"style": formItemProps.value.titleStyles
|
|
197
197
|
}, [createVNode(FormTitle, {
|
|
198
198
|
"title": props.item.title,
|
|
199
|
-
"tooltip": props.item.tooltip
|
|
199
|
+
"tooltip": props.item.tooltip,
|
|
200
|
+
"readonly": mergeReadonly.value
|
|
200
201
|
}, null)]), createVNode("div", {
|
|
201
202
|
"class": `${prefixCls}-item-title-extra`
|
|
202
203
|
}, [createVNode(RenderVNode, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormItem.mjs","sources":["../../../../../../../../packages/components/form/src/components/FormItem.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-09 16:56:49\n * @LastEditors: shen\n * @LastEditTime: 2025-10-22 10:30:44\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { ProFormItemType } from '../type'\n\nimport { defineComponent, computed, watch, ref } from 'vue'\nimport { Form } from 'ant-design-vue'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { useInjectForm } from '../context/FormContext'\nimport { useFieldValue } from '../hooks/useFieldValue'\nimport { useInjectFormList } from '../context/FormListContext'\nimport { fieldComponentMap } from '../fieldMap'\nimport {\n get,\n isEqual,\n isNumber,\n merge,\n omitUndefined,\n pickKeys,\n RenderVNode,\n runFunction,\n set,\n} from '@pro-design-vue/utils'\nimport getSlot from '../utils/getSlot'\nimport FormColWrapper from './FormColWrapper'\nimport FormTitle from './FormTitle'\nimport covertFormName from '../utils/namePath'\nimport fieldPropsMap from '../utils/fieldPropsMap'\nimport fieldWidthSizeMap from '../utils/fieldWidthSizeMap'\n\nconst ALL_ANTD_PROP_KEYS = [\n 'autoLink',\n 'colon',\n 'hasFeedback',\n 'labelAlign',\n 'labelCol',\n 'htmlFor',\n 'required',\n 'validateFirst',\n 'validateStatus',\n 'validateTrigger',\n 'wrapperCol',\n 'rules',\n 'style',\n 'class',\n]\n\nconst IGNORE_WIDTH_VALUE_TYPE = ['switch', 'radioButton', 'radio', 'rate']\nconst SLOT_NAMES = ['extra', 'help']\n\nexport default defineComponent({\n name: 'FormItem',\n inheritAttrs: false,\n props: {\n item: {\n type: Object as PropType<ProFormItemType>,\n default: () => ({}),\n },\n grid: {\n type: Boolean,\n default: undefined,\n },\n },\n setup(props) {\n const {\n grid,\n action,\n formKey,\n prefixCls,\n formData,\n readonly,\n readonlyProps,\n disabledKeys,\n hiddenKeys,\n allDisabledKeys,\n labelCol,\n wrapperCol,\n onPressEnter,\n updateHiddenKeys,\n updateDisabledKeys,\n } = useInjectForm()\n const { isList, listKey, listName, rowData } = useInjectFormList()\n const formSlotsContext = useInjectSlots()\n const { fieldValue, onValueChange } = useFieldValue<any>({\n isList,\n namePath: computed(() => props.item.name!),\n initialValue: props.item.initialValue,\n convertValue: props.item.convertValue,\n transform: props.item.transform,\n })\n const fieldRef = ref()\n const mergeGrid = computed(() => props.grid ?? grid?.value)\n const fieldType = computed(() => props.item.fieldType ?? 'text')\n const mergeReadonly = computed(() =>\n runFunction(props.item.readonly ?? readonly?.value, formData.value, rowData?.value),\n )\n const mergeReadonlyProps = computed(() =>\n merge({}, readonlyProps?.value, props.item.readonlyProps),\n )\n const linkageDisabledKeys = computed(() => disabledKeys.value.map((key) => key.split(':')[1]))\n const linkageHiddenKeys = computed(() => hiddenKeys.value.map((key) => key.split(':')[1]))\n const isIgnoreWidth = computed(\n () => props.item.ignoreWidth ?? IGNORE_WIDTH_VALUE_TYPE.includes(fieldType.value),\n )\n const formItemProps = computed(\n () => runFunction(props.item.formItemProps, formData.value) ?? {},\n )\n const restItemProps = computed(() =>\n omitUndefined({\n ...pickKeys(formItemProps.value, ALL_ANTD_PROP_KEYS),\n labelCol: formItemProps.value?.labelCol ?? labelCol?.value,\n wrapperCol: formItemProps.value?.wrapperCol ?? wrapperCol?.value,\n name: mergeReadonly.value ? undefined : props.item.name,\n htmlFor: mergeReadonly.value\n ? undefined\n : (formItemProps.value?.htmlFor ?? `form-${formKey.value ?? ''}-${props.item.key}`),\n rules: mergeReadonly.value\n ? undefined\n : runFunction(props.item.rules ?? formItemProps.value.rules, formData.value, action),\n }),\n )\n\n const clearOnChange = (newValue: any) => {\n const { clear } = props.item.linkage ?? {}\n if (clear) {\n const clearNamePaths = runFunction(clear, newValue, formData.value) ?? []\n if (clearNamePaths.length > 0) {\n clearNamePaths.forEach((namePath) => {\n const path = isList\n ? [...(listName?.value ?? [])!, ...covertFormName(namePath)!]\n .filter((item) => item !== undefined)\n .flat(1)\n : covertFormName(namePath)\n const value = get(formData.value, path!)\n if (typeof value !== 'undefined') {\n set(formData.value, path!, undefined)\n }\n })\n }\n }\n }\n\n const fieldProps = computed(() => {\n const baseProps = runFunction(props.item.fieldProps ?? {}, formData.value)\n const mergeProps = {\n ...baseProps,\n id: baseProps?.id ?? `form-${formKey.value ?? ''}-${props.item.key}`,\n disabled:\n (runFunction(\n props.item.disabled ?? baseProps?.disabled,\n formData.value,\n rowData?.value,\n ) ?? allDisabledKeys.value.includes(props.item.key as string))\n ? true\n : undefined,\n placeholder: props.item.placeholder ?? baseProps?.placeholder,\n options: props.item.options ?? baseProps?.options ?? baseProps?.treeData,\n allowClear: props.item.allowClear ?? baseProps?.allowClear ?? true,\n }\n\n return omitUndefined({\n valueEnum: props.item.valueEnum,\n dependencies: props.item.dependencies,\n readonly: mergeReadonly.value,\n readonlyProps: mergeReadonlyProps.value,\n request: props.item.request,\n params: props.item.params,\n onChange: (value: any, ...args) => {\n clearOnChange(value)\n onValueChange(value)\n props.item.onChange?.(value, ...args, action)\n },\n ...(fieldPropsMap[fieldType.value]\n ? pickKeys(mergeProps, fieldPropsMap[fieldType.value]!)\n : mergeProps),\n })\n })\n\n const fieldStyle = computed(() => {\n const baseProps = runFunction(props.item.fieldProps ?? {}, formData.value)\n const newStyle = {\n ...baseProps?.style,\n }\n\n if (props.item.width && !fieldWidthSizeMap[props.item.width]) {\n newStyle.width = isNumber(props.item.width) ? props.item.width + 'px' : props.item.width\n } else if (mergeGrid?.value) {\n newStyle.maxWidth = '100%'\n newStyle.width = '100%'\n }\n\n if (isIgnoreWidth.value) Reflect.deleteProperty(newStyle, 'width')\n\n return omitUndefined(newStyle)\n })\n\n const fieldClassName = computed(() => {\n const isSizeEnum = props.item.width && fieldWidthSizeMap[props.item.width]\n const className = {\n [`${prefixCls}-field`]: !!isSizeEnum,\n [`${prefixCls}-field-${props.item.width}`]: isSizeEnum && !isIgnoreWidth.value,\n }\n if (props.item.className) {\n className[props.item.className] = true\n }\n return className\n })\n\n const slotsGetter = computed(() => {\n const temp = {}\n SLOT_NAMES.forEach((name) => {\n const slot = getSlot(formItemProps.value[name], formSlotsContext)\n if (slot) {\n temp[name] = () => <RenderVNode vnode={slot} props={{ formData: formData.value }} />\n }\n })\n if (props.item.title) {\n const extraRender = getSlot(props.item.extra?.label, formSlotsContext)\n temp['label'] = () => (\n <>\n <div class={`${prefixCls}-item-title`} style={formItemProps.value.titleStyles}>\n <FormTitle title={props.item.title} tooltip={props.item.tooltip} />\n </div>\n <div class={`${prefixCls}-item-title-extra`}>\n <RenderVNode vnode={extraRender} props={{ formData: formData.value }} />\n </div>\n </>\n )\n }\n return temp\n })\n\n watch(\n fieldValue,\n (newValue) => {\n const { linkage } = props.item\n if (linkage) {\n const { hidden, disabled } = linkage\n if (hidden) {\n const hiddenKeys = runFunction(hidden, newValue, formData.value) ?? []\n if (!isEqual(hiddenKeys, linkageHiddenKeys.value)) {\n updateHiddenKeys(\n props.item.key as string,\n isList ? hiddenKeys.map((key) => `${listKey}_${key}`) : hiddenKeys,\n )\n }\n }\n\n if (disabled) {\n const disabledKeys = runFunction(disabled, newValue, formData.value) ?? []\n if (!isEqual(disabledKeys, linkageDisabledKeys.value)) {\n updateDisabledKeys(\n props.item.key as string,\n isList ? disabledKeys.map((key) => `${listKey}_${key}`) : disabledKeys,\n )\n }\n }\n }\n },\n {\n immediate: true,\n },\n )\n\n watch(fieldRef, () => {\n props.item.onInit?.(fieldRef.value)\n })\n\n watch(mergeReadonly, () => {\n if (mergeReadonly.value) {\n action.clearValidate(props.item.name)\n }\n })\n\n watch(\n () => restItemProps.value?.rules,\n () => {\n action.clearValidate(props.item.name)\n },\n )\n\n return () => {\n const renderFormItem = getSlot(props.item.renderFormItem, formSlotsContext)\n const extraRender = getSlot(props.item.extra?.item, formSlotsContext)\n const FieldComponent = fieldComponentMap[fieldType.value] ?? fieldComponentMap['text']\n let defaultDom = (\n <FieldComponent\n ref={fieldRef}\n value={fieldValue.value}\n {...fieldProps.value}\n style={fieldStyle.value}\n class={fieldClassName.value}\n onPressEnter={onPressEnter}\n />\n )\n if (renderFormItem) {\n defaultDom = (\n <RenderVNode\n vnode={renderFormItem}\n props={{\n value: fieldValue.value,\n onChange: fieldProps.value.onChange,\n defaultDom,\n formData: formData.value,\n action,\n listName: listName?.value,\n name: props.item.name,\n }}\n />\n )\n }\n\n if (extraRender) {\n defaultDom = (\n <div style=\"display: flex; flex-direction: row; justify-content: flex-start; align-items: center;\">\n {defaultDom}\n <div style=\"margin-inline-start: 5px; flex-shrink: 0;\">\n <RenderVNode\n vnode={extraRender}\n props={{\n formData: formData.value,\n listName: listName?.value,\n name: props.item.name,\n }}\n />\n </div>\n </div>\n )\n }\n\n const formItemDom = (\n <Form.Item {...restItemProps.value} v-slots={slotsGetter.value}>\n {defaultDom}\n </Form.Item>\n )\n\n const render = getSlot(props.item.render, formSlotsContext)\n return (\n <FormColWrapper colProps={props.item.colProps} grid={mergeGrid.value}>\n {render ? (\n <RenderVNode\n vnode={render}\n props={{\n formData: formData.value,\n defaultDom: formItemDom,\n }}\n />\n ) : (\n formItemDom\n )}\n </FormColWrapper>\n )\n }\n },\n})\n"],"names":["ALL_ANTD_PROP_KEYS","IGNORE_WIDTH_VALUE_TYPE","SLOT_NAMES","name","inheritAttrs","props","item","type","Object","default","grid","Boolean","undefined","setup","action","formKey","prefixCls","formData","readonly","readonlyProps","disabledKeys","hiddenKeys","allDisabledKeys","labelCol","wrapperCol","onPressEnter","updateHiddenKeys","updateDisabledKeys","useInjectForm","isList","listKey","listName","rowData","useInjectFormList","formSlotsContext","useInjectSlots","fieldValue","onValueChange","useFieldValue","namePath","computed","initialValue","convertValue","transform","fieldRef","ref","mergeGrid","value","fieldType","mergeReadonly","runFunction","mergeReadonlyProps","merge","linkageDisabledKeys","map","key","split","linkageHiddenKeys","isIgnoreWidth","ignoreWidth","includes","formItemProps","restItemProps","omitUndefined","pickKeys","htmlFor","rules","clearOnChange","newValue","clear","linkage","clearNamePaths","length","forEach","_a","path","covertFormName","filter","flat","get","set","fieldProps","baseProps","mergeProps","id","disabled","placeholder","options","treeData","allowClear","valueEnum","dependencies","request","params","onChange","args","_b","fieldPropsMap","fieldStyle","newStyle","style","width","fieldWidthSizeMap","isNumber","maxWidth","Reflect","deleteProperty","fieldClassName","isSizeEnum","className","slotsGetter","temp","slot","getSlot","_createVNode","RenderVNode","title","extraRender","extra","label","_Fragment","titleStyles","FormTitle","tooltip","watch","hidden","isEqual","immediate","onInit","clearValidate","renderFormItem","FieldComponent","fieldComponentMap","defaultDom","_mergeProps","formItemDom","Form","Item","render","FormColWrapper","colProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FormItem.mjs","sources":["../../../../../../../../packages/components/form/src/components/FormItem.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-09 16:56:49\n * @LastEditors: shen\n * @LastEditTime: 2025-10-25 15:04:23\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { ProFormItemType } from '../type'\n\nimport { defineComponent, computed, watch, ref } from 'vue'\nimport { Form } from 'ant-design-vue'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { useInjectForm } from '../context/FormContext'\nimport { useFieldValue } from '../hooks/useFieldValue'\nimport { useInjectFormList } from '../context/FormListContext'\nimport { fieldComponentMap } from '../fieldMap'\nimport {\n get,\n isEqual,\n isNumber,\n merge,\n omitUndefined,\n pickKeys,\n RenderVNode,\n runFunction,\n set,\n} from '@pro-design-vue/utils'\nimport getSlot from '../utils/getSlot'\nimport FormColWrapper from './FormColWrapper'\nimport FormTitle from './FormTitle'\nimport covertFormName from '../utils/namePath'\nimport fieldPropsMap from '../utils/fieldPropsMap'\nimport fieldWidthSizeMap from '../utils/fieldWidthSizeMap'\n\nconst ALL_ANTD_PROP_KEYS = [\n 'autoLink',\n 'colon',\n 'hasFeedback',\n 'labelAlign',\n 'labelCol',\n 'htmlFor',\n 'required',\n 'validateFirst',\n 'validateStatus',\n 'validateTrigger',\n 'wrapperCol',\n 'rules',\n 'style',\n 'class',\n]\n\nconst IGNORE_WIDTH_VALUE_TYPE = ['switch', 'radioButton', 'radio', 'rate']\nconst SLOT_NAMES = ['extra', 'help']\n\nexport default defineComponent({\n name: 'FormItem',\n inheritAttrs: false,\n props: {\n item: {\n type: Object as PropType<ProFormItemType>,\n default: () => ({}),\n },\n grid: {\n type: Boolean,\n default: undefined,\n },\n },\n setup(props) {\n const {\n grid,\n action,\n formKey,\n prefixCls,\n formData,\n readonly,\n readonlyProps,\n disabledKeys,\n hiddenKeys,\n allDisabledKeys,\n labelCol,\n wrapperCol,\n onPressEnter,\n updateHiddenKeys,\n updateDisabledKeys,\n } = useInjectForm()\n const { isList, listKey, listName, rowData } = useInjectFormList()\n const formSlotsContext = useInjectSlots()\n const { fieldValue, onValueChange } = useFieldValue<any>({\n isList,\n namePath: computed(() => props.item.name!),\n initialValue: props.item.initialValue,\n convertValue: props.item.convertValue,\n transform: props.item.transform,\n })\n const fieldRef = ref()\n const mergeGrid = computed(() => props.grid ?? grid?.value)\n const fieldType = computed(() => props.item.fieldType ?? 'text')\n const mergeReadonly = computed(() =>\n runFunction(props.item.readonly ?? readonly?.value, formData.value, rowData?.value),\n )\n const mergeReadonlyProps = computed(() =>\n merge({}, readonlyProps?.value, props.item.readonlyProps),\n )\n const linkageDisabledKeys = computed(() => disabledKeys.value.map((key) => key.split(':')[1]))\n const linkageHiddenKeys = computed(() => hiddenKeys.value.map((key) => key.split(':')[1]))\n const isIgnoreWidth = computed(\n () => props.item.ignoreWidth ?? IGNORE_WIDTH_VALUE_TYPE.includes(fieldType.value),\n )\n const formItemProps = computed(\n () => runFunction(props.item.formItemProps, formData.value) ?? {},\n )\n const restItemProps = computed(() =>\n omitUndefined({\n ...pickKeys(formItemProps.value, ALL_ANTD_PROP_KEYS),\n labelCol: formItemProps.value?.labelCol ?? labelCol?.value,\n wrapperCol: formItemProps.value?.wrapperCol ?? wrapperCol?.value,\n name: mergeReadonly.value ? undefined : props.item.name,\n htmlFor: mergeReadonly.value\n ? undefined\n : (formItemProps.value?.htmlFor ?? `form-${formKey.value ?? ''}-${props.item.key}`),\n rules: mergeReadonly.value\n ? undefined\n : runFunction(props.item.rules ?? formItemProps.value.rules, formData.value, action),\n }),\n )\n\n const clearOnChange = (newValue: any) => {\n const { clear } = props.item.linkage ?? {}\n if (clear) {\n const clearNamePaths = runFunction(clear, newValue, formData.value) ?? []\n if (clearNamePaths.length > 0) {\n clearNamePaths.forEach((namePath) => {\n const path = isList\n ? [...(listName?.value ?? [])!, ...covertFormName(namePath)!]\n .filter((item) => item !== undefined)\n .flat(1)\n : covertFormName(namePath)\n const value = get(formData.value, path!)\n if (typeof value !== 'undefined') {\n set(formData.value, path!, undefined)\n }\n })\n }\n }\n }\n\n const fieldProps = computed(() => {\n const baseProps = runFunction(props.item.fieldProps ?? {}, formData.value)\n const mergeProps = {\n ...baseProps,\n id: baseProps?.id ?? `form-${formKey.value ?? ''}-${props.item.key}`,\n disabled:\n (runFunction(\n props.item.disabled ?? baseProps?.disabled,\n formData.value,\n rowData?.value,\n ) ?? allDisabledKeys.value.includes(props.item.key as string))\n ? true\n : undefined,\n placeholder: props.item.placeholder ?? baseProps?.placeholder,\n options: props.item.options ?? baseProps?.options ?? baseProps?.treeData,\n allowClear: props.item.allowClear ?? baseProps?.allowClear ?? true,\n }\n\n return omitUndefined({\n valueEnum: props.item.valueEnum,\n dependencies: props.item.dependencies,\n readonly: mergeReadonly.value,\n readonlyProps: mergeReadonlyProps.value,\n request: props.item.request,\n params: props.item.params,\n onChange: (value: any, ...args) => {\n clearOnChange(value)\n onValueChange(value)\n props.item.onChange?.(value, ...args, action)\n },\n ...(fieldPropsMap[fieldType.value]\n ? pickKeys(mergeProps, fieldPropsMap[fieldType.value]!)\n : mergeProps),\n })\n })\n\n const fieldStyle = computed(() => {\n const baseProps = runFunction(props.item.fieldProps ?? {}, formData.value)\n const newStyle = {\n ...baseProps?.style,\n }\n\n if (props.item.width && !fieldWidthSizeMap[props.item.width]) {\n newStyle.width = isNumber(props.item.width) ? props.item.width + 'px' : props.item.width\n } else if (mergeGrid?.value) {\n newStyle.maxWidth = '100%'\n newStyle.width = '100%'\n }\n\n if (isIgnoreWidth.value) Reflect.deleteProperty(newStyle, 'width')\n\n return omitUndefined(newStyle)\n })\n\n const fieldClassName = computed(() => {\n const isSizeEnum = props.item.width && fieldWidthSizeMap[props.item.width]\n const className = {\n [`${prefixCls}-field`]: !!isSizeEnum,\n [`${prefixCls}-field-${props.item.width}`]: isSizeEnum && !isIgnoreWidth.value,\n }\n if (props.item.className) {\n className[props.item.className] = true\n }\n return className\n })\n\n const slotsGetter = computed(() => {\n const temp = {}\n SLOT_NAMES.forEach((name) => {\n const slot = getSlot(formItemProps.value[name], formSlotsContext)\n if (slot) {\n temp[name] = () => <RenderVNode vnode={slot} props={{ formData: formData.value }} />\n }\n })\n if (props.item.title) {\n const extraRender = getSlot(props.item.extra?.label, formSlotsContext)\n temp['label'] = () => (\n <>\n <div class={`${prefixCls}-item-title`} style={formItemProps.value.titleStyles}>\n <FormTitle\n title={props.item.title}\n tooltip={props.item.tooltip}\n readonly={mergeReadonly.value}\n />\n </div>\n <div class={`${prefixCls}-item-title-extra`}>\n <RenderVNode vnode={extraRender} props={{ formData: formData.value }} />\n </div>\n </>\n )\n }\n return temp\n })\n\n watch(\n fieldValue,\n (newValue) => {\n const { linkage } = props.item\n if (linkage) {\n const { hidden, disabled } = linkage\n if (hidden) {\n const hiddenKeys = runFunction(hidden, newValue, formData.value) ?? []\n if (!isEqual(hiddenKeys, linkageHiddenKeys.value)) {\n updateHiddenKeys(\n props.item.key as string,\n isList ? hiddenKeys.map((key) => `${listKey}_${key}`) : hiddenKeys,\n )\n }\n }\n\n if (disabled) {\n const disabledKeys = runFunction(disabled, newValue, formData.value) ?? []\n if (!isEqual(disabledKeys, linkageDisabledKeys.value)) {\n updateDisabledKeys(\n props.item.key as string,\n isList ? disabledKeys.map((key) => `${listKey}_${key}`) : disabledKeys,\n )\n }\n }\n }\n },\n {\n immediate: true,\n },\n )\n\n watch(fieldRef, () => {\n props.item.onInit?.(fieldRef.value)\n })\n\n watch(mergeReadonly, () => {\n if (mergeReadonly.value) {\n action.clearValidate(props.item.name)\n }\n })\n\n watch(\n () => restItemProps.value?.rules,\n () => {\n action.clearValidate(props.item.name)\n },\n )\n\n return () => {\n const renderFormItem = getSlot(props.item.renderFormItem, formSlotsContext)\n const extraRender = getSlot(props.item.extra?.item, formSlotsContext)\n const FieldComponent = fieldComponentMap[fieldType.value] ?? fieldComponentMap['text']\n let defaultDom = (\n <FieldComponent\n ref={fieldRef}\n value={fieldValue.value}\n {...fieldProps.value}\n style={fieldStyle.value}\n class={fieldClassName.value}\n onPressEnter={onPressEnter}\n />\n )\n if (renderFormItem) {\n defaultDom = (\n <RenderVNode\n vnode={renderFormItem}\n props={{\n value: fieldValue.value,\n onChange: fieldProps.value.onChange,\n defaultDom,\n formData: formData.value,\n action,\n listName: listName?.value,\n name: props.item.name,\n }}\n />\n )\n }\n\n if (extraRender) {\n defaultDom = (\n <div style=\"display: flex; flex-direction: row; justify-content: flex-start; align-items: center;\">\n {defaultDom}\n <div style=\"margin-inline-start: 5px; flex-shrink: 0;\">\n <RenderVNode\n vnode={extraRender}\n props={{\n formData: formData.value,\n listName: listName?.value,\n name: props.item.name,\n }}\n />\n </div>\n </div>\n )\n }\n\n const formItemDom = (\n <Form.Item {...restItemProps.value} v-slots={slotsGetter.value}>\n {defaultDom}\n </Form.Item>\n )\n\n const render = getSlot(props.item.render, formSlotsContext)\n return (\n <FormColWrapper colProps={props.item.colProps} grid={mergeGrid.value}>\n {render ? (\n <RenderVNode\n vnode={render}\n props={{\n formData: formData.value,\n defaultDom: formItemDom,\n }}\n />\n ) : (\n formItemDom\n )}\n </FormColWrapper>\n )\n }\n },\n})\n"],"names":["ALL_ANTD_PROP_KEYS","IGNORE_WIDTH_VALUE_TYPE","SLOT_NAMES","name","inheritAttrs","props","item","type","Object","default","grid","Boolean","undefined","setup","action","formKey","prefixCls","formData","readonly","readonlyProps","disabledKeys","hiddenKeys","allDisabledKeys","labelCol","wrapperCol","onPressEnter","updateHiddenKeys","updateDisabledKeys","useInjectForm","isList","listKey","listName","rowData","useInjectFormList","formSlotsContext","useInjectSlots","fieldValue","onValueChange","useFieldValue","namePath","computed","initialValue","convertValue","transform","fieldRef","ref","mergeGrid","value","fieldType","mergeReadonly","runFunction","mergeReadonlyProps","merge","linkageDisabledKeys","map","key","split","linkageHiddenKeys","isIgnoreWidth","ignoreWidth","includes","formItemProps","restItemProps","omitUndefined","pickKeys","htmlFor","rules","clearOnChange","newValue","clear","linkage","clearNamePaths","length","forEach","_a","path","covertFormName","filter","flat","get","set","fieldProps","baseProps","mergeProps","id","disabled","placeholder","options","treeData","allowClear","valueEnum","dependencies","request","params","onChange","args","_b","fieldPropsMap","fieldStyle","newStyle","style","width","fieldWidthSizeMap","isNumber","maxWidth","Reflect","deleteProperty","fieldClassName","isSizeEnum","className","slotsGetter","temp","slot","getSlot","_createVNode","RenderVNode","title","extraRender","extra","label","_Fragment","titleStyles","FormTitle","tooltip","watch","hidden","isEqual","immediate","onInit","clearValidate","renderFormItem","FieldComponent","fieldComponentMap","defaultDom","_mergeProps","formItemDom","Form","Item","render","FormColWrapper","colProps"],"mappings":"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"}
|
|
@@ -17,6 +17,10 @@ var FormTitle = /* @__PURE__ */ defineComponent({
|
|
|
17
17
|
tooltip: {
|
|
18
18
|
type: [String, Boolean],
|
|
19
19
|
default: ""
|
|
20
|
+
},
|
|
21
|
+
readonly: {
|
|
22
|
+
type: Boolean,
|
|
23
|
+
default: false
|
|
20
24
|
}
|
|
21
25
|
},
|
|
22
26
|
setup(props) {
|
|
@@ -31,7 +35,8 @@ var FormTitle = /* @__PURE__ */ defineComponent({
|
|
|
31
35
|
}, [createVNode(RenderVNode, {
|
|
32
36
|
"vnode": title.value,
|
|
33
37
|
"props": {
|
|
34
|
-
formData: formData.value
|
|
38
|
+
formData: formData.value,
|
|
39
|
+
readonly: props.readonly
|
|
35
40
|
}
|
|
36
41
|
}, null)]), props.tooltip && createVNode(Tooltip, null, {
|
|
37
42
|
default: () => [createVNode(QuestionCircleOutlined, {
|
|
@@ -41,7 +46,8 @@ var FormTitle = /* @__PURE__ */ defineComponent({
|
|
|
41
46
|
title: () => props.tooltip === true ? createVNode(RenderVNode, {
|
|
42
47
|
"vnode": title.value,
|
|
43
48
|
"props": {
|
|
44
|
-
formData: formData.value
|
|
49
|
+
formData: formData.value,
|
|
50
|
+
readonly: props.readonly
|
|
45
51
|
}
|
|
46
52
|
}, null) : props.tooltip
|
|
47
53
|
})]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormTitle.mjs","sources":["../../../../../../../../packages/components/form/src/components/FormTitle.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 13:00:22\n * @LastEditors: shen\n * @LastEditTime: 2025-10-
|
|
1
|
+
{"version":3,"file":"FormTitle.mjs","sources":["../../../../../../../../packages/components/form/src/components/FormTitle.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 13:00:22\n * @LastEditors: shen\n * @LastEditTime: 2025-10-25 15:01:48\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { ProFormItemType } from '../type'\n\nimport { defineComponent, computed } from 'vue'\nimport { Tooltip } from 'ant-design-vue'\nimport { QuestionCircleOutlined } from '@ant-design/icons-vue'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { useInjectForm } from '../context/FormContext'\nimport { RenderVNode } from '@pro-design-vue/utils'\n\nimport getSlot from '../utils/getSlot'\n\nexport default defineComponent({\n name: 'FormTitle',\n inheritAttrs: false,\n props: {\n title: {\n type: [String, Object, Function] as PropType<ProFormItemType['title']>,\n default: undefined,\n },\n tooltip: {\n type: [String, Boolean],\n default: '',\n },\n readonly: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n const formSlotsContext = useInjectSlots()\n const { prefixCls, formData } = useInjectForm()\n const title = computed(() => getSlot(props.title, formSlotsContext))\n return () => (\n <>\n {title.value && (\n <span class={`${prefixCls}-item-title-text`}>\n <RenderVNode\n vnode={title.value}\n props={{ formData: formData.value, readonly: props.readonly }}\n />\n </span>\n )}\n {props.tooltip && (\n <Tooltip\n v-slots={{\n title: () =>\n props.tooltip === true ? (\n <RenderVNode\n vnode={title.value}\n props={{ formData: formData.value, readonly: props.readonly }}\n />\n ) : (\n props.tooltip\n ),\n }}\n >\n <QuestionCircleOutlined class={`${prefixCls}-item-tooltip`} style=\"margin-right: 3px\" />\n </Tooltip>\n )}\n </>\n )\n },\n})\n"],"names":["name","inheritAttrs","props","title","type","String","Object","Function","default","undefined","tooltip","Boolean","readonly","setup","formSlotsContext","useInjectSlots","prefixCls","formData","useInjectForm","computed","getSlot","_createVNode","_Fragment","value","RenderVNode","Tooltip","QuestionCircleOutlined"],"mappings":";;;;;;;;AAmBA,gDAA+B;AAAA,EAC7BA,IAAAA,EAAM,WAAA;AAAA,EACNC,YAAAA,EAAc,KAAA;AAAA,EACdC,KAAAA,EAAO;AAAA,IACLC,KAAAA,EAAO;AAAA,MACLC,IAAAA,EAAM,CAACC,MAAAA,EAAQC,MAAAA,EAAQC,QAAQ,CAAA;AAAA,MAC/BC,OAAAA,EAASC;AAAAA,KACX;AAAA,IACAC,OAAAA,EAAS;AAAA,MACPN,IAAAA,EAAM,CAACC,MAAAA,EAAQM,OAAO,CAAA;AAAA,MACtBH,OAAAA,EAAS;AAAA,KACX;AAAA,IACAI,QAAAA,EAAU;AAAA,MACRR,IAAAA,EAAMO,OAAAA;AAAAA,MACNH,OAAAA,EAAS;AAAA;AACX,GACF;AAAA,EACAK,MAAMX,KAAAA,EAAO;AACX,IAAA,MAAMY,mBAAmBC,cAAAA,EAAe;AACxC,IAAA,MAAM;AAAA,MAAEC,SAAAA;AAAAA,MAAWC;AAAAA,QAAaC,aAAAA,EAAc;AAC9C,IAAA,MAAMf,QAAQgB,QAAAA,CAAS,MAAMC,QAAQlB,KAAAA,CAAMC,KAAAA,EAAOW,gBAAgB,CAAC,CAAA;AACnE,IAAA,OAAO,MAAAO,YAAAC,QAAAA,SAEFnB,KAAAA,CAAMoB,KAAAA,IAAKF,YAAA,MAAA,EAAA;AAAA,MAAA,OAAA,EACG,GAAGL,SAAS,CAAA,gBAAA;AAAA,KAAkB,EAAA,CAAAK,WAAAA,CAAAG,WAAAA,EAAA;AAAA,MAAA,SAEhCrB,KAAAA,CAAMoB,KAAAA;AAAAA,MAAK,OAAA,EACX;AAAA,QAAEN,UAAUA,QAAAA,CAASM,KAAAA;AAAAA,QAAOX,UAAUV,KAAAA,CAAMU;AAAAA;AAAS,KAAC,EAAA,IAAA,CAAA,CAAA,GAIlEV,KAAAA,CAAMQ,OAAAA,IAAOW,WAAAA,CAAAI,OAAAA,EAAA,IAAA,EAAA;AAAA,MAAAjB,OAAAA,EAAAA,MAAA,CAAAa,WAAAA,CAAAK,sBAAAA,EAAA;AAAA,QAAA,OAAA,EAcqB,GAAGV,SAAS,CAAA,aAAA,CAAA;AAAA,QAAe,OAAA,EAAA;AAAA,OAAA,EAAA,IAAA,CAAA,CAAA;AAAA,MAXxDb,OAAOA,MACLD,KAAAA,CAAMQ,OAAAA,KAAY,IAAA,GAAIW,YAAAG,WAAAA,EAAA;AAAA,QAAA,SAEXrB,KAAAA,CAAMoB,KAAAA;AAAAA,QAAK,OAAA,EACX;AAAA,UAAEN,UAAUA,QAAAA,CAASM,KAAAA;AAAAA,UAAOX,UAAUV,KAAAA,CAAMU;AAAAA;AAAS,OAAC,EAAA,IAAA,CAAA,GAG/DV,KAAAA,CAAMQ;AAAAA,KACP,CAKR,CAAA,CAAA;AAAA,EAGP;AACF,CAAC,CAAA;;;;"}
|
|
@@ -5,6 +5,7 @@ import { useFieldOptions } from '../hooks/useFieldOptions.mjs';
|
|
|
5
5
|
import { commonFieldProps } from '../props.mjs';
|
|
6
6
|
import getSlot from '../utils/getSlot.mjs';
|
|
7
7
|
import FieldReadonly from './FieldReadonly.mjs';
|
|
8
|
+
import { useInjectForm } from '../context/FormContext.mjs';
|
|
8
9
|
import { useIntl } from '../../../config-provider/src/useIntl.mjs';
|
|
9
10
|
import { RenderVNode } from '../../../../utils/render-vnode.mjs';
|
|
10
11
|
|
|
@@ -57,6 +58,9 @@ var FieldCascader = /* @__PURE__ */ defineComponent({
|
|
|
57
58
|
attrs
|
|
58
59
|
}) {
|
|
59
60
|
const intl = useIntl();
|
|
61
|
+
const {
|
|
62
|
+
formData
|
|
63
|
+
} = useInjectForm();
|
|
60
64
|
const formSlotsContext = useInjectSlots();
|
|
61
65
|
const {
|
|
62
66
|
mergeOptions,
|
|
@@ -97,7 +101,10 @@ var FieldCascader = /* @__PURE__ */ defineComponent({
|
|
|
97
101
|
if (slot) {
|
|
98
102
|
temp[name] = (props2) => createVNode(RenderVNode, {
|
|
99
103
|
"vnode": slot,
|
|
100
|
-
"props":
|
|
104
|
+
"props": {
|
|
105
|
+
formData: formData.value,
|
|
106
|
+
...props2 != null ? props2 : {}
|
|
107
|
+
}
|
|
101
108
|
}, null);
|
|
102
109
|
}
|
|
103
110
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldCascader.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldCascader.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 15:53:17\n * @LastEditors: shen\n * @LastEditTime: 2025-
|
|
1
|
+
{"version":3,"file":"FieldCascader.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldCascader.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 15:53:17\n * @LastEditors: shen\n * @LastEditTime: 2025-10-24 16:30:21\n * @Description:\n */\nimport { defineComponent, computed } from 'vue'\nimport { Cascader } from 'ant-design-vue'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { useFieldOptions } from '../hooks/useFieldOptions'\nimport { commonFieldProps } from '../props'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport { RenderVNode } from '@pro-design-vue/utils'\nimport getSlot from '../utils/getSlot'\nimport FieldReadonly from './FieldReadonly'\n\nimport type { Option } from '../type'\nimport { useInjectForm } from '../context/FormContext'\nconst SLOT_NAMES = [\n 'expandIcon',\n 'clearIcon',\n 'displayRender',\n 'maxTagPlaceholder',\n 'notFoundContent',\n 'removeIcon',\n 'tagRender',\n 'suffixIcon',\n]\n\nexport default defineComponent({\n name: 'FieldCascader',\n props: {\n ...commonFieldProps(),\n expandIcon: {\n type: String,\n default: '',\n },\n clearIcon: {\n type: String,\n default: '',\n },\n displayRender: {\n type: String,\n default: '',\n },\n maxTagPlaceholder: {\n type: String,\n default: '',\n },\n notFoundContent: {\n type: String,\n default: '',\n },\n removeIcon: {\n type: String,\n default: '',\n },\n suffixIcon: {\n type: String,\n default: '',\n },\n tagRender: {\n type: String,\n default: '',\n },\n placeholder: {\n type: String,\n },\n multiple: {\n type: Boolean,\n default: undefined,\n },\n },\n setup(props, { attrs }) {\n const intl = useIntl()\n const { formData } = useInjectForm()\n const formSlotsContext = useInjectSlots()\n const { mergeOptions, loading, fieldNames } = useFieldOptions({\n request: props.request,\n options: props.options,\n valueEnum: props.valueEnum,\n dependencies: props.dependencies,\n fieldNames: (attrs as any).fieldNames,\n params: props.params,\n })\n\n const value = computed(() => {\n if (props.request && loading.value) {\n return undefined\n }\n return props.value\n })\n\n const readValue = computed(() => {\n if (!value.value) {\n return undefined\n }\n if (Array.isArray(value.value)) {\n return mergeOptions.value\n .filter((op) => value.value.includes(op.value))\n .map((op) => op.label ?? op.text)\n .join(',')\n }\n const option = mergeOptions.value.find((op) => op.value === value.value)\n return option?.label ?? option?.text\n })\n\n const slotsGetter = computed(() => {\n const temp = {}\n SLOT_NAMES.forEach((name) => {\n const slot = getSlot(props[name], formSlotsContext)\n if (slot) {\n temp[name] = (props) => (\n <RenderVNode vnode={slot} props={{ formData: formData.value, ...(props ?? {}) }} />\n )\n }\n })\n return temp\n })\n\n const formatValue = (value: any) => {\n if (typeof value === 'undefined') {\n if (props.multiple) {\n return []\n }\n return null\n }\n return value\n }\n\n const onChange: any = (value: any, option: Option | Option[]) => {\n props.onChange?.(formatValue(value), option)\n }\n return () => {\n if (props.readonly) {\n return (\n <FieldReadonly\n text={readValue.value}\n class={attrs.class}\n style={attrs.style}\n {...props.readonlyProps}\n />\n )\n }\n return (\n <Cascader\n value={value.value}\n {...attrs}\n style={{\n minWidth: '100px',\n }}\n multiple={props.multiple}\n fieldNames={fieldNames.value}\n loading={loading.value}\n placeholder={props.placeholder || intl.getMessage('form.selectPlaceholder', '请选择')}\n options={mergeOptions.value as any}\n v-slots={slotsGetter.value}\n onChange={onChange}\n />\n )\n }\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","expandIcon","type","String","default","clearIcon","displayRender","maxTagPlaceholder","notFoundContent","removeIcon","suffixIcon","tagRender","placeholder","multiple","Boolean","undefined","setup","attrs","intl","useIntl","formData","useInjectForm","formSlotsContext","useInjectSlots","mergeOptions","loading","fieldNames","useFieldOptions","request","options","valueEnum","dependencies","params","value","computed","readValue","Array","isArray","filter","op","includes","map","_a","label","text","join","option","find","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","formatValue","onChange","readonly","FieldReadonly","_mergeProps","class","style","readonlyProps","Cascader","minWidth","getMessage"],"mappings":"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"}
|