@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,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
+ };