@zat-design/sisyphus-react 4.5.9 → 4.5.10-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.css +1 -1
- package/dist/less.esm.css +1 -1
- package/es/FormsProvider/index.js +14 -21
- package/es/ProAction/components/CheckModalContent/index.js +12 -26
- package/es/ProAction/index.js +79 -83
- package/es/ProAction/propsType.js +0 -1
- package/es/ProConfigProvider/index.js +63 -110
- package/es/ProConfigProvider/propsType.js +0 -1
- package/es/ProDownload/index.d.ts +2 -1
- package/es/ProDownload/index.js +74 -69
- package/es/ProDownload/propsType.js +0 -1
- package/es/ProDownload/utils.d.ts +10 -5
- package/es/ProDownload/utils.js +63 -95
- package/es/ProDrawerForm/components/ProDrawer/index.js +83 -113
- package/es/ProDrawerForm/components/ProModal/index.js +77 -108
- package/es/ProDrawerForm/components/index.js +6 -2
- package/es/ProDrawerForm/hooks/useConfirmClose.js +20 -39
- package/es/ProDrawerForm/index.js +29 -38
- package/es/ProDrawerForm/propsType.js +0 -1
- package/es/ProDrawerForm/utils/index.js +18 -36
- package/es/ProEditLabel/components/RenderProForm.js +45 -49
- package/es/ProEditLabel/index.js +126 -163
- package/es/ProEditLabel/propsType.js +0 -1
- package/es/ProEditLabel/utils/index.js +5 -8
- package/es/ProEditTable/components/ActionButton/index.js +111 -119
- package/es/ProEditTable/components/RcTable/BaseTable.js +38 -51
- package/es/ProEditTable/components/RcTable/DraggableTable.js +97 -129
- package/es/ProEditTable/components/RcTable/index.js +6 -4
- package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +77 -95
- package/es/ProEditTable/components/RenderField/index.js +490 -587
- package/es/ProEditTable/components/RenderField/propsType.js +0 -1
- package/es/ProEditTable/components/RenderField/tools.js +115 -112
- package/es/ProEditTable/components/RenderToolbar/index.js +47 -73
- package/es/ProEditTable/components/Summary/index.js +38 -64
- package/es/ProEditTable/components/Validator/index.js +46 -46
- package/es/ProEditTable/components/index.js +12 -5
- package/es/ProEditTable/index.js +456 -378
- package/es/ProEditTable/propsType.js +0 -1
- package/es/ProEditTable/utils/config.js +60 -122
- package/es/ProEditTable/utils/diffOriginal.js +45 -82
- package/es/ProEditTable/utils/getDefaultProps.js +19 -24
- package/es/ProEditTable/utils/index.js +154 -235
- package/es/ProEditTable/utils/tools.js +149 -286
- package/es/ProEditTable/utils/transform.js +25 -30
- package/es/ProEditTable/utils/useEditTableError.js +30 -43
- package/es/ProEditTable/utils/useShouldUpdateForTable.js +42 -72
- package/es/ProEditTable/utils/validateAll.js +87 -154
- package/es/ProEnum/components/Group.js +38 -30
- package/es/ProEnum/components/Tag.js +22 -26
- package/es/ProEnum/hooks/useEnum.js +48 -116
- package/es/ProEnum/hooks/useEnumRequest.js +182 -212
- package/es/ProEnum/hooks/useFrequentEnumRequest.js +40 -48
- package/es/ProEnum/index.js +162 -172
- package/es/ProEnum/propsType.js +0 -1
- package/es/ProEnum/utils/eventCenter.js +10 -12
- package/es/ProEnum/utils/frequentEnum.js +35 -92
- package/es/ProEnum/utils/getEnum.js +32 -90
- package/es/ProEnum/utils/getEnumLabel.js +44 -49
- package/es/ProEnum/utils/index.js +93 -207
- package/es/ProForm/components/Container.js +13 -28
- package/es/ProForm/components/FormFooter/index.js +36 -44
- package/es/ProForm/components/FormFooter/propsType.js +0 -1
- package/es/ProForm/components/base/Checkbox/index.js +32 -59
- package/es/ProForm/components/base/DatePicker/index.js +49 -71
- package/es/ProForm/components/base/Input/index.js +63 -97
- package/es/ProForm/components/base/Input/propsType.js +0 -1
- package/es/ProForm/components/base/InputNumber/index.js +118 -172
- package/es/ProForm/components/base/Radio/index.js +39 -52
- package/es/ProForm/components/base/RangePicker/index.js +109 -127
- package/es/ProForm/components/base/RangePicker/useDateRange.js +20 -17
- package/es/ProForm/components/base/Select/index.js +63 -89
- package/es/ProForm/components/base/Switch/index.js +27 -35
- package/es/ProForm/components/base/SwitchCheckbox/index.js +36 -54
- package/es/ProForm/components/base/TextArea/index.js +30 -41
- package/es/ProForm/components/base/TimePicker/index.js +27 -37
- package/es/ProForm/components/combination/Container/index.js +37 -47
- package/es/ProForm/components/combination/Container/propsType.js +0 -1
- package/es/ProForm/components/combination/FormList/components/ActionButton.js +165 -237
- package/es/ProForm/components/combination/FormList/components/BlockFields.js +98 -102
- package/es/ProForm/components/combination/FormList/components/Empty.js +28 -55
- package/es/ProForm/components/combination/FormList/components/LineFields.js +57 -54
- package/es/ProForm/components/combination/FormList/components/ToolbarButton.js +61 -109
- package/es/ProForm/components/combination/FormList/index.js +151 -161
- package/es/ProForm/components/combination/FormList/propsType.js +0 -1
- package/es/ProForm/components/combination/FormList/style/index.less +6 -0
- package/es/ProForm/components/combination/FormList/utils.js +22 -38
- package/es/ProForm/components/combination/Group/component/AddonWrapper/index.js +12 -28
- package/es/ProForm/components/combination/Group/component/ComRender.js +50 -111
- package/es/ProForm/components/combination/Group/component/FlexibleGroup.js +106 -213
- package/es/ProForm/components/combination/Group/hooks/index.js +69 -129
- package/es/ProForm/components/combination/Group/index.js +87 -126
- package/es/ProForm/components/combination/Group/propsType.js +0 -1
- package/es/ProForm/components/combination/Group/utils/index.js +124 -239
- package/es/ProForm/components/combination/ProCascader/index.js +156 -199
- package/es/ProForm/components/combination/ProCascader/propsType.js +0 -1
- package/es/ProForm/components/combination/ProCascader/utils/index.js +12 -21
- package/es/ProForm/components/combination/ProModalSelect/hooks/useRequestList.js +72 -70
- package/es/ProForm/components/combination/ProModalSelect/index.js +309 -347
- package/es/ProForm/components/combination/ProModalSelect/propsType.js +0 -1
- package/es/ProForm/components/combination/ProModalSelect/utils/index.js +32 -39
- package/es/ProForm/components/combination/ProNumberRange/index.js +100 -156
- package/es/ProForm/components/combination/ProNumberRange/propsType.js +0 -1
- package/es/ProForm/components/combination/ProRangeLimit/index.js +104 -115
- package/es/ProForm/components/combination/ProRangeLimit/propsType.js +0 -1
- package/es/ProForm/components/combination/ProTimeLimit/hooks/useControlled.js +16 -16
- package/es/ProForm/components/combination/ProTimeLimit/index.js +75 -109
- package/es/ProForm/components/index.js +56 -34
- package/es/ProForm/components/render/ChangedWrapper.js +85 -94
- package/es/ProForm/components/render/ConfirmWrapper.js +27 -39
- package/es/ProForm/components/render/CustomComponentViewWrapper.js +65 -82
- package/es/ProForm/components/render/Render.js +223 -329
- package/es/ProForm/components/render/RenderFields.js +76 -113
- package/es/ProForm/components/render/propsType.js +0 -1
- package/es/ProForm/hooks/useControlled.js +8 -10
- package/es/ProForm/hooks/useDeepCompareMemo.js +11 -11
- package/es/ProForm/hooks/useFieldProps.js +8 -4
- package/es/ProForm/hooks/useForm.js +50 -110
- package/es/ProForm/hooks/useRules.js +17 -33
- package/es/ProForm/hooks/useShouldUpdate.js +77 -152
- package/es/ProForm/hooks/useWatch.js +62 -134
- package/es/ProForm/index.js +157 -194
- package/es/ProForm/propsType.js +15 -7
- package/es/ProForm/utils/buildFormItemProps.js +51 -58
- package/es/ProForm/utils/diffOriginal.js +43 -73
- package/es/ProForm/utils/getDefaultProps.js +18 -24
- package/es/ProForm/utils/index.js +160 -235
- package/es/ProForm/utils/processDependencies.js +21 -60
- package/es/ProForm/utils/reactiveValues.js +20 -34
- package/es/ProForm/utils/rulesCreator.js +42 -40
- package/es/ProForm/utils/transformNames.js +10 -13
- package/es/ProForm/utils/transformValue.js +16 -29
- package/es/ProForm/utils/valueType.js +96 -178
- package/es/ProIcon/config/index.js +340 -274
- package/es/ProIcon/index.js +135 -209
- package/es/ProIcon/propsTypes.js +0 -1
- package/es/ProIcon/utils/index.js +24 -39
- package/es/ProLayout/components/Layout/Header/index.js +108 -141
- package/es/ProLayout/components/Layout/Menu/FoldMenu/index.js +134 -190
- package/es/ProLayout/components/Layout/Menu/OpenMenu/index.js +113 -139
- package/es/ProLayout/components/Layout/Menu/OpenMenu/propsType.js +0 -1
- package/es/ProLayout/components/Layout/Menu/SideMenu/index.js +23 -31
- package/es/ProLayout/components/Layout/Menu/index.js +92 -89
- package/es/ProLayout/components/Layout/Notice/index.js +13 -27
- package/es/ProLayout/components/Layout/index.js +8 -3
- package/es/ProLayout/components/ProCollapse/PropTypes.js +0 -1
- package/es/ProLayout/components/ProCollapse/index.js +89 -111
- package/es/ProLayout/components/ProFooter/PropTypes.js +0 -1
- package/es/ProLayout/components/ProFooter/index.js +27 -24
- package/es/ProLayout/components/ProHeader/PropTypes.js +0 -1
- package/es/ProLayout/components/ProHeader/components/Copy/index.js +23 -21
- package/es/ProLayout/components/ProHeader/components/Describe/index.js +67 -84
- package/es/ProLayout/components/ProHeader/components/ProBackBtn/index.js +18 -21
- package/es/ProLayout/components/ProHeader/components/ProBackBtn/propsType.js +0 -1
- package/es/ProLayout/components/ProHeader/components/index.js +6 -2
- package/es/ProLayout/components/ProHeader/index.js +216 -356
- package/es/ProLayout/components/ProHeader/utils/index.js +19 -26
- package/es/ProLayout/components/TabsManager/components/TabContextMenu.js +92 -85
- package/es/ProLayout/components/TabsManager/components/TabItem.js +53 -63
- package/es/ProLayout/components/TabsManager/components/TabsContext.js +5 -5
- package/es/ProLayout/components/TabsManager/components/TabsHeader.js +42 -52
- package/es/ProLayout/components/TabsManager/hooks/useActiveTab.js +8 -9
- package/es/ProLayout/components/TabsManager/hooks/useIframeRoute.js +19 -32
- package/es/ProLayout/components/TabsManager/hooks/useProLayoutTabs.js +6 -20
- package/es/ProLayout/components/TabsManager/hooks/useTabsCache.js +25 -42
- package/es/ProLayout/components/TabsManager/hooks/useTabsState.js +320 -350
- package/es/ProLayout/components/TabsManager/hooks/useTabsUrlSync.d.ts +19 -0
- package/es/ProLayout/components/TabsManager/hooks/useTabsUrlSync.js +332 -0
- package/es/ProLayout/components/TabsManager/index.js +407 -351
- package/es/ProLayout/components/TabsManager/propTypes.d.ts +4 -0
- package/es/ProLayout/components/TabsManager/propTypes.js +7 -15
- package/es/ProLayout/components/TabsManager/style/index.less +1 -1
- package/es/ProLayout/components/TabsManager/utils/historyObserver.d.ts +7 -0
- package/es/ProLayout/components/TabsManager/utils/historyObserver.js +65 -0
- package/es/ProLayout/components/TabsManager/utils/index.d.ts +15 -2
- package/es/ProLayout/components/TabsManager/utils/index.js +156 -159
- package/es/ProLayout/components/index.js +8 -3
- package/es/ProLayout/index.js +173 -228
- package/es/ProLayout/propTypes.d.ts +28 -1
- package/es/ProLayout/propTypes.js +12 -52
- package/es/ProLayout/utils/index.js +48 -128
- package/es/ProSelect/components/AdaptiveTooltip.js +26 -25
- package/es/ProSelect/index.js +187 -223
- package/es/ProSelect/propsType.js +0 -1
- package/es/ProSelect/style/index.less +13 -0
- package/es/ProSelect/utils/index.js +100 -146
- package/es/ProStep/components/Anchor/index.js +71 -82
- package/es/ProStep/components/Item/index.js +49 -56
- package/es/ProStep/components/LazyLoad/index.js +23 -29
- package/es/ProStep/components/Listener/index.js +20 -33
- package/es/ProStep/components/Step/index.js +31 -38
- package/es/ProStep/constants.js +4 -1
- package/es/ProStep/index.js +166 -153
- package/es/ProStep/propsType.js +0 -1
- package/es/ProStep/style/index.less +1 -1
- package/es/ProStep/utils/index.js +29 -55
- package/es/ProStepTab/index.js +83 -138
- package/es/ProStepTab/propsType.js +0 -1
- package/es/ProTable/components/EditableCell/EditIcon.js +10 -14
- package/es/ProTable/components/EditableCell/index.js +37 -71
- package/es/ProTable/components/EditableCell/propsType.js +0 -1
- package/es/ProTable/components/FormatColumn/index.js +209 -340
- package/es/ProTable/components/FormatColumn/propsType.js +0 -1
- package/es/ProTable/components/RcTable/components/BaseTable/index.js +35 -39
- package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +80 -107
- package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/index.js +54 -48
- package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/propsType.js +0 -1
- package/es/ProTable/components/RcTable/components/DraggableTable/index.js +47 -54
- package/es/ProTable/components/RcTable/index.js +6 -4
- package/es/ProTable/components/RenderColumn/index.js +158 -186
- package/es/ProTable/components/RenderEmptyText/index.js +12 -21
- package/es/ProTable/components/RenderFooter/index.js +15 -15
- package/es/ProTable/components/RenderSummary/index.js +33 -50
- package/es/ProTable/components/RenderTableHeader/index.js +44 -46
- package/es/ProTable/components/RenderTabs/index.js +47 -51
- package/es/ProTable/components/TableResizable/index.js +56 -72
- package/es/ProTable/components/TooltipTitle/index.js +13 -21
- package/es/ProTable/components/index.js +16 -36
- package/es/ProTable/hooks/useAntdTable.js +191 -224
- package/es/ProTable/index.js +232 -249
- package/es/ProTable/propsType.js +0 -1
- package/es/ProTable/utils/columnStorage.js +63 -88
- package/es/ProTable/utils/index.js +57 -90
- package/es/ProTabs/components/Card/index.js +20 -48
- package/es/ProTabs/components/index.js +4 -1
- package/es/ProTabs/index.js +41 -58
- package/es/ProTabs/propType.js +0 -1
- package/es/ProThemeTools/component/ProTools/index.js +106 -158
- package/es/ProThemeTools/component/index.js +4 -1
- package/es/ProThemeTools/context/ThemeContext.js +67 -146
- package/es/ProThemeTools/index.js +103 -156
- package/es/ProThemeTools/propsType.js +0 -1
- package/es/ProThemeTools/utils/index.js +60 -109
- package/es/ProTooltip/index.js +132 -168
- package/es/ProTooltip/propsType.js +0 -1
- package/es/ProTree/components/AdaptiveTooltip.js +15 -17
- package/es/ProTree/components/CloseIcon.js +18 -26
- package/es/ProTree/components/List.js +28 -47
- package/es/ProTree/components/ProTree.js +152 -211
- package/es/ProTree/components/ProTreeSelect/index.js +255 -459
- package/es/ProTree/components/ProTreeSelect/propsType.js +0 -1
- package/es/ProTree/components/SearchTitle.js +23 -42
- package/es/ProTree/components/Tree.js +147 -195
- package/es/ProTree/components/index.js +10 -5
- package/es/ProTree/index.js +12 -16
- package/es/ProTree/propsType.js +0 -1
- package/es/ProTree/utils.js +46 -118
- package/es/ProTreeModal/components/Cascader.js +56 -64
- package/es/ProTreeModal/components/CloseIcon.js +18 -26
- package/es/ProTreeModal/components/List.js +114 -180
- package/es/ProTreeModal/components/SearchTitle.js +15 -18
- package/es/ProTreeModal/components/SortableItem.js +29 -58
- package/es/ProTreeModal/components/Tree.js +99 -113
- package/es/ProTreeModal/components/Trigger.js +87 -121
- package/es/ProTreeModal/components/index.js +14 -6
- package/es/ProTreeModal/index.js +397 -438
- package/es/ProTreeModal/propsType.js +0 -1
- package/es/ProTreeModal/utils.js +52 -95
- package/es/ProUpload/components/ButtonRender.js +44 -54
- package/es/ProUpload/components/DragRender.js +94 -148
- package/es/ProUpload/components/DraggableUploadListItem.js +12 -25
- package/es/ProUpload/components/Example.js +27 -31
- package/es/ProUpload/components/FileItem.js +69 -163
- package/es/ProUpload/components/ImageRender.js +134 -170
- package/es/ProUpload/index.js +68 -100
- package/es/ProUpload/propsType.js +0 -1
- package/es/ProUpload/uitls.js +8 -4
- package/es/ProUtils/utils/index.js +17 -13
- package/es/ProViewer/index.js +154 -175
- package/es/ProViewer/propsType.js +0 -5
- package/es/ProWaterMark/index.js +9 -16
- package/es/ProWaterMark/propsType.js +0 -1
- package/es/hooks/useDraggableRow.js +25 -53
- package/es/index.js +57 -77
- package/es/locale/en_US.js +153 -142
- package/es/locale/index.js +23 -36
- package/es/locale/zh_CN.js +145 -142
- package/es/tokens.js +84 -83
- package/es/utils/index.js +24 -51
- package/package.json +4 -2
- package/es/ProConfigProvider/demo/locale.js +0 -58
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
import { useRef, useEffect } from 'react';
|
|
1
|
+
import { useRef, useEffect } from "react";
|
|
2
|
+
import cloneDeep from "lodash/cloneDeep";
|
|
3
|
+
import isEqual from "lodash/isEqual";
|
|
4
|
+
import isFunction from "lodash/isFunction";
|
|
6
5
|
import { useDeepCompareMemo } from "../../../../hooks/useDeepCompareMemo";
|
|
7
6
|
import { difference } from "../../../../../ProEditTable/utils/tools";
|
|
8
7
|
import { getReactiveProps, getValueTypeTrans, valueFromEventWrapper } from "../utils";
|
|
9
|
-
|
|
10
|
-
export const useTransformColumns = params => {
|
|
8
|
+
const useTransformColumns = (params) => {
|
|
11
9
|
const {
|
|
12
10
|
form,
|
|
13
11
|
columns,
|
|
@@ -20,7 +18,7 @@ export const useTransformColumns = params => {
|
|
|
20
18
|
groupProps
|
|
21
19
|
} = params;
|
|
22
20
|
const timerRef = useRef([]);
|
|
23
|
-
return columns
|
|
21
|
+
return columns == null ? void 0 : columns.flatMap((column, index) => {
|
|
24
22
|
const {
|
|
25
23
|
type,
|
|
26
24
|
valueType,
|
|
@@ -35,25 +33,18 @@ export const useTransformColumns = params => {
|
|
|
35
33
|
clearNotShow,
|
|
36
34
|
desensitization
|
|
37
35
|
} = column;
|
|
38
|
-
const {
|
|
39
|
-
mode,
|
|
40
|
-
onChange,
|
|
41
|
-
disabled: comDisabled
|
|
42
|
-
} = fieldProps || {};
|
|
36
|
+
const { mode, onChange, disabled: comDisabled } = fieldProps || {};
|
|
43
37
|
const _disabled = disabled || comDisabled;
|
|
44
38
|
const columnName = names ? names[index] : [].concat(name, index);
|
|
45
|
-
|
|
46
|
-
// 响应式字段改变后的回调
|
|
47
39
|
const changedCallback = (lastDependency, current) => {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
if (current?.show === false) {
|
|
40
|
+
if (clearNotShow !== false && (names || value)) {
|
|
41
|
+
if ((current == null ? void 0 : current.show) === false) {
|
|
51
42
|
clearInterval(timerRef.current[index]);
|
|
52
43
|
timerRef.current[index] = setTimeout(() => {
|
|
53
44
|
if (names) {
|
|
54
45
|
form.resetFields([columnName]);
|
|
55
46
|
}
|
|
56
|
-
if (!names && value
|
|
47
|
+
if (!names && (value == null ? void 0 : value.length)) {
|
|
57
48
|
value[index] = null;
|
|
58
49
|
form.setFieldValue(columnName, [...value]);
|
|
59
50
|
}
|
|
@@ -63,28 +54,25 @@ export const useTransformColumns = params => {
|
|
|
63
54
|
}
|
|
64
55
|
}
|
|
65
56
|
};
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
const {
|
|
85
|
-
onFieldChange,
|
|
86
|
-
onBlur
|
|
87
|
-
} = reactiveProps.fieldProps || {};
|
|
57
|
+
const reactiveProps = useDeepCompareMemo(
|
|
58
|
+
() => {
|
|
59
|
+
return getReactiveProps({
|
|
60
|
+
form,
|
|
61
|
+
index,
|
|
62
|
+
type,
|
|
63
|
+
namePath,
|
|
64
|
+
disabled: _disabled,
|
|
65
|
+
show,
|
|
66
|
+
component,
|
|
67
|
+
fieldProps,
|
|
68
|
+
name: columnName,
|
|
69
|
+
desensitization
|
|
70
|
+
});
|
|
71
|
+
},
|
|
72
|
+
changedCallback,
|
|
73
|
+
[value, show, fieldProps, _disabled, columnName, type]
|
|
74
|
+
);
|
|
75
|
+
const { onFieldChange, onBlur } = reactiveProps.fieldProps || {};
|
|
88
76
|
if (reactiveProps.show === false) {
|
|
89
77
|
return [];
|
|
90
78
|
}
|
|
@@ -98,39 +86,33 @@ export const useTransformColumns = params => {
|
|
|
98
86
|
});
|
|
99
87
|
let newValue;
|
|
100
88
|
const handleChange = (...args) => {
|
|
89
|
+
var _a, _b, _c;
|
|
101
90
|
newValue = valueFromEventWrapper(column, args);
|
|
102
|
-
if (transform
|
|
103
|
-
newValue = transform
|
|
91
|
+
if (transform == null ? void 0 : transform.normalize) {
|
|
92
|
+
newValue = (_a = transform == null ? void 0 : transform.normalize) == null ? void 0 : _a.call(transform, newValue);
|
|
104
93
|
} else if (normalize) {
|
|
105
|
-
|
|
106
|
-
newValue = normalize?.(newValue);
|
|
94
|
+
newValue = normalize == null ? void 0 : normalize(newValue);
|
|
107
95
|
}
|
|
108
|
-
|
|
109
|
-
// 根据模式选择值管理方式
|
|
110
96
|
if (names) {
|
|
111
|
-
// 独立字段模式:设置单个字段值 + 触发整体校验
|
|
112
97
|
form.setFieldValue(columnName, newValue);
|
|
113
|
-
|
|
114
|
-
internalChange?.(newValue, args[1], index);
|
|
98
|
+
internalChange == null ? void 0 : internalChange(newValue, args[1], index);
|
|
115
99
|
} else {
|
|
116
|
-
|
|
117
|
-
internalChange?.(newValue, args[1], index);
|
|
100
|
+
internalChange == null ? void 0 : internalChange(newValue, args[1], index);
|
|
118
101
|
}
|
|
119
102
|
const values = form.getFieldValue(namePath);
|
|
120
|
-
const originRow = namePath
|
|
121
|
-
onChange
|
|
122
|
-
onFieldChange
|
|
103
|
+
const originRow = (namePath == null ? void 0 : namePath.length) ? cloneDeep(values) : void 0;
|
|
104
|
+
onChange == null ? void 0 : onChange(...args);
|
|
105
|
+
onFieldChange == null ? void 0 : onFieldChange(newValue, values, {
|
|
123
106
|
index: outerIndex,
|
|
124
107
|
namePath,
|
|
125
108
|
form,
|
|
126
|
-
option: args
|
|
109
|
+
option: args == null ? void 0 : args[1]
|
|
127
110
|
});
|
|
128
|
-
|
|
129
|
-
if (namePath?.length && !_isEqual(originRow, values)) {
|
|
111
|
+
if ((namePath == null ? void 0 : namePath.length) && !isEqual(originRow, values)) {
|
|
130
112
|
form.setFieldValue(namePath, values);
|
|
131
113
|
const diff = difference(originRow, values) || {};
|
|
132
|
-
const validateFieldKeys = Object.keys(diff)
|
|
133
|
-
if (validateFieldKeys
|
|
114
|
+
const validateFieldKeys = (_c = (_b = Object.keys(diff)) == null ? void 0 : _b.map) == null ? void 0 : _c.call(_b, (key) => [...namePath, key]);
|
|
115
|
+
if (validateFieldKeys == null ? void 0 : validateFieldKeys.length) {
|
|
134
116
|
setTimeout(() => {
|
|
135
117
|
form.validateFields([name, ...validateFieldKeys]);
|
|
136
118
|
}, 100);
|
|
@@ -138,17 +120,16 @@ export const useTransformColumns = params => {
|
|
|
138
120
|
}
|
|
139
121
|
};
|
|
140
122
|
const handleBlur = (...args) => {
|
|
141
|
-
if (!onBlur)
|
|
123
|
+
if (!onBlur)
|
|
124
|
+
return;
|
|
142
125
|
const values = form.getFieldValue(namePath);
|
|
143
|
-
onBlur
|
|
126
|
+
onBlur == null ? void 0 : onBlur(args[0], values, {
|
|
144
127
|
index: outerIndex,
|
|
145
128
|
namePath,
|
|
146
129
|
form,
|
|
147
|
-
option: args
|
|
130
|
+
option: args == null ? void 0 : args[1]
|
|
148
131
|
});
|
|
149
132
|
};
|
|
150
|
-
|
|
151
|
-
// 内外一个为true则为true
|
|
152
133
|
const getLastDisabled = () => {
|
|
153
134
|
if (Array.isArray(groupProps.disabled)) {
|
|
154
135
|
return reactiveProps.disabled || groupProps.disabled[index];
|
|
@@ -160,97 +141,55 @@ export const useTransformColumns = params => {
|
|
|
160
141
|
name: columnName,
|
|
161
142
|
...reactiveProps,
|
|
162
143
|
disabled: getLastDisabled(),
|
|
163
|
-
getValueProps: transform
|
|
144
|
+
getValueProps: transform == null ? void 0 : transform.getValueProps,
|
|
164
145
|
fieldProps: {
|
|
165
|
-
...column
|
|
166
|
-
...reactiveProps
|
|
146
|
+
...column == null ? void 0 : column.fieldProps,
|
|
147
|
+
...reactiveProps == null ? void 0 : reactiveProps.fieldProps,
|
|
167
148
|
onChange: handleChange,
|
|
168
149
|
onBlur: handleBlur,
|
|
169
|
-
value: value
|
|
150
|
+
value: value == null ? void 0 : value[index]
|
|
170
151
|
}
|
|
171
152
|
};
|
|
172
153
|
});
|
|
173
154
|
};
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
*/
|
|
178
|
-
export const checkShouldShow = (child, form, namePath, index) => {
|
|
179
|
-
const {
|
|
180
|
-
show
|
|
181
|
-
} = child;
|
|
182
|
-
|
|
183
|
-
// 如果没有配置 show,默认显示
|
|
184
|
-
if (show === undefined || show === true) {
|
|
155
|
+
const checkShouldShow = (child, form, namePath, index) => {
|
|
156
|
+
const { show } = child;
|
|
157
|
+
if (show === void 0 || show === true) {
|
|
185
158
|
return true;
|
|
186
159
|
}
|
|
187
|
-
|
|
188
|
-
// 如果 show 是 false,不显示
|
|
189
160
|
if (show === false) {
|
|
190
161
|
return false;
|
|
191
162
|
}
|
|
192
|
-
|
|
193
|
-
// 如果 show 是函数,需要获取表单值来评估
|
|
194
|
-
if (_isFunction(show)) {
|
|
163
|
+
if (isFunction(show)) {
|
|
195
164
|
let values = {};
|
|
196
165
|
if (namePath) {
|
|
197
|
-
// FormList 场景:取当前行数据
|
|
198
166
|
values = form.getFieldValue(namePath) || {};
|
|
199
167
|
} else {
|
|
200
|
-
// 普通场景:取整个表单值
|
|
201
168
|
values = form.getFieldsValue(true);
|
|
202
169
|
}
|
|
203
|
-
return Boolean(show(values, {
|
|
204
|
-
form,
|
|
205
|
-
index,
|
|
206
|
-
namePath
|
|
207
|
-
}));
|
|
170
|
+
return Boolean(show(values, { form, index, namePath }));
|
|
208
171
|
}
|
|
209
172
|
return true;
|
|
210
173
|
};
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
*/
|
|
215
|
-
export const useResetProEditTable = params => {
|
|
216
|
-
const {
|
|
217
|
-
children,
|
|
218
|
-
form,
|
|
219
|
-
namePath,
|
|
220
|
-
source
|
|
221
|
-
} = params;
|
|
222
|
-
|
|
223
|
-
// 用于跟踪每个子项的显示状态
|
|
224
|
-
const showStateRef = useRef(new Map());
|
|
225
|
-
// 用于存储重置定时器
|
|
226
|
-
const resetTimersRef = useRef(new Map());
|
|
174
|
+
const useResetProEditTable = (params) => {
|
|
175
|
+
const { children, form, namePath, source } = params;
|
|
176
|
+
const showStateRef = useRef(/* @__PURE__ */ new Map());
|
|
177
|
+
const resetTimersRef = useRef(/* @__PURE__ */ new Map());
|
|
227
178
|
useEffect(() => {
|
|
228
|
-
|
|
229
|
-
if (source !== 'ProEditTable') {
|
|
179
|
+
if (source !== "ProEditTable") {
|
|
230
180
|
return;
|
|
231
181
|
}
|
|
232
|
-
|
|
233
|
-
// 检查每个子项的显示状态
|
|
234
|
-
children.forEach(child => {
|
|
182
|
+
children.forEach((child) => {
|
|
235
183
|
const childNamePath = child.namePath || namePath;
|
|
236
184
|
const childIndex = child.index;
|
|
237
|
-
|
|
238
|
-
// 生成唯一 key 用于跟踪状态
|
|
239
185
|
const childKey = child.name ? Array.isArray(child.name) ? `${JSON.stringify(childNamePath)}-${JSON.stringify(child.name)}` : `${JSON.stringify(childNamePath)}-${child.name}` : `child-${children.indexOf(child)}`;
|
|
240
|
-
|
|
241
|
-
// 计算当前显示状态
|
|
242
186
|
const currentShow = checkShouldShow(child, form, childNamePath, childIndex);
|
|
243
187
|
const previousShow = showStateRef.current.get(childKey);
|
|
244
|
-
|
|
245
|
-
// 如果状态发生变化,且从显示变为隐藏,执行重置
|
|
246
|
-
if (previousShow !== undefined && previousShow === true && currentShow === false) {
|
|
247
|
-
// 清除之前的定时器
|
|
188
|
+
if (previousShow !== void 0 && previousShow === true && currentShow === false) {
|
|
248
189
|
const existingTimer = resetTimersRef.current.get(childKey);
|
|
249
190
|
if (existingTimer) {
|
|
250
191
|
clearTimeout(existingTimer);
|
|
251
192
|
}
|
|
252
|
-
|
|
253
|
-
// 延迟执行重置,避免在渲染过程中调用
|
|
254
193
|
const timer = setTimeout(() => {
|
|
255
194
|
if (Array.isArray(child.name)) {
|
|
256
195
|
form.resetFields([[...childNamePath, ...child.name]]);
|
|
@@ -261,17 +200,18 @@ export const useResetProEditTable = params => {
|
|
|
261
200
|
}, 300);
|
|
262
201
|
resetTimersRef.current.set(childKey, timer);
|
|
263
202
|
}
|
|
264
|
-
|
|
265
|
-
// 更新显示状态
|
|
266
203
|
showStateRef.current.set(childKey, currentShow);
|
|
267
204
|
});
|
|
268
|
-
|
|
269
|
-
// 清理函数:组件卸载时清除所有定时器
|
|
270
205
|
return () => {
|
|
271
|
-
resetTimersRef.current.forEach(timer => {
|
|
206
|
+
resetTimersRef.current.forEach((timer) => {
|
|
272
207
|
clearTimeout(timer);
|
|
273
208
|
});
|
|
274
209
|
resetTimersRef.current.clear();
|
|
275
210
|
};
|
|
276
211
|
}, [children, namePath, source, form]);
|
|
277
|
-
};
|
|
212
|
+
};
|
|
213
|
+
export {
|
|
214
|
+
checkShouldShow,
|
|
215
|
+
useResetProEditTable,
|
|
216
|
+
useTransformColumns
|
|
217
|
+
};
|
|
@@ -1,19 +1,16 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Space } from "antd";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import isEmpty from "lodash/isEmpty";
|
|
5
|
+
import omit from "lodash/omit";
|
|
6
|
+
import classnames from "classnames";
|
|
6
7
|
import { insertSeparator } from "./utils";
|
|
7
8
|
import { useTransformColumns } from "./hooks";
|
|
8
9
|
import ProForm from "../../../../ProForm";
|
|
9
10
|
import ComRender from "./component/ComRender";
|
|
10
11
|
import FlexibleGroup from "./component/FlexibleGroup";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
* 传统数组模式Group组件(保持向后兼容)
|
|
14
|
-
*/
|
|
15
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
16
|
-
const LegacyGroup = props => {
|
|
12
|
+
const LegacyGroup = (props) => {
|
|
13
|
+
var _a;
|
|
17
14
|
const {
|
|
18
15
|
children,
|
|
19
16
|
className,
|
|
@@ -27,32 +24,20 @@ const LegacyGroup = props => {
|
|
|
27
24
|
isView: isParentView,
|
|
28
25
|
disabled: formDisabled,
|
|
29
26
|
separator,
|
|
30
|
-
split
|
|
27
|
+
split
|
|
28
|
+
// 弃用属性,保持向后兼容
|
|
31
29
|
} = props;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const finalSeparator = separator ?? split ?? '/';
|
|
35
|
-
|
|
36
|
-
// 支持从 fieldProps.space 获取 space 配置
|
|
37
|
-
const fieldPropsSpace = props.fieldProps?.space;
|
|
30
|
+
const finalSeparator = separator ?? split ?? "/";
|
|
31
|
+
const fieldPropsSpace = (_a = props.fieldProps) == null ? void 0 : _a.space;
|
|
38
32
|
const space = fieldPropsSpace || propsSpace;
|
|
39
33
|
const contextProps = ProForm.useFieldProps() || {};
|
|
40
|
-
const {
|
|
41
|
-
names,
|
|
42
|
-
name,
|
|
43
|
-
form,
|
|
44
|
-
namePath,
|
|
45
|
-
index,
|
|
46
|
-
isView
|
|
47
|
-
} = contextProps;
|
|
34
|
+
const { names, name, form, namePath, index, isView } = contextProps;
|
|
48
35
|
const nextOption = React.useRef([]);
|
|
49
36
|
const nextIsView = isParentView || isView || otherProps.isView;
|
|
50
|
-
|
|
51
|
-
// 组合onChange
|
|
52
|
-
const handleChange = (value, option, index) => {
|
|
37
|
+
const handleChange = (value2, option, index2) => {
|
|
53
38
|
const nextValue = props.value ? [...props.value] : [];
|
|
54
|
-
nextValue[
|
|
55
|
-
nextOption.current[
|
|
39
|
+
nextValue[index2] = value2;
|
|
40
|
+
nextOption.current[index2] = option;
|
|
56
41
|
onChange(nextValue, nextOption.current);
|
|
57
42
|
};
|
|
58
43
|
const columnsProps = useTransformColumns({
|
|
@@ -69,132 +54,108 @@ const LegacyGroup = props => {
|
|
|
69
54
|
});
|
|
70
55
|
const columns = insertSeparator(columnsProps, space);
|
|
71
56
|
const nextClassName = classnames({
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
return
|
|
57
|
+
"pro-group": true,
|
|
58
|
+
"pro-group-unflexible": true,
|
|
59
|
+
"pro-group-diy-width": columns.some((item) => {
|
|
60
|
+
var _a2, _b;
|
|
61
|
+
return (_b = (_a2 = item == null ? void 0 : item.fieldProps) == null ? void 0 : _a2.style) == null ? void 0 : _b.width;
|
|
62
|
+
}),
|
|
63
|
+
"pro-group-width-auto": columns.some((item) => {
|
|
64
|
+
return ["Radio", "Checkbox", "Switch"].includes(item.type);
|
|
77
65
|
}),
|
|
78
|
-
|
|
66
|
+
"pro-group-view": nextIsView,
|
|
79
67
|
[`${className}`]: className
|
|
80
68
|
});
|
|
81
|
-
if (nextIsView &&
|
|
82
|
-
return otherProps
|
|
69
|
+
if (nextIsView && isEmpty(value)) {
|
|
70
|
+
return (otherProps == null ? void 0 : otherProps.viewEmpty) || "-";
|
|
83
71
|
}
|
|
84
|
-
|
|
85
|
-
// compact模式专用:为每个字段创建可见的Form.Item,并应用宽度样式
|
|
86
72
|
const renderCompactFormItems = () => {
|
|
87
73
|
const elements = [];
|
|
88
|
-
columns.forEach((column,
|
|
89
|
-
|
|
90
|
-
const childWidth = column
|
|
91
|
-
const formItemStyle = childWidth ? {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
const formItemClassName = childWidth ? 'pro-group-form-item pro-group-form-item-has-width' : 'pro-group-form-item';
|
|
95
|
-
|
|
96
|
-
// 创建新的 column 对象,避免直接修改原对象
|
|
97
|
-
const newColumn = {
|
|
98
|
-
...column
|
|
99
|
-
};
|
|
74
|
+
columns.forEach((column, index2) => {
|
|
75
|
+
var _a2, _b, _c;
|
|
76
|
+
const childWidth = (_b = (_a2 = column == null ? void 0 : column.fieldProps) == null ? void 0 : _a2.style) == null ? void 0 : _b.width;
|
|
77
|
+
const formItemStyle = childWidth ? { width: childWidth } : void 0;
|
|
78
|
+
const formItemClassName = childWidth ? "pro-group-form-item pro-group-form-item-has-width" : "pro-group-form-item";
|
|
79
|
+
const newColumn = { ...column };
|
|
100
80
|
newColumn.otherProps = otherProps;
|
|
101
|
-
|
|
102
|
-
// 如果子组件有自定义宽度,将子组件的宽度改为 100%,让它填充 Form.Item
|
|
103
81
|
if (childWidth) {
|
|
104
82
|
newColumn.fieldProps = {
|
|
105
83
|
...newColumn.fieldProps,
|
|
106
84
|
style: {
|
|
107
|
-
...newColumn.fieldProps
|
|
108
|
-
width:
|
|
85
|
+
...(_c = newColumn.fieldProps) == null ? void 0 : _c.style,
|
|
86
|
+
width: "100%"
|
|
109
87
|
}
|
|
110
88
|
};
|
|
111
89
|
}
|
|
112
|
-
|
|
113
|
-
// 自定义间隔移除对应参数
|
|
114
|
-
if (newColumn?.separator) {
|
|
90
|
+
if (newColumn == null ? void 0 : newColumn.separator) {
|
|
115
91
|
delete newColumn.separator;
|
|
116
92
|
delete newColumn.otherProps;
|
|
117
93
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
94
|
+
const dependencies = names && names.length > 0 ? names.filter((n) => n !== newColumn.name) : void 0;
|
|
95
|
+
const formElement = /* @__PURE__ */ jsx(
|
|
96
|
+
ComRender,
|
|
97
|
+
{
|
|
98
|
+
contextProps,
|
|
99
|
+
isView: nextIsView,
|
|
100
|
+
formItemClassName,
|
|
101
|
+
formItemStyle,
|
|
102
|
+
dependencies,
|
|
103
|
+
...newColumn
|
|
104
|
+
},
|
|
105
|
+
newColumn.name || index2
|
|
106
|
+
);
|
|
130
107
|
elements.push(formElement);
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
108
|
+
if ((newColumn == null ? void 0 : newColumn.separator) && index2 < columns.length - 1) {
|
|
109
|
+
elements.push(
|
|
110
|
+
/* @__PURE__ */ jsx(
|
|
111
|
+
"span",
|
|
112
|
+
{
|
|
113
|
+
className: "pro-group-separator-compact",
|
|
114
|
+
children: newColumn.separator
|
|
115
|
+
},
|
|
116
|
+
`separator-${String(newColumn.name ?? index2)}`
|
|
117
|
+
)
|
|
118
|
+
);
|
|
138
119
|
}
|
|
139
120
|
});
|
|
140
|
-
return
|
|
141
|
-
className: "ant-space ant-space-horizontal ant-space-compact pro-group-compact-container",
|
|
142
|
-
children: elements
|
|
143
|
-
});
|
|
121
|
+
return /* @__PURE__ */ jsx("div", { className: "ant-space ant-space-horizontal ant-space-compact pro-group-compact-container", children: elements });
|
|
144
122
|
};
|
|
145
|
-
return
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
children: (space.compact || space?.separator) && !nextIsView ? renderCompactFormItems() : /*#__PURE__*/_jsx(Space, {
|
|
123
|
+
return /* @__PURE__ */ jsx("div", { className: nextClassName, id, children: (space.compact || (space == null ? void 0 : space.separator)) && !nextIsView ? renderCompactFormItems() : /* @__PURE__ */ jsx(
|
|
124
|
+
Space,
|
|
125
|
+
{
|
|
149
126
|
align: "start",
|
|
150
|
-
...
|
|
127
|
+
...omit(space, ["separator", "compact"]),
|
|
151
128
|
separator: nextIsView ? finalSeparator : null,
|
|
152
129
|
size: nextIsView ? 0 : space.size,
|
|
153
|
-
children: columns.map((column,
|
|
130
|
+
children: columns.map((column, index2) => {
|
|
154
131
|
column.otherProps = otherProps;
|
|
155
|
-
if (column
|
|
132
|
+
if (column == null ? void 0 : column.separator) {
|
|
156
133
|
delete column.separator;
|
|
157
134
|
delete column.otherProps;
|
|
158
135
|
}
|
|
159
|
-
return
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
136
|
+
return /* @__PURE__ */ jsx(
|
|
137
|
+
ComRender,
|
|
138
|
+
{
|
|
139
|
+
contextProps,
|
|
140
|
+
isView: nextIsView,
|
|
141
|
+
...column
|
|
142
|
+
},
|
|
143
|
+
column.name || index2
|
|
144
|
+
);
|
|
164
145
|
})
|
|
165
|
-
}
|
|
166
|
-
});
|
|
146
|
+
}
|
|
147
|
+
) });
|
|
167
148
|
};
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
* - 有names属性 → 传统数组模式(保持向后兼容)
|
|
172
|
-
* - 无names属性 → 新的灵活模式(子组件必须配置name)
|
|
173
|
-
*/
|
|
174
|
-
const Group = props => {
|
|
175
|
-
const {
|
|
176
|
-
children,
|
|
177
|
-
names,
|
|
178
|
-
otherProps
|
|
179
|
-
} = props;
|
|
180
|
-
|
|
181
|
-
// names可能在props.names或props.otherProps.names中(来自ProForm的传递)
|
|
182
|
-
const actualNames = names || otherProps?.names;
|
|
183
|
-
|
|
184
|
-
// 模式检测:基于names属性判断使用哪种模式
|
|
185
|
-
// 传统模式:有names属性且为非空数组
|
|
186
|
-
// 灵活模式:无names属性或names为空,children中的子项必须配置name
|
|
149
|
+
const Group = (props) => {
|
|
150
|
+
const { children, names, otherProps } = props;
|
|
151
|
+
const actualNames = names || (otherProps == null ? void 0 : otherProps.names);
|
|
187
152
|
const isLegacyMode = Array.isArray(actualNames) && actualNames.length > 0;
|
|
188
153
|
if (isLegacyMode) {
|
|
189
|
-
|
|
190
|
-
return /*#__PURE__*/_jsx(LegacyGroup, {
|
|
191
|
-
...props,
|
|
192
|
-
names: actualNames
|
|
193
|
-
});
|
|
154
|
+
return /* @__PURE__ */ jsx(LegacyGroup, { ...props, names: actualNames });
|
|
194
155
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
156
|
+
return /* @__PURE__ */ jsx(FlexibleGroup, { ...props });
|
|
157
|
+
};
|
|
158
|
+
var Group_default = Group;
|
|
159
|
+
export {
|
|
160
|
+
Group_default as default
|
|
199
161
|
};
|
|
200
|
-
export default Group;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|