@zat-design/sisyphus-react 4.5.10-beta.1 → 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.
Files changed (266) hide show
  1. package/es/FormsProvider/index.js +14 -21
  2. package/es/ProAction/components/CheckModalContent/index.js +12 -26
  3. package/es/ProAction/index.js +79 -83
  4. package/es/ProAction/propsType.js +0 -1
  5. package/es/ProConfigProvider/index.js +63 -110
  6. package/es/ProConfigProvider/propsType.js +0 -1
  7. package/es/ProDownload/index.js +55 -65
  8. package/es/ProDownload/propsType.js +0 -1
  9. package/es/ProDownload/utils.js +61 -95
  10. package/es/ProDrawerForm/components/ProDrawer/index.js +83 -113
  11. package/es/ProDrawerForm/components/ProModal/index.js +77 -108
  12. package/es/ProDrawerForm/components/index.js +6 -2
  13. package/es/ProDrawerForm/hooks/useConfirmClose.js +20 -39
  14. package/es/ProDrawerForm/index.js +29 -38
  15. package/es/ProDrawerForm/propsType.js +0 -1
  16. package/es/ProDrawerForm/utils/index.js +18 -36
  17. package/es/ProEditLabel/components/RenderProForm.js +45 -49
  18. package/es/ProEditLabel/index.js +126 -163
  19. package/es/ProEditLabel/propsType.js +0 -1
  20. package/es/ProEditLabel/utils/index.js +5 -8
  21. package/es/ProEditTable/components/ActionButton/index.js +111 -119
  22. package/es/ProEditTable/components/RcTable/BaseTable.js +38 -51
  23. package/es/ProEditTable/components/RcTable/DraggableTable.js +97 -129
  24. package/es/ProEditTable/components/RcTable/index.js +6 -4
  25. package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +77 -95
  26. package/es/ProEditTable/components/RenderField/index.js +490 -587
  27. package/es/ProEditTable/components/RenderField/propsType.js +0 -1
  28. package/es/ProEditTable/components/RenderField/tools.js +115 -112
  29. package/es/ProEditTable/components/RenderToolbar/index.js +47 -73
  30. package/es/ProEditTable/components/Summary/index.js +38 -64
  31. package/es/ProEditTable/components/Validator/index.js +46 -46
  32. package/es/ProEditTable/components/index.js +12 -5
  33. package/es/ProEditTable/index.js +456 -378
  34. package/es/ProEditTable/propsType.js +0 -1
  35. package/es/ProEditTable/utils/config.js +60 -122
  36. package/es/ProEditTable/utils/diffOriginal.js +45 -82
  37. package/es/ProEditTable/utils/getDefaultProps.js +19 -24
  38. package/es/ProEditTable/utils/index.js +150 -236
  39. package/es/ProEditTable/utils/tools.js +149 -286
  40. package/es/ProEditTable/utils/transform.js +25 -30
  41. package/es/ProEditTable/utils/useEditTableError.js +30 -43
  42. package/es/ProEditTable/utils/useShouldUpdateForTable.js +42 -72
  43. package/es/ProEditTable/utils/validateAll.js +87 -154
  44. package/es/ProEnum/components/Group.js +38 -30
  45. package/es/ProEnum/components/Tag.js +22 -26
  46. package/es/ProEnum/hooks/useEnum.js +48 -116
  47. package/es/ProEnum/hooks/useEnumRequest.js +128 -179
  48. package/es/ProEnum/hooks/useFrequentEnumRequest.js +40 -48
  49. package/es/ProEnum/index.js +162 -172
  50. package/es/ProEnum/propsType.js +0 -1
  51. package/es/ProEnum/utils/eventCenter.js +10 -12
  52. package/es/ProEnum/utils/frequentEnum.js +35 -92
  53. package/es/ProEnum/utils/getEnum.js +32 -90
  54. package/es/ProEnum/utils/getEnumLabel.js +44 -49
  55. package/es/ProEnum/utils/index.js +93 -207
  56. package/es/ProForm/components/Container.js +13 -28
  57. package/es/ProForm/components/FormFooter/index.js +36 -44
  58. package/es/ProForm/components/FormFooter/propsType.js +0 -1
  59. package/es/ProForm/components/base/Checkbox/index.js +32 -59
  60. package/es/ProForm/components/base/DatePicker/index.js +49 -71
  61. package/es/ProForm/components/base/Input/index.js +63 -97
  62. package/es/ProForm/components/base/Input/propsType.js +0 -1
  63. package/es/ProForm/components/base/InputNumber/index.js +118 -172
  64. package/es/ProForm/components/base/Radio/index.js +39 -52
  65. package/es/ProForm/components/base/RangePicker/index.js +109 -127
  66. package/es/ProForm/components/base/RangePicker/useDateRange.js +20 -17
  67. package/es/ProForm/components/base/Select/index.js +63 -89
  68. package/es/ProForm/components/base/Switch/index.js +27 -35
  69. package/es/ProForm/components/base/SwitchCheckbox/index.js +36 -54
  70. package/es/ProForm/components/base/TextArea/index.js +30 -41
  71. package/es/ProForm/components/base/TimePicker/index.js +27 -37
  72. package/es/ProForm/components/combination/Container/index.js +37 -47
  73. package/es/ProForm/components/combination/Container/propsType.js +0 -1
  74. package/es/ProForm/components/combination/FormList/components/ActionButton.js +165 -237
  75. package/es/ProForm/components/combination/FormList/components/BlockFields.js +98 -103
  76. package/es/ProForm/components/combination/FormList/components/Empty.js +27 -54
  77. package/es/ProForm/components/combination/FormList/components/LineFields.js +57 -54
  78. package/es/ProForm/components/combination/FormList/components/ToolbarButton.js +61 -109
  79. package/es/ProForm/components/combination/FormList/index.js +151 -161
  80. package/es/ProForm/components/combination/FormList/propsType.js +0 -1
  81. package/es/ProForm/components/combination/FormList/utils.js +22 -38
  82. package/es/ProForm/components/combination/Group/component/AddonWrapper/index.js +12 -28
  83. package/es/ProForm/components/combination/Group/component/ComRender.js +50 -111
  84. package/es/ProForm/components/combination/Group/component/FlexibleGroup.js +105 -206
  85. package/es/ProForm/components/combination/Group/hooks/index.js +68 -128
  86. package/es/ProForm/components/combination/Group/index.js +87 -126
  87. package/es/ProForm/components/combination/Group/propsType.js +0 -1
  88. package/es/ProForm/components/combination/Group/utils/index.js +124 -239
  89. package/es/ProForm/components/combination/ProCascader/index.js +156 -199
  90. package/es/ProForm/components/combination/ProCascader/propsType.js +0 -1
  91. package/es/ProForm/components/combination/ProCascader/utils/index.js +12 -21
  92. package/es/ProForm/components/combination/ProModalSelect/hooks/useRequestList.js +63 -75
  93. package/es/ProForm/components/combination/ProModalSelect/index.js +290 -348
  94. package/es/ProForm/components/combination/ProModalSelect/propsType.js +0 -1
  95. package/es/ProForm/components/combination/ProModalSelect/utils/index.js +32 -39
  96. package/es/ProForm/components/combination/ProNumberRange/index.js +100 -156
  97. package/es/ProForm/components/combination/ProNumberRange/propsType.js +0 -1
  98. package/es/ProForm/components/combination/ProRangeLimit/index.js +104 -115
  99. package/es/ProForm/components/combination/ProRangeLimit/propsType.js +0 -1
  100. package/es/ProForm/components/combination/ProTimeLimit/hooks/useControlled.js +16 -16
  101. package/es/ProForm/components/combination/ProTimeLimit/index.js +75 -109
  102. package/es/ProForm/components/index.js +56 -34
  103. package/es/ProForm/components/render/ChangedWrapper.js +85 -94
  104. package/es/ProForm/components/render/ConfirmWrapper.js +27 -39
  105. package/es/ProForm/components/render/CustomComponentViewWrapper.js +65 -82
  106. package/es/ProForm/components/render/Render.js +223 -329
  107. package/es/ProForm/components/render/RenderFields.js +76 -113
  108. package/es/ProForm/components/render/propsType.js +0 -1
  109. package/es/ProForm/hooks/useControlled.js +8 -10
  110. package/es/ProForm/hooks/useDeepCompareMemo.js +11 -11
  111. package/es/ProForm/hooks/useFieldProps.js +8 -4
  112. package/es/ProForm/hooks/useForm.js +50 -110
  113. package/es/ProForm/hooks/useRules.js +17 -33
  114. package/es/ProForm/hooks/useShouldUpdate.js +77 -152
  115. package/es/ProForm/hooks/useWatch.js +58 -129
  116. package/es/ProForm/index.js +157 -194
  117. package/es/ProForm/propsType.js +15 -7
  118. package/es/ProForm/utils/buildFormItemProps.js +51 -58
  119. package/es/ProForm/utils/diffOriginal.js +43 -73
  120. package/es/ProForm/utils/getDefaultProps.js +18 -24
  121. package/es/ProForm/utils/index.js +159 -234
  122. package/es/ProForm/utils/processDependencies.js +21 -60
  123. package/es/ProForm/utils/reactiveValues.js +20 -34
  124. package/es/ProForm/utils/rulesCreator.js +42 -40
  125. package/es/ProForm/utils/transformNames.js +10 -13
  126. package/es/ProForm/utils/transformValue.js +16 -29
  127. package/es/ProForm/utils/valueType.js +96 -178
  128. package/es/ProIcon/config/index.js +340 -274
  129. package/es/ProIcon/index.js +135 -209
  130. package/es/ProIcon/propsTypes.js +0 -1
  131. package/es/ProIcon/utils/index.js +24 -39
  132. package/es/ProLayout/components/Layout/Header/index.js +108 -141
  133. package/es/ProLayout/components/Layout/Menu/FoldMenu/index.js +134 -190
  134. package/es/ProLayout/components/Layout/Menu/OpenMenu/index.js +111 -137
  135. package/es/ProLayout/components/Layout/Menu/OpenMenu/propsType.js +0 -1
  136. package/es/ProLayout/components/Layout/Menu/SideMenu/index.js +23 -31
  137. package/es/ProLayout/components/Layout/Menu/index.js +92 -89
  138. package/es/ProLayout/components/Layout/Notice/index.js +13 -27
  139. package/es/ProLayout/components/Layout/index.js +8 -3
  140. package/es/ProLayout/components/ProCollapse/PropTypes.js +0 -1
  141. package/es/ProLayout/components/ProCollapse/index.js +89 -111
  142. package/es/ProLayout/components/ProFooter/PropTypes.js +0 -1
  143. package/es/ProLayout/components/ProFooter/index.js +27 -25
  144. package/es/ProLayout/components/ProHeader/PropTypes.js +0 -1
  145. package/es/ProLayout/components/ProHeader/components/Copy/index.js +23 -21
  146. package/es/ProLayout/components/ProHeader/components/Describe/index.js +67 -86
  147. package/es/ProLayout/components/ProHeader/components/ProBackBtn/index.js +18 -21
  148. package/es/ProLayout/components/ProHeader/components/ProBackBtn/propsType.js +0 -1
  149. package/es/ProLayout/components/ProHeader/components/index.js +6 -2
  150. package/es/ProLayout/components/ProHeader/index.js +216 -356
  151. package/es/ProLayout/components/ProHeader/utils/index.js +19 -26
  152. package/es/ProLayout/components/TabsManager/components/TabContextMenu.js +92 -85
  153. package/es/ProLayout/components/TabsManager/components/TabItem.js +53 -64
  154. package/es/ProLayout/components/TabsManager/components/TabsContext.js +5 -5
  155. package/es/ProLayout/components/TabsManager/components/TabsHeader.js +42 -52
  156. package/es/ProLayout/components/TabsManager/hooks/useActiveTab.js +8 -9
  157. package/es/ProLayout/components/TabsManager/hooks/useIframeRoute.js +19 -32
  158. package/es/ProLayout/components/TabsManager/hooks/useProLayoutTabs.js +6 -20
  159. package/es/ProLayout/components/TabsManager/hooks/useTabsCache.js +25 -42
  160. package/es/ProLayout/components/TabsManager/hooks/useTabsState.js +290 -408
  161. package/es/ProLayout/components/TabsManager/hooks/useTabsUrlSync.js +132 -95
  162. package/es/ProLayout/components/TabsManager/index.js +406 -390
  163. package/es/ProLayout/components/TabsManager/propTypes.js +7 -15
  164. package/es/ProLayout/components/TabsManager/utils/historyObserver.js +26 -23
  165. package/es/ProLayout/components/TabsManager/utils/index.js +127 -184
  166. package/es/ProLayout/components/index.js +8 -3
  167. package/es/ProLayout/index.js +171 -229
  168. package/es/ProLayout/propTypes.js +12 -52
  169. package/es/ProLayout/utils/index.js +48 -128
  170. package/es/ProSelect/components/AdaptiveTooltip.js +26 -25
  171. package/es/ProSelect/index.js +184 -229
  172. package/es/ProSelect/propsType.js +0 -1
  173. package/es/ProSelect/utils/index.js +100 -146
  174. package/es/ProStep/components/Anchor/index.js +71 -82
  175. package/es/ProStep/components/Item/index.js +49 -56
  176. package/es/ProStep/components/LazyLoad/index.js +23 -29
  177. package/es/ProStep/components/Listener/index.js +20 -33
  178. package/es/ProStep/components/Step/index.js +31 -38
  179. package/es/ProStep/constants.js +4 -1
  180. package/es/ProStep/index.js +166 -153
  181. package/es/ProStep/propsType.js +0 -1
  182. package/es/ProStep/utils/index.js +29 -55
  183. package/es/ProStepTab/index.js +83 -138
  184. package/es/ProStepTab/propsType.js +0 -1
  185. package/es/ProTable/components/EditableCell/EditIcon.js +10 -14
  186. package/es/ProTable/components/EditableCell/index.js +37 -71
  187. package/es/ProTable/components/EditableCell/propsType.js +0 -1
  188. package/es/ProTable/components/FormatColumn/index.js +209 -340
  189. package/es/ProTable/components/FormatColumn/propsType.js +0 -1
  190. package/es/ProTable/components/RcTable/components/BaseTable/index.js +35 -39
  191. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +80 -107
  192. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/index.js +54 -48
  193. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/propsType.js +0 -1
  194. package/es/ProTable/components/RcTable/components/DraggableTable/index.js +47 -54
  195. package/es/ProTable/components/RcTable/index.js +6 -4
  196. package/es/ProTable/components/RenderColumn/index.js +158 -186
  197. package/es/ProTable/components/RenderEmptyText/index.js +12 -21
  198. package/es/ProTable/components/RenderFooter/index.js +15 -15
  199. package/es/ProTable/components/RenderSummary/index.js +33 -50
  200. package/es/ProTable/components/RenderTableHeader/index.js +44 -46
  201. package/es/ProTable/components/RenderTabs/index.js +47 -51
  202. package/es/ProTable/components/TableResizable/index.js +56 -72
  203. package/es/ProTable/components/TooltipTitle/index.js +13 -21
  204. package/es/ProTable/components/index.js +16 -36
  205. package/es/ProTable/hooks/useAntdTable.js +185 -219
  206. package/es/ProTable/index.js +232 -249
  207. package/es/ProTable/propsType.js +0 -1
  208. package/es/ProTable/utils/columnStorage.js +63 -88
  209. package/es/ProTable/utils/index.js +57 -90
  210. package/es/ProTabs/components/Card/index.js +20 -48
  211. package/es/ProTabs/components/index.js +4 -1
  212. package/es/ProTabs/index.js +39 -56
  213. package/es/ProTabs/propType.js +0 -1
  214. package/es/ProThemeTools/component/ProTools/index.js +106 -158
  215. package/es/ProThemeTools/component/index.js +4 -1
  216. package/es/ProThemeTools/context/ThemeContext.js +67 -146
  217. package/es/ProThemeTools/index.js +103 -156
  218. package/es/ProThemeTools/propsType.js +0 -1
  219. package/es/ProThemeTools/utils/index.js +60 -109
  220. package/es/ProTooltip/index.js +132 -165
  221. package/es/ProTooltip/propsType.js +0 -1
  222. package/es/ProTree/components/AdaptiveTooltip.js +15 -17
  223. package/es/ProTree/components/CloseIcon.js +18 -26
  224. package/es/ProTree/components/List.js +28 -47
  225. package/es/ProTree/components/ProTree.js +152 -211
  226. package/es/ProTree/components/ProTreeSelect/index.js +254 -458
  227. package/es/ProTree/components/ProTreeSelect/propsType.js +0 -1
  228. package/es/ProTree/components/SearchTitle.js +23 -42
  229. package/es/ProTree/components/Tree.js +147 -195
  230. package/es/ProTree/components/index.js +10 -5
  231. package/es/ProTree/index.js +12 -16
  232. package/es/ProTree/propsType.js +0 -1
  233. package/es/ProTree/utils.js +46 -118
  234. package/es/ProTreeModal/components/Cascader.js +56 -64
  235. package/es/ProTreeModal/components/CloseIcon.js +18 -26
  236. package/es/ProTreeModal/components/List.js +114 -180
  237. package/es/ProTreeModal/components/SearchTitle.js +15 -18
  238. package/es/ProTreeModal/components/SortableItem.js +29 -58
  239. package/es/ProTreeModal/components/Tree.js +99 -113
  240. package/es/ProTreeModal/components/Trigger.js +87 -121
  241. package/es/ProTreeModal/components/index.js +14 -6
  242. package/es/ProTreeModal/index.js +397 -435
  243. package/es/ProTreeModal/propsType.js +0 -1
  244. package/es/ProTreeModal/utils.js +52 -95
  245. package/es/ProUpload/components/ButtonRender.js +44 -54
  246. package/es/ProUpload/components/DragRender.js +94 -134
  247. package/es/ProUpload/components/DraggableUploadListItem.js +12 -25
  248. package/es/ProUpload/components/Example.js +27 -31
  249. package/es/ProUpload/components/FileItem.js +69 -163
  250. package/es/ProUpload/components/ImageRender.js +134 -170
  251. package/es/ProUpload/index.js +68 -100
  252. package/es/ProUpload/propsType.js +0 -1
  253. package/es/ProUpload/uitls.js +8 -4
  254. package/es/ProUtils/utils/index.js +17 -13
  255. package/es/ProViewer/index.js +154 -175
  256. package/es/ProViewer/propsType.js +0 -5
  257. package/es/ProWaterMark/index.js +9 -16
  258. package/es/ProWaterMark/propsType.js +0 -1
  259. package/es/hooks/useDraggableRow.js +25 -53
  260. package/es/index.js +57 -77
  261. package/es/locale/en_US.js +153 -142
  262. package/es/locale/index.js +23 -36
  263. package/es/locale/zh_CN.js +145 -142
  264. package/es/tokens.js +84 -83
  265. package/es/utils/index.js +24 -51
  266. package/package.json +4 -3
