@zat-design/sisyphus-react 4.5.10-beta.1 → 4.6.0-beta.1

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 (268) 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 +310 -412
  161. package/es/ProLayout/components/TabsManager/hooks/useTabsUrlSync.js +132 -95
  162. package/es/ProLayout/components/TabsManager/index.js +415 -391
  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.d.ts +2 -1
  166. package/es/ProLayout/components/TabsManager/utils/index.js +135 -184
  167. package/es/ProLayout/components/index.js +8 -3
  168. package/es/ProLayout/index.js +171 -229
  169. package/es/ProLayout/propTypes.d.ts +9 -0
  170. package/es/ProLayout/propTypes.js +12 -52
  171. package/es/ProLayout/utils/index.js +48 -128
  172. package/es/ProSelect/components/AdaptiveTooltip.js +26 -25
  173. package/es/ProSelect/index.js +184 -229
  174. package/es/ProSelect/propsType.js +0 -1
  175. package/es/ProSelect/utils/index.js +100 -146
  176. package/es/ProStep/components/Anchor/index.js +71 -82
  177. package/es/ProStep/components/Item/index.js +49 -56
  178. package/es/ProStep/components/LazyLoad/index.js +23 -29
  179. package/es/ProStep/components/Listener/index.js +20 -33
  180. package/es/ProStep/components/Step/index.js +31 -38
  181. package/es/ProStep/constants.js +4 -1
  182. package/es/ProStep/index.js +166 -153
  183. package/es/ProStep/propsType.js +0 -1
  184. package/es/ProStep/utils/index.js +29 -55
  185. package/es/ProStepTab/index.js +83 -138
  186. package/es/ProStepTab/propsType.js +0 -1
  187. package/es/ProTable/components/EditableCell/EditIcon.js +10 -14
  188. package/es/ProTable/components/EditableCell/index.js +37 -71
  189. package/es/ProTable/components/EditableCell/propsType.js +0 -1
  190. package/es/ProTable/components/FormatColumn/index.js +209 -340
  191. package/es/ProTable/components/FormatColumn/propsType.js +0 -1
  192. package/es/ProTable/components/RcTable/components/BaseTable/index.js +35 -39
  193. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +80 -107
  194. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/index.js +54 -48
  195. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/propsType.js +0 -1
  196. package/es/ProTable/components/RcTable/components/DraggableTable/index.js +47 -54
  197. package/es/ProTable/components/RcTable/index.js +6 -4
  198. package/es/ProTable/components/RenderColumn/index.js +158 -186
  199. package/es/ProTable/components/RenderEmptyText/index.js +12 -21
  200. package/es/ProTable/components/RenderFooter/index.js +15 -15
  201. package/es/ProTable/components/RenderSummary/index.js +33 -50
  202. package/es/ProTable/components/RenderTableHeader/index.js +44 -46
  203. package/es/ProTable/components/RenderTabs/index.js +47 -51
  204. package/es/ProTable/components/TableResizable/index.js +56 -72
  205. package/es/ProTable/components/TooltipTitle/index.js +13 -21
  206. package/es/ProTable/components/index.js +16 -36
  207. package/es/ProTable/hooks/useAntdTable.js +185 -219
  208. package/es/ProTable/index.js +232 -249
  209. package/es/ProTable/propsType.js +0 -1
  210. package/es/ProTable/utils/columnStorage.js +63 -88
  211. package/es/ProTable/utils/index.js +57 -90
  212. package/es/ProTabs/components/Card/index.js +20 -48
  213. package/es/ProTabs/components/index.js +4 -1
  214. package/es/ProTabs/index.js +39 -56
  215. package/es/ProTabs/propType.js +0 -1
  216. package/es/ProThemeTools/component/ProTools/index.js +106 -158
  217. package/es/ProThemeTools/component/index.js +4 -1
  218. package/es/ProThemeTools/context/ThemeContext.js +67 -146
  219. package/es/ProThemeTools/index.js +103 -156
  220. package/es/ProThemeTools/propsType.js +0 -1
  221. package/es/ProThemeTools/utils/index.js +60 -109
  222. package/es/ProTooltip/index.js +132 -165
  223. package/es/ProTooltip/propsType.js +0 -1
  224. package/es/ProTree/components/AdaptiveTooltip.js +15 -17
  225. package/es/ProTree/components/CloseIcon.js +18 -26
  226. package/es/ProTree/components/List.js +28 -47
  227. package/es/ProTree/components/ProTree.js +152 -211
  228. package/es/ProTree/components/ProTreeSelect/index.js +254 -458
  229. package/es/ProTree/components/ProTreeSelect/propsType.js +0 -1
  230. package/es/ProTree/components/SearchTitle.js +23 -42
  231. package/es/ProTree/components/Tree.js +147 -195
  232. package/es/ProTree/components/index.js +10 -5
  233. package/es/ProTree/index.js +12 -16
  234. package/es/ProTree/propsType.js +0 -1
  235. package/es/ProTree/utils.js +46 -118
  236. package/es/ProTreeModal/components/Cascader.js +56 -64
  237. package/es/ProTreeModal/components/CloseIcon.js +18 -26
  238. package/es/ProTreeModal/components/List.js +114 -180
  239. package/es/ProTreeModal/components/SearchTitle.js +15 -18
  240. package/es/ProTreeModal/components/SortableItem.js +29 -58
  241. package/es/ProTreeModal/components/Tree.js +99 -113
  242. package/es/ProTreeModal/components/Trigger.js +87 -121
  243. package/es/ProTreeModal/components/index.js +14 -6
  244. package/es/ProTreeModal/index.js +397 -435
  245. package/es/ProTreeModal/propsType.js +0 -1
  246. package/es/ProTreeModal/utils.js +52 -95
  247. package/es/ProUpload/components/ButtonRender.js +44 -54
  248. package/es/ProUpload/components/DragRender.js +94 -134
  249. package/es/ProUpload/components/DraggableUploadListItem.js +12 -25
  250. package/es/ProUpload/components/Example.js +27 -31
  251. package/es/ProUpload/components/FileItem.js +69 -163
  252. package/es/ProUpload/components/ImageRender.js +134 -170
  253. package/es/ProUpload/index.js +68 -100
  254. package/es/ProUpload/propsType.js +0 -1
  255. package/es/ProUpload/uitls.js +8 -4
  256. package/es/ProUtils/utils/index.js +17 -13
  257. package/es/ProViewer/index.js +154 -175
  258. package/es/ProViewer/propsType.js +0 -5
  259. package/es/ProWaterMark/index.js +9 -16
  260. package/es/ProWaterMark/propsType.js +0 -1
  261. package/es/hooks/useDraggableRow.js +25 -53
  262. package/es/index.js +57 -77
  263. package/es/locale/en_US.js +153 -142
  264. package/es/locale/index.js +23 -36
  265. package/es/locale/zh_CN.js +145 -142
  266. package/es/tokens.js +84 -83
  267. package/es/utils/index.js +24 -51
  268. package/package.json +4 -3
