@fe-free/core 1.5.2 → 1.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @fe-free/core
|
|
2
2
|
|
|
3
|
+
## 1.5.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- fix: form_list_modal_helper
|
|
8
|
+
- @fe-free/tool@1.5.4
|
|
9
|
+
|
|
10
|
+
## 1.5.3
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- feat: ProFormListModalHelper
|
|
15
|
+
- @fe-free/tool@1.5.3
|
|
16
|
+
|
|
3
17
|
## 1.5.2
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fe-free/core",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.4",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./src/index.ts",
|
|
6
6
|
"author": "",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"react-syntax-highlighter": "^15.5.0",
|
|
37
37
|
"vanilla-jsoneditor": "^0.23.1",
|
|
38
38
|
"zustand": "^4.5.4",
|
|
39
|
-
"@fe-free/tool": "1.5.
|
|
39
|
+
"@fe-free/tool": "1.5.4"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
42
42
|
"@ant-design/pro-components": "^2.8.7",
|
|
@@ -5,6 +5,25 @@ import React from 'react';
|
|
|
5
5
|
|
|
6
6
|
const emptyArr = [];
|
|
7
7
|
|
|
8
|
+
interface ProFormListModalHelperProps<T> {
|
|
9
|
+
value?: T[];
|
|
10
|
+
onChange?: (value: T[]) => void;
|
|
11
|
+
children: (props: { value?: T[]; item: T; index: number }) => React.ReactNode;
|
|
12
|
+
readOnly?: boolean;
|
|
13
|
+
detailForm: JSX.Element;
|
|
14
|
+
// 如果 addForm 存在,则使用 addForm 作为添加按钮
|
|
15
|
+
addForm?: JSX.Element;
|
|
16
|
+
// 禁用添加的提交按钮
|
|
17
|
+
disabledSubmitter?: boolean;
|
|
18
|
+
// 禁用添加
|
|
19
|
+
disabledAdd?: boolean;
|
|
20
|
+
// 禁用编辑
|
|
21
|
+
disabledEdit?: boolean;
|
|
22
|
+
// 触发添加
|
|
23
|
+
addTrigger?: JSX.Element;
|
|
24
|
+
editForm?: any;
|
|
25
|
+
}
|
|
26
|
+
|
|
8
27
|
function Edit<T>(props: {
|
|
9
28
|
children: JSX.Element;
|
|
10
29
|
values?: T;
|
|
@@ -27,30 +46,15 @@ function Edit<T>(props: {
|
|
|
27
46
|
formRef={props?.editForm}
|
|
28
47
|
initialValues={props.values || undefined}
|
|
29
48
|
submitter={props.disabledSubmitter ? false : undefined}
|
|
49
|
+
modalProps={{
|
|
50
|
+
destroyOnHidden: true,
|
|
51
|
+
}}
|
|
30
52
|
>
|
|
31
53
|
{props.detailForm}
|
|
32
54
|
</ModalForm>
|
|
33
55
|
);
|
|
34
56
|
}
|
|
35
57
|
|
|
36
|
-
interface ProFormListModalHelperProps<T> {
|
|
37
|
-
value?: T[];
|
|
38
|
-
onChange?: (value: T[]) => void;
|
|
39
|
-
children: (props: { value?: T[]; item: T; index: number }) => React.ReactNode;
|
|
40
|
-
readOnly?: boolean;
|
|
41
|
-
detailForm: JSX.Element;
|
|
42
|
-
// 如果 addForm 存在,则使用 addForm 作为添加按钮
|
|
43
|
-
addForm?: JSX.Element;
|
|
44
|
-
// 禁用添加的提交按钮
|
|
45
|
-
disabledSubmitter?: boolean;
|
|
46
|
-
|
|
47
|
-
disabledAdd?: boolean;
|
|
48
|
-
// 触发添加
|
|
49
|
-
addTrigger?: JSX.Element;
|
|
50
|
-
|
|
51
|
-
editForm?: any;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
58
|
function ProFormListModalHelper<T = any>(props: ProFormListModalHelperProps<T>) {
|
|
55
59
|
const options = props.value || emptyArr;
|
|
56
60
|
|
|
@@ -69,18 +73,20 @@ function ProFormListModalHelper<T = any>(props: ProFormListModalHelperProps<T>)
|
|
|
69
73
|
</div>
|
|
70
74
|
{!props.readOnly && (
|
|
71
75
|
<div className="absolute right-1 top-1 hidden items-center bg-white group-hover:flex">
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
76
|
+
{!props.disabledEdit && (
|
|
77
|
+
<Edit<T>
|
|
78
|
+
values={item}
|
|
79
|
+
onChange={(newValues) => {
|
|
80
|
+
const newOptions = [...options];
|
|
81
|
+
newOptions[index] = newValues;
|
|
82
|
+
props.onChange?.(newOptions);
|
|
83
|
+
}}
|
|
84
|
+
detailForm={props.detailForm}
|
|
85
|
+
editForm={props?.editForm}
|
|
86
|
+
>
|
|
87
|
+
<Button icon={<EditOutlined />} type="text" size="small" />
|
|
88
|
+
</Edit>
|
|
89
|
+
)}
|
|
84
90
|
<Button
|
|
85
91
|
icon={<DeleteOutlined />}
|
|
86
92
|
type="text"
|