@zat-design/sisyphus-react 4.0.0-beta.4 → 4.0.0-beta.6

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 (500) hide show
  1. package/dist/index.esm.css +1 -0
  2. package/dist/index.min.js +1 -0
  3. package/dist/less.esm.css +1 -0
  4. package/dist/less.min.js +1 -0
  5. package/es/FormsProvider/index.js +5 -5
  6. package/es/ProAction/components/CheckModalContent/index.js +5 -7
  7. package/es/ProAction/index.js +16 -16
  8. package/es/ProConfigProvider/index.js +31 -17
  9. package/es/ProDownload/index.js +13 -12
  10. package/es/ProDownload/utils.js +15 -15
  11. package/es/ProDrawerForm/components/ProDrawer/index.js +22 -19
  12. package/es/ProDrawerForm/components/ProModal/index.js +14 -9
  13. package/es/ProDrawerForm/index.js +6 -10
  14. package/es/ProDrawerForm/utils/index.js +1 -1
  15. package/es/ProEditLabel/components/RenderProForm.js +10 -9
  16. package/es/ProEditLabel/index.js +36 -24
  17. package/es/ProEditLabel/utils/index.js +4 -3
  18. package/es/ProEditTable/components/ActionButton/index.js +58 -56
  19. package/es/ProEditTable/components/RcTable/BaseTable.js +21 -20
  20. package/es/ProEditTable/components/RcTable/DraggableTable.js +27 -34
  21. package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +40 -46
  22. package/es/ProEditTable/components/RenderField/index.js +98 -121
  23. package/es/ProEditTable/components/RenderToolbar/index.js +27 -33
  24. package/es/ProEditTable/components/Summary/index.js +16 -14
  25. package/es/ProEditTable/components/Validator/index.js +9 -6
  26. package/es/ProEditTable/index.js +130 -147
  27. package/es/ProEditTable/utils/config.js +29 -36
  28. package/es/ProEditTable/utils/diffOriginal.js +13 -13
  29. package/es/ProEditTable/utils/getDefaultProps.js +6 -7
  30. package/es/ProEditTable/utils/index.js +52 -58
  31. package/es/ProEditTable/utils/tools.js +32 -41
  32. package/es/ProEditTable/utils/transform.js +7 -11
  33. package/es/ProEditTable/utils/useEditTableError.js +10 -12
  34. package/es/ProEnum/components/Group.js +18 -22
  35. package/es/ProEnum/components/Tag.js +10 -14
  36. package/es/ProEnum/hooks/useEnum.js +6 -10
  37. package/es/ProEnum/hooks/useEnumRequest.js +23 -25
  38. package/es/ProEnum/hooks/useFrequentEnumRequest.d.ts +14 -0
  39. package/es/ProEnum/hooks/useFrequentEnumRequest.js +76 -0
  40. package/es/ProEnum/index.js +50 -52
  41. package/es/ProEnum/propsType.d.ts +29 -0
  42. package/es/ProEnum/utils/eventCenter.js +20 -31
  43. package/es/ProEnum/utils/frequentEnum.d.ts +40 -0
  44. package/es/ProEnum/utils/frequentEnum.js +91 -0
  45. package/es/ProEnum/utils/getEnumLabel.js +8 -12
  46. package/es/ProEnum/utils/index.js +6 -6
  47. package/es/ProForm/components/Container.js +4 -3
  48. package/es/ProForm/components/FormFooter/index.js +16 -13
  49. package/es/ProForm/components/base/Checkbox/index.js +10 -11
  50. package/es/ProForm/components/base/DatePicker/index.js +8 -7
  51. package/es/ProForm/components/base/DatePicker/useDateLimit.js +2 -4
  52. package/es/ProForm/components/base/Input/index.js +24 -20
  53. package/es/ProForm/components/base/InputNumber/index.js +21 -18
  54. package/es/ProForm/components/base/Radio/index.js +11 -12
  55. package/es/ProForm/components/base/RangePicker/index.js +9 -12
  56. package/es/ProForm/components/base/RangePicker/useDateRange.js +3 -3
  57. package/es/ProForm/components/base/Select/index.js +9 -8
  58. package/es/ProForm/components/base/Switch/index.js +7 -6
  59. package/es/ProForm/components/base/SwitchCheckbox/index.js +7 -6
  60. package/es/ProForm/components/base/TextArea/index.js +9 -8
  61. package/es/ProForm/components/base/TimePicker/index.js +5 -4
  62. package/es/ProForm/components/combination/Container/index.js +12 -12
  63. package/es/ProForm/components/combination/FormList/components/ActionButton.js +60 -70
  64. package/es/ProForm/components/combination/FormList/components/BlockFields.js +11 -7
  65. package/es/ProForm/components/combination/FormList/components/BlockTitle.js +1 -1
  66. package/es/ProForm/components/combination/FormList/components/Empty.js +9 -10
  67. package/es/ProForm/components/combination/FormList/components/LineFields.js +10 -9
  68. package/es/ProForm/components/combination/FormList/components/ToolbarButton.js +32 -36
  69. package/es/ProForm/components/combination/FormList/index.js +25 -33
  70. package/es/ProForm/components/combination/FormList/utils.js +5 -7
  71. package/es/ProForm/components/combination/Group/component/AddonWrapper/index.js +1 -1
  72. package/es/ProForm/components/combination/Group/component/ComRender.js +14 -14
  73. package/es/ProForm/components/combination/Group/hooks/index.d.ts +0 -1
  74. package/es/ProForm/components/combination/Group/hooks/index.js +30 -35
  75. package/es/ProForm/components/combination/Group/index.js +35 -29
  76. package/es/ProForm/components/combination/Group/propsType.d.ts +2 -0
  77. package/es/ProForm/components/combination/Group/style/index.less +7 -0
  78. package/es/ProForm/components/combination/Group/utils.d.ts +0 -1
  79. package/es/ProForm/components/combination/Group/utils.js +38 -39
  80. package/es/ProForm/components/combination/ProCascader/index.js +43 -52
  81. package/es/ProForm/components/combination/ProCascader/utils/index.js +3 -3
  82. package/es/ProForm/components/combination/ProModalSelect/hooks/useRequestList.js +16 -16
  83. package/es/ProForm/components/combination/ProModalSelect/index.js +102 -108
  84. package/es/ProForm/components/combination/ProModalSelect/utils/index.js +1 -1
  85. package/es/ProForm/components/combination/ProNumberRange/index.js +73 -47
  86. package/es/ProForm/components/combination/ProNumberRange/propsType.d.ts +3 -2
  87. package/es/ProForm/components/combination/ProNumberRange/style/index.less +1 -1
  88. package/es/ProForm/components/combination/ProRangeLimit/index.js +20 -18
  89. package/es/ProForm/components/combination/ProTimeLimit/hooks/useControlled.js +3 -3
  90. package/es/ProForm/components/combination/ProTimeLimit/index.js +17 -15
  91. package/es/ProForm/components/render/ChangedWrapper.js +24 -26
  92. package/es/ProForm/components/render/ConfirmWrapper.js +10 -11
  93. package/es/ProForm/components/render/Render.js +107 -102
  94. package/es/ProForm/components/render/RenderFields.d.ts +0 -1
  95. package/es/ProForm/components/render/RenderFields.js +22 -24
  96. package/es/ProForm/index.js +44 -45
  97. package/es/ProForm/propsType.d.ts +1 -4
  98. package/es/ProForm/utils/diffOriginal.js +9 -9
  99. package/es/ProForm/utils/getDefaultProps.js +5 -5
  100. package/es/ProForm/utils/index.js +62 -90
  101. package/es/ProForm/utils/processDependencies.js +4 -5
  102. package/es/ProForm/utils/rulesCreator.js +12 -12
  103. package/es/ProForm/utils/transformNames.js +2 -2
  104. package/es/ProForm/utils/transformValue.js +6 -8
  105. package/es/ProForm/utils/useDeepCompareMemo.js +1 -1
  106. package/es/ProForm/utils/useFieldProps.js +1 -3
  107. package/es/ProForm/utils/useForm.js +19 -21
  108. package/es/ProForm/utils/useRules.js +17 -22
  109. package/es/ProForm/utils/useShouldUpdate.js +79 -83
  110. package/es/ProForm/utils/useWatch.js +12 -12
  111. package/es/ProForm/utils/valueType.js +46 -50
  112. package/es/ProIcon/index.js +30 -31
  113. package/es/ProIcon/utils/index.js +5 -5
  114. package/es/ProLayout/components/Layout/Header/index.js +1 -1
  115. package/es/ProLayout/components/Layout/Icon/Icon.js +4 -4
  116. package/es/ProLayout/components/Layout/Menu/FoldMenu/index.js +19 -22
  117. package/es/ProLayout/components/Layout/Menu/OpenMenu/index.js +23 -30
  118. package/es/ProLayout/components/Layout/Menu/SideMenu/index.js +3 -3
  119. package/es/ProLayout/components/Layout/Menu/index.js +9 -9
  120. package/es/ProLayout/components/Layout/Notice/index.js +3 -3
  121. package/es/ProLayout/components/ProCollapse/index.js +23 -18
  122. package/es/ProLayout/components/ProFooter/index.js +13 -14
  123. package/es/ProLayout/components/ProHeader/components/Copy/index.js +6 -5
  124. package/es/ProLayout/components/ProHeader/components/ProBackBtn/index.js +6 -5
  125. package/es/ProLayout/components/ProHeader/index.js +68 -59
  126. package/es/ProLayout/components/ProHeader/utils/index.js +1 -1
  127. package/es/ProLayout/index.js +33 -32
  128. package/es/ProLayout/utils/index.js +17 -18
  129. package/es/ProSelect/components/AdaptiveTooltip.js +8 -9
  130. package/es/ProSelect/index.js +57 -64
  131. package/es/ProSelect/utils/index.js +17 -28
  132. package/es/ProStep/components/Anchor/index.js +10 -9
  133. package/es/ProStep/components/Item/index.js +11 -11
  134. package/es/ProStep/components/Listener/index.js +6 -10
  135. package/es/ProStep/components/Step/index.js +9 -11
  136. package/es/ProStep/index.js +24 -30
  137. package/es/ProStep/utils/index.js +8 -8
  138. package/es/ProStepTab/index.js +27 -28
  139. package/es/ProTable/components/FormatColumn/index.js +54 -59
  140. package/es/ProTable/components/RcTable/components/BaseTable/index.js +6 -7
  141. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +21 -37
  142. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/index.js +16 -17
  143. package/es/ProTable/components/RcTable/components/DraggableTable/index.js +5 -6
  144. package/es/ProTable/components/RenderColumn/index.js +36 -35
  145. package/es/ProTable/components/RenderEmptyText/index.js +1 -1
  146. package/es/ProTable/components/RenderFooter/index.js +2 -2
  147. package/es/ProTable/components/RenderSummary/index.js +13 -12
  148. package/es/ProTable/components/RenderTableHeader/index.js +5 -4
  149. package/es/ProTable/components/RenderTabs/index.js +26 -29
  150. package/es/ProTable/components/TableResizable/index.js +8 -8
  151. package/es/ProTable/components/TooltipTitle/index.js +4 -3
  152. package/es/ProTable/hooks/useAntdTable.js +80 -95
  153. package/es/ProTable/index.js +110 -133
  154. package/es/ProTable/propsType.d.ts +9 -3
  155. package/es/ProTable/utils/index.js +13 -16
  156. package/es/ProTabs/components/Card/index.js +14 -8
  157. package/es/ProTabs/index.js +30 -20
  158. package/es/ProTabs/propType.d.ts +5 -0
  159. package/es/ProTabs/style/index.less +40 -3
  160. package/es/ProThemeTools/component/ProTools/index.js +46 -39
  161. package/es/ProThemeTools/context/ThemeContext.js +13 -13
  162. package/es/ProThemeTools/index.js +18 -19
  163. package/es/ProThemeTools/utils/index.js +14 -18
  164. package/es/ProTooltip/index.js +24 -27
  165. package/es/ProTree/components/AdaptiveTooltip.js +5 -6
  166. package/es/ProTree/components/List.js +10 -13
  167. package/es/ProTree/components/ProTree.js +47 -64
  168. package/es/ProTree/components/ProTreeSelect/index.js +77 -76
  169. package/es/ProTree/components/Tree.js +23 -22
  170. package/es/ProTree/index.js +1 -1
  171. package/es/ProTree/utils.js +14 -14
  172. package/es/ProTreeModal/components/Cascader.js +13 -16
  173. package/es/ProTreeModal/components/List.js +49 -70
  174. package/es/ProTreeModal/components/SortableItem.js +7 -8
  175. package/es/ProTreeModal/components/Tree.js +18 -23
  176. package/es/ProTreeModal/components/Trigger.js +15 -10
  177. package/es/ProTreeModal/index.js +98 -151
  178. package/es/ProTreeModal/utils.js +21 -21
  179. package/es/ProUpload/components/ButtonRender.js +11 -12
  180. package/es/ProUpload/components/DragRender.js +17 -20
  181. package/es/ProUpload/components/DraggableUploadListItem.js +2 -2
  182. package/es/ProUpload/components/Example.js +3 -3
  183. package/es/ProUpload/components/FileItem.js +30 -25
  184. package/es/ProUpload/components/ImageRender.js +29 -22
  185. package/es/ProUpload/index.js +55 -66
  186. package/es/ProUpload/uitls.js +2 -2
  187. package/es/ProUtils/utils/index.js +10 -14
  188. package/es/ProViewer/index.js +22 -19
  189. package/es/ProViewer/propsType.js +0 -3
  190. package/es/ProWaterMark/index.js +4 -3
  191. package/es/index.d.ts +1 -1
  192. package/es/locale/index.js +2 -2
  193. package/es/style/index.less +1 -1
  194. package/es/style/theme/base.less +1 -0
  195. package/es/utils/index.js +11 -13
  196. package/lib/FormsProvider/index.js +30 -50
  197. package/lib/ProAction/components/CheckModalContent/index.js +31 -27
  198. package/lib/ProAction/index.js +194 -151
  199. package/lib/ProAction/propsType.js +4 -16
  200. package/lib/ProConfigProvider/index.js +136 -136
  201. package/lib/ProDownload/index.js +192 -124
  202. package/lib/ProDownload/propsType.js +4 -16
  203. package/lib/ProDownload/utils.js +189 -143
  204. package/lib/ProDrawerForm/components/ProDrawer/index.js +243 -169
  205. package/lib/ProDrawerForm/components/ProModal/index.js +194 -134
  206. package/lib/ProDrawerForm/components/index.js +17 -39
  207. package/lib/ProDrawerForm/index.js +79 -88
  208. package/lib/ProDrawerForm/propsType.js +4 -16
  209. package/lib/ProDrawerForm/utils/index.js +13 -30
  210. package/lib/ProEditLabel/components/RenderProForm.js +58 -57
  211. package/lib/ProEditLabel/index.js +251 -178
  212. package/lib/ProEditLabel/propsType.js +4 -16
  213. package/lib/ProEditLabel/utils/index.js +11 -26
  214. package/lib/ProEditTable/components/ActionButton/index.js +144 -155
  215. package/lib/ProEditTable/components/RcTable/BaseTable.js +97 -96
  216. package/lib/ProEditTable/components/RcTable/DraggableTable.js +172 -151
  217. package/lib/ProEditTable/components/RcTable/index.js +17 -39
  218. package/lib/ProEditTable/components/RenderField/ListChangedWrapper.js +177 -176
  219. package/lib/ProEditTable/components/RenderField/index.js +628 -539
  220. package/lib/ProEditTable/components/RenderToolbar/index.js +119 -105
  221. package/lib/ProEditTable/components/Summary/index.js +70 -61
  222. package/lib/ProEditTable/components/Validator/index.js +30 -47
  223. package/lib/ProEditTable/components/index.js +38 -48
  224. package/lib/ProEditTable/index.js +379 -324
  225. package/lib/ProEditTable/propsType.js +4 -16
  226. package/lib/ProEditTable/utils/config.js +225 -170
  227. package/lib/ProEditTable/utils/diffOriginal.js +93 -80
  228. package/lib/ProEditTable/utils/getDefaultProps.js +26 -42
  229. package/lib/ProEditTable/utils/index.js +318 -244
  230. package/lib/ProEditTable/utils/tools.js +438 -243
  231. package/lib/ProEditTable/utils/transform.js +15 -28
  232. package/lib/ProEditTable/utils/useEditTableError.js +65 -54
  233. package/lib/ProEnum/components/Group.js +53 -81
  234. package/lib/ProEnum/components/Tag.js +37 -54
  235. package/lib/ProEnum/hooks/useEnum.js +72 -52
  236. package/lib/ProEnum/hooks/useEnumRequest.js +267 -194
  237. package/lib/ProEnum/hooks/useFrequentEnumRequest.d.ts +14 -0
  238. package/lib/ProEnum/hooks/useFrequentEnumRequest.js +83 -0
  239. package/lib/ProEnum/index.js +239 -234
  240. package/lib/ProEnum/propsType.d.ts +29 -0
  241. package/lib/ProEnum/propsType.js +4 -16
  242. package/lib/ProEnum/utils/eventCenter.js +15 -12
  243. package/lib/ProEnum/utils/frequentEnum.d.ts +40 -0
  244. package/lib/ProEnum/utils/frequentEnum.js +99 -0
  245. package/lib/ProEnum/utils/getEnumLabel.js +57 -65
  246. package/lib/ProEnum/utils/index.js +98 -68
  247. package/lib/ProForm/components/Container.js +35 -45
  248. package/lib/ProForm/components/FormFooter/index.js +67 -80
  249. package/lib/ProForm/components/FormFooter/propsType.js +4 -16
  250. package/lib/ProForm/components/base/Checkbox/index.js +67 -62
  251. package/lib/ProForm/components/base/DatePicker/index.js +63 -74
  252. package/lib/ProForm/components/base/DatePicker/useDateLimit.js +13 -29
  253. package/lib/ProForm/components/base/Input/index.js +65 -73
  254. package/lib/ProForm/components/base/Input/propsType.js +4 -16
  255. package/lib/ProForm/components/base/InputNumber/index.js +230 -176
  256. package/lib/ProForm/components/base/Radio/index.js +60 -69
  257. package/lib/ProForm/components/base/RangePicker/index.js +73 -88
  258. package/lib/ProForm/components/base/RangePicker/useDateRange.js +28 -45
  259. package/lib/ProForm/components/base/Select/index.js +63 -69
  260. package/lib/ProForm/components/base/Switch/index.js +43 -59
  261. package/lib/ProForm/components/base/SwitchCheckbox/index.js +63 -62
  262. package/lib/ProForm/components/base/TextArea/index.js +52 -65
  263. package/lib/ProForm/components/base/TimePicker/index.js +45 -59
  264. package/lib/ProForm/components/combination/Container/index.js +58 -72
  265. package/lib/ProForm/components/combination/Container/propsType.js +4 -16
  266. package/lib/ProForm/components/combination/FormList/components/ActionButton.js +240 -195
  267. package/lib/ProForm/components/combination/FormList/components/BlockFields.js +85 -107
  268. package/lib/ProForm/components/combination/FormList/components/BlockTitle.js +25 -44
  269. package/lib/ProForm/components/combination/FormList/components/Empty.js +92 -55
  270. package/lib/ProForm/components/combination/FormList/components/LineFields.js +92 -117
  271. package/lib/ProForm/components/combination/FormList/components/ToolbarButton.js +133 -101
  272. package/lib/ProForm/components/combination/FormList/index.js +131 -164
  273. package/lib/ProForm/components/combination/FormList/propsType.js +4 -16
  274. package/lib/ProForm/components/combination/FormList/utils.js +32 -52
  275. package/lib/ProForm/components/combination/Group/component/AddonWrapper/index.js +23 -38
  276. package/lib/ProForm/components/combination/Group/component/ComRender.js +78 -74
  277. package/lib/ProForm/components/combination/Group/hooks/index.d.ts +0 -1
  278. package/lib/ProForm/components/combination/Group/hooks/index.js +123 -123
  279. package/lib/ProForm/components/combination/Group/index.js +99 -104
  280. package/lib/ProForm/components/combination/Group/propsType.d.ts +2 -0
  281. package/lib/ProForm/components/combination/Group/propsType.js +4 -16
  282. package/lib/ProForm/components/combination/Group/style/index.less +7 -0
  283. package/lib/ProForm/components/combination/Group/utils.d.ts +0 -1
  284. package/lib/ProForm/components/combination/Group/utils.js +132 -104
  285. package/lib/ProForm/components/combination/ProCascader/index.js +271 -226
  286. package/lib/ProForm/components/combination/ProCascader/propsType.js +4 -16
  287. package/lib/ProForm/components/combination/ProCascader/utils/index.js +23 -33
  288. package/lib/ProForm/components/combination/ProModalSelect/hooks/useRequestList.js +113 -114
  289. package/lib/ProForm/components/combination/ProModalSelect/index.js +651 -472
  290. package/lib/ProForm/components/combination/ProModalSelect/propsType.js +4 -16
  291. package/lib/ProForm/components/combination/ProModalSelect/utils/index.js +21 -43
  292. package/lib/ProForm/components/combination/ProNumberRange/index.js +207 -160
  293. package/lib/ProForm/components/combination/ProNumberRange/propsType.d.ts +3 -2
  294. package/lib/ProForm/components/combination/ProNumberRange/propsType.js +4 -16
  295. package/lib/ProForm/components/combination/ProNumberRange/style/index.less +1 -1
  296. package/lib/ProForm/components/combination/ProRangeLimit/index.js +169 -139
  297. package/lib/ProForm/components/combination/ProRangeLimit/propsType.js +4 -16
  298. package/lib/ProForm/components/combination/ProTimeLimit/hooks/useControlled.js +28 -49
  299. package/lib/ProForm/components/combination/ProTimeLimit/index.js +150 -127
  300. package/lib/ProForm/components/index.js +192 -115
  301. package/lib/ProForm/components/render/ChangedWrapper.js +130 -141
  302. package/lib/ProForm/components/render/ConfirmWrapper.js +120 -78
  303. package/lib/ProForm/components/render/Render.js +445 -346
  304. package/lib/ProForm/components/render/RenderFields.d.ts +0 -1
  305. package/lib/ProForm/components/render/RenderFields.js +195 -181
  306. package/lib/ProForm/components/render/propsType.js +31 -17
  307. package/lib/ProForm/index.js +282 -235
  308. package/lib/ProForm/propsType.d.ts +1 -4
  309. package/lib/ProForm/propsType.js +9 -38
  310. package/lib/ProForm/utils/diffOriginal.js +88 -81
  311. package/lib/ProForm/utils/getDefaultProps.js +26 -42
  312. package/lib/ProForm/utils/index.js +330 -254
  313. package/lib/ProForm/utils/processDependencies.js +61 -44
  314. package/lib/ProForm/utils/rulesCreator.js +58 -81
  315. package/lib/ProForm/utils/transformNames.js +26 -37
  316. package/lib/ProForm/utils/transformValue.js +47 -47
  317. package/lib/ProForm/utils/useDeepCompareMemo.js +15 -34
  318. package/lib/ProForm/utils/useFieldProps.js +10 -42
  319. package/lib/ProForm/utils/useForm.js +226 -118
  320. package/lib/ProForm/utils/useRules.js +50 -60
  321. package/lib/ProForm/utils/useShouldUpdate.js +233 -126
  322. package/lib/ProForm/utils/useWatch.js +122 -93
  323. package/lib/ProForm/utils/valueType.js +222 -155
  324. package/lib/ProIcon/config/index.js +278 -365
  325. package/lib/ProIcon/index.js +217 -184
  326. package/lib/ProIcon/propsTypes.js +4 -16
  327. package/lib/ProIcon/symbolIcon.js +30 -23
  328. package/lib/ProIcon/utils/index.js +53 -60
  329. package/lib/ProLayout/components/Layout/Header/index.js +42 -59
  330. package/lib/ProLayout/components/Layout/Icon/Icon.js +31 -49
  331. package/lib/ProLayout/components/Layout/Icon/index.js +7 -34
  332. package/lib/ProLayout/components/Layout/Menu/FoldMenu/index.js +170 -139
  333. package/lib/ProLayout/components/Layout/Menu/OpenMenu/index.js +135 -117
  334. package/lib/ProLayout/components/Layout/Menu/OpenMenu/propsType.js +4 -16
  335. package/lib/ProLayout/components/Layout/Menu/SideMenu/index.js +44 -60
  336. package/lib/ProLayout/components/Layout/Menu/index.js +52 -71
  337. package/lib/ProLayout/components/Layout/Notice/index.js +31 -39
  338. package/lib/ProLayout/components/Layout/index.js +31 -45
  339. package/lib/ProLayout/components/ProCollapse/PropTypes.js +4 -16
  340. package/lib/ProLayout/components/ProCollapse/index.js +159 -148
  341. package/lib/ProLayout/components/ProFooter/PropTypes.js +4 -16
  342. package/lib/ProLayout/components/ProFooter/index.js +41 -56
  343. package/lib/ProLayout/components/ProHeader/PropTypes.js +4 -16
  344. package/lib/ProLayout/components/ProHeader/components/Copy/index.js +26 -53
  345. package/lib/ProLayout/components/ProHeader/components/ProBackBtn/index.js +27 -48
  346. package/lib/ProLayout/components/ProHeader/components/ProBackBtn/propsType.js +4 -16
  347. package/lib/ProLayout/components/ProHeader/components/index.js +17 -39
  348. package/lib/ProLayout/components/ProHeader/index.js +466 -268
  349. package/lib/ProLayout/components/ProHeader/utils/index.js +14 -31
  350. package/lib/ProLayout/components/index.js +24 -42
  351. package/lib/ProLayout/index.js +139 -130
  352. package/lib/ProLayout/propTypes.js +4 -16
  353. package/lib/ProLayout/utils/index.js +120 -86
  354. package/lib/ProSelect/components/AdaptiveTooltip.js +38 -45
  355. package/lib/ProSelect/index.js +240 -213
  356. package/lib/ProSelect/propsType.js +4 -16
  357. package/lib/ProSelect/utils/index.js +114 -93
  358. package/lib/ProStep/components/Anchor/index.js +102 -107
  359. package/lib/ProStep/components/Item/index.js +71 -75
  360. package/lib/ProStep/components/Listener/index.js +69 -62
  361. package/lib/ProStep/components/Step/index.js +65 -75
  362. package/lib/ProStep/index.js +227 -165
  363. package/lib/ProStep/propsType.js +4 -16
  364. package/lib/ProStep/utils/index.js +54 -57
  365. package/lib/ProStepTab/index.js +307 -166
  366. package/lib/ProStepTab/propsType.js +4 -16
  367. package/lib/ProTable/components/FormatColumn/index.js +472 -425
  368. package/lib/ProTable/components/RcTable/components/BaseTable/index.js +39 -53
  369. package/lib/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +183 -135
  370. package/lib/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/index.js +85 -104
  371. package/lib/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/propsType.js +4 -16
  372. package/lib/ProTable/components/RcTable/components/DraggableTable/index.js +58 -80
  373. package/lib/ProTable/components/RcTable/index.js +17 -39
  374. package/lib/ProTable/components/RenderColumn/index.js +203 -194
  375. package/lib/ProTable/components/RenderEmptyText/index.js +25 -27
  376. package/lib/ProTable/components/RenderFooter/index.js +17 -33
  377. package/lib/ProTable/components/RenderSummary/index.js +57 -46
  378. package/lib/ProTable/components/RenderTableHeader/index.js +62 -68
  379. package/lib/ProTable/components/RenderTabs/index.js +67 -80
  380. package/lib/ProTable/components/TableResizable/index.js +87 -87
  381. package/lib/ProTable/components/TooltipTitle/index.js +27 -40
  382. package/lib/ProTable/components/index.js +45 -51
  383. package/lib/ProTable/hooks/useAntdTable.js +351 -304
  384. package/lib/ProTable/index.js +354 -333
  385. package/lib/ProTable/propsType.d.ts +9 -3
  386. package/lib/ProTable/propsType.js +4 -16
  387. package/lib/ProTable/utils/index.js +89 -78
  388. package/lib/ProTabs/components/Card/index.js +57 -30
  389. package/lib/ProTabs/components/index.js +10 -36
  390. package/lib/ProTabs/index.js +94 -89
  391. package/lib/ProTabs/propType.d.ts +5 -0
  392. package/lib/ProTabs/propType.js +4 -16
  393. package/lib/ProTabs/style/index.less +40 -3
  394. package/lib/ProThemeTools/component/ProTools/index.js +246 -198
  395. package/lib/ProThemeTools/component/index.js +10 -36
  396. package/lib/ProThemeTools/context/ThemeContext.js +99 -89
  397. package/lib/ProThemeTools/index.js +207 -172
  398. package/lib/ProThemeTools/propsType.js +4 -16
  399. package/lib/ProThemeTools/utils/index.js +84 -80
  400. package/lib/ProTooltip/index.js +217 -214
  401. package/lib/ProTooltip/propsType.js +4 -16
  402. package/lib/ProTree/components/AdaptiveTooltip.js +22 -33
  403. package/lib/ProTree/components/CloseIcon.js +31 -36
  404. package/lib/ProTree/components/List.js +69 -68
  405. package/lib/ProTree/components/ProTree.js +346 -258
  406. package/lib/ProTree/components/ProTreeSelect/index.js +460 -336
  407. package/lib/ProTree/components/ProTreeSelect/propsType.js +4 -16
  408. package/lib/ProTree/components/SearchTitle.js +50 -47
  409. package/lib/ProTree/components/Tree.js +300 -227
  410. package/lib/ProTree/components/index.js +31 -45
  411. package/lib/ProTree/index.js +22 -45
  412. package/lib/ProTree/propsType.js +4 -16
  413. package/lib/ProTree/utils.js +140 -79
  414. package/lib/ProTreeModal/components/Cascader.js +90 -97
  415. package/lib/ProTreeModal/components/CloseIcon.js +31 -36
  416. package/lib/ProTreeModal/components/List.js +246 -192
  417. package/lib/ProTreeModal/components/SearchTitle.js +22 -30
  418. package/lib/ProTreeModal/components/SortableItem.js +59 -60
  419. package/lib/ProTreeModal/components/Tree.js +171 -157
  420. package/lib/ProTreeModal/components/Trigger.js +131 -108
  421. package/lib/ProTreeModal/components/index.js +45 -51
  422. package/lib/ProTreeModal/index.js +523 -448
  423. package/lib/ProTreeModal/propsType.js +4 -16
  424. package/lib/ProTreeModal/utils.js +160 -99
  425. package/lib/ProUpload/components/ButtonRender.js +106 -85
  426. package/lib/ProUpload/components/DragRender.js +167 -117
  427. package/lib/ProUpload/components/DraggableUploadListItem.js +32 -48
  428. package/lib/ProUpload/components/Example.js +39 -55
  429. package/lib/ProUpload/components/FileItem.js +215 -113
  430. package/lib/ProUpload/components/ImageRender.js +250 -175
  431. package/lib/ProUpload/index.js +185 -181
  432. package/lib/ProUpload/propsType.js +4 -16
  433. package/lib/ProUpload/uitls.js +9 -31
  434. package/lib/ProUtils/utils/index.js +20 -36
  435. package/lib/ProViewer/index.js +210 -175
  436. package/lib/ProViewer/propsType.js +1 -17
  437. package/lib/ProWaterMark/index.js +20 -38
  438. package/lib/ProWaterMark/propsType.js +4 -16
  439. package/lib/index.d.ts +1 -1
  440. package/lib/index.js +272 -123
  441. package/lib/locale/en_US.js +127 -145
  442. package/lib/locale/index.js +40 -55
  443. package/lib/locale/zh_CN.js +128 -146
  444. package/lib/style/index.less +1 -1
  445. package/lib/style/theme/base.less +1 -0
  446. package/lib/tokens.js +87 -103
  447. package/lib/utils/index.js +66 -88
  448. package/package.json +11 -11
  449. package/dist/esm/index.d.ts +0 -5
  450. package/dist/esm/index.js +0 -5
  451. package/dist/esm/regExp/index.d.ts +0 -19
  452. package/dist/esm/regExp/index.js +0 -73
  453. package/dist/esm/tools/calc/index.d.ts +0 -4
  454. package/dist/esm/tools/calc/index.js +0 -67
  455. package/dist/esm/tools/dateUtils.d.ts +0 -7
  456. package/dist/esm/tools/dateUtils.js +0 -23
  457. package/dist/esm/tools/disableDate/index.d.ts +0 -9
  458. package/dist/esm/tools/disableDate/index.js +0 -43
  459. package/dist/esm/tools/disableTimeRange/index.d.ts +0 -9
  460. package/dist/esm/tools/disableTimeRange/index.js +0 -121
  461. package/dist/esm/tools/formatAmount/index.d.ts +0 -7
  462. package/dist/esm/tools/formatAmount/index.js +0 -14
  463. package/dist/esm/tools/formatPerMill/index.d.ts +0 -7
  464. package/dist/esm/tools/formatPerMill/index.js +0 -11
  465. package/dist/esm/tools/formatPercent/index.d.ts +0 -7
  466. package/dist/esm/tools/formatPercent/index.js +0 -11
  467. package/dist/esm/tools/getDataByIdCard/index.d.ts +0 -16
  468. package/dist/esm/tools/getDataByIdCard/index.js +0 -65
  469. package/dist/esm/tools/index.d.ts +0 -12
  470. package/dist/esm/tools/index.js +0 -14
  471. package/dist/esm/tools/sumAmount/index.d.ts +0 -16
  472. package/dist/esm/tools/sumAmount/index.js +0 -40
  473. package/dist/esm/tools/toChineseNum/index.d.ts +0 -7
  474. package/dist/esm/tools/toChineseNum/index.js +0 -103
  475. package/dist/esm/tools/toFixed/index.d.ts +0 -2
  476. package/dist/esm/tools/toFixed/index.js +0 -5
  477. package/dist/esm/tools/transformDataName/index.d.ts +0 -12
  478. package/dist/esm/tools/transformDataName/index.js +0 -37
  479. package/dist/esm/transforms/dateTransformer/index.d.ts +0 -24
  480. package/dist/esm/transforms/dateTransformer/index.js +0 -67
  481. package/dist/esm/transforms/index.d.ts +0 -6
  482. package/dist/esm/transforms/index.js +0 -6
  483. package/dist/esm/transforms/propTypes.d.ts +0 -7
  484. package/dist/esm/transforms/propTypes.js +0 -1
  485. package/dist/esm/transforms/transformDate/index.d.ts +0 -21
  486. package/dist/esm/transforms/transformDate/index.js +0 -141
  487. package/dist/esm/transforms/transformDatePicker/index.d.ts +0 -12
  488. package/dist/esm/transforms/transformDatePicker/index.js +0 -24
  489. package/dist/esm/transforms/transformRangePicker/index.d.ts +0 -29
  490. package/dist/esm/transforms/transformRangePicker/index.js +0 -61
  491. package/dist/esm/transforms/transformSwitch/index.d.ts +0 -13
  492. package/dist/esm/transforms/transformSwitch/index.js +0 -35
  493. package/dist/esm/transforms/utils.d.ts +0 -2
  494. package/dist/esm/transforms/utils.js +0 -8
  495. package/dist/esm/validate/index.d.ts +0 -107
  496. package/dist/esm/validate/index.js +0 -284
  497. package/tests/__mocks__/fileMock.js +0 -1
  498. package/tests/__mocks__/zatUtils.js +0 -27
  499. package/tests/setup.ts +0 -484
  500. package/tests/test-utils.tsx +0 -81
