@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.
Files changed (280) hide show
  1. package/dist/index.esm.css +1 -1
  2. package/dist/less.esm.css +1 -1
  3. package/es/FormsProvider/index.js +14 -21
  4. package/es/ProAction/components/CheckModalContent/index.js +12 -26
  5. package/es/ProAction/index.js +79 -83
  6. package/es/ProAction/propsType.js +0 -1
  7. package/es/ProConfigProvider/index.js +63 -110
  8. package/es/ProConfigProvider/propsType.js +0 -1
  9. package/es/ProDownload/index.d.ts +2 -1
  10. package/es/ProDownload/index.js +74 -69
  11. package/es/ProDownload/propsType.js +0 -1
  12. package/es/ProDownload/utils.d.ts +10 -5
  13. package/es/ProDownload/utils.js +63 -95
  14. package/es/ProDrawerForm/components/ProDrawer/index.js +83 -113
  15. package/es/ProDrawerForm/components/ProModal/index.js +77 -108
  16. package/es/ProDrawerForm/components/index.js +6 -2
  17. package/es/ProDrawerForm/hooks/useConfirmClose.js +20 -39
  18. package/es/ProDrawerForm/index.js +29 -38
  19. package/es/ProDrawerForm/propsType.js +0 -1
  20. package/es/ProDrawerForm/utils/index.js +18 -36
  21. package/es/ProEditLabel/components/RenderProForm.js +45 -49
  22. package/es/ProEditLabel/index.js +126 -163
  23. package/es/ProEditLabel/propsType.js +0 -1
  24. package/es/ProEditLabel/utils/index.js +5 -8
  25. package/es/ProEditTable/components/ActionButton/index.js +111 -119
  26. package/es/ProEditTable/components/RcTable/BaseTable.js +38 -51
  27. package/es/ProEditTable/components/RcTable/DraggableTable.js +97 -129
  28. package/es/ProEditTable/components/RcTable/index.js +6 -4
  29. package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +77 -95
  30. package/es/ProEditTable/components/RenderField/index.js +490 -587
  31. package/es/ProEditTable/components/RenderField/propsType.js +0 -1
  32. package/es/ProEditTable/components/RenderField/tools.js +115 -112
  33. package/es/ProEditTable/components/RenderToolbar/index.js +47 -73
  34. package/es/ProEditTable/components/Summary/index.js +38 -64
  35. package/es/ProEditTable/components/Validator/index.js +46 -46
  36. package/es/ProEditTable/components/index.js +12 -5
  37. package/es/ProEditTable/index.js +456 -378
  38. package/es/ProEditTable/propsType.js +0 -1
  39. package/es/ProEditTable/utils/config.js +60 -122
  40. package/es/ProEditTable/utils/diffOriginal.js +45 -82
  41. package/es/ProEditTable/utils/getDefaultProps.js +19 -24
  42. package/es/ProEditTable/utils/index.js +154 -235
  43. package/es/ProEditTable/utils/tools.js +149 -286
  44. package/es/ProEditTable/utils/transform.js +25 -30
  45. package/es/ProEditTable/utils/useEditTableError.js +30 -43
  46. package/es/ProEditTable/utils/useShouldUpdateForTable.js +42 -72
  47. package/es/ProEditTable/utils/validateAll.js +87 -154
  48. package/es/ProEnum/components/Group.js +38 -30
  49. package/es/ProEnum/components/Tag.js +22 -26
  50. package/es/ProEnum/hooks/useEnum.js +48 -116
  51. package/es/ProEnum/hooks/useEnumRequest.js +182 -212
  52. package/es/ProEnum/hooks/useFrequentEnumRequest.js +40 -48
  53. package/es/ProEnum/index.js +162 -172
  54. package/es/ProEnum/propsType.js +0 -1
  55. package/es/ProEnum/utils/eventCenter.js +10 -12
  56. package/es/ProEnum/utils/frequentEnum.js +35 -92
  57. package/es/ProEnum/utils/getEnum.js +32 -90
  58. package/es/ProEnum/utils/getEnumLabel.js +44 -49
  59. package/es/ProEnum/utils/index.js +93 -207
  60. package/es/ProForm/components/Container.js +13 -28
  61. package/es/ProForm/components/FormFooter/index.js +36 -44
  62. package/es/ProForm/components/FormFooter/propsType.js +0 -1
  63. package/es/ProForm/components/base/Checkbox/index.js +32 -59
  64. package/es/ProForm/components/base/DatePicker/index.js +49 -71
  65. package/es/ProForm/components/base/Input/index.js +63 -97
  66. package/es/ProForm/components/base/Input/propsType.js +0 -1
  67. package/es/ProForm/components/base/InputNumber/index.js +118 -172
  68. package/es/ProForm/components/base/Radio/index.js +39 -52
  69. package/es/ProForm/components/base/RangePicker/index.js +109 -127
  70. package/es/ProForm/components/base/RangePicker/useDateRange.js +20 -17
  71. package/es/ProForm/components/base/Select/index.js +63 -89
  72. package/es/ProForm/components/base/Switch/index.js +27 -35
  73. package/es/ProForm/components/base/SwitchCheckbox/index.js +36 -54
  74. package/es/ProForm/components/base/TextArea/index.js +30 -41
  75. package/es/ProForm/components/base/TimePicker/index.js +27 -37
  76. package/es/ProForm/components/combination/Container/index.js +37 -47
  77. package/es/ProForm/components/combination/Container/propsType.js +0 -1
  78. package/es/ProForm/components/combination/FormList/components/ActionButton.js +165 -237
  79. package/es/ProForm/components/combination/FormList/components/BlockFields.js +98 -102
  80. package/es/ProForm/components/combination/FormList/components/Empty.js +28 -55
  81. package/es/ProForm/components/combination/FormList/components/LineFields.js +57 -54
  82. package/es/ProForm/components/combination/FormList/components/ToolbarButton.js +61 -109
  83. package/es/ProForm/components/combination/FormList/index.js +151 -161
  84. package/es/ProForm/components/combination/FormList/propsType.js +0 -1
  85. package/es/ProForm/components/combination/FormList/style/index.less +6 -0
  86. package/es/ProForm/components/combination/FormList/utils.js +22 -38
  87. package/es/ProForm/components/combination/Group/component/AddonWrapper/index.js +12 -28
  88. package/es/ProForm/components/combination/Group/component/ComRender.js +50 -111
  89. package/es/ProForm/components/combination/Group/component/FlexibleGroup.js +106 -213
  90. package/es/ProForm/components/combination/Group/hooks/index.js +69 -129
  91. package/es/ProForm/components/combination/Group/index.js +87 -126
  92. package/es/ProForm/components/combination/Group/propsType.js +0 -1
  93. package/es/ProForm/components/combination/Group/utils/index.js +124 -239
  94. package/es/ProForm/components/combination/ProCascader/index.js +156 -199
  95. package/es/ProForm/components/combination/ProCascader/propsType.js +0 -1
  96. package/es/ProForm/components/combination/ProCascader/utils/index.js +12 -21
  97. package/es/ProForm/components/combination/ProModalSelect/hooks/useRequestList.js +72 -70
  98. package/es/ProForm/components/combination/ProModalSelect/index.js +309 -347
  99. package/es/ProForm/components/combination/ProModalSelect/propsType.js +0 -1
  100. package/es/ProForm/components/combination/ProModalSelect/utils/index.js +32 -39
  101. package/es/ProForm/components/combination/ProNumberRange/index.js +100 -156
  102. package/es/ProForm/components/combination/ProNumberRange/propsType.js +0 -1
  103. package/es/ProForm/components/combination/ProRangeLimit/index.js +104 -115
  104. package/es/ProForm/components/combination/ProRangeLimit/propsType.js +0 -1
  105. package/es/ProForm/components/combination/ProTimeLimit/hooks/useControlled.js +16 -16
  106. package/es/ProForm/components/combination/ProTimeLimit/index.js +75 -109
  107. package/es/ProForm/components/index.js +56 -34
  108. package/es/ProForm/components/render/ChangedWrapper.js +85 -94
  109. package/es/ProForm/components/render/ConfirmWrapper.js +27 -39
  110. package/es/ProForm/components/render/CustomComponentViewWrapper.js +65 -82
  111. package/es/ProForm/components/render/Render.js +223 -329
  112. package/es/ProForm/components/render/RenderFields.js +76 -113
  113. package/es/ProForm/components/render/propsType.js +0 -1
  114. package/es/ProForm/hooks/useControlled.js +8 -10
  115. package/es/ProForm/hooks/useDeepCompareMemo.js +11 -11
  116. package/es/ProForm/hooks/useFieldProps.js +8 -4
  117. package/es/ProForm/hooks/useForm.js +50 -110
  118. package/es/ProForm/hooks/useRules.js +17 -33
  119. package/es/ProForm/hooks/useShouldUpdate.js +77 -152
  120. package/es/ProForm/hooks/useWatch.js +62 -134
  121. package/es/ProForm/index.js +157 -194
  122. package/es/ProForm/propsType.js +15 -7
  123. package/es/ProForm/utils/buildFormItemProps.js +51 -58
  124. package/es/ProForm/utils/diffOriginal.js +43 -73
  125. package/es/ProForm/utils/getDefaultProps.js +18 -24
  126. package/es/ProForm/utils/index.js +160 -235
  127. package/es/ProForm/utils/processDependencies.js +21 -60
  128. package/es/ProForm/utils/reactiveValues.js +20 -34
  129. package/es/ProForm/utils/rulesCreator.js +42 -40
  130. package/es/ProForm/utils/transformNames.js +10 -13
  131. package/es/ProForm/utils/transformValue.js +16 -29
  132. package/es/ProForm/utils/valueType.js +96 -178
  133. package/es/ProIcon/config/index.js +340 -274
  134. package/es/ProIcon/index.js +135 -209
  135. package/es/ProIcon/propsTypes.js +0 -1
  136. package/es/ProIcon/utils/index.js +24 -39
  137. package/es/ProLayout/components/Layout/Header/index.js +108 -141
  138. package/es/ProLayout/components/Layout/Menu/FoldMenu/index.js +134 -190
  139. package/es/ProLayout/components/Layout/Menu/OpenMenu/index.js +113 -139
  140. package/es/ProLayout/components/Layout/Menu/OpenMenu/propsType.js +0 -1
  141. package/es/ProLayout/components/Layout/Menu/SideMenu/index.js +23 -31
  142. package/es/ProLayout/components/Layout/Menu/index.js +92 -89
  143. package/es/ProLayout/components/Layout/Notice/index.js +13 -27
  144. package/es/ProLayout/components/Layout/index.js +8 -3
  145. package/es/ProLayout/components/ProCollapse/PropTypes.js +0 -1
  146. package/es/ProLayout/components/ProCollapse/index.js +89 -111
  147. package/es/ProLayout/components/ProFooter/PropTypes.js +0 -1
  148. package/es/ProLayout/components/ProFooter/index.js +27 -24
  149. package/es/ProLayout/components/ProHeader/PropTypes.js +0 -1
  150. package/es/ProLayout/components/ProHeader/components/Copy/index.js +23 -21
  151. package/es/ProLayout/components/ProHeader/components/Describe/index.js +67 -84
  152. package/es/ProLayout/components/ProHeader/components/ProBackBtn/index.js +18 -21
  153. package/es/ProLayout/components/ProHeader/components/ProBackBtn/propsType.js +0 -1
  154. package/es/ProLayout/components/ProHeader/components/index.js +6 -2
  155. package/es/ProLayout/components/ProHeader/index.js +216 -356
  156. package/es/ProLayout/components/ProHeader/utils/index.js +19 -26
  157. package/es/ProLayout/components/TabsManager/components/TabContextMenu.js +92 -85
  158. package/es/ProLayout/components/TabsManager/components/TabItem.js +53 -63
  159. package/es/ProLayout/components/TabsManager/components/TabsContext.js +5 -5
  160. package/es/ProLayout/components/TabsManager/components/TabsHeader.js +42 -52
  161. package/es/ProLayout/components/TabsManager/hooks/useActiveTab.js +8 -9
  162. package/es/ProLayout/components/TabsManager/hooks/useIframeRoute.js +19 -32
  163. package/es/ProLayout/components/TabsManager/hooks/useProLayoutTabs.js +6 -20
  164. package/es/ProLayout/components/TabsManager/hooks/useTabsCache.js +25 -42
  165. package/es/ProLayout/components/TabsManager/hooks/useTabsState.js +320 -350
  166. package/es/ProLayout/components/TabsManager/hooks/useTabsUrlSync.d.ts +19 -0
  167. package/es/ProLayout/components/TabsManager/hooks/useTabsUrlSync.js +332 -0
  168. package/es/ProLayout/components/TabsManager/index.js +407 -351
  169. package/es/ProLayout/components/TabsManager/propTypes.d.ts +4 -0
  170. package/es/ProLayout/components/TabsManager/propTypes.js +7 -15
  171. package/es/ProLayout/components/TabsManager/style/index.less +1 -1
  172. package/es/ProLayout/components/TabsManager/utils/historyObserver.d.ts +7 -0
  173. package/es/ProLayout/components/TabsManager/utils/historyObserver.js +65 -0
  174. package/es/ProLayout/components/TabsManager/utils/index.d.ts +15 -2
  175. package/es/ProLayout/components/TabsManager/utils/index.js +156 -159
  176. package/es/ProLayout/components/index.js +8 -3
  177. package/es/ProLayout/index.js +173 -228
  178. package/es/ProLayout/propTypes.d.ts +28 -1
  179. package/es/ProLayout/propTypes.js +12 -52
  180. package/es/ProLayout/utils/index.js +48 -128
  181. package/es/ProSelect/components/AdaptiveTooltip.js +26 -25
  182. package/es/ProSelect/index.js +187 -223
  183. package/es/ProSelect/propsType.js +0 -1
  184. package/es/ProSelect/style/index.less +13 -0
  185. package/es/ProSelect/utils/index.js +100 -146
  186. package/es/ProStep/components/Anchor/index.js +71 -82
  187. package/es/ProStep/components/Item/index.js +49 -56
  188. package/es/ProStep/components/LazyLoad/index.js +23 -29
  189. package/es/ProStep/components/Listener/index.js +20 -33
  190. package/es/ProStep/components/Step/index.js +31 -38
  191. package/es/ProStep/constants.js +4 -1
  192. package/es/ProStep/index.js +166 -153
  193. package/es/ProStep/propsType.js +0 -1
  194. package/es/ProStep/style/index.less +1 -1
  195. package/es/ProStep/utils/index.js +29 -55
  196. package/es/ProStepTab/index.js +83 -138
  197. package/es/ProStepTab/propsType.js +0 -1
  198. package/es/ProTable/components/EditableCell/EditIcon.js +10 -14
  199. package/es/ProTable/components/EditableCell/index.js +37 -71
  200. package/es/ProTable/components/EditableCell/propsType.js +0 -1
  201. package/es/ProTable/components/FormatColumn/index.js +209 -340
  202. package/es/ProTable/components/FormatColumn/propsType.js +0 -1
  203. package/es/ProTable/components/RcTable/components/BaseTable/index.js +35 -39
  204. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +80 -107
  205. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/index.js +54 -48
  206. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/propsType.js +0 -1
  207. package/es/ProTable/components/RcTable/components/DraggableTable/index.js +47 -54
  208. package/es/ProTable/components/RcTable/index.js +6 -4
  209. package/es/ProTable/components/RenderColumn/index.js +158 -186
  210. package/es/ProTable/components/RenderEmptyText/index.js +12 -21
  211. package/es/ProTable/components/RenderFooter/index.js +15 -15
  212. package/es/ProTable/components/RenderSummary/index.js +33 -50
  213. package/es/ProTable/components/RenderTableHeader/index.js +44 -46
  214. package/es/ProTable/components/RenderTabs/index.js +47 -51
  215. package/es/ProTable/components/TableResizable/index.js +56 -72
  216. package/es/ProTable/components/TooltipTitle/index.js +13 -21
  217. package/es/ProTable/components/index.js +16 -36
  218. package/es/ProTable/hooks/useAntdTable.js +191 -224
  219. package/es/ProTable/index.js +232 -249
  220. package/es/ProTable/propsType.js +0 -1
  221. package/es/ProTable/utils/columnStorage.js +63 -88
  222. package/es/ProTable/utils/index.js +57 -90
  223. package/es/ProTabs/components/Card/index.js +20 -48
  224. package/es/ProTabs/components/index.js +4 -1
  225. package/es/ProTabs/index.js +41 -58
  226. package/es/ProTabs/propType.js +0 -1
  227. package/es/ProThemeTools/component/ProTools/index.js +106 -158
  228. package/es/ProThemeTools/component/index.js +4 -1
  229. package/es/ProThemeTools/context/ThemeContext.js +67 -146
  230. package/es/ProThemeTools/index.js +103 -156
  231. package/es/ProThemeTools/propsType.js +0 -1
  232. package/es/ProThemeTools/utils/index.js +60 -109
  233. package/es/ProTooltip/index.js +132 -168
  234. package/es/ProTooltip/propsType.js +0 -1
  235. package/es/ProTree/components/AdaptiveTooltip.js +15 -17
  236. package/es/ProTree/components/CloseIcon.js +18 -26
  237. package/es/ProTree/components/List.js +28 -47
  238. package/es/ProTree/components/ProTree.js +152 -211
  239. package/es/ProTree/components/ProTreeSelect/index.js +255 -459
  240. package/es/ProTree/components/ProTreeSelect/propsType.js +0 -1
  241. package/es/ProTree/components/SearchTitle.js +23 -42
  242. package/es/ProTree/components/Tree.js +147 -195
  243. package/es/ProTree/components/index.js +10 -5
  244. package/es/ProTree/index.js +12 -16
  245. package/es/ProTree/propsType.js +0 -1
  246. package/es/ProTree/utils.js +46 -118
  247. package/es/ProTreeModal/components/Cascader.js +56 -64
  248. package/es/ProTreeModal/components/CloseIcon.js +18 -26
  249. package/es/ProTreeModal/components/List.js +114 -180
  250. package/es/ProTreeModal/components/SearchTitle.js +15 -18
  251. package/es/ProTreeModal/components/SortableItem.js +29 -58
  252. package/es/ProTreeModal/components/Tree.js +99 -113
  253. package/es/ProTreeModal/components/Trigger.js +87 -121
  254. package/es/ProTreeModal/components/index.js +14 -6
  255. package/es/ProTreeModal/index.js +397 -438
  256. package/es/ProTreeModal/propsType.js +0 -1
  257. package/es/ProTreeModal/utils.js +52 -95
  258. package/es/ProUpload/components/ButtonRender.js +44 -54
  259. package/es/ProUpload/components/DragRender.js +94 -148
  260. package/es/ProUpload/components/DraggableUploadListItem.js +12 -25
  261. package/es/ProUpload/components/Example.js +27 -31
  262. package/es/ProUpload/components/FileItem.js +69 -163
  263. package/es/ProUpload/components/ImageRender.js +134 -170
  264. package/es/ProUpload/index.js +68 -100
  265. package/es/ProUpload/propsType.js +0 -1
  266. package/es/ProUpload/uitls.js +8 -4
  267. package/es/ProUtils/utils/index.js +17 -13
  268. package/es/ProViewer/index.js +154 -175
  269. package/es/ProViewer/propsType.js +0 -5
  270. package/es/ProWaterMark/index.js +9 -16
  271. package/es/ProWaterMark/propsType.js +0 -1
  272. package/es/hooks/useDraggableRow.js +25 -53
  273. package/es/index.js +57 -77
  274. package/es/locale/en_US.js +153 -142
  275. package/es/locale/index.js +23 -36
  276. package/es/locale/zh_CN.js +145 -142
  277. package/es/tokens.js +84 -83
  278. package/es/utils/index.js +24 -51
  279. package/package.json +4 -2
  280. package/es/ProConfigProvider/demo/locale.js +0 -58