@@ -1 +0,0 @@
1
- export {};
@@ -1,11 +1,11 @@
1
- import _set from "lodash/set";
2
- import { PlusOutlined } from '@ant-design/icons';
3
- import { tools } from '@zat-design/utils';
4
- import { message } from 'antd';
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { PlusOutlined } from "@ant-design/icons";
3
+ import { tools } from "@zat-design/utils";
4
+ import { message } from "antd";
5
+ import set from "lodash/set";
5
6
  import { onDelete, getRandom } from "./tools";
6
7
  import locale from "../../locale";
7
- import { jsx as _jsx } from "react/jsx-runtime";
8
- export const defaultBtnNameMap = {
8
+ const defaultBtnNameMap = {
9
9
  add: locale.ProEditTable.add,
10
10
  edit: locale.ProEditTable.edit,
11
11
  copy: locale.ProEditTable.copy,
@@ -15,23 +15,14 @@ export const defaultBtnNameMap = {
15
15
  cancel: locale.ProEditTable.cancel,
16
16
  custom: locale.ProEditTable.custom
17
17
  };
18
-
19
- // 默认按钮配置
20
- export const iconMap = {
21
- add: /*#__PURE__*/_jsx(PlusOutlined, {})
18
+ const iconMap = {
19
+ add: /* @__PURE__ */ jsx(PlusOutlined, {})
22
20
  };
23
-
24
- // 单行编辑 操作栏默认配置按钮
25
- export const defaultSingleActionKeys = ['edit', 'delete', 'save', 'cancel'];
26
- // 多行编辑 操作栏默认配置按钮
27
- export const defaultMultipleActionKeys = ['delete'];
28
- // 编辑状态下只显示保存、取消按钮
29
- export const defaultEditingActionKeys = ['save', 'cancel'];
30
- // 工具栏默认配置按钮
31
- export const defaultToolbarKeys = ['add', 'mulDelete'];
32
-
33
- // 操作枚举
34
- export const actions = {
21
+ const defaultSingleActionKeys = ["edit", "delete", "save", "cancel"];
22
+ const defaultMultipleActionKeys = ["delete"];
23
+ const defaultEditingActionKeys = ["save", "cancel"];
24
+ const defaultToolbarKeys = ["add", "mulDelete"];
25
+ const actions = {
35
26
  edit: ({
36
27
  record,
37
28
  editingKeys,
@@ -41,64 +32,37 @@ export const actions = {
41
32
  virtualKey,
42
33
  onlyOneLineMsg
43
34
  }) => {
44
- // 单行编辑时,需要先保存,才能进行下面的编辑
45
35
  if (virtualKey && editingKeys.length >= 1) {
46
36
  message.warning(onlyOneLineMsg);
47
37
  return false;
48
38
  }
49
39
  const nextEditingKeys = [...editingKeys];
50
- // 开启编辑状态
51
40
  nextEditingKeys.push(record.rowKey);
52
- // 编辑时赋值编辑状态,供validator做保存校验
53
- if (nextEditingKeys?.length) {
41
+ if (nextEditingKeys == null ? void 0 : nextEditingKeys.length) {
54
42
  record._isEditing = true;
55
43
  } else {
56
44
  delete record._isEditing;
57
45
  }
58
- // 复制当前行数据
59
- form.setFieldValue(virtualRowName, {
60
- ...record
61
- });
46
+ form.setFieldValue(virtualRowName, { ...record });
62
47
  setState({
63
48
  editingKeys: nextEditingKeys
64
49
  });
65
50
  },
66
- save: async ({
67
- record,
68
- editingKeys,
69
- setState,
70
- form,
71
- rowName,
72
- virtualRowName,
73
- result
74
- }) => {
75
- // 保存返回数据与当前行内数据做合并
76
- const updateData = typeof result === 'object' ? result : {};
77
- record = {
78
- ...record,
79
- ...form.getFieldValue(virtualRowName),
80
- ...updateData
81
- };
82
- delete record._addFlag; // 删除第一次新增的标记
83
- // 关闭当前保存行的编辑状态
84
- const nextEditingKeys = editingKeys.filter(key => key !== record.rowKey);
85
- // 保存后取消编辑状态,供validator做保存校验
86
- if (nextEditingKeys?.length) {
51
+ save: async ({ record, editingKeys, setState, form, rowName, virtualRowName, result }) => {
52
+ const updateData = typeof result === "object" ? result : {};
53
+ record = { ...record, ...form.getFieldValue(virtualRowName), ...updateData };
54
+ delete record._addFlag;
55
+ const nextEditingKeys = editingKeys.filter((key) => key !== record.rowKey);
56
+ if (nextEditingKeys == null ? void 0 : nextEditingKeys.length) {
87
57
  record._isEditing = true;
88
58
  } else {
89
59
  delete record._isEditing;
90
60
  }
91
- // 防止value引用不变, 值不更新 - (自定义组件)
92
- // 必须取全量 store(true):names 组合列只注册合并字段,拆分子字段(如 address/postcode)
93
- // 未注册;getFieldsValue() 会丢掉它们,叠加 setFieldsValue 对数组「整体覆盖」会抹掉其他行的子字段
94
61
  const values = form.getFieldsValue(true);
95
- _set(values, rowName, record);
96
- // 同步清理虚拟路径上的 _addFlag,避免再次编辑→取消时把已保存行误删
97
- _set(values, virtualRowName, record);
62
+ set(values, rowName, record);
63
+ set(values, virtualRowName, record);
98
64
  form.setFieldsValue(values);
99
- setState({
100
- editingKeys: nextEditingKeys
101
- });
65
+ setState({ editingKeys: nextEditingKeys });
102
66
  },
103
67
  cancel: ({
104
68
  name,
@@ -110,17 +74,13 @@ export const actions = {
110
74
  virtualKey,
111
75
  rowName
112
76
  }) => {
113
- const nextEditingKeys = editingKeys.filter(key => key !== record.rowKey);
114
- // 保存后取消编辑状态,供validator做保存校验
115
- if (nextEditingKeys?.length) {
77
+ const nextEditingKeys = editingKeys.filter((key) => key !== record.rowKey);
78
+ if (nextEditingKeys == null ? void 0 : nextEditingKeys.length) {
116
79
  record._isEditing = true;
117
80
  } else {
118
81
  delete record._isEditing;
119
82
  }
120
- setState({
121
- editingKeys: nextEditingKeys
122
- }); // 关闭编辑状态
123
- // 取消分两种,一编辑取消,二添加取消
83
+ setState({ editingKeys: nextEditingKeys });
124
84
  if (record._addFlag) {
125
85
  onDelete({
126
86
  name,
@@ -129,29 +89,17 @@ export const actions = {
129
89
  selectedRowKeys: [record.rowKey]
130
90
  });
131
91
  } else {
132
- // 取消时使用主 form 原始行数据重置虚拟 form,避免编辑值残留
133
- // 同 save:取全量 store(true),避免抹掉其他行未注册的 names 拆分子字段
134
92
  const originalRecord = form.getFieldValue(rowName);
135
93
  const values = form.getFieldsValue(true);
136
- _set(values, virtualRowName, originalRecord ?? record);
94
+ set(values, virtualRowName, originalRecord ?? record);
137
95
  form.setFieldsValue(values);
138
96
  }
139
97
  },
140
- delete: ({
141
- name,
142
- record,
143
- editingKeys,
144
- setState,
145
- form,
146
- virtualKey,
147
- onlyOneLineMsg
148
- }) => {
149
- // 单行编辑时,需要先保存,才能进行下面的编辑
98
+ delete: ({ name, record, editingKeys, setState, form, virtualKey, onlyOneLineMsg }) => {
150
99
  if (virtualKey && editingKeys.length >= 1) {
151
100
  message.warning(onlyOneLineMsg);
152
101
  return false;
153
102
  }
154
- // 删除当前行数据
155
103
  onDelete({
156
104
  name,
157
105
  form,
@@ -159,11 +107,8 @@ export const actions = {
159
107
  selectedRowKeys: [record.rowKey]
160
108
  });
161
109
  if (virtualKey) {
162
- // 关闭编辑状态
163
- const nextEditingKeys = editingKeys.filter(key => key === record.rowKey);
164
- setState({
165
- editingKeys: nextEditingKeys
166
- });
110
+ const nextEditingKeys = editingKeys.filter((key) => key === record.rowKey);
111
+ setState({ editingKeys: nextEditingKeys });
167
112
  }
168
113
  },
169
114
  add: async ({
@@ -177,69 +122,62 @@ export const actions = {
177
122
  virtualKey,
178
123
  onlyOneLineMsg,
179
124
  tableRef,
180
- prefixCls = 'ant',
125
+ prefixCls = "ant",
181
126
  page,
182
127
  handlePageChange,
183
128
  virtual
184
129
  }) => {
185
- const nextData = [...(form.getFieldValue(name) || [])];
186
- // 单行编辑时,需要先保存,才能进行下面的编辑
130
+ var _a, _b;
131
+ const nextData = [...form.getFieldValue(name) || []];
187
132
  if (virtualKey && editingKeys.length >= 1) {
188
133
  message.warning(onlyOneLineMsg);
189
134
  return false;
190
135
  }
191
136
  const rowKey = getRandom();
192
- // 添加新增对象数据
193
137
  const addData = {
194
- ...(typeof result === 'object' ? result : {}),
138
+ ...typeof result === "object" ? result : {},
195
139
  rowKey
196
140
  };
197
-
198
- // 单行编辑时,需要操作一下数据结构,判断是否第一次新增,以及是否是编辑状态
199
141
  if (virtualKey) {
200
142
  addData._addFlag = true;
201
143
  addData._isEditing = true;
202
144
  }
203
- if (insertType === 'before') {
145
+ if (insertType === "before") {
204
146
  nextData.unshift(addData);
205
147
  setTimeout(async () => {
206
148
  handlePageChange(1, page.pageSize);
207
149
  }, 0);
208
150
  } else {
209
151
  nextData.push(addData);
210
- const nextPageNum = Math.ceil(tools.calc(nextData.length, '/', page.pageSize));
152
+ const nextPageNum = Math.ceil(tools.calc(nextData.length, "/", page.pageSize));
211
153
  setTimeout(async () => {
212
154
  handlePageChange(nextPageNum, page.pageSize);
213
155
  }, 0);
214
156
  }
215
-
216
- // 当单选情况下,存储正在编辑值
217
157
  if (virtualKey) {
218
158
  const nextEditingKeys = [...editingKeys];
219
- // 开启编辑状态
220
159
  nextEditingKeys.push(rowKey);
221
160
  form.setFieldValue(virtualName, nextData);
222
- setState({
223
- editingKeys: nextEditingKeys
224
- });
161
+ setState({ editingKeys: nextEditingKeys });
225
162
  }
226
163
  form.setFieldValue(name, nextData);
227
164
  if (virtual) {
228
- // 虚拟表格无 .ant-table-body 原生滚动容器,使用 antd Table ref 的 scrollTo 按行索引定位
229
- // 不传 align:新增行在视口外时虚拟列表会自动贴边(尾部插入贴底、头部插入贴顶)
230
165
  requestAnimationFrame(() => {
231
- tableRef.current?.scrollTo?.({
232
- index: insertType === 'before' ? 0 : nextData.length - 1
166
+ var _a2, _b2;
167
+ (_b2 = (_a2 = tableRef.current) == null ? void 0 : _a2.scrollTo) == null ? void 0 : _b2.call(_a2, {
168
+ index: insertType === "before" ? 0 : nextData.length - 1
233
169
  });
234
170
  });
235
171
  } else {
236
- const tableBody = tableRef.current?.children[0]?.querySelector(`.${prefixCls}-table-body`);
172
+ const tableBody = (_b = (_a = tableRef.current) == null ? void 0 : _a.children[0]) == null ? void 0 : _b.querySelector(
173
+ `.${prefixCls}-table-body`
174
+ );
237
175
  if (tableBody) {
238
- // 等待新行渲染完毕再读取 scrollHeight,确保能滚动到真正的底部
239
176
  requestAnimationFrame(() => {
240
- tableBody.scrollTo?.({
241
- top: insertType === 'before' ? 0 : tableBody.scrollHeight,
242
- behavior: 'smooth'
177
+ var _a2;
178
+ (_a2 = tableBody.scrollTo) == null ? void 0 : _a2.call(tableBody, {
179
+ top: insertType === "before" ? 0 : tableBody.scrollHeight,
180
+ behavior: "smooth"
243
181
  });
244
182
  });
245
183
  }
@@ -248,15 +186,7 @@ export const actions = {
248
186
  await form.validateFields([name]);
249
187
  }
250
188
  },
251
- mulDelete: ({
252
- form,
253
- name,
254
- virtualKey,
255
- setState,
256
- selectedRowKeys,
257
- editingKeys = []
258
- }) => {
259
- // 删除选中数据
189
+ mulDelete: ({ form, name, virtualKey, setState, selectedRowKeys, editingKeys = [] }) => {
260
190
  onDelete({
261
191
  name,
262
192
  form,
@@ -267,10 +197,18 @@ export const actions = {
267
197
  selectedRowKeys: [],
268
198
  selectedRows: []
269
199
  };
270
- // 删除的选择数据包含单行编辑行时,清空可编辑key
271
- if (virtualKey && selectedRowKeys.includes(editingKeys?.[0])) {
200
+ if (virtualKey && selectedRowKeys.includes(editingKeys == null ? void 0 : editingKeys[0])) {
272
201
  nextData.editingKeys = [];
273
202
  }
274
203
  setState(nextData);
275
204
  }
276
- };
205
+ };
206
+ export {
207
+ actions,
208
+ defaultBtnNameMap,
209
+ defaultEditingActionKeys,
210
+ defaultMultipleActionKeys,
211
+ defaultSingleActionKeys,
212
+ defaultToolbarKeys,
213
+ iconMap
214
+ };
@@ -1,21 +1,14 @@
1
- import _isObject from "lodash/isObject";
2
- import _isFunction from "lodash/isFunction";
3
- import _isEqual from "lodash/isEqual";
4
- import { validate } from '@zat-design/utils';
5
- const {
6
- isEmpty
7
- } = validate;
8
-
9
- // 比较策略接口
10
-
11
- // 数字类型标准化函数
12
- const normalizeNumberValue = value => {
13
- if (value === null || value === undefined || value === '') return null;
1
+ import isEqual from "lodash/isEqual";
2
+ import isFunction from "lodash/isFunction";
3
+ import isObject from "lodash/isObject";
4
+ import { validate } from "@zat-design/utils";
5
+ const { isEmpty } = validate;
6
+ const normalizeNumberValue = (value) => {
7
+ if (value === null || value === void 0 || value === "")
8
+ return null;
14
9
  const num = Number(value);
15
10
  return Number.isNaN(num) ? null : num;
16
11
  };
17
-
18
- // InputNumber 比较策略
19
12
  const inputNumberStrategy = {
20
13
  compare: (val1, val2) => {
21
14
  const num1 = normalizeNumberValue(val1);
@@ -23,12 +16,12 @@ const inputNumberStrategy = {
23
16
  return num1 === num2;
24
17
  }
25
18
  };
26
-
27
- // ProNumberRange 比较策略
28
19
  const proNumberRangeStrategy = {
29
20
  compare: (val1, val2) => {
30
- if (!Array.isArray(val1) || !Array.isArray(val2)) return false;
31
- if (val1.length !== val2.length) return false;
21
+ if (!Array.isArray(val1) || !Array.isArray(val2))
22
+ return false;
23
+ if (val1.length !== val2.length)
24
+ return false;
32
25
  return val1.every((item, index) => {
33
26
  const num1 = normalizeNumberValue(item);
34
27
  const num2 = normalizeNumberValue(val2[index]);
@@ -36,45 +29,30 @@ const proNumberRangeStrategy = {
36
29
  });
37
30
  }
38
31
  };
39
-
40
- // 数字类型处理函数
41
- const handleNumberTypeDiff = params => {
42
- const {
43
- originalValue,
44
- value,
45
- type
46
- } = params;
32
+ const handleNumberTypeDiff = (params) => {
33
+ const { originalValue, value, type } = params;
47
34
  const isEmptyVal = isEmpty(value);
48
35
  const isEmptyOrg = isEmpty(originalValue);
49
-
50
- // 都为空视为相等
51
- if (isEmptyOrg && isEmptyVal) return 'same';
52
-
53
- // 如果原始值为空 且当前有值的话 视为新增
54
- if (isEmptyOrg && !isEmptyVal) return 'add';
55
-
56
- // 根据类型选择对应的比较策略
36
+ if (isEmptyOrg && isEmptyVal)
37
+ return "same";
38
+ if (isEmptyOrg && !isEmptyVal)
39
+ return "add";
57
40
  let compareStrategy;
58
- if (type === 'InputNumber') {
41
+ if (type === "InputNumber") {
59
42
  compareStrategy = inputNumberStrategy;
60
- } else if (type === 'ProNumberRange') {
43
+ } else if (type === "ProNumberRange") {
61
44
  compareStrategy = proNumberRangeStrategy;
62
45
  } else {
63
- return 'changed'; // 未知类型视为已改变
46
+ return "changed";
64
47
  }
65
- return compareStrategy.compare(value, originalValue) ? 'same' : 'changed';
48
+ return compareStrategy.compare(value, originalValue) ? "same" : "changed";
66
49
  };
67
-
68
- // 过滤对象中undefined字段
69
- // 防止{a: '1'} {a: '1', b: undefined | null}被认为不相等
70
- const filterObject = data => {
71
- if (!_isObject(data) || data === null) return data;
72
-
73
- // ['1', undefined] ['1', ''] 视为相等
50
+ const filterObject = (data) => {
51
+ if (!isObject(data) || data === null)
52
+ return data;
74
53
  if (Array.isArray(data)) {
75
- // 数组中全是empty值的话 视为null
76
54
  let isFillNull = true;
77
- const arr = data.map(item => {
55
+ const arr = data.map((item) => {
78
56
  if (isEmpty(item)) {
79
57
  return null;
80
58
  }
@@ -84,29 +62,18 @@ const filterObject = data => {
84
62
  return isFillNull ? null : arr;
85
63
  }
86
64
  const resData = {};
87
- Object.keys(data).forEach(key => {
65
+ Object.keys(data).forEach((key) => {
88
66
  if (!isEmpty(data[key])) {
89
67
  resData[key] = data[key];
90
68
  }
91
69
  });
92
-
93
- // 空对象视为null 比较时 null undefined {} [] '' 视为相等
94
- if (!Object.keys(resData).length) return null;
70
+ if (!Object.keys(resData).length)
71
+ return null;
95
72
  return resData;
96
73
  };
97
- export const diffOriginal = params => {
98
- const {
99
- originalValue,
100
- value,
101
- onDiff,
102
- originRecord,
103
- record,
104
- index,
105
- type
106
- } = params;
107
-
108
- // 支持传入自定义比较事件
109
- if (_isFunction(onDiff)) {
74
+ const diffOriginal = (params) => {
75
+ const { originalValue, value, onDiff, originRecord, record, index, type } = params;
76
+ if (isFunction(onDiff)) {
110
77
  const diffRes = onDiff({
111
78
  originValue: originalValue,
112
79
  originRecord,
@@ -114,30 +81,26 @@ export const diffOriginal = params => {
114
81
  record,
115
82
  index
116
83
  });
117
- // 如果返回undefined走内置比较逻辑
118
- if (diffRes !== undefined) {
119
- if (typeof diffRes === 'boolean') {
120
- return diffRes ? 'same' : 'changed';
84
+ if (diffRes !== void 0) {
85
+ if (typeof diffRes === "boolean") {
86
+ return diffRes ? "same" : "changed";
121
87
  }
122
88
  return diffRes;
123
89
  }
124
90
  }
125
-
126
- // 数字类型特殊处理
127
- if (['InputNumber', 'ProNumberRange'].includes(type)) {
91
+ if (["InputNumber", "ProNumberRange"].includes(type)) {
128
92
  return handleNumberTypeDiff(params);
129
93
  }
130
-
131
- // 其他类型使用原有逻辑
132
94
  const _value = filterObject(value);
133
95
  const _originalValue = filterObject(originalValue);
134
96
  const isEmptyVal = isEmpty(_value);
135
97
  const isEmptyOrg = isEmpty(_originalValue);
136
-
137
- // 都为空视为相等
138
- if (isEmptyOrg && isEmptyVal) return 'same';
139
-
140
- // 如果原始值为空 且当前有值的话 视为新增
141
- if (isEmptyOrg && !isEmptyVal) return 'add';
142
- return _isEqual(_value, _originalValue) ? 'same' : 'changed';
143
- };
98
+ if (isEmptyOrg && isEmptyVal)
99
+ return "same";
100
+ if (isEmptyOrg && !isEmptyVal)
101
+ return "add";
102
+ return isEqual(_value, _originalValue) ? "same" : "changed";
103
+ };
104
+ export {
105
+ diffOriginal
106
+ };
@@ -1,36 +1,31 @@
1
- import _isEqual from "lodash/isEqual";
2
- import _get from "lodash/get";
1
+ import get from "lodash/get";
2
+ import isEqual from "lodash/isEqual";
3
3
  const defaultPropsMap = {
4
- ProSelect: props => {
5
- const {
6
- fieldProps,
7
- name,
8
- namePath
9
- } = props;
10
- const {
11
- filterInList
12
- } = fieldProps || {};
4
+ ProSelect: (props) => {
5
+ const { fieldProps, name, namePath } = props;
6
+ const { filterInList } = fieldProps || {};
13
7
  const defaultProps = {};
14
-
15
- // formList场景传入列表过滤时
16
8
  if (filterInList && namePath && name) {
17
9
  const _namePath = [...namePath].splice(2, namePath.length - 1);
18
10
  defaultProps.shouldUpdate = (preValues, curValues) => {
19
- const preListValue = _get(preValues, name)?.map?.(item => {
20
- return _get(item, _namePath);
11
+ var _a, _b, _c, _d;
12
+ const preListValue = (_b = (_a = get(preValues, name)) == null ? void 0 : _a.map) == null ? void 0 : _b.call(_a, (item) => {
13
+ return get(item, _namePath);
21
14
  });
22
- const curListValue = _get(curValues, name)?.map?.(item => {
23
- return _get(item, _namePath);
15
+ const curListValue = (_d = (_c = get(curValues, name)) == null ? void 0 : _c.map) == null ? void 0 : _d.call(_c, (item) => {
16
+ return get(item, _namePath);
24
17
  });
25
- return !_isEqual(preListValue, curListValue);
18
+ return !isEqual(preListValue, curListValue);
26
19
  };
27
20
  }
28
21
  return defaultProps;
29
22
  }
30
23
  };
31
- export const getDefaultProps = props => {
32
- const {
33
- type
34
- } = props;
35
- return defaultPropsMap[type]?.(props);
36
- };
24
+ const getDefaultProps = (props) => {
25
+ var _a;
26
+ const { type } = props;
27
+ return (_a = defaultPropsMap[type]) == null ? void 0 : _a.call(defaultPropsMap, props);
28
+ };
29
+ export {
30
+ getDefaultProps
31
+ };