@@ -1,443 +1,570 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
-
29
- // src/ProEditTable/components/RenderField/index.tsx
30
- var RenderField_exports = {};
31
- __export(RenderField_exports, {
32
- default: () => RenderField_default
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
33
7
  });
34
- module.exports = __toCommonJS(RenderField_exports);
35
- var import_react = __toESM(require("react"));
36
- var import_antd = require("antd");
37
- var import_classnames = __toESM(require("classnames"));
38
- var import_lodash = require("lodash");
39
- var import_utils = require("../../../utils");
40
- var import_valueType = __toESM(require("../../../ProForm/utils/valueType"));
41
- var import_transform = __toESM(require("../../utils/transform"));
42
- var import_tools = require("../../utils/tools");
43
- var componentMap = __toESM(require("../../../ProForm/components"));
44
- var import_ProConfigProvider = require("../../../ProConfigProvider");
45
- var import_Container = __toESM(require("../../../ProForm/components/Container"));
46
- var import_transformNames = __toESM(require("../../../ProForm/utils/transformNames"));
47
- var import_useFieldProps = require("../../../ProForm/utils/useFieldProps");
48
- var import_useRules = __toESM(require("../../../ProForm/utils/useRules"));
49
- var import_utils2 = require("../../../ProForm/utils");
50
- var import_ConfirmWrapper = __toESM(require("../../../ProForm/components/render/ConfirmWrapper"));
51
- var import_getDefaultProps = require("../../utils/getDefaultProps");
52
- var import_ListChangedWrapper = __toESM(require("./ListChangedWrapper"));
53
- var RenderField = ({ text: value, record, index, column, config }) => {
54
- var _a, _b, _c, _d;
55
- let {
56
- type,
57
- valueType,
58
- names,
59
- fieldProps,
60
- labelRequired,
61
- editRender,
62
- component,
63
- viewRender,
64
- title,
65
- originTitle,
66
- label,
67
- dataIndex,
68
- formItemProps,
69
- isEditable = true,
70
- required = false,
71
- rules = [],
72
- onDiff,
73
- className,
74
- trim,
75
- confirm,
76
- dependencies,
77
- desensitization,
78
- ...resetProps
79
- } = column;
80
- const _editRender = component || editRender;
81
- const {
82
- mode,
83
- cellName,
84
- cellNamePath,
85
- _isEditing,
86
- form,
87
- setState,
88
- name,
89
- virtualKey,
90
- viewEmpty,
91
- originalValues,
92
- namePath: formNamePath,
93
- rowDisabled,
94
- validateTrigger = ["onChange", "onBlur", "onSubmit"],
95
- otherProps,
96
- diffConfig,
97
- getIsNew
98
- } = config;
99
- let _fieldProps = fieldProps || formItemProps || {};
100
- let _rules = rules || [];
101
- let _required = required;
102
- let _valueType = valueType;
103
- let _disabled = false;
104
- let _desensitization = desensitization || [];
105
- const isCell = mode === "cell";
8
+ exports.default = void 0;
9
+ require("antd/es/form/style");
10
+ var _form = _interopRequireDefault(require("antd/es/form"));
11
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
14
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
+ var _react = _interopRequireWildcard(require("react"));
16
+ var _classnames = _interopRequireDefault(require("classnames"));
17
+ var _lodash = require("lodash");
18
+ var _utils = require("../../../utils");
19
+ var _valueType2 = _interopRequireDefault(require("../../../ProForm/utils/valueType"));
20
+ var _transform = _interopRequireDefault(require("../../utils/transform"));
21
+ var _tools = require("../../utils/tools");
22
+ var componentMap = _interopRequireWildcard(require("../../../ProForm/components"));
23
+ var _ProConfigProvider = require("../../../ProConfigProvider");
24
+ var _Container = _interopRequireDefault(require("../../../ProForm/components/Container"));
25
+ var _transformNames = _interopRequireDefault(require("../../../ProForm/utils/transformNames"));
26
+ var _useFieldProps = require("../../../ProForm/utils/useFieldProps");
27
+ var _useRules = _interopRequireDefault(require("../../../ProForm/utils/useRules"));
28
+ var _utils2 = require("../../../ProForm/utils");
29
+ var _ConfirmWrapper = _interopRequireDefault(require("../../../ProForm/components/render/ConfirmWrapper"));
30
+ var _getDefaultProps = require("../../utils/getDefaultProps");
31
+ var _ListChangedWrapper = _interopRequireDefault(require("./ListChangedWrapper"));
32
+ var _jsxRuntime = require("react/jsx-runtime");
33
+ var _excluded = ["type", "valueType", "names", "fieldProps", "labelRequired", "editRender", "component", "viewRender", "title", "originTitle", "label", "dataIndex", "formItemProps", "isEditable", "required", "rules", "onDiff", "className", "trim", "confirm", "dependencies", "desensitization"];
34
+ /* eslint-disable prefer-destructuring */
35
+ /* eslint-disable prefer-const */
36
+ var RenderField = _ref => {
37
+ var _type, _type$replace, _fieldProps2, _fieldProps4, _names, _TargetComponent5, _componentProps2;
38
+ var value = _ref.text,
39
+ record = _ref.record,
40
+ index = _ref.index,
41
+ column = _ref.column,
42
+ config = _ref.config;
43
+ var type = column.type,
44
+ valueType = column.valueType,
45
+ names = column.names,
46
+ fieldProps = column.fieldProps,
47
+ labelRequired = column.labelRequired,
48
+ editRender = column.editRender,
49
+ component = column.component,
50
+ viewRender = column.viewRender,
51
+ title = column.title,
52
+ originTitle = column.originTitle,
53
+ label = column.label,
54
+ dataIndex = column.dataIndex,
55
+ formItemProps = column.formItemProps,
56
+ _column$isEditable = column.isEditable,
57
+ isEditable = _column$isEditable === void 0 ? true : _column$isEditable,
58
+ _column$required = column.required,
59
+ required = _column$required === void 0 ? false : _column$required,
60
+ _column$rules = column.rules,
61
+ rules = _column$rules === void 0 ? [] : _column$rules,
62
+ onDiff = column.onDiff,
63
+ className = column.className,
64
+ trim = column.trim,
65
+ confirm = column.confirm,
66
+ dependencies = column.dependencies,
67
+ desensitization = column.desensitization,
68
+ resetProps = (0, _objectWithoutProperties2.default)(column, _excluded);
69
+ // editRender弃用使用component同ProForm
70
+ var _editRender = component || editRender;
71
+ var mode = config.mode,
72
+ cellName = config.cellName,
73
+ cellNamePath = config.cellNamePath,
74
+ _isEditing = config._isEditing,
75
+ form = config.form,
76
+ setState = config.setState,
77
+ name = config.name,
78
+ virtualKey = config.virtualKey,
79
+ viewEmpty = config.viewEmpty,
80
+ originalValues = config.originalValues,
81
+ formNamePath = config.namePath,
82
+ rowDisabled = config.rowDisabled,
83
+ _config$validateTrigg = config.validateTrigger,
84
+ validateTrigger = _config$validateTrigg === void 0 ? ['onChange', 'onBlur', 'onSubmit'] : _config$validateTrigg,
85
+ otherProps = config.otherProps,
86
+ diffConfig = config.diffConfig,
87
+ getIsNew = config.getIsNew;
88
+ var _fieldProps = fieldProps || formItemProps || {};
89
+ var _rules = rules || [];
90
+ var _required = required;
91
+ var _valueType = valueType;
92
+ var _disabled = false;
93
+ var _desensitization = desensitization || [];
94
+ var isCell = mode === 'cell';
106
95
  if (isCell) {
107
- record["is-view"] = !(0, import_lodash.isEqual)(cellNamePath, cellName);
96
+ record['is-view'] = !(0, _lodash.isEqual)(cellNamePath, cellName);
108
97
  }
109
- type = ((_a = type == null ? void 0 : type.replace) == null ? void 0 : _a.call(type, type[0], type[0].toUpperCase())) || "Input";
110
- if ("component" in column) {
98
+
99
+ // type类型 首字母转大写
100
+ type = ((_type = type) === null || _type === void 0 || (_type$replace = _type.replace) === null || _type$replace === void 0 ? void 0 : _type$replace.call(_type, type[0], type[0].toUpperCase())) || 'Input';
101
+
102
+ // 自定义组件时 防止默认值影像后续判断
103
+ if ('component' in column) {
111
104
  type = null;
112
105
  }
113
- const namePath = (0, import_tools.getNamePath)(name, virtualKey);
114
- const rowData = form.getFieldValue([...namePath, index]) || record || {};
115
- let currentValue = dataIndex ? rowData == null ? void 0 : rowData[dataIndex] : null;
116
- const options = (0, import_react.useMemo)(
117
- () => ({
118
- index,
119
- form,
120
- name: column == null ? void 0 : column.name,
121
- namePath: [...namePath, index]
122
- }),
123
- [index, column == null ? void 0 : column.name, namePath]
124
- );
125
- const rowParams = (0, import_react.useMemo)(
126
- () => [currentValue, rowData, options],
127
- [currentValue, rowData, options]
128
- );
129
- if ((0, import_lodash.isFunction)(required)) {
106
+
107
+ // 单行正在编辑时,临时生成一套formItem用来存储中间值,点击取消时候重置回上一次状态
108
+ var namePath = (0, _tools.getNamePath)(name, virtualKey);
109
+ var rowData = form.getFieldValue([...namePath, index]) || record || {};
110
+ var currentValue = dataIndex ? rowData === null || rowData === void 0 ? void 0 : rowData[dataIndex] : null;
111
+
112
+ // 第三个参数 - 使用useMemo优化
113
+ var options = (0, _react.useMemo)(() => ({
114
+ index,
115
+ form,
116
+ name: column === null || column === void 0 ? void 0 : column.name,
117
+ namePath: [...namePath, index]
118
+ }), [index, column === null || column === void 0 ? void 0 : column.name, namePath]);
119
+
120
+ // 行参数 - 使用useMemo优化
121
+ var rowParams = (0, _react.useMemo)(() => [currentValue, rowData, options], [currentValue, rowData, options]);
122
+
123
+ // required & rules & fieldProps & disabled & valueType 函数化处理
124
+ if ((0, _lodash.isFunction)(required)) {
130
125
  _required = required(...rowParams);
131
126
  }
132
- if ((0, import_lodash.isFunction)(fieldProps)) {
127
+ if ((0, _lodash.isFunction)(fieldProps)) {
133
128
  _fieldProps = fieldProps(...rowParams);
134
129
  }
135
- if ((0, import_lodash.isFunction)(rules)) {
130
+ if ((0, _lodash.isFunction)(rules)) {
136
131
  _rules = rules(...rowParams);
137
132
  }
138
- if ((0, import_lodash.isFunction)(valueType)) {
133
+ if ((0, _lodash.isFunction)(valueType)) {
139
134
  _valueType = valueType(...rowParams);
140
135
  }
141
- if ((0, import_lodash.isFunction)(desensitization)) {
136
+ if ((0, _lodash.isFunction)(desensitization)) {
142
137
  _desensitization = desensitization(...rowParams);
143
138
  }
144
- _disabled = (0, import_tools.getDisabled)({
145
- globalControl: otherProps == null ? void 0 : otherProps.globalControl,
146
- formDisabled: otherProps == null ? void 0 : otherProps.formDisabled,
139
+
140
+ // 获取最终的disabled
141
+ _disabled = (0, _tools.getDisabled)({
142
+ globalControl: otherProps === null || otherProps === void 0 ? void 0 : otherProps.globalControl,
143
+ formDisabled: otherProps === null || otherProps === void 0 ? void 0 : otherProps.formDisabled,
147
144
  column,
148
- tabledDisabled: config == null ? void 0 : config.disabled,
145
+ tabledDisabled: config === null || config === void 0 ? void 0 : config.disabled,
149
146
  columnFieldProps: _fieldProps,
150
147
  params: rowParams
151
148
  });
152
- if ((0, import_lodash.isFunction)(isEditable)) {
149
+ if ((0, _lodash.isFunction)(isEditable)) {
153
150
  isEditable = isEditable(...rowParams);
154
151
  }
155
- const isView = !isEditable || (record == null ? void 0 : record["is-view"]) || config.isView || virtualKey && !_isEditing || (0, import_tools.getDisabled)({
156
- globalControl: otherProps == null ? void 0 : otherProps.globalControl,
157
- formDisabled: otherProps == null ? void 0 : otherProps.formDisabled,
152
+
153
+ // 是否只读文本
154
+ var isView = !isEditable || (record === null || record === void 0 ? void 0 : record['is-view']) || config.isView || virtualKey && !_isEditing || (0, _tools.getDisabled)({
155
+ globalControl: otherProps === null || otherProps === void 0 ? void 0 : otherProps.globalControl,
156
+ formDisabled: otherProps === null || otherProps === void 0 ? void 0 : otherProps.formDisabled,
158
157
  column,
159
- tabledDisabled: config == null ? void 0 : config.disabled,
158
+ tabledDisabled: config === null || config === void 0 ? void 0 : config.disabled,
160
159
  columnFieldProps: _fieldProps,
161
160
  params: rowParams,
162
- rowDisabled: rowDisabled || "empty"
161
+ rowDisabled: rowDisabled || 'empty'
163
162
  });
164
- const baseName = isView ? name : namePath;
165
- let TargetComponent;
166
- const proConfig = (0, import_ProConfigProvider.useProConfig)();
167
- const internalRule = (0, import_useRules.default)({
163
+
164
+ // 只读文本时,采用当前formItem的name,单行编辑时,使用生成的虚拟的name
165
+ var baseName = isView ? name : namePath;
166
+ var TargetComponent;
167
+
168
+ // 将Hooks调用移到组件顶层
169
+ var proConfig = (0, _ProConfigProvider.useProConfig)();
170
+
171
+ // 设置校验规则 - 修复Hooks使用规则
172
+ var internalRule = (0, _useRules.default)({
168
173
  names,
169
- label,
174
+ label: label,
170
175
  labelRequired,
171
176
  required: !isView && _required,
172
177
  rules: _isEditing ? _rules : [],
173
- isSelect: (0, import_utils2.isSelect)({
174
- dataSource: _fieldProps == null ? void 0 : _fieldProps.dataSource,
178
+ isSelect: (0, _utils2.isSelect)({
179
+ dataSource: (_fieldProps2 = _fieldProps) === null || _fieldProps2 === void 0 ? void 0 : _fieldProps2.dataSource,
175
180
  type
176
181
  }),
177
182
  type
178
183
  });
179
- const formItemChildProps = { ..._fieldProps };
180
- const defaultProps = (0, import_react.useMemo)(
181
- () => (0, import_getDefaultProps.getDefaultProps)({
182
- name,
183
- namePath: formNamePath ? cellName.slice((formNamePath == null ? void 0 : formNamePath.length) - 1) : cellName,
184
- type: column == null ? void 0 : column.type,
185
- fieldProps: column == null ? void 0 : column.fieldProps
186
- }),
187
- [name, formNamePath, cellName, column == null ? void 0 : column.type, column == null ? void 0 : column.fieldProps]
188
- );
189
- const _formItemProps = (0, import_react.useMemo)(
190
- () => ({
191
- ...defaultProps,
192
- ...resetProps,
193
- ...internalRule,
194
- validateTrigger
195
- }),
196
- [defaultProps, resetProps, internalRule, validateTrigger]
197
- );
198
- if (["Switch", "SwitchCheckbox"].includes(type)) {
199
- _formItemProps.valuePropName = "checked";
200
- _valueType = "switch";
184
+
185
+ // 分离form item参数,防止对于参数透传(如onChange,防止重复触发)并优先级高于 _fieldProps 内部参数
186
+ var formItemChildProps = (0, _objectSpread2.default)({}, _fieldProps);
187
+
188
+ // 使用useMemo优化defaultProps计算
189
+ var defaultProps = (0, _react.useMemo)(() => (0, _getDefaultProps.getDefaultProps)({
190
+ name,
191
+ namePath: formNamePath ? cellName.slice((formNamePath === null || formNamePath === void 0 ? void 0 : formNamePath.length) - 1) : cellName,
192
+ type: column === null || column === void 0 ? void 0 : column.type,
193
+ fieldProps: column === null || column === void 0 ? void 0 : column.fieldProps
194
+ }), [name, formNamePath, cellName, column === null || column === void 0 ? void 0 : column.type, column === null || column === void 0 ? void 0 : column.fieldProps]);
195
+
196
+ // 允许formItem的属性放在column最外层 - 使用useMemo优化
197
+ var _formItemProps = (0, _react.useMemo)(() => (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultProps), resetProps), internalRule), {}, {
198
+ validateTrigger
199
+ }), [defaultProps, resetProps, internalRule, validateTrigger]);
200
+ if (['Switch', 'SwitchCheckbox'].includes(type)) {
201
+ _formItemProps.valuePropName = 'checked';
202
+ _valueType = 'switch';
201
203
  }
202
- const defaultTransform = (0, import_react.useCallback)(() => {
203
- var _a2, _b2;
204
- const types = ["DatePicker", "RangePicker"];
204
+
205
+ /**
206
+ * 针对一些特殊类型,基于formItem的normalize与getValueProps进行默认值类型转换
207
+ * @returns {}
208
+ */
209
+ var defaultTransform = (0, _react.useCallback)(() => {
210
+ var types = ['DatePicker', 'RangePicker'];
205
211
  if (!_valueType && types.includes(type)) {
206
- return (_b2 = (_a2 = import_transform.default) == null ? void 0 : _a2[type]) == null ? void 0 : _b2.call(_a2, _fieldProps || {});
212
+ var _transformMap$type;
213
+ return _transform.default === null || _transform.default === void 0 || (_transformMap$type = _transform.default[type]) === null || _transformMap$type === void 0 ? void 0 : _transformMap$type.call(_transform.default, _fieldProps || {});
207
214
  }
208
215
  return {};
209
216
  }, [_valueType, type, _fieldProps]);
210
- const valueTypeTransform = (0, import_react.useCallback)(() => {
211
- if (type === "SwitchCheckbox") {
212
- _valueType = "switch";
217
+
218
+ /**
219
+ * 配置valueType时,基于formItem的normalize与getValueProps进行值类型转换
220
+ * @returns {}
221
+ */
222
+ var valueTypeTransform = (0, _react.useCallback)(() => {
223
+ var _fieldProps3;
224
+ // SwitchCheckbox默认YN, 兼容已有组件
225
+ if (type === 'SwitchCheckbox') {
226
+ _valueType = 'switch';
213
227
  }
214
- const params = {
215
- ...column,
216
- mode: _fieldProps == null ? void 0 : _fieldProps.mode
217
- };
218
- return (0, import_lodash.isFunction)(import_valueType.default[_valueType]) ? import_valueType.default[_valueType](params) : {};
219
- }, [type, _valueType, column, _fieldProps == null ? void 0 : _fieldProps.mode]);
220
- if (names == null ? void 0 : names.length) {
221
- names = names.map((key) => {
228
+ var params = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, column), {}, {
229
+ mode: (_fieldProps3 = _fieldProps) === null || _fieldProps3 === void 0 ? void 0 : _fieldProps3.mode
230
+ });
231
+ return (0, _lodash.isFunction)(_valueType2.default[_valueType]) ? _valueType2.default[_valueType](params) : {};
232
+ }, [type, _valueType, column, (_fieldProps4 = _fieldProps) === null || _fieldProps4 === void 0 ? void 0 : _fieldProps4.mode]);
233
+ if ((_names = names) !== null && _names !== void 0 && _names.length) {
234
+ // 支持names配置,临时生成对应的formItem,用来存储单个对应的值
235
+ names = names.map(key => {
222
236
  if (Array.isArray(key)) {
223
237
  return [...baseName, index, ...key];
224
238
  }
225
239
  return [...baseName, index, key];
226
240
  });
227
241
  }
228
- let originalName = cellName;
229
- let originalNames = names;
242
+ var originalName = cellName;
243
+ var originalNames = names;
230
244
  if (virtualKey) {
231
- originalName = [...name, ...(_b = cellName == null ? void 0 : cellName.slice) == null ? void 0 : _b.call(cellName, name.length)];
232
- originalNames = (_c = names == null ? void 0 : names.map) == null ? void 0 : _c.call(names, (item) => {
233
- var _a2;
234
- return [...name, ...(_a2 = item == null ? void 0 : item.slice) == null ? void 0 : _a2.call(item, name.length)];
245
+ var _cellName$slice, _names2, _names2$map;
246
+ originalName = [...name, ...(cellName === null || cellName === void 0 || (_cellName$slice = cellName.slice) === null || _cellName$slice === void 0 ? void 0 : _cellName$slice.call(cellName, name.length))];
247
+ originalNames = (_names2 = names) === null || _names2 === void 0 || (_names2$map = _names2.map) === null || _names2$map === void 0 ? void 0 : _names2$map.call(_names2, item => {
248
+ var _item$slice;
249
+ return [...name, ...(item === null || item === void 0 || (_item$slice = item.slice) === null || _item$slice === void 0 ? void 0 : _item$slice.call(item, name.length))];
235
250
  });
236
251
  }
237
- const namesTransform = (0, import_react.useCallback)(() => {
238
- if (!(names == null ? void 0 : names.length)) {
252
+
253
+ /**
254
+ * 配置names时,基于formItem的normalize与getValueProps进行值类型转换
255
+ * @returns {}
256
+ */
257
+ var namesTransform = (0, _react.useCallback)(() => {
258
+ var _names3;
259
+ if (!((_names3 = names) !== null && _names3 !== void 0 && _names3.length)) {
239
260
  return valueTypeTransform();
240
261
  }
241
- const namesStr = [...baseName, index, dataIndex];
242
- return (0, import_transformNames.default)(
243
- {
244
- ..._formItemProps,
245
- ...valueTypeTransform()
246
- },
247
- form,
248
- names,
249
- namesStr,
250
- type
251
- );
262
+ var namesStr = [...baseName, index, dataIndex];
263
+ return (0, _transformNames.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, _formItemProps), valueTypeTransform()), form, names, namesStr, type);
252
264
  }, [names, baseName, index, dataIndex, _formItemProps, type]);
253
- if (!_editRender && typeof type === "string") {
254
- TargetComponent = componentMap[type] ?? /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null);
265
+ if (!_editRender && typeof type === 'string') {
266
+ var _componentMap$type;
267
+ TargetComponent = (_componentMap$type = componentMap[type]) !== null && _componentMap$type !== void 0 ? _componentMap$type : /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {});
255
268
  }
256
269
  if (isEditable && _isEditing) {
257
- if (typeof _editRender === "function") {
270
+ if (typeof _editRender === 'function') {
258
271
  TargetComponent = _editRender(...rowParams);
259
272
  }
260
- if (import_react.default.isValidElement(_editRender)) {
273
+ if ( /*#__PURE__*/_react.default.isValidElement(_editRender)) {
261
274
  TargetComponent = _editRender;
262
275
  }
263
276
  }
277
+
278
+ // 查看模式
264
279
  if (isView) {
265
- if (typeof viewRender === "function") {
266
- currentValue = ((_d = column == null ? void 0 : column.dataIndex) == null ? void 0 : _d.includes("-")) ? value : currentValue;
267
- const View = viewRender(currentValue, record || {}, options);
268
- TargetComponent = /* @__PURE__ */ import_react.default.createElement(import_Container.default, { viewEmpty }, View);
280
+ // 存在viewRender覆盖默认值
281
+ if (typeof viewRender === 'function') {
282
+ var _column$dataIndex;
283
+ currentValue = column !== null && column !== void 0 && (_column$dataIndex = column.dataIndex) !== null && _column$dataIndex !== void 0 && _column$dataIndex.includes('-') ? value : currentValue;
284
+ var View = viewRender(currentValue, record || {}, options);
285
+ TargetComponent = /*#__PURE__*/(0, _jsxRuntime.jsx)(_Container.default, {
286
+ viewEmpty: viewEmpty,
287
+ children: View
288
+ });
269
289
  }
270
- if (import_react.default.isValidElement(viewRender)) {
290
+ if ( /*#__PURE__*/_react.default.isValidElement(viewRender)) {
271
291
  TargetComponent = viewRender;
272
292
  }
273
293
  }
274
- const onChange = formItemChildProps == null ? void 0 : formItemChildProps.onChange;
275
- const onFieldChange = formItemChildProps == null ? void 0 : formItemChildProps.onFieldChange;
276
- const onBlur = formItemChildProps == null ? void 0 : formItemChildProps.onBlur;
277
- const formatArgs = (0, import_react.useCallback)(
278
- (...args) => {
279
- const _args = args == null ? void 0 : args[0];
280
- const nextArgs = [];
281
- nextArgs[0] = _args[0];
282
- nextArgs[2] = {
283
- ...options,
284
- extra: _args
285
- };
286
- switch (type) {
287
- case "ProSelect":
288
- case "ProModalSelect":
289
- case "ProEnum":
290
- nextArgs[2].option = _args[1];
291
- break;
292
- case "ProCascader":
293
- nextArgs[2].selectedOptions = _args[1];
294
- break;
295
- case "DatePicker":
296
- case "RangePicker":
297
- nextArgs[2].dateString = _args[1];
298
- break;
299
- default:
300
- break;
294
+ var onChange = formItemChildProps === null || formItemChildProps === void 0 ? void 0 : formItemChildProps.onChange;
295
+ var onFieldChange = formItemChildProps === null || formItemChildProps === void 0 ? void 0 : formItemChildProps.onFieldChange;
296
+ var onBlur = formItemChildProps === null || formItemChildProps === void 0 ? void 0 : formItemChildProps.onBlur;
297
+
298
+ // 使用useCallback优化formatArgs函数
299
+ var formatArgs = (0, _react.useCallback)(function () {
300
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
301
+ args[_key] = arguments[_key];
302
+ }
303
+ var _args = args === null || args === void 0 ? void 0 : args[0];
304
+ var nextArgs = [];
305
+ nextArgs[0] = _args[0];
306
+ // 返回表单元素默认值
307
+ nextArgs[2] = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, options), {}, {
308
+ extra: _args
309
+ });
310
+ switch (type) {
311
+ case 'ProSelect':
312
+ case 'ProModalSelect':
313
+ case 'ProEnum':
314
+ nextArgs[2].option = _args[1];
315
+ break;
316
+ case 'ProCascader':
317
+ nextArgs[2].selectedOptions = _args[1];
318
+ break;
319
+ case 'DatePicker':
320
+ case 'RangePicker':
321
+ nextArgs[2].dateString = _args[1];
322
+ break;
323
+ default:
324
+ break;
325
+ }
326
+ return nextArgs;
327
+ }, [options, type]);
328
+
329
+ // 使用useCallback优化debounceValidate函数
330
+ var debounceValidate = (0, _react.useCallback)(function () {
331
+ var validateFieldKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
332
+ setTimeout(() => {
333
+ form.validateFields(validateFieldKeys, {
334
+ recursive: true
335
+ });
336
+ }, 100);
337
+ }, [form]);
338
+
339
+ // 使用 useRef 保存防抖函数
340
+ var debounceRef = (0, _react.useRef)(null);
341
+
342
+ // 使用 useCallback 创建稳定的 onChange 函数
343
+ var _onChange = (0, _react.useCallback)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2() {
344
+ var _args3 = arguments;
345
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
346
+ while (1) switch (_context2.prev = _context2.next) {
347
+ case 0:
348
+ // 如果防抖函数不存在,创建一个新的防抖函数
349
+ if (!debounceRef.current) {
350
+ debounceRef.current = (0, _lodash.debounce)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
351
+ var _len2,
352
+ innerArgs,
353
+ _key2,
354
+ _args,
355
+ rowPath,
356
+ _dependencies$map,
357
+ validateFieldKeys,
358
+ row,
359
+ orgRow,
360
+ _TargetComponent,
361
+ _TargetComponent2,
362
+ _Object$keys,
363
+ _Object$keys$map,
364
+ diff,
365
+ _validateFieldKeys,
366
+ _args2 = arguments;
367
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
368
+ while (1) switch (_context.prev = _context.next) {
369
+ case 0:
370
+ for (_len2 = _args2.length, innerArgs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
371
+ innerArgs[_key2] = _args2[_key2];
372
+ }
373
+ _args = [...innerArgs];
374
+ rowPath = [...namePath, index];
375
+ if (!(!onFieldChange && !onChange)) {
376
+ _context.next = 6;
377
+ break;
378
+ }
379
+ if (dependencies !== null && dependencies !== void 0 && dependencies.length) {
380
+ validateFieldKeys = dependencies === null || dependencies === void 0 || (_dependencies$map = dependencies.map) === null || _dependencies$map === void 0 ? void 0 : _dependencies$map.call(dependencies, key => [...rowPath, key]);
381
+ setTimeout(() => {
382
+ form.validateFields(validateFieldKeys);
383
+ }, 100);
384
+ }
385
+ return _context.abrupt("return", null);
386
+ case 6:
387
+ row = form.getFieldValue(rowPath, true);
388
+ orgRow = (0, _lodash.cloneDeep)(row);
389
+ if (!onFieldChange) {
390
+ _context.next = 21;
391
+ break;
392
+ }
393
+ _args = formatArgs(innerArgs);
394
+ _args[1] = row;
395
+ _context.t0 = (_TargetComponent = TargetComponent) === null || _TargetComponent === void 0 || (_TargetComponent = _TargetComponent.props) === null || _TargetComponent === void 0 ? void 0 : _TargetComponent.onFieldChange;
396
+ if (!_context.t0) {
397
+ _context.next = 15;
398
+ break;
399
+ }
400
+ _context.next = 15;
401
+ return TargetComponent.props.onFieldChange(..._args);
402
+ case 15:
403
+ _context.t1 = onFieldChange;
404
+ if (!_context.t1) {
405
+ _context.next = 19;
406
+ break;
407
+ }
408
+ _context.next = 19;
409
+ return onFieldChange(..._args);
410
+ case 19:
411
+ _context.next = 30;
412
+ break;
413
+ case 21:
414
+ _args = _args.concat([row, index, form]);
415
+ _context.t2 = (_TargetComponent2 = TargetComponent) === null || _TargetComponent2 === void 0 || (_TargetComponent2 = _TargetComponent2.props) === null || _TargetComponent2 === void 0 ? void 0 : _TargetComponent2.onChange;
416
+ if (!_context.t2) {
417
+ _context.next = 26;
418
+ break;
419
+ }
420
+ _context.next = 26;
421
+ return TargetComponent.props.onChange(..._args);
422
+ case 26:
423
+ _context.t3 = onChange;
424
+ if (!_context.t3) {
425
+ _context.next = 30;
426
+ break;
427
+ }
428
+ _context.next = 30;
429
+ return onChange(..._args);
430
+ case 30:
431
+ // 判断属性是否变动
432
+ form.setFieldValue(rowPath, row);
433
+ if (validateTrigger && validateTrigger.includes('onChange')) {
434
+ if (!(0, _lodash.isEqual)(orgRow, row)) {
435
+ diff = (0, _tools.difference)(row, orgRow) || {};
436
+ _validateFieldKeys = (_Object$keys = Object.keys(diff)) === null || _Object$keys === void 0 || (_Object$keys$map = _Object$keys.map) === null || _Object$keys$map === void 0 ? void 0 : _Object$keys$map.call(_Object$keys, key => [...rowPath, key]).concat(dependencies || []);
437
+ if (_validateFieldKeys !== null && _validateFieldKeys !== void 0 && _validateFieldKeys.length) {
438
+ debounceValidate(_validateFieldKeys);
439
+ }
440
+ }
441
+ }
442
+ // 使用startTransition优化状态更新
443
+ (0, _utils.compatStartTransition)(() => {
444
+ setState({
445
+ forceUpdate: {
446
+ d: Date.now()
447
+ }
448
+ });
449
+ });
450
+ case 33:
451
+ case "end":
452
+ return _context.stop();
453
+ }
454
+ }, _callee);
455
+ })), 300);
456
+ }
457
+
458
+ // 调用防抖函数
459
+ debounceRef.current(..._args3);
460
+ case 2:
461
+ case "end":
462
+ return _context2.stop();
301
463
  }
302
- return nextArgs;
303
- },
304
- [options, type]
305
- );
306
- const debounceValidate = (0, import_react.useCallback)(
307
- (validateFieldKeys = []) => {
308
- setTimeout(() => {
309
- form.validateFields(validateFieldKeys, { recursive: true });
310
- }, 100);
311
- },
312
- [form]
313
- );
314
- const debounceRef = (0, import_react.useRef)(null);
315
- const _onChange = (0, import_react.useCallback)(
316
- async (...args) => {
317
- if (!debounceRef.current) {
318
- debounceRef.current = (0, import_lodash.debounce)(async (...innerArgs) => {
319
- var _a2, _b2, _c2, _d2, _e;
320
- let _args = [...innerArgs];
321
- const rowPath = [...namePath, index];
322
- if (!onFieldChange && !onChange) {
323
- if (dependencies == null ? void 0 : dependencies.length) {
324
- const validateFieldKeys = (_a2 = dependencies == null ? void 0 : dependencies.map) == null ? void 0 : _a2.call(dependencies, (key) => [...rowPath, key]);
325
- setTimeout(() => {
326
- form.validateFields(validateFieldKeys);
327
- }, 100);
328
- }
329
- return null;
464
+ }, _callee2);
465
+ })), [namePath, index, dependencies, formatArgs, onChange, onFieldChange, form, setState, TargetComponent, validateTrigger]);
466
+
467
+ // 在组件卸载时清理防抖函数
468
+ (0, _react.useEffect)(() => {
469
+ return () => {
470
+ if (debounceRef.current) {
471
+ debounceRef.current.cancel();
472
+ }
473
+ };
474
+ }, []);
475
+
476
+ // 使用useCallback优化_onblur函数
477
+ var _onblur = (0, _react.useCallback)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee3() {
478
+ var _TargetComponent3;
479
+ var _len3,
480
+ args,
481
+ _key3,
482
+ _args,
483
+ rowPath,
484
+ row,
485
+ orgRow,
486
+ _Object$keys2,
487
+ _Object$keys2$map,
488
+ diff,
489
+ validateFieldKeys,
490
+ _args4 = arguments;
491
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee3$(_context3) {
492
+ while (1) switch (_context3.prev = _context3.next) {
493
+ case 0:
494
+ if (onBlur) {
495
+ _context3.next = 2;
496
+ break;
497
+ }
498
+ return _context3.abrupt("return", null);
499
+ case 2:
500
+ for (_len3 = _args4.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
501
+ args[_key3] = _args4[_key3];
502
+ }
503
+ _args = formatArgs([...args]);
504
+ rowPath = [...namePath, index];
505
+ row = form.getFieldValue(rowPath, true);
506
+ orgRow = (0, _lodash.cloneDeep)(row);
507
+ _args[1] = row;
508
+ _context3.t0 = (_TargetComponent3 = TargetComponent) === null || _TargetComponent3 === void 0 || (_TargetComponent3 = _TargetComponent3.props) === null || _TargetComponent3 === void 0 ? void 0 : _TargetComponent3.onBlur;
509
+ if (!_context3.t0) {
510
+ _context3.next = 12;
511
+ break;
330
512
  }
331
- const row = form.getFieldValue(rowPath, true);
332
- const orgRow = (0, import_lodash.cloneDeep)(row);
333
- if (onFieldChange) {
334
- _args = formatArgs(innerArgs);
335
- _args[1] = row;
336
- ((_b2 = TargetComponent == null ? void 0 : TargetComponent.props) == null ? void 0 : _b2.onFieldChange) && await TargetComponent.props.onFieldChange(..._args);
337
- onFieldChange && await onFieldChange(..._args);
338
- } else {
339
- _args = _args.concat([row, index, form]);
340
- ((_c2 = TargetComponent == null ? void 0 : TargetComponent.props) == null ? void 0 : _c2.onChange) && await TargetComponent.props.onChange(..._args);
341
- onChange && await onChange(..._args);
513
+ _context3.next = 12;
514
+ return TargetComponent.props.onBlur(..._args);
515
+ case 12:
516
+ _context3.t1 = onBlur;
517
+ if (!_context3.t1) {
518
+ _context3.next = 16;
519
+ break;
342
520
  }
521
+ _context3.next = 16;
522
+ return onBlur(..._args);
523
+ case 16:
524
+ // 判断属性是否变动
343
525
  form.setFieldValue(rowPath, row);
344
- if (validateTrigger && validateTrigger.includes("onChange")) {
345
- if (!(0, import_lodash.isEqual)(orgRow, row)) {
346
- const diff = (0, import_tools.difference)(row, orgRow) || {};
347
- const validateFieldKeys = (_e = (_d2 = Object.keys(diff)) == null ? void 0 : _d2.map) == null ? void 0 : _e.call(_d2, (key) => [...rowPath, key]).concat(dependencies || []);
348
- if (validateFieldKeys == null ? void 0 : validateFieldKeys.length) {
526
+ if (validateTrigger && validateTrigger.includes('onBlur')) {
527
+ if (!(0, _lodash.isEqual)(orgRow, row)) {
528
+ diff = (0, _tools.difference)(row, orgRow) || {};
529
+ validateFieldKeys = (_Object$keys2 = Object.keys(diff)) === null || _Object$keys2 === void 0 || (_Object$keys2$map = _Object$keys2.map) === null || _Object$keys2$map === void 0 ? void 0 : _Object$keys2$map.call(_Object$keys2, key => [...rowPath, key]).concat(dependencies || []);
530
+ if (validateFieldKeys !== null && validateFieldKeys !== void 0 && validateFieldKeys.length) {
349
531
  debounceValidate(validateFieldKeys);
350
532
  }
351
533
  }
352
534
  }
353
- (0, import_utils.compatStartTransition)(() => {
535
+ if (!isCell) {
536
+ _context3.next = 22;
537
+ break;
538
+ }
539
+ _context3.next = 21;
540
+ return form.validateFields([cellName]);
541
+ case 21:
542
+ setState({
543
+ cellNamePath: []
544
+ });
545
+ case 22:
546
+ // 单行编辑时需要 强制更新视图
547
+ (0, _utils.compatStartTransition)(() => {
354
548
  setState({
355
549
  forceUpdate: {
356
550
  d: Date.now()
357
551
  }
358
552
  });
359
553
  });
360
- }, 300);
361
- }
362
- debounceRef.current(...args);
363
- },
364
- [
365
- namePath,
366
- index,
367
- dependencies,
368
- formatArgs,
369
- onChange,
370
- onFieldChange,
371
- form,
372
- setState,
373
- TargetComponent,
374
- validateTrigger
375
- ]
376
- );
377
- (0, import_react.useEffect)(() => {
378
- return () => {
379
- if (debounceRef.current) {
380
- debounceRef.current.cancel();
381
- }
382
- };
383
- }, []);
384
- const _onblur = (0, import_react.useCallback)(
385
- async (...args) => {
386
- var _a2, _b2, _c2;
387
- if (!onBlur) {
388
- return null;
389
- }
390
- let _args = formatArgs([...args]);
391
- const rowPath = [...namePath, index];
392
- const row = form.getFieldValue(rowPath, true);
393
- const orgRow = (0, import_lodash.cloneDeep)(row);
394
- _args[1] = row;
395
- ((_a2 = TargetComponent == null ? void 0 : TargetComponent.props) == null ? void 0 : _a2.onBlur) && await TargetComponent.props.onBlur(..._args);
396
- onBlur && await onBlur(..._args);
397
- form.setFieldValue(rowPath, row);
398
- if (validateTrigger && validateTrigger.includes("onBlur")) {
399
- if (!(0, import_lodash.isEqual)(orgRow, row)) {
400
- const diff = (0, import_tools.difference)(row, orgRow) || {};
401
- const validateFieldKeys = (_c2 = (_b2 = Object.keys(diff)) == null ? void 0 : _b2.map) == null ? void 0 : _c2.call(_b2, (key) => [...rowPath, key]).concat(dependencies || []);
402
- if (validateFieldKeys == null ? void 0 : validateFieldKeys.length) {
403
- debounceValidate(validateFieldKeys);
404
- }
405
- }
554
+ case 23:
555
+ case "end":
556
+ return _context3.stop();
406
557
  }
407
- if (isCell) {
408
- await form.validateFields([cellName]);
409
- setState({
410
- cellNamePath: []
411
- });
412
- }
413
- (0, import_utils.compatStartTransition)(() => {
414
- setState({
415
- forceUpdate: {
416
- d: Date.now()
417
- }
418
- });
419
- });
420
- },
421
- [
422
- onBlur,
423
- formatArgs,
424
- namePath,
425
- index,
426
- form,
427
- TargetComponent,
428
- validateTrigger,
429
- debounceValidate,
430
- isCell,
431
- cellName,
432
- setState
433
- ]
434
- );
435
- let componentProps = (0, import_react.useMemo)(
436
- () => ({
558
+ }, _callee3);
559
+ })), [onBlur, formatArgs, namePath, index, form, TargetComponent, validateTrigger, debounceValidate, isCell, cellName, setState]);
560
+
561
+ // 使用useMemo优化componentProps对象
562
+ var componentProps = (0, _react.useMemo)(() => {
563
+ var _TargetComponent4;
564
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({
437
565
  form,
438
- name: cellName,
439
- ..._fieldProps,
440
- ...TargetComponent == null ? void 0 : TargetComponent.props,
566
+ name: cellName
567
+ }, _fieldProps), (_TargetComponent4 = TargetComponent) === null || _TargetComponent4 === void 0 ? void 0 : _TargetComponent4.props), {}, {
441
568
  namePath: [...namePath, index],
442
569
  disabled: _disabled,
443
570
  onChange: _onChange,
@@ -455,225 +582,187 @@ var RenderField = ({ text: value, record, index, column, config }) => {
455
582
  viewEmpty,
456
583
  valueType: _valueType,
457
584
  isView,
458
- desensitizationKey: otherProps == null ? void 0 : otherProps.desensitizationKey
585
+ desensitizationKey: otherProps === null || otherProps === void 0 ? void 0 : otherProps.desensitizationKey
459
586
  }
460
- }),
461
- [
462
- cellName,
463
- _fieldProps,
464
- TargetComponent == null ? void 0 : TargetComponent.props,
465
- namePath,
466
- index,
467
- _disabled,
468
- _onChange,
469
- _onblur,
470
- confirm,
471
- _desensitization,
472
- names,
473
- originalName,
474
- viewEmpty,
475
- _valueType,
476
- isView,
477
- otherProps == null ? void 0 : otherProps.desensitizationKey
478
- ]
479
- );
480
- componentProps = (0, import_lodash.omit)(componentProps, ["onFieldChange", "namePath", "index"]);
587
+ });
588
+ }, [cellName, _fieldProps, (_TargetComponent5 = TargetComponent) === null || _TargetComponent5 === void 0 ? void 0 : _TargetComponent5.props, namePath, index, _disabled, _onChange, _onblur, confirm, _desensitization, names, originalName, viewEmpty, _valueType, isView, otherProps === null || otherProps === void 0 ? void 0 : otherProps.desensitizationKey]);
589
+ componentProps = (0, _lodash.omit)(componentProps, ['onFieldChange', 'namePath', 'index']);
590
+
591
+ // 单元格编辑时,设置各个单元格disabled属性
481
592
  if (isCell) {
482
593
  record[`${dataIndex}-Disabled`] = _disabled;
483
594
  }
484
- if (["Switch", "SwitchCheckbox"].includes(type)) {
485
- _formItemProps.valuePropName = "checked";
595
+ if (['Switch', 'SwitchCheckbox'].includes(type)) {
596
+ _formItemProps.valuePropName = 'checked';
486
597
  }
487
- (0, import_react.useEffect)(() => {
488
- var _a2;
598
+ (0, _react.useEffect)(() => {
489
599
  if (isCell) {
490
- const editingDom = document.getElementById(cellNamePath.join("_"));
491
- (_a2 = editingDom == null ? void 0 : editingDom.focus) == null ? void 0 : _a2.call(editingDom);
600
+ var _editingDom$focus;
601
+ var editingDom = document.getElementById(cellNamePath.join('_'));
602
+ editingDom === null || editingDom === void 0 || (_editingDom$focus = editingDom.focus) === null || _editingDom$focus === void 0 || _editingDom$focus.call(editingDom);
492
603
  }
493
604
  }, [cellNamePath, isCell]);
494
- if (["Select", "ProSelect", "ProEnum"].includes(type)) {
605
+
606
+ // 可编辑表格默认关闭scrollFollowParent
607
+ if (['Select', 'ProSelect', 'ProEnum'].includes(type)) {
495
608
  componentProps.scrollFollowParent = false;
496
609
  }
497
- const finalFormItemProps = (0, import_react.useMemo)(() => {
498
- return Object.assign(_formItemProps, {
499
- ...defaultTransform(),
500
- ...namesTransform(),
501
- ...(0, import_utils2.isTrim)(type, trim, proConfig)
502
- // 使用顶层调用的proConfig
503
- });
610
+
611
+ // 使用useMemo优化最终的formItemProps - 修复Hooks使用规则
612
+ var finalFormItemProps = (0, _react.useMemo)(() => {
613
+ return Object.assign(_formItemProps, (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultTransform()), namesTransform()), (0, _utils2.isTrim)(type, trim, proConfig)));
504
614
  }, [_formItemProps, defaultTransform, namesTransform, type, trim, proConfig]);
615
+
616
+ // 编辑&保存模式,在查看状态下移除表单的rules不做校验
505
617
  if (isView) {
506
618
  delete finalFormItemProps.rules;
507
619
  }
508
- const _className = (0, import_react.useMemo)(
509
- () => (0, import_classnames.default)({
510
- [className]: className
511
- }),
512
- [className]
513
- );
514
- const getFieldItem = (0, import_react.useCallback)(() => {
515
- let FormItem = null;
516
- let FieldComponent = import_react.default.isValidElement(TargetComponent) ? import_react.default.cloneElement(TargetComponent, componentProps) : /* @__PURE__ */ import_react.default.createElement(TargetComponent, { ...componentProps });
620
+ var _className = (0, _react.useMemo)(() => (0, _classnames.default)({
621
+ [className]: className
622
+ }), [className]);
623
+
624
+ // 使用useCallback优化getFieldItem函数
625
+ var getFieldItem = (0, _react.useCallback)(() => {
626
+ var _componentProps;
627
+ var FormItem = null;
628
+ var FieldComponent = /*#__PURE__*/_react.default.isValidElement(TargetComponent) ? ( /*#__PURE__*/_react.default.cloneElement(TargetComponent, componentProps)) : /*#__PURE__*/(0, _jsxRuntime.jsx)(TargetComponent, (0, _objectSpread2.default)({}, componentProps));
517
629
  if (originalValues && !getIsNew(record)) {
518
- FieldComponent = /* @__PURE__ */ import_react.default.createElement(
519
- import_ListChangedWrapper.default,
520
- {
521
- name: cellName,
522
- names,
523
- namesStr: [...baseName, index, dataIndex],
524
- rowKeyPath: [...baseName, index, "rowKey"],
525
- originalName,
526
- originalNames,
527
- originalValues,
528
- form,
529
- onDiff,
530
- type,
531
- onChange: _onChange,
532
- onBlur: _onblur,
533
- valuePropName: finalFormItemProps.valuePropName,
534
- normalize: finalFormItemProps.normalize,
535
- getValueProps: finalFormItemProps.getValueProps,
536
- viewRender,
537
- diffConfig,
538
- index
539
- },
540
- FieldComponent
541
- );
630
+ FieldComponent = /*#__PURE__*/(0, _jsxRuntime.jsx)(_ListChangedWrapper.default, {
631
+ name: cellName,
632
+ names: names,
633
+ namesStr: [...baseName, index, dataIndex],
634
+ rowKeyPath: [...baseName, index, 'rowKey'],
635
+ originalName: originalName,
636
+ originalNames: originalNames,
637
+ originalValues: originalValues,
638
+ form: form,
639
+ onDiff: onDiff,
640
+ type: type,
641
+ onChange: _onChange,
642
+ onBlur: _onblur,
643
+ valuePropName: finalFormItemProps.valuePropName,
644
+ normalize: finalFormItemProps.normalize,
645
+ getValueProps: finalFormItemProps.getValueProps,
646
+ viewRender: viewRender,
647
+ diffConfig: diffConfig,
648
+ index: index,
649
+ children: FieldComponent
650
+ });
542
651
  }
543
- if (componentProps == null ? void 0 : componentProps.confirm) {
544
- FieldComponent = /* @__PURE__ */ import_react.default.createElement(import_ConfirmWrapper.default, { ...componentProps }, FieldComponent);
652
+ if ((_componentProps = componentProps) !== null && _componentProps !== void 0 && _componentProps.confirm) {
653
+ FieldComponent = /*#__PURE__*/(0, _jsxRuntime.jsx)(_ConfirmWrapper.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, componentProps), {}, {
654
+ children: FieldComponent
655
+ }));
545
656
  }
546
- FormItem = TargetComponent ? /* @__PURE__ */ import_react.default.createElement(
547
- import_antd.Form.Item,
548
- {
549
- validateFirst: true,
550
- ...(0, import_lodash.omit)(finalFormItemProps, [
551
- "render",
552
- "key",
553
- "width",
554
- "hiddenNames",
555
- "name",
556
- "onCell",
557
- _fieldProps.shouldUpdate ? "shouldUpdate" : null
558
- ]),
559
- className: _className,
560
- name: formNamePath ? cellName.slice((formNamePath == null ? void 0 : formNamePath.length) - 1) : cellName
561
- },
562
- FieldComponent
563
- ) : /* @__PURE__ */ import_react.default.createElement(import_Container.default, { viewEmpty });
564
- if (type === "FormList") {
565
- FormItem = /* @__PURE__ */ import_react.default.createElement(
566
- import_antd.Form.List,
567
- {
568
- name: formNamePath ? cellName.slice((formNamePath == null ? void 0 : formNamePath.length) - 1) : cellName,
569
- ...(0, import_lodash.omit)(finalFormItemProps, ["render", "key", "width", "hiddenNames", "name"])
570
- },
571
- (fields, operation, meta) => /* @__PURE__ */ import_react.default.createElement(
572
- TargetComponent,
573
- {
574
- ...componentProps,
575
- otherProps,
576
- fields,
577
- operation,
578
- meta
579
- }
580
- )
581
- );
657
+ FormItem = TargetComponent ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_form.default.Item, (0, _objectSpread2.default)((0, _objectSpread2.default)({
658
+ validateFirst: true
659
+ }, (0, _lodash.omit)(finalFormItemProps, ['render', 'key', 'width', 'hiddenNames', 'name', 'onCell', _fieldProps.shouldUpdate ? 'shouldUpdate' : null])), {}, {
660
+ // 移除非必要字段
661
+ className: _className,
662
+ name: formNamePath ? cellName.slice((formNamePath === null || formNamePath === void 0 ? void 0 : formNamePath.length) - 1) : cellName,
663
+ children: FieldComponent
664
+ })) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Container.default, {
665
+ viewEmpty: viewEmpty
666
+ });
667
+ if (type === 'FormList') {
668
+ FormItem = /*#__PURE__*/(0, _jsxRuntime.jsx)(_form.default.List, (0, _objectSpread2.default)((0, _objectSpread2.default)({
669
+ name: formNamePath ? cellName.slice((formNamePath === null || formNamePath === void 0 ? void 0 : formNamePath.length) - 1) : cellName
670
+ }, (0, _lodash.omit)(finalFormItemProps, ['render', 'key', 'width', 'hiddenNames', 'name'])), {}, {
671
+ children: (fields, operation, meta) => /*#__PURE__*/(0, _jsxRuntime.jsx)(TargetComponent, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, componentProps), {}, {
672
+ otherProps: otherProps,
673
+ fields: fields,
674
+ operation: operation,
675
+ meta: meta
676
+ }))
677
+ }));
582
678
  }
583
679
  return FormItem;
584
- }, [
585
- TargetComponent,
586
- componentProps,
587
- originalValues,
588
- record,
589
- cellName,
590
- names,
591
- baseName,
592
- index,
593
- dataIndex,
594
- originalName,
595
- originalNames,
596
- type,
597
- finalFormItemProps,
598
- viewRender,
599
- diffConfig,
600
- _className,
601
- formNamePath,
602
- viewEmpty,
603
- otherProps,
604
- getIsNew
605
- ]);
606
- return /* @__PURE__ */ import_react.default.createElement(import_useFieldProps.FieldProvider, { value: componentProps == null ? void 0 : componentProps.otherProps }, finalFormItemProps.shouldUpdate ? /* @__PURE__ */ import_react.default.createElement(import_antd.Form.Item, { noStyle: true, shouldUpdate: finalFormItemProps.shouldUpdate }, () => getFieldItem()) : getFieldItem());
680
+ }, [TargetComponent, componentProps, originalValues, record, cellName, names, baseName, index, dataIndex, originalName, originalNames, type, finalFormItemProps, viewRender, diffConfig, _className, formNamePath, viewEmpty, otherProps, getIsNew]);
681
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_useFieldProps.FieldProvider, {
682
+ value: (_componentProps2 = componentProps) === null || _componentProps2 === void 0 ? void 0 : _componentProps2.otherProps,
683
+ children: finalFormItemProps.shouldUpdate ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_form.default.Item, {
684
+ noStyle: true,
685
+ shouldUpdate: finalFormItemProps.shouldUpdate,
686
+ children: () => getFieldItem()
687
+ }) : getFieldItem()
688
+ });
607
689
  };
608
- var RenderField_default = (0, import_react.memo)(RenderField, (prevProps, nextProps) => {
609
- const {
610
- text: prevText,
611
- record: prevRecord,
690
+ var _default = exports.default = /*#__PURE__*/(0, _react.memo)(RenderField, (prevProps, nextProps) => {
691
+ // 自定义比较函数,只有关键props变化时才重新渲染
692
+ var prevText = prevProps.text,
693
+ prevRecord = prevProps.record,
694
+ prevIndex = prevProps.index,
695
+ prevColumn = prevProps.column,
696
+ prevConfig = prevProps.config;
697
+ var nextText = nextProps.text,
698
+ nextRecord = nextProps.record,
699
+ nextIndex = nextProps.index,
700
+ nextColumn = nextProps.column,
701
+ nextConfig = nextProps.config;
702
+ var prevRowParams = [prevText, prevRecord, {
612
703
  index: prevIndex,
613
- column: prevColumn,
614
- config: prevConfig
615
- } = prevProps;
616
- const {
617
- text: nextText,
618
- record: nextRecord,
704
+ form: prevConfig === null || prevConfig === void 0 ? void 0 : prevConfig.form,
705
+ name: prevConfig === null || prevConfig === void 0 ? void 0 : prevConfig.name
706
+ }];
707
+ var nextRowParams = [nextText, nextRecord, {
619
708
  index: nextIndex,
620
- column: nextColumn,
621
- config: nextConfig
622
- } = nextProps;
623
- const prevRowParams = [
624
- prevText,
625
- prevRecord,
626
- { index: prevIndex, form: prevConfig == null ? void 0 : prevConfig.form, name: prevConfig == null ? void 0 : prevConfig.name }
627
- ];
628
- const nextRowParams = [
629
- nextText,
630
- nextRecord,
631
- { index: nextIndex, form: nextConfig == null ? void 0 : nextConfig.form, name: nextConfig == null ? void 0 : nextConfig.name }
632
- ];
633
- if ((0, import_lodash.isFunction)(prevColumn == null ? void 0 : prevColumn.disabled) && (0, import_lodash.isFunction)(nextColumn == null ? void 0 : nextColumn.disabled)) {
634
- if ((prevColumn == null ? void 0 : prevColumn.disabled(...prevRowParams)) !== (nextColumn == null ? void 0 : nextColumn.disabled(...nextRowParams))) {
709
+ form: nextConfig === null || nextConfig === void 0 ? void 0 : nextConfig.form,
710
+ name: nextConfig === null || nextConfig === void 0 ? void 0 : nextConfig.name
711
+ }];
712
+ if ((0, _lodash.isFunction)(prevColumn === null || prevColumn === void 0 ? void 0 : prevColumn.disabled) && (0, _lodash.isFunction)(nextColumn === null || nextColumn === void 0 ? void 0 : nextColumn.disabled)) {
713
+ if ((prevColumn === null || prevColumn === void 0 ? void 0 : prevColumn.disabled(...prevRowParams)) !== (nextColumn === null || nextColumn === void 0 ? void 0 : nextColumn.disabled(...nextRowParams))) {
635
714
  return false;
636
715
  }
637
716
  }
638
- if ((0, import_lodash.isFunction)(prevColumn == null ? void 0 : prevColumn.fieldProps) && (0, import_lodash.isFunction)(nextColumn == null ? void 0 : nextColumn.fieldProps)) {
717
+
718
+ // fieldProps 函数化直接更新,无法比对返回值是否一致
719
+ if ((0, _lodash.isFunction)(prevColumn === null || prevColumn === void 0 ? void 0 : prevColumn.fieldProps) && (0, _lodash.isFunction)(nextColumn === null || nextColumn === void 0 ? void 0 : nextColumn.fieldProps)) {
639
720
  return false;
640
721
  }
641
- const compareFunctionResult = (prevColumn2, nextColumn2, prevRowParams2, nextRowParams2, functionName) => {
642
- const prevFunc = prevColumn2 == null ? void 0 : prevColumn2[functionName];
643
- const nextFunc = nextColumn2 == null ? void 0 : nextColumn2[functionName];
644
- if ((0, import_lodash.isFunction)(prevFunc) && (0, import_lodash.isFunction)(nextFunc)) {
645
- return (0, import_lodash.isEqualWith)(
646
- prevFunc(...prevRowParams2),
647
- nextFunc(...nextRowParams2),
648
- import_utils.customEqualForFunction
649
- );
722
+
723
+ // 通用函数比较方法
724
+ var compareFunctionResult = (prevColumn, nextColumn, prevRowParams, nextRowParams, functionName) => {
725
+ var prevFunc = prevColumn === null || prevColumn === void 0 ? void 0 : prevColumn[functionName];
726
+ var nextFunc = nextColumn === null || nextColumn === void 0 ? void 0 : nextColumn[functionName];
727
+ if ((0, _lodash.isFunction)(prevFunc) && (0, _lodash.isFunction)(nextFunc)) {
728
+ return (0, _lodash.isEqualWith)(prevFunc(...prevRowParams), nextFunc(...nextRowParams), _utils.customEqualForFunction);
650
729
  }
651
- return true;
730
+ return true; // 如果不是函数或只有一个是函数,认为相等
652
731
  };
653
- const functionFields = ["rules", "component", "desensitization", "isEditable"];
654
- if (functionFields.some(
655
- (field) => !compareFunctionResult(prevColumn, nextColumn, prevRowParams, nextRowParams, field)
656
- )) {
732
+
733
+ // 使用简化后的比较逻辑
734
+ var functionFields = ['rules', 'component', 'desensitization', 'isEditable'];
735
+ if (functionFields.some(field => !compareFunctionResult(prevColumn, nextColumn, prevRowParams, nextRowParams, field))) {
657
736
  return false;
658
737
  }
659
- if (!(0, import_lodash.isEqual)(prevText, nextText) || prevIndex !== nextIndex) {
738
+
739
+ // 基本props比较
740
+ if (!(0, _lodash.isEqual)(prevText, nextText) || prevIndex !== nextIndex) {
660
741
  return false;
661
742
  }
662
- if ((prevRecord == null ? void 0 : prevRecord.rowKey) !== (nextRecord == null ? void 0 : nextRecord.rowKey) || (prevRecord == null ? void 0 : prevRecord._addFlag) !== (nextRecord == null ? void 0 : nextRecord._addFlag)) {
743
+
744
+ // 记录关键字段比较(避免完整对象比较的性能开销)
745
+ if ((prevRecord === null || prevRecord === void 0 ? void 0 : prevRecord.rowKey) !== (nextRecord === null || nextRecord === void 0 ? void 0 : nextRecord.rowKey) || (prevRecord === null || prevRecord === void 0 ? void 0 : prevRecord._addFlag) !== (nextRecord === null || nextRecord === void 0 ? void 0 : nextRecord._addFlag)) {
663
746
  return false;
664
747
  }
665
- if ((prevColumn == null ? void 0 : prevColumn.dataIndex) !== (nextColumn == null ? void 0 : nextColumn.dataIndex) || (prevColumn == null ? void 0 : prevColumn.type) !== (nextColumn == null ? void 0 : nextColumn.type) || (prevColumn == null ? void 0 : prevColumn.name) !== (nextColumn == null ? void 0 : nextColumn.name)) {
748
+
749
+ // 列配置比较(只比较关键字段),required,disabled为函数时,需要重新计算
750
+ if ((prevColumn === null || prevColumn === void 0 ? void 0 : prevColumn.dataIndex) !== (nextColumn === null || nextColumn === void 0 ? void 0 : nextColumn.dataIndex) || (prevColumn === null || prevColumn === void 0 ? void 0 : prevColumn.type) !== (nextColumn === null || nextColumn === void 0 ? void 0 : nextColumn.type) || (prevColumn === null || prevColumn === void 0 ? void 0 : prevColumn.name) !== (nextColumn === null || nextColumn === void 0 ? void 0 : nextColumn.name)) {
666
751
  return false;
667
752
  }
668
- if ((prevConfig == null ? void 0 : prevConfig._isEditing) !== (nextConfig == null ? void 0 : nextConfig._isEditing) || (prevConfig == null ? void 0 : prevConfig.mode) !== (nextConfig == null ? void 0 : nextConfig.mode)) {
753
+
754
+ // config中关键字段比较
755
+ if ((prevConfig === null || prevConfig === void 0 ? void 0 : prevConfig._isEditing) !== (nextConfig === null || nextConfig === void 0 ? void 0 : nextConfig._isEditing) || (prevConfig === null || prevConfig === void 0 ? void 0 : prevConfig.mode) !== (nextConfig === null || nextConfig === void 0 ? void 0 : nextConfig.mode)) {
669
756
  return false;
670
757
  }
671
- const prevDataIndex = prevColumn == null ? void 0 : prevColumn.dataIndex;
672
- const nextDataIndex = nextColumn == null ? void 0 : nextColumn.dataIndex;
758
+
759
+ // 当前单元格的值比较
760
+ var prevDataIndex = prevColumn === null || prevColumn === void 0 ? void 0 : prevColumn.dataIndex;
761
+ var nextDataIndex = nextColumn === null || nextColumn === void 0 ? void 0 : nextColumn.dataIndex;
673
762
  if (prevDataIndex && nextDataIndex && prevDataIndex === nextDataIndex) {
674
- if ((prevRecord == null ? void 0 : prevRecord[prevDataIndex]) !== (nextRecord == null ? void 0 : nextRecord[nextDataIndex])) {
763
+ if ((prevRecord === null || prevRecord === void 0 ? void 0 : prevRecord[prevDataIndex]) !== (nextRecord === null || nextRecord === void 0 ? void 0 : nextRecord[nextDataIndex])) {
675
764
  return false;
676
765
  }
677
766
  }
678
767
  return true;
679
- });
768
+ });