@@ -1,40 +1,35 @@
1
- import { transforms } from '@zat-design/utils';
2
- const {
3
- transformDate
4
- } = transforms;
5
- const getDefaultFormat = picker => {
1
+ import { transforms } from "@zat-design/utils";
2
+ const { transformDate } = transforms;
3
+ const getDefaultFormat = (picker) => {
6
4
  switch (picker) {
7
- case 'week':
8
- return 'YYYY-ww';
9
- // ISO week,避免 locale 相关的 'wo' 格式解析问题
10
- case 'month':
11
- return 'YYYY-MM';
12
- case 'quarter':
13
- return 'YYYY-[Q]Q';
14
- case 'year':
15
- return 'YYYY';
5
+ case "week":
6
+ return "YYYY-ww";
7
+ case "month":
8
+ return "YYYY-MM";
9
+ case "quarter":
10
+ return "YYYY-[Q]Q";
11
+ case "year":
12
+ return "YYYY";
16
13
  default:
17
- return 'YYYY-MM-DD';
14
+ return "YYYY-MM-DD";
18
15
  }
19
16
  };
20
- export default {
21
- RangePicker: () => transformDate({
22
- type: 'RangePicker',
23
- keys: ['form', 'to']
24
- }),
25
- DatePicker: fieldProps => {
26
- const format = fieldProps?.format ?? getDefaultFormat(fieldProps?.picker);
27
- const baseTransform = transformDate({
28
- type: 'DatePicker',
29
- format
30
- });
17
+ var transform_default = {
18
+ RangePicker: () => transformDate({ type: "RangePicker", keys: ["form", "to"] }),
19
+ DatePicker: (fieldProps) => {
20
+ const format = (fieldProps == null ? void 0 : fieldProps.format) ?? getDefaultFormat(fieldProps == null ? void 0 : fieldProps.picker);
21
+ const baseTransform = transformDate({ type: "DatePicker", format });
31
22
  return {
32
23
  ...baseTransform,
33
24
  normalize: (value, prevValue, allValues) => {
34
- // DatePicker 已输出格式化字符串时直接透传
35
- if (typeof value === 'string') return value;
36
- return baseTransform.normalize?.(value, prevValue, allValues);
25
+ var _a;
26
+ if (typeof value === "string")
27
+ return value;
28
+ return (_a = baseTransform.normalize) == null ? void 0 : _a.call(baseTransform, value, prevValue, allValues);
37
29
  }
38
30
  };
39
31
  }
40
- };
32
+ };
33
+ export {
34
+ transform_default as default
35
+ };
@@ -1,5 +1,5 @@
1
- import _debounce from "lodash/debounce";
2
- import { useState, useEffect } from 'react';
1
+ import { useState, useEffect } from "react";
2
+ import debounce from "lodash/debounce";
3
3
  const useEditTableError = ({
4
4
  containerNode,
5
5
  className,
@@ -7,54 +7,43 @@ const useEditTableError = ({
7
7
  }) => {
8
8
  const [errorLength, setErrorLength] = useState(0);
9
9
  useEffect(() => {
10
- // 如果 isEnabled 为 false 或容器节点不存在,直接跳过监听
11
- if (!isEnabled || !containerNode || !containerNode?.querySelector) {
12
- return; // 如果未启用监听或容器节点不存在,直接返回
10
+ var _a;
11
+ if (!isEnabled || !containerNode || !(containerNode == null ? void 0 : containerNode.querySelector)) {
12
+ return;
13
13
  }
14
-
15
- // 防抖处理:将 setErrorLength 函数进行防抖
16
- const debouncedSetErrorLength = _debounce(errorCount => {
17
- setErrorLength(errorCount); // 更新错误数量
18
- }, 300); // 300ms 后更新状态
19
-
20
- const observer = new MutationObserver(mutations => {
21
- mutations.forEach(mutation => {
22
- // 只处理节点的 class 属性变化
23
- if (mutation.type === 'attributes' && mutation.attributeName === 'class') {
14
+ const debouncedSetErrorLength = debounce((errorCount) => {
15
+ setErrorLength(errorCount);
16
+ }, 300);
17
+ const observer = new MutationObserver((mutations) => {
18
+ mutations.forEach((mutation) => {
19
+ var _a2;
20
+ if (mutation.type === "attributes" && mutation.attributeName === "class") {
24
21
  const target = mutation.target;
25
-
26
- // 检查目标节点是否包含指定的类
27
22
  if (target.classList.contains(className)) {
28
- // 查找所有包含 className 的节点
29
- const errorNodes = containerNode?.children[0]?.querySelectorAll(`.${className}`);
30
-
31
- // 过滤这些节点,只保留那些类名完全为 `ant-form-item-explain-error` 的节点
32
- const validErrorNodes = Array.from(errorNodes).filter(node => node.classList.length === 1 && node.classList.contains('ant-form-item-explain-error'));
23
+ const errorNodes = (_a2 = containerNode == null ? void 0 : containerNode.children[0]) == null ? void 0 : _a2.querySelectorAll(`.${className}`);
24
+ const validErrorNodes = Array.from(errorNodes).filter(
25
+ (node) => node.classList.length === 1 && node.classList.contains("ant-form-item-explain-error")
26
+ );
33
27
  if (errorLength === 0) {
34
28
  debouncedSetErrorLength(0);
35
29
  }
36
30
  if (errorLength === validErrorNodes.length) {
37
31
  return;
38
32
  }
39
- // 使用防抖后的方法更新错误数量
40
33
  debouncedSetErrorLength(validErrorNodes.length);
41
34
  }
42
35
  }
43
-
44
- // 监听子节点的添加或删除
45
- if (mutation.type === 'childList') {
46
- // 检查删除的节点是否包含指定的类名
47
- mutation.removedNodes.forEach(removedNode => {
48
- if (removedNode instanceof HTMLElement && removedNode.classList.contains('ant-table-row')) {
49
- // 更新错误数量
50
- const errorNodes = containerNode?.children[0]?.querySelectorAll(`.${className}`);
36
+ if (mutation.type === "childList") {
37
+ mutation.removedNodes.forEach((removedNode) => {
38
+ var _a3;
39
+ if (removedNode instanceof HTMLElement && removedNode.classList.contains("ant-table-row")) {
40
+ const errorNodes = (_a3 = containerNode == null ? void 0 : containerNode.children[0]) == null ? void 0 : _a3.querySelectorAll(`.${className}`);
51
41
  if (errorLength === 0) {
52
42
  debouncedSetErrorLength(0);
53
43
  }
54
44
  if (errorLength === errorNodes.length) {
55
45
  return;
56
46
  }
57
- // 使用防抖后的方法更新错误数量
58
47
  debouncedSetErrorLength(errorNodes.length);
59
48
  }
60
49
  });
@@ -66,26 +55,24 @@ const useEditTableError = ({
66
55
  // 监听属性的变化
67
56
  subtree: true,
68
57
  // 监听子节点的变化
69
- attributeFilter: ['class'],
58
+ attributeFilter: ["class"],
70
59
  // 只监听 class 属性变化
71
60
  childList: true
72
61
  };
73
-
74
- // 启动 MutationObserver
75
- const targetNode = containerNode?.children[0]?.querySelector('tbody');
62
+ const targetNode = (_a = containerNode == null ? void 0 : containerNode.children[0]) == null ? void 0 : _a.querySelector("tbody");
76
63
  if (targetNode instanceof HTMLElement) {
77
64
  observer.observe(targetNode, config);
78
65
  } else {
79
- console.error('warning: tbody element not found or invalid');
66
+ console.error("warning: tbody element not found or invalid");
80
67
  }
81
-
82
- // 清理 MutationObserver 和防抖定时器
83
68
  return () => {
84
69
  observer.disconnect();
85
- debouncedSetErrorLength.cancel(); // 取消防抖定时器
70
+ debouncedSetErrorLength.cancel();
86
71
  };
87
- }, [containerNode, className, isEnabled]); // 当 isEnabled 改变时会重新启动或取消监听
88
-
72
+ }, [containerNode, className, isEnabled]);
89
73
  return [errorLength];
90
74
  };
91
- export default useEditTableError;
75
+ var useEditTableError_default = useEditTableError;
76
+ export {
77
+ useEditTableError_default as default
78
+ };
@@ -1,39 +1,29 @@
1
- import _debounce from "lodash/debounce";
2
- import _isEqualWith from "lodash/isEqualWith";
3
- import _isFunction from "lodash/isFunction";
4
- 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 debounce from "lodash/debounce";
5
5
  import { customEqualForFunction } from "../../utils";
6
6
  import { isRecordShallowEqual } from "./tools";
7
- const useShouldUpdateForTable = props => {
8
- const {
9
- rowParams,
10
- column,
11
- shouldUpdateDebounce
12
- } = props;
13
-
14
- // refs 存储当前值
15
- const isEditableRef = useRef(undefined);
16
- const requiredRef = useRef(undefined);
17
- const rulesRef = useRef(undefined);
18
- const fieldPropsRef = useRef(undefined);
19
- const desensitizationRef = useRef(undefined);
20
- const valueTypeRef = useRef(undefined);
21
- const componentRef = useRef(undefined);
7
+ const useShouldUpdateForTable = (props) => {
8
+ var _a, _b;
9
+ const { rowParams, column, shouldUpdateDebounce } = props;
10
+ const isEditableRef = useRef(void 0);
11
+ const requiredRef = useRef(void 0);
12
+ const rulesRef = useRef(void 0);
13
+ const fieldPropsRef = useRef(void 0);
14
+ const desensitizationRef = useRef(void 0);
15
+ const valueTypeRef = useRef(void 0);
16
+ const componentRef = useRef(void 0);
22
17
  const componentResolvedRef = useRef(false);
23
- const resolvedRowSnapshotRef = useRef(undefined);
18
+ const resolvedRowSnapshotRef = useRef(void 0);
24
19
  const [, reRender] = useState({});
25
20
  const debouncedUpdateRef = useRef(null);
26
21
  const pendingParamsRef = useRef(null);
27
22
  const isInitializedRef = useRef(false);
28
-
29
- // 统一处理所有动态属性的更新
30
23
  const processUpdate = (params, forceFieldPropsUpdate = false) => {
31
24
  let hasChange = false;
32
- // 新格式:params = [values, { form, index, namePath }]
33
25
  const [values, reactiveParams] = params;
34
-
35
- // isEditable 处理
36
- if (_isFunction(column.isEditable)) {
26
+ if (isFunction(column.isEditable)) {
37
27
  const newIsEditable = column.isEditable(values, reactiveParams);
38
28
  if (isEditableRef.current !== newIsEditable) {
39
29
  isEditableRef.current = newIsEditable;
@@ -42,9 +32,7 @@ const useShouldUpdateForTable = props => {
42
32
  } else {
43
33
  isEditableRef.current = column.isEditable;
44
34
  }
45
-
46
- // required 处理
47
- if (_isFunction(column.required)) {
35
+ if (isFunction(column.required)) {
48
36
  const newRequired = column.required(values, reactiveParams);
49
37
  if (requiredRef.current !== newRequired) {
50
38
  requiredRef.current = newRequired;
@@ -53,42 +41,34 @@ const useShouldUpdateForTable = props => {
53
41
  } else {
54
42
  requiredRef.current = column.required;
55
43
  }
56
-
57
- // rules 处理
58
- if (_isFunction(column.rules)) {
44
+ if (isFunction(column.rules)) {
59
45
  const newRules = column.rules(values, reactiveParams);
60
- if (!_isEqualWith(rulesRef.current, newRules, customEqualForFunction)) {
46
+ if (!isEqualWith(rulesRef.current, newRules, customEqualForFunction)) {
61
47
  rulesRef.current = newRules;
62
48
  hasChange = true;
63
49
  }
64
50
  } else {
65
51
  rulesRef.current = column.rules;
66
52
  }
67
-
68
- // fieldProps 处理
69
- if (_isFunction(column.fieldProps)) {
53
+ if (isFunction(column.fieldProps)) {
70
54
  const newFieldProps = column.fieldProps(values, reactiveParams);
71
- if (forceFieldPropsUpdate || !_isEqualWith(fieldPropsRef.current, newFieldProps, customEqualForFunction)) {
55
+ if (forceFieldPropsUpdate || !isEqualWith(fieldPropsRef.current, newFieldProps, customEqualForFunction)) {
72
56
  fieldPropsRef.current = newFieldProps;
73
57
  hasChange = true;
74
58
  }
75
59
  } else {
76
60
  fieldPropsRef.current = column.fieldProps;
77
61
  }
78
-
79
- // desensitization 处理
80
- if (_isFunction(column.desensitization)) {
62
+ if (isFunction(column.desensitization)) {
81
63
  const newDesensitization = column.desensitization(values, reactiveParams);
82
- if (!_isEqualWith(desensitizationRef.current, newDesensitization)) {
64
+ if (!isEqualWith(desensitizationRef.current, newDesensitization)) {
83
65
  desensitizationRef.current = newDesensitization;
84
66
  hasChange = true;
85
67
  }
86
68
  } else {
87
69
  desensitizationRef.current = column.desensitization;
88
70
  }
89
-
90
- // valueType 处理(保持旧格式,因为 valueType 可能还在使用旧格式)
91
- if (_isFunction(column.valueType)) {
71
+ if (isFunction(column.valueType)) {
92
72
  const newValueType = column.valueType(...params);
93
73
  if (valueTypeRef.current !== newValueType) {
94
74
  valueTypeRef.current = newValueType;
@@ -97,33 +77,26 @@ const useShouldUpdateForTable = props => {
97
77
  } else {
98
78
  valueTypeRef.current = column.valueType;
99
79
  }
100
-
101
- // component 处理(注意:component 是 editRender 的别名)
102
80
  const componentOrEditRender = column.component || column.editRender;
103
- if (_isFunction(componentOrEditRender)) {
81
+ if (isFunction(componentOrEditRender)) {
104
82
  const newComponent = componentOrEditRender(values, reactiveParams);
105
83
  componentResolvedRef.current = true;
106
- // 对于 ReactNode 类型的返回值,使用深度比较
107
- if (!_isEqualWith(componentRef.current, newComponent, customEqualForFunction)) {
84
+ if (!isEqualWith(componentRef.current, newComponent, customEqualForFunction)) {
108
85
  componentRef.current = newComponent;
109
86
  hasChange = true;
110
87
  }
111
88
  } else {
112
89
  componentRef.current = componentOrEditRender;
113
90
  }
114
- resolvedRowSnapshotRef.current = values && typeof values === 'object' ? {
115
- ...values
116
- } : values;
91
+ resolvedRowSnapshotRef.current = values && typeof values === "object" ? { ...values } : values;
117
92
  if (hasChange) {
118
93
  reRender({});
119
94
  }
120
95
  };
121
-
122
- // 创建防抖函数(统一处理所有动态属性)
123
96
  useEffect(() => {
124
97
  const componentOrEditRender = column.component || column.editRender;
125
- if (shouldUpdateDebounce > 0 && (_isFunction(column.isEditable) || _isFunction(column.required) || _isFunction(column.rules) || _isFunction(column.fieldProps) || _isFunction(column.desensitization) || _isFunction(column.valueType) || _isFunction(componentOrEditRender))) {
126
- debouncedUpdateRef.current = _debounce(() => {
98
+ if (shouldUpdateDebounce > 0 && (isFunction(column.isEditable) || isFunction(column.required) || isFunction(column.rules) || isFunction(column.fieldProps) || isFunction(column.desensitization) || isFunction(column.valueType) || isFunction(componentOrEditRender))) {
99
+ debouncedUpdateRef.current = debounce(() => {
127
100
  if (pendingParamsRef.current) {
128
101
  processUpdate(pendingParamsRef.current);
129
102
  pendingParamsRef.current = null;
@@ -131,37 +104,31 @@ const useShouldUpdateForTable = props => {
131
104
  }, shouldUpdateDebounce);
132
105
  }
133
106
  return () => {
134
- debouncedUpdateRef.current?.cancel();
107
+ var _a2;
108
+ (_a2 = debouncedUpdateRef.current) == null ? void 0 : _a2.cancel();
135
109
  };
136
110
  }, [shouldUpdateDebounce, column]);
137
-
138
- // 统一的属性处理逻辑
139
- // 使用 ref 存储上一次的 rowParams,避免引用变化导致的重复调用
140
111
  const prevRowParamsRef = useRef(null);
141
- const currentFieldPropsFactory = _isFunction(column.fieldProps) ? column.fieldProps : undefined;
112
+ const currentFieldPropsFactory = isFunction(column.fieldProps) ? column.fieldProps : void 0;
142
113
  const prevFieldPropsFactoryRef = useRef(currentFieldPropsFactory);
143
114
  const fieldPropsFactoryChanged = prevFieldPropsFactoryRef.current !== currentFieldPropsFactory;
144
115
  prevFieldPropsFactoryRef.current = currentFieldPropsFactory;
145
-
146
- // 上一次保存的是浅快照,可同时覆盖引用稳定和 onFieldChange 原地修改两种路径。
147
116
  const prevRowParams = prevRowParamsRef.current;
148
- const rowDataUnchanged = isInitializedRef.current && isRecordShallowEqual(prevRowParams?.[0], rowParams[0]) && prevRowParams?.[1]?.index === rowParams[1]?.index;
149
- const shouldProcess = !isInitializedRef.current || fieldPropsFactoryChanged || !rowDataUnchanged && !_isEqualWith(prevRowParams, rowParams, customEqualForFunction);
117
+ const rowDataUnchanged = isInitializedRef.current && isRecordShallowEqual(prevRowParams == null ? void 0 : prevRowParams[0], rowParams[0]) && ((_a = prevRowParams == null ? void 0 : prevRowParams[1]) == null ? void 0 : _a.index) === ((_b = rowParams[1]) == null ? void 0 : _b.index);
118
+ const shouldProcess = !isInitializedRef.current || fieldPropsFactoryChanged || !rowDataUnchanged && !isEqualWith(prevRowParams, rowParams, customEqualForFunction);
150
119
  if (shouldProcess) {
151
120
  const currentRowData = rowParams[0];
152
- prevRowParamsRef.current = [currentRowData && typeof currentRowData === 'object' ? {
153
- ...currentRowData
154
- } : currentRowData, rowParams[1]];
121
+ prevRowParamsRef.current = [
122
+ currentRowData && typeof currentRowData === "object" ? { ...currentRowData } : currentRowData,
123
+ rowParams[1]
124
+ ];
155
125
  isInitializedRef.current = true;
156
126
  if (fieldPropsFactoryChanged) {
157
- // 外部依赖变化会生成新的 fieldProps 函数,需要立即替换旧闭包缓存
158
127
  processUpdate(rowParams, true);
159
128
  } else if (shouldUpdateDebounce > 0 && debouncedUpdateRef.current) {
160
- // 使用防抖延迟更新
161
129
  pendingParamsRef.current = rowParams;
162
130
  debouncedUpdateRef.current();
163
131
  } else {
164
- // 立即更新(shouldUpdateDebounce = 0 或无防抖函数)
165
132
  processUpdate(rowParams);
166
133
  }
167
134
  }
@@ -177,4 +144,7 @@ const useShouldUpdateForTable = props => {
177
144
  rowSnapshot: resolvedRowSnapshotRef.current
178
145
  };
179
146
  };
180
- export default useShouldUpdateForTable;
147
+ var useShouldUpdateForTable_default = useShouldUpdateForTable;
148
+ export {
149
+ useShouldUpdateForTable_default as default
150
+ };