@@ -1,28 +1,16 @@
1
- import _isString from "lodash/isString";
2
- import _isBoolean from "lodash/isBoolean";
3
- import { useEffect, useMemo } from 'react';
1
+ import { useEffect, useMemo } from "react";
2
+ import isBoolean from "lodash/isBoolean";
3
+ import isString from "lodash/isString";
4
4
  import { rulesCreator } from "../utils/rulesCreator";
5
5
  import { isNotFullArray, isNullArray } from "../utils";
6
6
  import locale from "../../locale";
7
- const useRules = props => {
8
- const {
9
- rules,
10
- required,
11
- isSelect,
12
- label,
13
- names,
14
- labelRequired,
15
- type
16
- } = props;
17
- const _label = _isString(label) ? label : '';
18
- const requiredRule = Array.isArray(rules) && rules?.find(rule => rule.required === true);
19
- const allRequired = required === true || Array.isArray(required) && required.every(item => item === true);
20
-
21
- // 根据 required 添加 rules, names 字段会添加数组的必填校验
7
+ const useRules = (props) => {
8
+ const { rules, required, isSelect, label, names, labelRequired, type } = props;
9
+ const _label = isString(label) ? label : "";
10
+ const requiredRule = Array.isArray(rules) && (rules == null ? void 0 : rules.find((rule) => rule.required === true));
11
+ const allRequired = required === true || Array.isArray(required) && required.every((item) => item === true);
22
12
  const internalRule = useMemo(() => {
23
- const result = {
24
- rules: rules || []
25
- };
13
+ const result = { rules: rules || [] };
26
14
  if (allRequired) {
27
15
  if (!requiredRule) {
28
16
  const message = isSelect ? `${locale.ProForm.selectPlaceHolder}${_label}` : `${locale.ProForm.inputPlaceholder}${_label}`;
@@ -30,9 +18,7 @@ const useRules = props => {
30
18
  required: allRequired,
31
19
  message
32
20
  };
33
-
34
- // names字段的必填校验
35
- if (names?.length) {
21
+ if (names == null ? void 0 : names.length) {
36
22
  rule.validator = (_, value) => {
37
23
  if (!value || isNullArray(value)) {
38
24
  return Promise.reject(new Error(`${locale.ProForm.inputPlaceholder}${_label}`));
@@ -42,8 +28,7 @@ const useRules = props => {
42
28
  }
43
29
  result.rules = Array.isArray(rules) ? [...rules, rule] : [rule];
44
30
  }
45
- } else if (requiredRule && names?.length) {
46
- // names字段 修改必填规则校验
31
+ } else if (requiredRule && (names == null ? void 0 : names.length)) {
47
32
  requiredRule.validator = (_, value) => {
48
33
  if (!value || isNullArray(value)) {
49
34
  return Promise.reject(new Error(`${locale.ProForm.inputPlaceholder}${_label}`));
@@ -53,8 +38,6 @@ const useRules = props => {
53
38
  }
54
39
  return result;
55
40
  }, [rules, required]);
56
-
57
- // type转换为内置rules
58
41
  internalRule.rules = internalRule.rules && rulesCreator({
59
42
  rules: internalRule.rules,
60
43
  label: _label,
@@ -63,11 +46,9 @@ const useRules = props => {
63
46
  required
64
47
  });
65
48
  useEffect(() => {
66
- // 添加完整性校验
67
- if (names && !_isBoolean(labelRequired)) {
49
+ if (names && !isBoolean(labelRequired)) {
68
50
  const customRequired = {
69
- validator: (rules, value) => {
70
- // 完整性校验, 空数组不校验, 数组有值且值不完整则校验不通过
51
+ validator: (rules2, value) => {
71
52
  if (Array.isArray(value) && !isNullArray(value) && isNotFullArray(value, names.length, required)) {
72
53
  return Promise.reject(new Error(`${locale.ProForm.completeText}${_label}`));
73
54
  }
@@ -79,4 +60,7 @@ const useRules = props => {
79
60
  }, [internalRule]);
80
61
  return internalRule;
81
62
  };
82
- export default useRules;
63
+ var useRules_default = useRules;
64
+ export {
65
+ useRules_default as default
66
+ };
@@ -1,24 +1,22 @@
1
- import _debounce from "lodash/debounce";
2
- import _get from "lodash/get";
3
- import _isEqualWith from "lodash/isEqualWith";
4
- import _isFunction from "lodash/isFunction";
5
- import { useRef, useState, useEffect } from 'react';
1
+ import { useRef, useState, useEffect } from "react";
2
+ import isFunction from "lodash/isFunction";
3
+ import isEqualWith from "lodash/isEqualWith";
4
+ import get from "lodash/get";
5
+ import debounce from "lodash/debounce";
6
6
  import { customEqualForFunction } from "../../utils";
7
- import { resolveReactiveValues, hasReactiveDiff, commitReactiveValues } from "../utils/reactiveValues";
8
- /** FormList中被删除的行也会再触发一次响应式函数 排除这种场景 */
7
+ import {
8
+ resolveReactiveValues,
9
+ hasReactiveDiff,
10
+ commitReactiveValues
11
+ } from "../utils/reactiveValues";
9
12
  const isDeleteLine = (form, namePath) => {
10
13
  if (namePath) {
11
14
  const line = form.getFieldValue(namePath);
12
- return line === undefined;
15
+ return line === void 0;
13
16
  }
14
17
  return false;
15
18
  };
16
-
17
- /**
18
- * 执行清值逻辑
19
- * @param params 清值所需参数
20
- */
21
- const executeClearValue = params => {
19
+ const executeClearValue = (params) => {
22
20
  const {
23
21
  form,
24
22
  name,
@@ -31,38 +29,31 @@ const executeClearValue = params => {
31
29
  needClear,
32
30
  timerRef
33
31
  } = params;
34
-
35
- // 提前返回:不满足清值条件
36
32
  const shouldClear = clearNotShow !== false && (name || names) && !isDeleteLine(form, namePath);
37
33
  if (!shouldClear) {
38
34
  return;
39
35
  }
40
-
41
- // 当show从其他值变为false时,标记需要清值
42
36
  const showChangedToFalse = currentShow !== previousShow && currentShow === false;
43
37
  if (showChangedToFalse) {
44
38
  needClear.current = true;
45
39
  }
46
-
47
- // show为false时,执行清值操作(带防抖)
48
40
  if (currentShow === false) {
49
41
  clearTimeout(timerRef.current);
50
42
  timerRef.current = setTimeout(() => {
51
- if (needClear.current !== true) return;
52
- const fieldsToReset = Array.isArray(names) ? names : [formItemProps.namePath ? formItemProps.namePath.slice(0, -1).concat(formItemProps.name) : formItemProps.name];
43
+ if (needClear.current !== true)
44
+ return;
45
+ const fieldsToReset = Array.isArray(names) ? names : [
46
+ formItemProps.namePath ? formItemProps.namePath.slice(0, -1).concat(formItemProps.name) : formItemProps.name
47
+ ];
53
48
  form.resetFields(fieldsToReset);
54
49
  needClear.current = false;
55
50
  }, 300);
56
51
  return;
57
52
  }
58
-
59
- // show不为false时,清除清值标记和定时器
60
53
  needClear.current = false;
61
54
  clearTimeout(timerRef.current);
62
55
  };
63
-
64
- // 代理shouldUpdate事件, 执行函数值的[show, disabled], 当[show, disabled]与上一次值不相同时更新状态
65
- const useShouldUpdate = props => {
56
+ const useShouldUpdate = (props) => {
66
57
  const {
67
58
  show,
68
59
  formItemProps,
@@ -77,20 +68,11 @@ const useShouldUpdate = props => {
77
68
  desensitization,
78
69
  shouldUpdateDebounce
79
70
  } = props;
80
- const {
81
- shouldUpdate,
82
- name,
83
- clearNotShow,
84
- index,
85
- namePath,
86
- names,
87
- dependNames
88
- } = formItemProps;
89
- const timerRef = useRef(null); // 清值防抖
90
- const debouncedShouldUpdateRef = useRef(null); // shouldUpdate防抖函数
91
- const pendingValuesRef = useRef(null); // 待处理的表单值
92
-
93
- const needClear = useRef(false); // 是否需要执行清值操作
71
+ const { shouldUpdate, name, clearNotShow, index, namePath, names, dependNames } = formItemProps;
72
+ const timerRef = useRef(null);
73
+ const debouncedShouldUpdateRef = useRef(null);
74
+ const pendingValuesRef = useRef(null);
75
+ const needClear = useRef(false);
94
76
  const showRef = useRef(false);
95
77
  const disabledRef = useRef(false);
96
78
  const requiredRef = useRef(false);
@@ -99,11 +81,9 @@ const useShouldUpdate = props => {
99
81
  const originComponentRef = useRef(null);
100
82
  const dependNamesRef = useRef([]);
101
83
  const desensitizationRef = useRef([0, 0]);
102
- const newComponent = originComponent || component; // 解决component默认赋值污染问题,需要使用originComponent
84
+ const newComponent = originComponent || component;
103
85
  const [, reRender] = useState({});
104
86
  let values = {};
105
-
106
- // 响应式配置与 ref 集合,供纯函数复用
107
87
  const reactiveProps = {
108
88
  show,
109
89
  disabled,
@@ -120,18 +100,10 @@ const useShouldUpdate = props => {
120
100
  fieldPropsRef,
121
101
  desensitizationRef
122
102
  };
123
-
124
- // 处理表单值更新的函数
125
- const processValuesUpdate = currentValues => {
103
+ const processValuesUpdate = (currentValues) => {
126
104
  const _currentValues = namePath ? form.getFieldValue(namePath) || {} : currentValues;
127
- const ctx = {
128
- form,
129
- index,
130
- namePath
131
- };
105
+ const ctx = { form, index, namePath };
132
106
  const next = resolveReactiveValues(reactiveProps, _currentValues, ctx);
133
-
134
- // 在防抖函数中也执行清值逻辑,确保清值功能在防抖场景下也能正常工作
135
107
  executeClearValue({
136
108
  form,
137
109
  name,
@@ -149,27 +121,32 @@ const useShouldUpdate = props => {
149
121
  reRender({});
150
122
  }
151
123
  };
152
-
153
- // 创建防抖函数
154
124
  useEffect(() => {
155
- if (shouldUpdateDebounce > 0 && (dependNames?.length || _isFunction(show) || _isFunction(disabled) || _isFunction(required) || _isFunction(rules) || _isFunction(fieldProps) || _isFunction(originComponent) || _isFunction(desensitization))) {
156
- debouncedShouldUpdateRef.current = _debounce(() => {
125
+ if (shouldUpdateDebounce > 0 && ((dependNames == null ? void 0 : dependNames.length) || isFunction(show) || isFunction(disabled) || isFunction(required) || isFunction(rules) || isFunction(fieldProps) || isFunction(originComponent) || isFunction(desensitization))) {
126
+ debouncedShouldUpdateRef.current = debounce(() => {
157
127
  if (pendingValuesRef.current) {
158
128
  const currentValues = pendingValuesRef.current;
159
129
  pendingValuesRef.current = null;
160
-
161
- // 使用最新的values重新计算状态
162
130
  processValuesUpdate(currentValues);
163
131
  }
164
132
  }, shouldUpdateDebounce);
165
133
  }
166
134
  return () => {
167
- debouncedShouldUpdateRef.current?.cancel();
135
+ var _a;
136
+ (_a = debouncedShouldUpdateRef.current) == null ? void 0 : _a.cancel();
168
137
  };
169
- }, [shouldUpdateDebounce, dependNames?.length, show, disabled, required, rules, fieldProps, originComponent, desensitization]);
170
-
171
- // 不是动态函数直接返回
172
- if (!dependNames?.length && !_isFunction(show) && !_isFunction(disabled) && !_isFunction(required) && !_isFunction(rules) && !_isFunction(fieldProps) && !_isFunction(originComponent) && !_isFunction(desensitization)) {
138
+ }, [
139
+ shouldUpdateDebounce,
140
+ dependNames == null ? void 0 : dependNames.length,
141
+ show,
142
+ disabled,
143
+ required,
144
+ rules,
145
+ fieldProps,
146
+ originComponent,
147
+ desensitization
148
+ ]);
149
+ if (!(dependNames == null ? void 0 : dependNames.length) && !isFunction(show) && !isFunction(disabled) && !isFunction(required) && !isFunction(rules) && !isFunction(fieldProps) && !isFunction(originComponent) && !isFunction(desensitization)) {
173
150
  return {
174
151
  shouldUpdate,
175
152
  show,
@@ -182,117 +159,72 @@ const useShouldUpdate = props => {
182
159
  };
183
160
  }
184
161
  if (namePath) {
185
- // formList场景values取当前行数据
186
162
  values = form.getFieldValue(namePath) || {};
187
163
  } else {
188
164
  values = form.getFieldsValue(true);
189
165
  }
190
- if (_isFunction(show)) {
191
- showRef.current = Boolean(show(values, {
192
- form,
193
- index,
194
- namePath
195
- }));
166
+ if (isFunction(show)) {
167
+ showRef.current = Boolean(show(values, { form, index, namePath }));
196
168
  } else {
197
169
  showRef.current = show;
198
170
  }
199
- if (_isFunction(desensitization)) {
200
- desensitizationRef.current = desensitization(values, {
201
- form,
202
- index,
203
- namePath
204
- });
171
+ if (isFunction(desensitization)) {
172
+ desensitizationRef.current = desensitization(values, { form, index, namePath });
205
173
  } else {
206
174
  desensitizationRef.current = desensitization;
207
175
  }
208
- if (_isFunction(disabled)) {
209
- // RangePicker返回数组时,特殊处理
210
- if (['Group', 'RangePicker', 'ProCascader'].includes(type) && Array.isArray(disabled(values, {
211
- form,
212
- index,
213
- namePath
214
- }))) {
215
- disabledRef.current = disabled(values, {
216
- form,
217
- index,
218
- namePath
219
- });
176
+ if (isFunction(disabled)) {
177
+ if (["Group", "RangePicker", "ProCascader"].includes(type) && Array.isArray(disabled(values, { form, index, namePath }))) {
178
+ disabledRef.current = disabled(values, { form, index, namePath });
220
179
  } else {
221
- disabledRef.current = Boolean(disabled(values, {
222
- form,
223
- index,
224
- namePath
225
- }));
180
+ disabledRef.current = Boolean(disabled(values, { form, index, namePath }));
226
181
  }
227
182
  } else {
228
183
  disabledRef.current = disabled;
229
184
  }
230
- if (_isFunction(required)) {
231
- requiredRef.current = required(values, {
232
- form,
233
- index,
234
- namePath
235
- });
185
+ if (isFunction(required)) {
186
+ requiredRef.current = required(values, { form, index, namePath });
236
187
  } else {
237
188
  requiredRef.current = required;
238
189
  }
239
- if (_isFunction(rules)) {
240
- rulesRef.current = rules(values, {
241
- form,
242
- index,
243
- namePath
244
- });
190
+ if (isFunction(rules)) {
191
+ rulesRef.current = rules(values, { form, index, namePath });
245
192
  } else {
246
193
  rulesRef.current = rules;
247
194
  }
248
- if (_isFunction(originComponent)) {
249
- originComponentRef.current = originComponent(values, {
250
- form,
251
- index,
252
- namePath
253
- });
195
+ if (isFunction(originComponent)) {
196
+ originComponentRef.current = originComponent(values, { form, index, namePath });
254
197
  } else {
255
198
  originComponentRef.current = newComponent;
256
199
  }
257
- if (_isFunction(fieldProps)) {
258
- fieldPropsRef.current = fieldProps(values, {
259
- form,
260
- index,
261
- namePath
262
- }); // index, namePath FormList才会有
200
+ if (isFunction(fieldProps)) {
201
+ fieldPropsRef.current = fieldProps(values, { form, index, namePath });
263
202
  } else {
264
203
  fieldPropsRef.current = fieldProps;
265
204
  }
266
- if (dependNames?.length) {
267
- dependNamesRef.current = dependNames.map(name => _get(values, name));
205
+ if (dependNames == null ? void 0 : dependNames.length) {
206
+ dependNamesRef.current = dependNames.map((name2) => get(values, name2));
268
207
  }
269
208
  return {
270
209
  shouldUpdate: (prevValues, currentValues, ...rest) => {
271
- // @ts-ignore formList场景取当前行数据,不取shouldUpdate变更后值
272
- if (dependNames?.length) {
273
- const curDependNamesValue = dependNames.map(name => _get(currentValues, name));
274
- const dependNamesChanged = !_isEqualWith(dependNamesRef.current, curDependNamesValue, customEqualForFunction);
210
+ if (dependNames == null ? void 0 : dependNames.length) {
211
+ const curDependNamesValue = dependNames.map((name2) => get(currentValues, name2));
212
+ const dependNamesChanged = !isEqualWith(
213
+ dependNamesRef.current,
214
+ curDependNamesValue,
215
+ customEqualForFunction
216
+ );
275
217
  dependNamesRef.current = curDependNamesValue;
276
- if (!dependNamesChanged) return false;
218
+ if (!dependNamesChanged)
219
+ return false;
277
220
  }
278
-
279
- // 先获取当前表单值,用于判断是否需要清值
280
221
  let _currentValues;
281
222
  if (namePath) {
282
- // formList场景values取当前行数据
283
223
  _currentValues = form.getFieldValue(namePath) || {};
284
224
  } else {
285
225
  _currentValues = form.getFieldsValue(true);
286
226
  }
287
-
288
- // 计算当前的 show 值
289
- const _show = _isFunction(show) ? Boolean(show(_currentValues, {
290
- form,
291
- index,
292
- namePath
293
- })) : show;
294
-
295
- // 在防抖判断之前先执行清值逻辑检查,确保清值逻辑不受防抖影响
227
+ const _show = isFunction(show) ? Boolean(show(_currentValues, { form, index, namePath })) : show;
296
228
  executeClearValue({
297
229
  form,
298
230
  name,
@@ -305,28 +237,18 @@ const useShouldUpdate = props => {
305
237
  needClear,
306
238
  timerRef
307
239
  });
308
-
309
- // 如果启用了防抖且存在防抖函数
310
240
  if (shouldUpdateDebounce > 0 && debouncedShouldUpdateRef.current) {
311
- // 缓存最新的表单值
312
241
  pendingValuesRef.current = currentValues;
313
- // 触发防抖函数
314
242
  debouncedShouldUpdateRef.current();
315
- return false; // 暂时不更新,由防抖函数控制
243
+ return false;
316
244
  }
317
-
318
- // 原有的非防抖逻辑
319
- const next = resolveReactiveValues(reactiveProps, _currentValues, {
320
- form,
321
- index,
322
- namePath
323
- });
245
+ const next = resolveReactiveValues(reactiveProps, _currentValues, { form, index, namePath });
324
246
  if (hasReactiveDiff(reactiveRefs, next)) {
325
247
  commitReactiveValues(reactiveRefs, next);
326
248
  reRender({});
327
249
  return false;
328
250
  }
329
- if (typeof shouldUpdate === 'function') {
251
+ if (typeof shouldUpdate === "function") {
330
252
  return shouldUpdate(prevValues, currentValues, ...rest);
331
253
  }
332
254
  return !!shouldUpdate;
@@ -340,4 +262,7 @@ const useShouldUpdate = props => {
340
262
  desensitization: desensitizationRef.current
341
263
  };
342
264
  };
343
- export default useShouldUpdate;
265
+ var useShouldUpdate_default = useShouldUpdate;
266
+ export {
267
+ useShouldUpdate_default as default
268
+ };