@ant-design/pro-components 3.0.0-beta.1 → 3.0.0-beta.3

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 (784) hide show
  1. package/dist/pro-components.min.js +1 -1
  2. package/es/card/ProCard.d.ts +0 -1
  3. package/es/card/ProCard.js +11 -23
  4. package/es/card/components/Actions/index.js +33 -28
  5. package/es/card/components/Actions/style.js +72 -100
  6. package/es/card/components/Card/index.js +212 -258
  7. package/es/card/components/Card/style.js +192 -266
  8. package/es/card/components/CheckCard/Group.js +198 -208
  9. package/es/card/components/CheckCard/index.js +151 -160
  10. package/es/card/components/CheckCard/style.js +186 -212
  11. package/es/card/components/Divider/index.js +23 -18
  12. package/es/card/components/Divider/style.js +30 -54
  13. package/es/card/components/Loading/index.js +80 -13
  14. package/es/card/components/Loading/style.js +42 -63
  15. package/es/card/components/Operation/index.js +22 -17
  16. package/es/card/components/Operation/style.js +19 -43
  17. package/es/card/components/Statistic/index.js +79 -96
  18. package/es/card/components/Statistic/style.js +76 -115
  19. package/es/card/components/StatisticCard/index.d.ts +0 -2
  20. package/es/card/components/StatisticCard/index.js +59 -70
  21. package/es/card/components/StatisticCard/style.js +36 -55
  22. package/es/card/index.d.ts +2 -2
  23. package/es/card/index.js +2 -9
  24. package/es/card/typing.js +1 -0
  25. package/es/descriptions/index.js +363 -414
  26. package/es/descriptions/useFetchData.js +94 -73
  27. package/es/field/AllProField.js +438 -361
  28. package/es/field/FieldHOC/index.js +32 -28
  29. package/es/field/PureProField.js +129 -160
  30. package/es/field/ValueTypeToComponent.js +686 -396
  31. package/es/field/components/Cascader/index.d.ts +2 -2
  32. package/es/field/components/Cascader/index.js +124 -149
  33. package/es/field/components/Checkbox/index.d.ts +1 -1
  34. package/es/field/components/Checkbox/index.js +106 -128
  35. package/es/field/components/Code/index.js +67 -60
  36. package/es/field/components/ColorPicker/index.d.ts +1 -1
  37. package/es/field/components/ColorPicker/index.js +55 -78
  38. package/es/field/components/DatePicker/index.d.ts +2 -2
  39. package/es/field/components/DatePicker/index.js +100 -116
  40. package/es/field/components/Digit/index.js +84 -83
  41. package/es/field/components/DigitRange/index.js +102 -96
  42. package/es/field/components/FromNow/index.js +50 -62
  43. package/es/field/components/Image/index.js +46 -50
  44. package/es/field/components/IndexColumn/index.js +45 -43
  45. package/es/field/components/Money/index.js +244 -253
  46. package/es/field/components/Options/index.js +61 -71
  47. package/es/field/components/Password/index.js +62 -59
  48. package/es/field/components/Percent/index.js +74 -80
  49. package/es/field/components/Percent/util.js +23 -18
  50. package/es/field/components/Progress/index.js +53 -54
  51. package/es/field/components/Radio/index.d.ts +1 -1
  52. package/es/field/components/Radio/index.js +85 -107
  53. package/es/field/components/RangePicker/index.d.ts +2 -2
  54. package/es/field/components/RangePicker/index.js +122 -137
  55. package/es/field/components/Rate/index.js +39 -35
  56. package/es/field/components/Second/index.js +61 -59
  57. package/es/field/components/Segmented/index.d.ts +1 -1
  58. package/es/field/components/Segmented/index.js +68 -90
  59. package/es/field/components/Select/LightSelect/index.d.ts +1 -1
  60. package/es/field/components/Select/LightSelect/index.js +210 -256
  61. package/es/field/components/Select/SearchSelect/index.js +192 -225
  62. package/es/field/components/Select/index.d.ts +2 -2
  63. package/es/field/components/Select/index.js +299 -368
  64. package/es/field/components/Slider/index.js +39 -45
  65. package/es/field/components/Status/index.js +83 -23
  66. package/es/field/components/Switch/index.d.ts +1 -1
  67. package/es/field/components/Switch/index.js +60 -71
  68. package/es/field/components/Text/index.js +53 -48
  69. package/es/field/components/TextArea/index.js +39 -53
  70. package/es/field/components/TextArea/readonly.js +36 -50
  71. package/es/field/components/TimePicker/index.js +182 -190
  72. package/es/field/components/TreeSelect/index.d.ts +2 -2
  73. package/es/field/components/TreeSelect/index.js +178 -184
  74. package/es/field/index.js +3 -43
  75. package/es/form/BaseForm/BaseForm.js +581 -621
  76. package/es/form/BaseForm/EditOrReadOnlyContext.js +4 -8
  77. package/es/form/BaseForm/LightWrapper/index.js +104 -161
  78. package/es/form/BaseForm/LightWrapper/style.js +14 -41
  79. package/es/form/BaseForm/Submitter/index.js +69 -100
  80. package/es/form/BaseForm/index.js +1 -2
  81. package/es/form/FieldContext.js +4 -8
  82. package/es/form/components/Captcha/index.js +162 -169
  83. package/es/form/components/Cascader/index.js +46 -75
  84. package/es/form/components/Checkbox/index.js +73 -98
  85. package/es/form/components/ColorPicker/index.js +43 -64
  86. package/es/form/components/DatePicker/BaseDatePicker.js +45 -69
  87. package/es/form/components/DatePicker/DatePicker.js +26 -51
  88. package/es/form/components/DatePicker/DateTimePicker.js +26 -50
  89. package/es/form/components/DatePicker/MonthPicker.js +26 -51
  90. package/es/form/components/DatePicker/QuarterPicker.js +26 -51
  91. package/es/form/components/DatePicker/TimePicker.js +43 -72
  92. package/es/form/components/DatePicker/WeekPicker.js +26 -51
  93. package/es/form/components/DatePicker/YearPicker.js +26 -51
  94. package/es/form/components/DatePicker/index.js +4 -6
  95. package/es/form/components/DateRangePicker/BaseDateRanger.js +42 -70
  96. package/es/form/components/DateRangePicker/DateMonthRangePicker.js +29 -51
  97. package/es/form/components/DateRangePicker/DateQuarterRangePicker.js +29 -51
  98. package/es/form/components/DateRangePicker/DateTimeRangePicker.js +29 -51
  99. package/es/form/components/DateRangePicker/DateWeekRangePicker.js +29 -51
  100. package/es/form/components/DateRangePicker/DateYearRangePicker.js +29 -51
  101. package/es/form/components/DateRangePicker/TimeRangePicker.js +42 -67
  102. package/es/form/components/DateRangePicker/index.js +29 -51
  103. package/es/form/components/Dependency/index.js +56 -96
  104. package/es/form/components/Digit/DigitRange.d.ts +1 -1
  105. package/es/form/components/Digit/DigitRange.js +42 -75
  106. package/es/form/components/Digit/index.js +47 -78
  107. package/es/form/components/Field/index.js +80 -124
  108. package/es/form/components/FieldSet/index.js +95 -123
  109. package/es/form/components/FormItem/FormItemRender/index.js +135 -92
  110. package/es/form/components/FormItem/Group/index.js +134 -169
  111. package/es/form/components/FormItem/Group/style.js +41 -62
  112. package/es/form/components/FormItem/index.js +252 -293
  113. package/es/form/components/FormItem/warpField.js +218 -285
  114. package/es/form/components/List/ListContainer.js +221 -181
  115. package/es/form/components/List/ListItem.js +258 -350
  116. package/es/form/components/List/index.js +195 -252
  117. package/es/form/components/List/style.js +48 -95
  118. package/es/form/components/Money/index.js +50 -80
  119. package/es/form/components/Radio/index.js +52 -86
  120. package/es/form/components/Rate/index.js +37 -60
  121. package/es/form/components/SchemaForm/index.js +121 -167
  122. package/es/form/components/SchemaForm/layoutType/Embed.js +8 -5
  123. package/es/form/components/SchemaForm/layoutType/StepsForm.js +35 -68
  124. package/es/form/components/SchemaForm/layoutType/index.js +2 -7
  125. package/es/form/components/SchemaForm/typing.js +1 -0
  126. package/es/form/components/SchemaForm/valueType/dependency.js +19 -43
  127. package/es/form/components/SchemaForm/valueType/divider.js +11 -30
  128. package/es/form/components/SchemaForm/valueType/field.js +59 -100
  129. package/es/form/components/SchemaForm/valueType/formList.js +16 -42
  130. package/es/form/components/SchemaForm/valueType/formSet.js +16 -42
  131. package/es/form/components/SchemaForm/valueType/group.js +15 -37
  132. package/es/form/components/SchemaForm/valueType/ignore.js +4 -7
  133. package/es/form/components/SchemaForm/valueType/index.js +16 -17
  134. package/es/form/components/Segmented/index.js +43 -61
  135. package/es/form/components/Select/index.js +114 -151
  136. package/es/form/components/Slider/index.js +54 -91
  137. package/es/form/components/Switch/index.js +47 -71
  138. package/es/form/components/Text/index.js +132 -161
  139. package/es/form/components/TextArea/index.js +34 -57
  140. package/es/form/components/TreeSelect/index.js +42 -61
  141. package/es/form/components/UploadButton/index.js +125 -145
  142. package/es/form/components/UploadDragger/index.js +77 -92
  143. package/es/form/components/index.js +36 -88
  144. package/es/form/helpers/grid.js +77 -82
  145. package/es/form/helpers/index.js +1 -2
  146. package/es/form/index.js +6 -15
  147. package/es/form/layouts/DrawerForm/index.js +308 -315
  148. package/es/form/layouts/DrawerForm/style.js +26 -50
  149. package/es/form/layouts/LightFilter/index.js +208 -270
  150. package/es/form/layouts/LightFilter/style.js +49 -74
  151. package/es/form/layouts/LoginForm/index.js +85 -104
  152. package/es/form/layouts/LoginForm/style.js +68 -95
  153. package/es/form/layouts/LoginFormPage/index.js +141 -147
  154. package/es/form/layouts/LoginFormPage/style.js +129 -154
  155. package/es/form/layouts/ModalForm/index.js +247 -253
  156. package/es/form/layouts/ProForm/index.js +15 -32
  157. package/es/form/layouts/QueryFilter/Actions.js +52 -47
  158. package/es/form/layouts/QueryFilter/index.js +297 -359
  159. package/es/form/layouts/QueryFilter/style.js +38 -69
  160. package/es/form/layouts/StepsForm/StepForm.js +87 -119
  161. package/es/form/layouts/StepsForm/index.js +339 -353
  162. package/es/form/layouts/StepsForm/style.js +29 -50
  163. package/es/form/layouts/index.js +9 -20
  164. package/es/form/typing.js +1 -0
  165. package/es/index.js +1 -5
  166. package/es/layout/ProLayout.js +426 -497
  167. package/es/layout/WrapContent.js +26 -15
  168. package/es/layout/assert/Logo.js +107 -79
  169. package/es/layout/components/AppsLogoComponents/AppsLogo.js +13 -11
  170. package/es/layout/components/AppsLogoComponents/DefaultContent.js +50 -56
  171. package/es/layout/components/AppsLogoComponents/SimpleContent.js +73 -66
  172. package/es/layout/components/AppsLogoComponents/index.js +90 -73
  173. package/es/layout/components/AppsLogoComponents/style/default.js +31 -35
  174. package/es/layout/components/AppsLogoComponents/style/index.js +51 -77
  175. package/es/layout/components/AppsLogoComponents/style/simple.js +37 -40
  176. package/es/layout/components/CollapsedIcon/index.js +19 -55
  177. package/es/layout/components/CollapsedIcon/style.js +42 -66
  178. package/es/layout/components/Footer.js +27 -38
  179. package/es/layout/components/FooterToolbar/index.js +78 -102
  180. package/es/layout/components/FooterToolbar/style/index.js +38 -62
  181. package/es/layout/components/FooterToolbar/style/stylish.js +10 -38
  182. package/es/layout/components/GlobalFooter/index.js +37 -31
  183. package/es/layout/components/GlobalFooter/style.js +32 -53
  184. package/es/layout/components/GlobalHeader/ActionsContent.js +132 -181
  185. package/es/layout/components/GlobalHeader/index.d.ts +0 -5
  186. package/es/layout/components/GlobalHeader/index.js +76 -84
  187. package/es/layout/components/GlobalHeader/rightContentStyle.js +52 -76
  188. package/es/layout/components/GlobalHeader/style.js +57 -83
  189. package/es/layout/components/GridContent/index.js +35 -33
  190. package/es/layout/components/GridContent/style.js +14 -38
  191. package/es/layout/components/Header/index.js +95 -124
  192. package/es/layout/components/Header/style/header.js +48 -72
  193. package/es/layout/components/Header/style/stylish.js +12 -42
  194. package/es/layout/components/Help/AsyncContentPanel.js +53 -42
  195. package/es/layout/components/Help/HelpProvide.js +55 -6
  196. package/es/layout/components/Help/ProHelpContentPanel.js +128 -127
  197. package/es/layout/components/Help/ProHelpDrawer.js +48 -76
  198. package/es/layout/components/Help/ProHelpModal.js +47 -76
  199. package/es/layout/components/Help/ProHelpPanel.js +183 -224
  200. package/es/layout/components/Help/ProHelpPopover.js +37 -64
  201. package/es/layout/components/Help/RenderContentPanel.js +90 -103
  202. package/es/layout/components/Help/Search.js +124 -163
  203. package/es/layout/components/Help/index.js +19 -40
  204. package/es/layout/components/Help/style.js +90 -115
  205. package/es/layout/components/PageContainer/index.js +233 -280
  206. package/es/layout/components/PageContainer/style/index.js +78 -118
  207. package/es/layout/components/PageContainer/style/stylish.js +10 -38
  208. package/es/layout/components/PageHeader/index.js +144 -129
  209. package/es/layout/components/PageHeader/style/index.js +125 -172
  210. package/es/layout/components/PageLoading/index.js +23 -50
  211. package/es/layout/components/SettingDrawer/BlockCheckbox.js +42 -42
  212. package/es/layout/components/SettingDrawer/LayoutChange.js +108 -98
  213. package/es/layout/components/SettingDrawer/RegionalChange.js +31 -34
  214. package/es/layout/components/SettingDrawer/ThemeColor.js +50 -69
  215. package/es/layout/components/SettingDrawer/icon/group.js +109 -88
  216. package/es/layout/components/SettingDrawer/icon/sub.js +70 -116
  217. package/es/layout/components/SettingDrawer/index.js +405 -420
  218. package/es/layout/components/SettingDrawer/style/index.js +142 -146
  219. package/es/layout/components/SiderMenu/Arrow.js +12 -15
  220. package/es/layout/components/SiderMenu/BaseMenu.js +402 -451
  221. package/es/layout/components/SiderMenu/SiderMenu.js +246 -336
  222. package/es/layout/components/SiderMenu/index.js +72 -101
  223. package/es/layout/components/SiderMenu/style/index.js +171 -210
  224. package/es/layout/components/SiderMenu/style/menu.js +110 -173
  225. package/es/layout/components/SiderMenu/style/stylish.js +12 -42
  226. package/es/layout/components/TopNavHeader/index.js +106 -179
  227. package/es/layout/components/TopNavHeader/style.js +67 -95
  228. package/es/layout/context/RouteContext.js +2 -6
  229. package/es/layout/defaultSettings.js +6 -9
  230. package/es/layout/getPageTitle.js +46 -40
  231. package/es/layout/index.js +4 -27
  232. package/es/layout/locales/en-US/settingDrawer.js +43 -47
  233. package/es/layout/locales/en-US.js +2 -22
  234. package/es/layout/locales/index.js +13 -18
  235. package/es/layout/locales/it-IT/settingDrawer.js +34 -38
  236. package/es/layout/locales/it-IT.js +2 -22
  237. package/es/layout/locales/ko-KR/settingDrawer.js +39 -43
  238. package/es/layout/locales/ko-KR.js +2 -22
  239. package/es/layout/locales/zh-CN/settingDrawer.js +43 -47
  240. package/es/layout/locales/zh-CN.js +2 -22
  241. package/es/layout/locales/zh-TW/settingDrawer.js +35 -39
  242. package/es/layout/locales/zh-TW.js +2 -22
  243. package/es/layout/style/index.js +43 -73
  244. package/es/layout/typing.js +1 -0
  245. package/es/layout/utils/getBreadcrumbProps.js +111 -91
  246. package/es/layout/utils/getMenuData.js +18 -21
  247. package/es/layout/utils/pathTools.js +11 -12
  248. package/es/layout/utils/useCurrentMenuLayoutProps.js +21 -29
  249. package/es/layout/utils/utils.js +35 -51
  250. package/es/list/Item.js +222 -294
  251. package/es/list/ListView.js +188 -232
  252. package/es/list/constants.js +4 -17
  253. package/es/list/index.js +121 -178
  254. package/es/list/style/index.js +224 -287
  255. package/es/provider/index.js +228 -179
  256. package/es/provider/intl.js +100 -124
  257. package/es/provider/locale/ar_EG.js +47 -51
  258. package/es/provider/locale/ca_ES.js +45 -49
  259. package/es/provider/locale/cs_CZ.js +50 -54
  260. package/es/provider/locale/de_DE.js +47 -51
  261. package/es/provider/locale/en_GB.js +49 -53
  262. package/es/provider/locale/en_US.js +51 -55
  263. package/es/provider/locale/es_ES.js +47 -51
  264. package/es/provider/locale/fa_IR.js +47 -51
  265. package/es/provider/locale/fr_FR.js +47 -51
  266. package/es/provider/locale/he_IL.js +50 -54
  267. package/es/provider/locale/hr_HR.js +47 -51
  268. package/es/provider/locale/id_ID.js +47 -51
  269. package/es/provider/locale/it_IT.js +47 -51
  270. package/es/provider/locale/ja_JP.js +47 -51
  271. package/es/provider/locale/ko_KR.js +47 -51
  272. package/es/provider/locale/mn_MN.js +47 -51
  273. package/es/provider/locale/ms_MY.js +47 -51
  274. package/es/provider/locale/nl_NL.js +50 -54
  275. package/es/provider/locale/pl_PL.js +47 -51
  276. package/es/provider/locale/pt_BR.js +47 -51
  277. package/es/provider/locale/ro_RO.js +50 -54
  278. package/es/provider/locale/ru_RU.js +47 -51
  279. package/es/provider/locale/sk_SK.js +50 -54
  280. package/es/provider/locale/sr_RS.js +47 -51
  281. package/es/provider/locale/sv_SE.js +50 -54
  282. package/es/provider/locale/th_TH.js +50 -54
  283. package/es/provider/locale/tr_TR.js +47 -51
  284. package/es/provider/locale/uk_UA.js +50 -54
  285. package/es/provider/locale/uz_UZ.js +47 -51
  286. package/es/provider/locale/vi_VN.js +47 -51
  287. package/es/provider/locale/zh_CN.js +50 -54
  288. package/es/provider/locale/zh_HK.js +50 -54
  289. package/es/provider/locale/zh_TW.js +50 -54
  290. package/es/provider/typing/layoutToken.d.ts +0 -10
  291. package/es/provider/typing/layoutToken.js +19 -42
  292. package/es/provider/useStyle/index.d.ts +1 -1
  293. package/es/provider/useStyle/index.js +91 -78
  294. package/es/provider/utils/merge.js +13 -29
  295. package/es/skeleton/components/Descriptions/index.js +240 -252
  296. package/es/skeleton/components/List/index.js +217 -207
  297. package/es/skeleton/components/Result/index.js +57 -54
  298. package/es/skeleton/index.js +18 -62
  299. package/es/table/Store/Provide.d.ts +0 -1
  300. package/es/table/Store/Provide.js +141 -128
  301. package/es/table/Table.js +645 -698
  302. package/es/table/components/Alert/index.js +60 -37
  303. package/es/table/components/Alert/style.js +28 -52
  304. package/es/table/components/ColumnSetting/index.js +382 -387
  305. package/es/table/components/ColumnSetting/style.js +72 -108
  306. package/es/table/components/DragSortTable/index.js +101 -137
  307. package/es/table/components/DragSortTable/style.js +20 -44
  308. package/es/table/components/Dropdown/index.js +70 -83
  309. package/es/table/components/EditableTable/CellEditorTable.js +50 -65
  310. package/es/table/components/EditableTable/RowEditorTable.js +44 -62
  311. package/es/table/components/EditableTable/index.js +343 -347
  312. package/es/table/components/Form/FormRender.js +167 -173
  313. package/es/table/components/Form/index.js +123 -132
  314. package/es/table/components/ListToolBar/HeaderMenu.js +68 -102
  315. package/es/table/components/ListToolBar/index.js +254 -273
  316. package/es/table/components/ListToolBar/style.js +119 -134
  317. package/es/table/components/ToolBar/DensityIcon.js +36 -41
  318. package/es/table/components/ToolBar/FullscreenIcon.js +21 -14
  319. package/es/table/components/ToolBar/index.js +235 -267
  320. package/es/table/index.js +3 -50
  321. package/es/table/style/index.js +129 -175
  322. package/es/table/typing.d.ts +2 -2
  323. package/es/table/typing.js +1 -0
  324. package/es/table/useFetchData.js +432 -232
  325. package/es/table/utils/cellRenderToFromItem.js +186 -261
  326. package/es/table/utils/columnRender.js +116 -115
  327. package/es/table/utils/columnSort.js +23 -21
  328. package/es/table/utils/genProColumnToColumn.js +101 -129
  329. package/es/table/utils/index.js +197 -115
  330. package/es/table/utils/useDragSort.js +135 -174
  331. package/es/utils/components/DropdownFooter/index.js +48 -58
  332. package/es/utils/components/DropdownFooter/style.js +16 -40
  333. package/es/utils/components/ErrorBoundary/index.js +51 -25
  334. package/es/utils/components/FieldLabel/index.js +119 -146
  335. package/es/utils/components/FieldLabel/style.js +82 -128
  336. package/es/utils/components/FilterDropdown/index.js +54 -81
  337. package/es/utils/components/FilterDropdown/style.js +17 -38
  338. package/es/utils/components/InlineErrorFormItem/index.js +132 -167
  339. package/es/utils/components/InlineErrorFormItem/style.js +51 -79
  340. package/es/utils/components/LabelIconTip/index.js +58 -56
  341. package/es/utils/components/LabelIconTip/style.js +36 -57
  342. package/es/utils/components/ProFormContext/index.js +2 -6
  343. package/es/utils/conversionMomentValue/index.js +102 -83
  344. package/es/utils/dateArrayFormatter/index.js +31 -16
  345. package/es/utils/genCopyable/index.js +44 -38
  346. package/es/utils/getFieldPropsOrFormItemProps/index.js +10 -7
  347. package/es/utils/hooks/useDebounceFn/index.js +58 -48
  348. package/es/utils/hooks/useDebounceValue/index.js +29 -19
  349. package/es/utils/hooks/useDeepCompareEffect/index.js +29 -44
  350. package/es/utils/hooks/useDeepCompareMemo/index.js +12 -10
  351. package/es/utils/hooks/useDocumentTitle/index.js +5 -9
  352. package/es/utils/hooks/useFetchData/index.js +70 -63
  353. package/es/utils/hooks/useForceRender/index.js +12 -9
  354. package/es/utils/hooks/useLatest/index.js +8 -8
  355. package/es/utils/hooks/usePrevious/index.js +5 -9
  356. package/es/utils/hooks/useReactiveRef/index.js +4 -8
  357. package/es/utils/hooks/useRefCallback/index.js +6 -10
  358. package/es/utils/hooks/useRefFunction/index.js +11 -10
  359. package/es/utils/index.d.ts +1 -3
  360. package/es/utils/index.js +9 -84
  361. package/es/utils/isBrowser/index.js +14 -9
  362. package/es/utils/isDeepEqualReact/index.js +79 -53
  363. package/es/utils/isDropdownValueType/index.js +4 -8
  364. package/es/utils/isImg/index.js +3 -6
  365. package/es/utils/isNil/index.js +3 -5
  366. package/es/utils/isUrl/index.js +10 -10
  367. package/es/utils/merge/index.js +20 -27
  368. package/es/utils/nanoid/index.js +24 -18
  369. package/es/utils/omitBoolean/index.js +8 -7
  370. package/es/utils/omitUndefined/index.js +6 -10
  371. package/es/utils/omitUndefinedAndEmptyArr/index.js +7 -11
  372. package/es/utils/parseValueToMoment/index.js +16 -14
  373. package/es/utils/pickProFormItemProps/index.js +9 -42
  374. package/es/utils/pickProProps/index.js +9 -11
  375. package/es/utils/proFieldParsingText/index.js +141 -49
  376. package/es/utils/runFunction/index.js +8 -8
  377. package/es/utils/stringify/index.js +4 -9
  378. package/es/utils/transformKeySubmitValue/index.js +254 -130
  379. package/es/utils/typing.js +1 -0
  380. package/es/utils/useEditableArray/index.js +776 -611
  381. package/es/utils/useEditableMap/index.js +179 -161
  382. package/es/utils/useMediaQuery/index.js +47 -43
  383. package/es/utils/useMediaQuery/query.js +19 -15
  384. package/es/utils/useMountMergeState/index.d.ts +1 -1
  385. package/es/utils/useMountMergeState/index.js +2 -5
  386. package/es/version.js +3 -7
  387. package/lib/card/ProCard.d.ts +0 -1
  388. package/lib/card/ProCard.js +20 -52
  389. package/lib/card/components/Actions/index.js +39 -57
  390. package/lib/card/components/Actions/style.js +77 -115
  391. package/lib/card/components/Card/index.js +221 -287
  392. package/lib/card/components/Card/style.js +197 -281
  393. package/lib/card/components/CheckCard/Group.js +205 -230
  394. package/lib/card/components/CheckCard/index.js +160 -190
  395. package/lib/card/components/CheckCard/style.js +192 -227
  396. package/lib/card/components/Divider/index.js +30 -47
  397. package/lib/card/components/Divider/style.js +35 -69
  398. package/lib/card/components/Loading/index.js +85 -42
  399. package/lib/card/components/Loading/style.js +48 -78
  400. package/lib/card/components/Operation/index.js +29 -46
  401. package/lib/card/components/Operation/style.js +24 -58
  402. package/lib/card/components/Statistic/index.js +84 -117
  403. package/lib/card/components/Statistic/style.js +81 -130
  404. package/lib/card/components/StatisticCard/index.d.ts +0 -2
  405. package/lib/card/components/StatisticCard/index.js +72 -103
  406. package/lib/card/components/StatisticCard/style.js +41 -70
  407. package/lib/card/index.d.ts +2 -2
  408. package/lib/card/index.js +34 -41
  409. package/lib/card/typing.js +4 -16
  410. package/lib/descriptions/index.js +368 -436
  411. package/lib/descriptions/useFetchData.js +99 -100
  412. package/lib/field/AllProField.js +477 -415
  413. package/lib/field/FieldHOC/index.js +37 -56
  414. package/lib/field/PureProField.js +141 -187
  415. package/lib/field/ValueTypeToComponent.js +725 -454
  416. package/lib/field/components/Cascader/index.d.ts +2 -2
  417. package/lib/field/components/Cascader/index.js +132 -171
  418. package/lib/field/components/Checkbox/index.d.ts +1 -1
  419. package/lib/field/components/Checkbox/index.js +113 -155
  420. package/lib/field/components/Code/index.js +73 -86
  421. package/lib/field/components/ColorPicker/index.d.ts +1 -1
  422. package/lib/field/components/ColorPicker/index.js +61 -103
  423. package/lib/field/components/DatePicker/index.d.ts +2 -2
  424. package/lib/field/components/DatePicker/index.js +109 -145
  425. package/lib/field/components/Digit/index.js +92 -110
  426. package/lib/field/components/DigitRange/index.js +108 -122
  427. package/lib/field/components/FromNow/index.js +57 -90
  428. package/lib/field/components/Image/index.js +52 -76
  429. package/lib/field/components/IndexColumn/index.js +50 -72
  430. package/lib/field/components/Money/index.js +253 -281
  431. package/lib/field/components/Options/index.js +68 -98
  432. package/lib/field/components/Password/index.js +66 -85
  433. package/lib/field/components/Percent/index.js +80 -101
  434. package/lib/field/components/Percent/util.js +28 -33
  435. package/lib/field/components/Progress/index.js +61 -80
  436. package/lib/field/components/Radio/index.d.ts +1 -1
  437. package/lib/field/components/Radio/index.js +92 -134
  438. package/lib/field/components/RangePicker/index.d.ts +2 -2
  439. package/lib/field/components/RangePicker/index.js +129 -164
  440. package/lib/field/components/Rate/index.js +43 -60
  441. package/lib/field/components/Second/index.js +67 -84
  442. package/lib/field/components/Segmented/index.d.ts +1 -1
  443. package/lib/field/components/Segmented/index.js +74 -117
  444. package/lib/field/components/Select/LightSelect/index.d.ts +1 -1
  445. package/lib/field/components/Select/LightSelect/index.js +216 -282
  446. package/lib/field/components/Select/SearchSelect/index.js +195 -245
  447. package/lib/field/components/Select/index.d.ts +2 -2
  448. package/lib/field/components/Select/index.js +307 -379
  449. package/lib/field/components/Slider/index.js +43 -70
  450. package/lib/field/components/Status/index.js +89 -52
  451. package/lib/field/components/Switch/index.d.ts +1 -1
  452. package/lib/field/components/Switch/index.js +67 -98
  453. package/lib/field/components/Text/index.js +58 -74
  454. package/lib/field/components/TextArea/index.js +44 -80
  455. package/lib/field/components/TextArea/readonly.js +43 -76
  456. package/lib/field/components/TimePicker/index.js +188 -217
  457. package/lib/field/components/TreeSelect/index.d.ts +2 -2
  458. package/lib/field/components/TreeSelect/index.js +185 -206
  459. package/lib/field/index.js +240 -96
  460. package/lib/form/BaseForm/BaseForm.js +594 -634
  461. package/lib/form/BaseForm/EditOrReadOnlyContext.js +9 -36
  462. package/lib/form/BaseForm/LightWrapper/index.js +111 -182
  463. package/lib/form/BaseForm/LightWrapper/style.js +19 -56
  464. package/lib/form/BaseForm/Submitter/index.js +75 -126
  465. package/lib/form/BaseForm/index.js +37 -20
  466. package/lib/form/FieldContext.js +8 -36
  467. package/lib/form/components/Captcha/index.js +169 -196
  468. package/lib/form/components/Cascader/index.js +56 -104
  469. package/lib/form/components/Checkbox/index.js +83 -128
  470. package/lib/form/components/ColorPicker/index.js +51 -92
  471. package/lib/form/components/DatePicker/BaseDatePicker.js +54 -98
  472. package/lib/form/components/DatePicker/DatePicker.js +32 -77
  473. package/lib/form/components/DatePicker/DateTimePicker.js +32 -76
  474. package/lib/form/components/DatePicker/MonthPicker.js +32 -77
  475. package/lib/form/components/DatePicker/QuarterPicker.js +32 -77
  476. package/lib/form/components/DatePicker/TimePicker.js +55 -103
  477. package/lib/form/components/DatePicker/WeekPicker.js +32 -77
  478. package/lib/form/components/DatePicker/YearPicker.js +32 -77
  479. package/lib/form/components/DatePicker/index.js +19 -44
  480. package/lib/form/components/DateRangePicker/BaseDateRanger.js +53 -100
  481. package/lib/form/components/DateRangePicker/DateMonthRangePicker.js +36 -78
  482. package/lib/form/components/DateRangePicker/DateQuarterRangePicker.js +36 -78
  483. package/lib/form/components/DateRangePicker/DateTimeRangePicker.js +36 -78
  484. package/lib/form/components/DateRangePicker/DateWeekRangePicker.js +36 -78
  485. package/lib/form/components/DateRangePicker/DateYearRangePicker.js +36 -78
  486. package/lib/form/components/DateRangePicker/TimeRangePicker.js +53 -97
  487. package/lib/form/components/DateRangePicker/index.js +36 -78
  488. package/lib/form/components/Dependency/index.js +68 -127
  489. package/lib/form/components/Digit/DigitRange.d.ts +1 -1
  490. package/lib/form/components/Digit/DigitRange.js +50 -103
  491. package/lib/form/components/Digit/index.js +55 -106
  492. package/lib/form/components/Field/index.js +89 -153
  493. package/lib/form/components/FieldSet/index.js +107 -153
  494. package/lib/form/components/FormItem/FormItemRender/index.js +142 -114
  495. package/lib/form/components/FormItem/Group/index.js +143 -198
  496. package/lib/form/components/FormItem/Group/style.js +46 -77
  497. package/lib/form/components/FormItem/index.js +257 -316
  498. package/lib/form/components/FormItem/warpField.js +229 -308
  499. package/lib/form/components/List/ListContainer.js +227 -211
  500. package/lib/form/components/List/ListItem.js +267 -374
  501. package/lib/form/components/List/index.js +211 -277
  502. package/lib/form/components/List/style.js +53 -110
  503. package/lib/form/components/Money/index.js +58 -108
  504. package/lib/form/components/Radio/index.js +60 -114
  505. package/lib/form/components/Rate/index.js +45 -88
  506. package/lib/form/components/SchemaForm/index.js +154 -193
  507. package/lib/form/components/SchemaForm/layoutType/Embed.js +12 -24
  508. package/lib/form/components/SchemaForm/layoutType/StepsForm.js +43 -96
  509. package/lib/form/components/SchemaForm/layoutType/index.js +18 -35
  510. package/lib/form/components/SchemaForm/typing.js +4 -16
  511. package/lib/form/components/SchemaForm/valueType/dependency.js +25 -69
  512. package/lib/form/components/SchemaForm/valueType/divider.js +16 -45
  513. package/lib/form/components/SchemaForm/valueType/field.js +67 -128
  514. package/lib/form/components/SchemaForm/valueType/formList.js +22 -58
  515. package/lib/form/components/SchemaForm/valueType/formSet.js +22 -68
  516. package/lib/form/components/SchemaForm/valueType/group.js +21 -53
  517. package/lib/form/components/SchemaForm/valueType/ignore.js +8 -25
  518. package/lib/form/components/SchemaForm/valueType/index.js +27 -43
  519. package/lib/form/components/Segmented/index.js +50 -89
  520. package/lib/form/components/Select/index.js +125 -181
  521. package/lib/form/components/Slider/index.js +62 -119
  522. package/lib/form/components/Switch/index.js +55 -99
  523. package/lib/form/components/Text/index.js +141 -190
  524. package/lib/form/components/TextArea/index.js +42 -85
  525. package/lib/form/components/TreeSelect/index.js +50 -89
  526. package/lib/form/components/UploadButton/index.js +131 -172
  527. package/lib/form/components/UploadDragger/index.js +84 -119
  528. package/lib/form/components/index.js +294 -110
  529. package/lib/form/helpers/grid.js +82 -97
  530. package/lib/form/helpers/index.js +15 -18
  531. package/lib/form/index.js +78 -38
  532. package/lib/form/layouts/DrawerForm/index.js +317 -338
  533. package/lib/form/layouts/DrawerForm/style.js +31 -65
  534. package/lib/form/layouts/LightFilter/index.js +217 -293
  535. package/lib/form/layouts/LightFilter/style.js +54 -89
  536. package/lib/form/layouts/LoginForm/index.js +93 -133
  537. package/lib/form/layouts/LoginForm/style.js +73 -110
  538. package/lib/form/layouts/LoginFormPage/index.js +148 -174
  539. package/lib/form/layouts/LoginFormPage/style.js +133 -165
  540. package/lib/form/layouts/ModalForm/index.js +253 -273
  541. package/lib/form/layouts/ProForm/index.js +28 -68
  542. package/lib/form/layouts/QueryFilter/Actions.js +57 -77
  543. package/lib/form/layouts/QueryFilter/index.js +308 -390
  544. package/lib/form/layouts/QueryFilter/style.js +43 -84
  545. package/lib/form/layouts/StepsForm/StepForm.js +94 -146
  546. package/lib/form/layouts/StepsForm/index.js +351 -378
  547. package/lib/form/layouts/StepsForm/style.js +34 -65
  548. package/lib/form/layouts/index.js +62 -40
  549. package/lib/form/typing.js +4 -16
  550. package/lib/index.js +133 -34
  551. package/lib/layout/ProLayout.js +447 -528
  552. package/lib/layout/WrapContent.js +34 -46
  553. package/lib/layout/assert/Logo.js +110 -97
  554. package/lib/layout/components/AppsLogoComponents/AppsLogo.js +17 -29
  555. package/lib/layout/components/AppsLogoComponents/DefaultContent.js +55 -85
  556. package/lib/layout/components/AppsLogoComponents/SimpleContent.js +78 -95
  557. package/lib/layout/components/AppsLogoComponents/index.js +98 -105
  558. package/lib/layout/components/AppsLogoComponents/style/default.js +36 -55
  559. package/lib/layout/components/AppsLogoComponents/style/index.js +58 -94
  560. package/lib/layout/components/AppsLogoComponents/style/simple.js +41 -59
  561. package/lib/layout/components/CollapsedIcon/index.js +26 -82
  562. package/lib/layout/components/CollapsedIcon/style.js +47 -81
  563. package/lib/layout/components/Footer.js +33 -65
  564. package/lib/layout/components/FooterToolbar/index.js +87 -132
  565. package/lib/layout/components/FooterToolbar/style/index.js +43 -77
  566. package/lib/layout/components/FooterToolbar/style/stylish.js +16 -54
  567. package/lib/layout/components/GlobalFooter/index.js +43 -61
  568. package/lib/layout/components/GlobalFooter/style.js +37 -68
  569. package/lib/layout/components/GlobalHeader/ActionsContent.js +138 -208
  570. package/lib/layout/components/GlobalHeader/index.d.ts +0 -5
  571. package/lib/layout/components/GlobalHeader/index.js +86 -116
  572. package/lib/layout/components/GlobalHeader/rightContentStyle.js +57 -91
  573. package/lib/layout/components/GlobalHeader/style.js +62 -98
  574. package/lib/layout/components/GridContent/index.js +43 -64
  575. package/lib/layout/components/GridContent/style.js +19 -53
  576. package/lib/layout/components/Header/index.js +105 -156
  577. package/lib/layout/components/Header/style/header.js +53 -87
  578. package/lib/layout/components/Header/style/stylish.js +18 -58
  579. package/lib/layout/components/Help/AsyncContentPanel.js +59 -62
  580. package/lib/layout/components/Help/HelpProvide.js +59 -34
  581. package/lib/layout/components/Help/ProHelpContentPanel.js +139 -157
  582. package/lib/layout/components/Help/ProHelpDrawer.js +54 -102
  583. package/lib/layout/components/Help/ProHelpModal.js +53 -102
  584. package/lib/layout/components/Help/ProHelpPanel.js +192 -254
  585. package/lib/layout/components/Help/ProHelpPopover.js +46 -92
  586. package/lib/layout/components/Help/RenderContentPanel.js +97 -130
  587. package/lib/layout/components/Help/Search.js +130 -191
  588. package/lib/layout/components/Help/index.js +113 -74
  589. package/lib/layout/components/Help/style.js +96 -130
  590. package/lib/layout/components/PageContainer/index.js +245 -308
  591. package/lib/layout/components/PageContainer/style/index.js +83 -133
  592. package/lib/layout/components/PageContainer/style/stylish.js +16 -54
  593. package/lib/layout/components/PageHeader/index.js +149 -156
  594. package/lib/layout/components/PageHeader/style/index.js +129 -182
  595. package/lib/layout/components/PageLoading/index.js +28 -76
  596. package/lib/layout/components/SettingDrawer/BlockCheckbox.js +46 -71
  597. package/lib/layout/components/SettingDrawer/LayoutChange.js +114 -129
  598. package/lib/layout/components/SettingDrawer/RegionalChange.js +38 -65
  599. package/lib/layout/components/SettingDrawer/ThemeColor.js +55 -95
  600. package/lib/layout/components/SettingDrawer/icon/group.js +111 -105
  601. package/lib/layout/components/SettingDrawer/icon/sub.js +72 -133
  602. package/lib/layout/components/SettingDrawer/index.js +424 -447
  603. package/lib/layout/components/SettingDrawer/style/index.js +147 -161
  604. package/lib/layout/components/SiderMenu/Arrow.js +16 -34
  605. package/lib/layout/components/SiderMenu/BaseMenu.js +416 -487
  606. package/lib/layout/components/SiderMenu/SiderMenu.js +254 -367
  607. package/lib/layout/components/SiderMenu/index.js +81 -130
  608. package/lib/layout/components/SiderMenu/style/index.js +178 -226
  609. package/lib/layout/components/SiderMenu/style/menu.js +115 -188
  610. package/lib/layout/components/SiderMenu/style/stylish.js +18 -58
  611. package/lib/layout/components/TopNavHeader/index.js +117 -211
  612. package/lib/layout/components/TopNavHeader/style.js +72 -110
  613. package/lib/layout/context/RouteContext.js +6 -24
  614. package/lib/layout/defaultSettings.js +11 -29
  615. package/lib/layout/getPageTitle.js +53 -60
  616. package/lib/layout/index.js +145 -55
  617. package/lib/layout/locales/en-US/settingDrawer.js +47 -65
  618. package/lib/layout/locales/en-US.js +8 -48
  619. package/lib/layout/locales/index.js +24 -52
  620. package/lib/layout/locales/it-IT/settingDrawer.js +38 -56
  621. package/lib/layout/locales/it-IT.js +8 -48
  622. package/lib/layout/locales/ko-KR/settingDrawer.js +43 -61
  623. package/lib/layout/locales/ko-KR.js +8 -48
  624. package/lib/layout/locales/zh-CN/settingDrawer.js +47 -65
  625. package/lib/layout/locales/zh-CN.js +8 -48
  626. package/lib/layout/locales/zh-TW/settingDrawer.js +39 -57
  627. package/lib/layout/locales/zh-TW.js +8 -48
  628. package/lib/layout/style/index.js +48 -88
  629. package/lib/layout/typing.js +4 -16
  630. package/lib/layout/utils/getBreadcrumbProps.js +117 -107
  631. package/lib/layout/utils/getMenuData.js +23 -40
  632. package/lib/layout/utils/pathTools.js +14 -29
  633. package/lib/layout/utils/useCurrentMenuLayoutProps.js +27 -49
  634. package/lib/layout/utils/utils.js +40 -64
  635. package/lib/list/Item.js +229 -321
  636. package/lib/list/ListView.js +197 -260
  637. package/lib/list/constants.js +7 -35
  638. package/lib/list/index.js +132 -207
  639. package/lib/list/style/index.js +230 -302
  640. package/lib/provider/index.js +270 -215
  641. package/lib/provider/intl.js +140 -188
  642. package/lib/provider/locale/ar_EG.js +51 -69
  643. package/lib/provider/locale/ca_ES.js +49 -67
  644. package/lib/provider/locale/cs_CZ.js +54 -72
  645. package/lib/provider/locale/de_DE.js +51 -69
  646. package/lib/provider/locale/en_GB.js +53 -71
  647. package/lib/provider/locale/en_US.js +55 -73
  648. package/lib/provider/locale/es_ES.js +51 -69
  649. package/lib/provider/locale/fa_IR.js +51 -69
  650. package/lib/provider/locale/fr_FR.js +51 -69
  651. package/lib/provider/locale/he_IL.js +54 -72
  652. package/lib/provider/locale/hr_HR.js +51 -69
  653. package/lib/provider/locale/id_ID.js +51 -69
  654. package/lib/provider/locale/it_IT.js +51 -69
  655. package/lib/provider/locale/ja_JP.js +51 -69
  656. package/lib/provider/locale/ko_KR.js +51 -69
  657. package/lib/provider/locale/mn_MN.js +51 -69
  658. package/lib/provider/locale/ms_MY.js +51 -69
  659. package/lib/provider/locale/nl_NL.js +54 -72
  660. package/lib/provider/locale/pl_PL.js +51 -69
  661. package/lib/provider/locale/pt_BR.js +51 -69
  662. package/lib/provider/locale/ro_RO.js +54 -72
  663. package/lib/provider/locale/ru_RU.js +51 -69
  664. package/lib/provider/locale/sk_SK.js +54 -72
  665. package/lib/provider/locale/sr_RS.js +51 -69
  666. package/lib/provider/locale/sv_SE.js +54 -72
  667. package/lib/provider/locale/th_TH.js +54 -72
  668. package/lib/provider/locale/tr_TR.js +51 -69
  669. package/lib/provider/locale/uk_UA.js +54 -72
  670. package/lib/provider/locale/uz_UZ.js +51 -69
  671. package/lib/provider/locale/vi_VN.js +51 -69
  672. package/lib/provider/locale/zh_CN.js +54 -72
  673. package/lib/provider/locale/zh_HK.js +54 -72
  674. package/lib/provider/locale/zh_TW.js +54 -72
  675. package/lib/provider/typing/layoutToken.d.ts +0 -10
  676. package/lib/provider/typing/layoutToken.js +36 -69
  677. package/lib/provider/useStyle/index.d.ts +1 -1
  678. package/lib/provider/useStyle/index.js +98 -94
  679. package/lib/provider/utils/merge.js +18 -44
  680. package/lib/skeleton/components/Descriptions/index.js +246 -282
  681. package/lib/skeleton/components/List/index.js +221 -236
  682. package/lib/skeleton/components/Result/index.js +63 -84
  683. package/lib/skeleton/index.js +73 -79
  684. package/lib/table/Store/Provide.d.ts +0 -1
  685. package/lib/table/Store/Provide.js +147 -151
  686. package/lib/table/Table.js +664 -712
  687. package/lib/table/components/Alert/index.js +66 -67
  688. package/lib/table/components/Alert/style.js +33 -67
  689. package/lib/table/components/ColumnSetting/index.js +391 -404
  690. package/lib/table/components/ColumnSetting/style.js +77 -123
  691. package/lib/table/components/DragSortTable/index.js +110 -165
  692. package/lib/table/components/DragSortTable/style.js +25 -59
  693. package/lib/table/components/Dropdown/index.js +75 -108
  694. package/lib/table/components/EditableTable/CellEditorTable.js +55 -90
  695. package/lib/table/components/EditableTable/RowEditorTable.js +49 -87
  696. package/lib/table/components/EditableTable/index.js +351 -365
  697. package/lib/table/components/Form/FormRender.js +176 -201
  698. package/lib/table/components/Form/index.js +132 -161
  699. package/lib/table/components/ListToolBar/HeaderMenu.js +74 -128
  700. package/lib/table/components/ListToolBar/index.js +263 -302
  701. package/lib/table/components/ListToolBar/style.js +124 -149
  702. package/lib/table/components/ToolBar/DensityIcon.js +43 -71
  703. package/lib/table/components/ToolBar/FullscreenIcon.js +30 -45
  704. package/lib/table/components/ToolBar/index.js +247 -299
  705. package/lib/table/index.js +179 -71
  706. package/lib/table/style/index.js +135 -190
  707. package/lib/table/typing.d.ts +2 -2
  708. package/lib/table/typing.js +4 -16
  709. package/lib/table/useFetchData.js +437 -241
  710. package/lib/table/utils/cellRenderToFromItem.js +192 -277
  711. package/lib/table/utils/columnRender.js +126 -144
  712. package/lib/table/utils/columnSort.js +27 -39
  713. package/lib/table/utils/genProColumnToColumn.js +111 -141
  714. package/lib/table/utils/index.js +204 -128
  715. package/lib/table/utils/useDragSort.js +141 -188
  716. package/lib/utils/components/DropdownFooter/index.js +56 -89
  717. package/lib/utils/components/DropdownFooter/style.js +21 -55
  718. package/lib/utils/components/ErrorBoundary/index.js +55 -53
  719. package/lib/utils/components/FieldLabel/index.js +126 -176
  720. package/lib/utils/components/FieldLabel/style.js +87 -143
  721. package/lib/utils/components/FilterDropdown/index.js +61 -109
  722. package/lib/utils/components/FilterDropdown/style.js +22 -53
  723. package/lib/utils/components/InlineErrorFormItem/index.js +137 -193
  724. package/lib/utils/components/InlineErrorFormItem/style.js +56 -94
  725. package/lib/utils/components/LabelIconTip/index.js +62 -82
  726. package/lib/utils/components/LabelIconTip/style.js +41 -72
  727. package/lib/utils/components/ProFormContext/index.js +7 -34
  728. package/lib/utils/conversionMomentValue/index.js +112 -115
  729. package/lib/utils/dateArrayFormatter/index.js +38 -46
  730. package/lib/utils/genCopyable/index.js +49 -66
  731. package/lib/utils/getFieldPropsOrFormItemProps/index.js +15 -27
  732. package/lib/utils/hooks/useDebounceFn/index.js +63 -65
  733. package/lib/utils/hooks/useDebounceValue/index.js +35 -38
  734. package/lib/utils/hooks/useDeepCompareEffect/index.js +37 -61
  735. package/lib/utils/hooks/useDeepCompareMemo/index.js +17 -39
  736. package/lib/utils/hooks/useDocumentTitle/index.js +10 -28
  737. package/lib/utils/hooks/useFetchData/index.js +74 -89
  738. package/lib/utils/hooks/useForceRender/index.js +16 -26
  739. package/lib/utils/hooks/useLatest/index.js +11 -26
  740. package/lib/utils/hooks/usePrevious/index.js +9 -27
  741. package/lib/utils/hooks/useReactiveRef/index.js +10 -37
  742. package/lib/utils/hooks/useRefCallback/index.js +9 -27
  743. package/lib/utils/hooks/useRefFunction/index.js +16 -29
  744. package/lib/utils/index.d.ts +1 -3
  745. package/lib/utils/index.js +455 -138
  746. package/lib/utils/isBrowser/index.js +18 -27
  747. package/lib/utils/isDeepEqualReact/index.js +83 -70
  748. package/lib/utils/isDropdownValueType/index.js +8 -26
  749. package/lib/utils/isImg/index.js +6 -23
  750. package/lib/utils/isNil/index.js +7 -23
  751. package/lib/utils/isUrl/index.js +14 -28
  752. package/lib/utils/merge/index.js +26 -44
  753. package/lib/utils/nanoid/index.js +28 -36
  754. package/lib/utils/omitBoolean/index.js +12 -25
  755. package/lib/utils/omitUndefined/index.js +10 -28
  756. package/lib/utils/omitUndefinedAndEmptyArr/index.js +11 -29
  757. package/lib/utils/parseValueToMoment/index.js +26 -47
  758. package/lib/utils/pickProFormItemProps/index.js +12 -59
  759. package/lib/utils/pickProProps/index.js +13 -29
  760. package/lib/utils/proFieldParsingText/index.js +146 -77
  761. package/lib/utils/runFunction/index.js +12 -26
  762. package/lib/utils/stringify/index.js +14 -28
  763. package/lib/utils/transformKeySubmitValue/index.js +262 -160
  764. package/lib/utils/typing.js +4 -16
  765. package/lib/utils/useEditableArray/index.js +790 -630
  766. package/lib/utils/useEditableMap/index.js +188 -179
  767. package/lib/utils/useMediaQuery/index.js +53 -73
  768. package/lib/utils/useMediaQuery/query.js +23 -32
  769. package/lib/utils/useMountMergeState/index.d.ts +1 -1
  770. package/lib/utils/useMountMergeState/index.js +10 -33
  771. package/lib/version.js +7 -25
  772. package/package.json +4 -3
  773. package/es/card/components/TabPane/index.d.ts +0 -26
  774. package/es/card/components/TabPane/index.js +0 -84
  775. package/es/utils/compareVersions/coverToNewToken.d.ts +0 -2
  776. package/es/utils/compareVersions/coverToNewToken.js +0 -56
  777. package/es/utils/compareVersions/index.d.ts +0 -8
  778. package/es/utils/compareVersions/index.js +0 -48
  779. package/lib/card/components/TabPane/index.d.ts +0 -26
  780. package/lib/card/components/TabPane/index.js +0 -111
  781. package/lib/utils/compareVersions/coverToNewToken.d.ts +0 -2
  782. package/lib/utils/compareVersions/coverToNewToken.js +0 -73
  783. package/lib/utils/compareVersions/index.d.ts +0 -8
  784. package/lib/utils/compareVersions/index.js +0 -68
@@ -1,130 +1,89 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __defProps = Object.defineProperties;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
- var __getProtoOf = Object.getPrototypeOf;
9
- var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
- var __spreadValues = (a, b) => {
13
- for (var prop in b || (b = {}))
14
- if (__hasOwnProp.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- if (__getOwnPropSymbols)
17
- for (var prop of __getOwnPropSymbols(b)) {
18
- if (__propIsEnum.call(b, prop))
19
- __defNormalProp(a, prop, b[prop]);
20
- }
21
- return a;
22
- };
23
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
- var __objRest = (source, exclude) => {
25
- var target = {};
26
- for (var prop in source)
27
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
28
- target[prop] = source[prop];
29
- if (source != null && __getOwnPropSymbols)
30
- for (var prop of __getOwnPropSymbols(source)) {
31
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
32
- target[prop] = source[prop];
33
- }
34
- return target;
35
- };
36
- var __export = (target, all) => {
37
- for (var name in all)
38
- __defProp(target, name, { get: all[name], enumerable: true });
39
- };
40
- var __copyProps = (to, from, except, desc) => {
41
- if (from && typeof from === "object" || typeof from === "function") {
42
- for (let key of __getOwnPropNames(from))
43
- if (!__hasOwnProp.call(to, key) && key !== except)
44
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
45
- }
46
- return to;
47
- };
48
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
49
- // If the importer is in node compatibility mode or this is not an ESM
50
- // file that has been converted to a CommonJS file using a Babel-
51
- // compatible transform (i.e. "__esModule" has not been set), then set
52
- // "default" to the CommonJS "module.exports" for node compatibility.
53
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
54
- mod
55
- ));
56
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
57
- var __async = (__this, __arguments, generator) => {
58
- return new Promise((resolve, reject) => {
59
- var fulfilled = (value) => {
60
- try {
61
- step(generator.next(value));
62
- } catch (e) {
63
- reject(e);
64
- }
65
- };
66
- var rejected = (value) => {
67
- try {
68
- step(generator.throw(value));
69
- } catch (e) {
70
- reject(e);
71
- }
72
- };
73
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
74
- step((generator = generator.apply(__this, __arguments)).next());
75
- });
76
- };
1
+ "use strict";
77
2
 
78
- // src/utils/useEditableArray/index.tsx
79
- var useEditableArray_exports = {};
80
- __export(useEditableArray_exports, {
81
- DeleteEditableAction: () => DeleteEditableAction,
82
- SaveEditableAction: () => SaveEditableAction,
83
- defaultActionRender: () => defaultActionRender,
84
- editableRowByKey: () => editableRowByKey,
85
- recordKeyToString: () => recordKeyToString,
86
- useEditableArray: () => useEditableArray
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
87
7
  });
88
- module.exports = __toCommonJS(useEditableArray_exports);
89
- var import_icons = require("@ant-design/icons");
90
- var import_antd = require("antd");
91
- var import_useLazyKVMap = __toESM(require("antd/lib/table/hooks/useLazyKVMap"));
92
- var import_useMergedState = __toESM(require("rc-util/lib/hooks/useMergedState"));
93
- var import_get = __toESM(require("rc-util/lib/utils/get"));
94
- var import_set = __toESM(require("rc-util/lib/utils/set"));
95
- var import_warning = require("rc-util/lib/warning");
96
- var import_react = __toESM(require("react"));
97
- var import__ = require("..");
98
- var import_provider = require("../../provider");
99
- var import_ProFormContext = require("../components/ProFormContext");
100
- var import_useDeepCompareEffect = require("../hooks/useDeepCompareEffect");
101
- var import_usePrevious = require("../hooks/usePrevious");
102
- var import_merge = require("../merge");
103
- var import_useMountMergeState = require("../useMountMergeState");
104
- var warning = (messageStr) => {
105
- return (import_antd.message.warn || import_antd.message.warning)(messageStr);
8
+ exports.DeleteEditableAction = void 0;
9
+ exports.SaveEditableAction = SaveEditableAction;
10
+ exports.defaultActionRender = defaultActionRender;
11
+ exports.editableRowByKey = editableRowByKey;
12
+ exports.recordKeyToString = void 0;
13
+ exports.useEditableArray = useEditableArray;
14
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
16
+ var _toArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toArray"));
17
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
20
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
21
+ var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
22
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
23
+ var _icons = require("@ant-design/icons");
24
+ var _util = require("@rc-component/util");
25
+ var _antd = require("antd");
26
+ var _useLazyKVMap3 = _interopRequireDefault(require("antd/lib/table/hooks/useLazyKVMap"));
27
+ var _react = _interopRequireWildcard(require("react"));
28
+ var _ = require("..");
29
+ var _provider = require("../../provider");
30
+ var _ProFormContext = require("../components/ProFormContext");
31
+ var _useDeepCompareEffect = require("../hooks/useDeepCompareEffect");
32
+ var _usePrevious = require("../hooks/usePrevious");
33
+ var _merge = require("../merge");
34
+ var _useMountMergeState5 = require("../useMountMergeState");
35
+ var _jsxRuntime = require("react/jsx-runtime");
36
+ var _excluded = ["map_row_parentKey"],
37
+ _excluded2 = ["map_row_parentKey", "map_row_key"],
38
+ _excluded3 = ["map_row_key"];
39
+ /* eslint-disable react-hooks/exhaustive-deps */
40
+ var noteOnce = _util.warning.noteOnce;
41
+
42
+ /**
43
+ * 显示警告信息
44
+ * @param messageStr
45
+ */
46
+ var warning = function warning(messageStr) {
47
+ return _antd.message.warning(messageStr);
106
48
  };
107
- var recordKeyToString = (rowKey) => {
108
- if (Array.isArray(rowKey))
109
- return rowKey.join(",");
49
+ var recordKeyToString = exports.recordKeyToString = function recordKeyToString(rowKey) {
50
+ if (Array.isArray(rowKey)) return rowKey.join(',');
110
51
  return rowKey;
111
52
  };
53
+ /**
54
+ * 使用map 来删除数据,性能一般 但是准确率比较高
55
+ *
56
+ * @param keyProps
57
+ * @param action
58
+ */
112
59
  function editableRowByKey(keyProps, action) {
113
- var _a;
114
- const { getRowKey, row, data, childrenColumnName = "children" } = keyProps;
115
- const key = (_a = recordKeyToString(keyProps.key)) == null ? void 0 : _a.toString();
116
- const kvMap = /* @__PURE__ */ new Map();
60
+ var _recordKeyToString;
61
+ var getRowKey = keyProps.getRowKey,
62
+ row = keyProps.row,
63
+ data = keyProps.data,
64
+ _keyProps$childrenCol = keyProps.childrenColumnName,
65
+ childrenColumnName = _keyProps$childrenCol === void 0 ? 'children' : _keyProps$childrenCol;
66
+ var key = (_recordKeyToString = recordKeyToString(keyProps.key)) === null || _recordKeyToString === void 0 ? void 0 : _recordKeyToString.toString();
67
+ var kvMap = new Map();
68
+
69
+ /**
70
+ * 打平这个数组
71
+ *
72
+ * @param records
73
+ * @param parentKey
74
+ */
117
75
  function dig(records, map_row_parentKey, map_row_index) {
118
- records.forEach((record, index) => {
119
- const eachIndex = (map_row_index || 0) * 10 + index;
120
- const recordKey = getRowKey(record, eachIndex).toString();
121
- if (record && typeof record === "object" && childrenColumnName in record) {
76
+ records.forEach(function (record, index) {
77
+ var eachIndex = (map_row_index || 0) * 10 + index;
78
+ var recordKey = getRowKey(record, eachIndex).toString();
79
+ // children 取在前面方便拼的时候按照反顺序放回去
80
+ if (record && (0, _typeof2.default)(record) === 'object' && childrenColumnName in record) {
122
81
  dig(record[childrenColumnName] || [], recordKey, eachIndex);
123
82
  }
124
- const newRecord = __spreadProps(__spreadValues({}, record), {
83
+ var newRecord = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, record), {}, {
125
84
  map_row_key: recordKey,
126
- children: void 0,
127
- map_row_parentKey
85
+ children: undefined,
86
+ map_row_parentKey: map_row_parentKey
128
87
  });
129
88
  delete newRecord.children;
130
89
  if (!map_row_parentKey) {
@@ -133,55 +92,58 @@ function editableRowByKey(keyProps, action) {
133
92
  kvMap.set(recordKey, newRecord);
134
93
  });
135
94
  }
136
- if (action === "top") {
137
- kvMap.set(key, __spreadValues(__spreadValues({}, kvMap.get(key)), row));
95
+ if (action === 'top') {
96
+ kvMap.set(key, (0, _objectSpread3.default)((0, _objectSpread3.default)({}, kvMap.get(key)), row));
138
97
  }
139
98
  dig(data);
140
- if (action === "update") {
141
- kvMap.set(key, __spreadValues(__spreadValues({}, kvMap.get(key)), row));
99
+ if (action === 'update') {
100
+ kvMap.set(key, (0, _objectSpread3.default)((0, _objectSpread3.default)({}, kvMap.get(key)), row));
142
101
  }
143
- if (action === "delete") {
102
+ if (action === 'delete') {
144
103
  kvMap.delete(key);
145
104
  }
146
- const fill = (map) => {
147
- const kvArrayMap = /* @__PURE__ */ new Map();
148
- const kvSource = [];
149
- const fillNewRecord = (fillChildren = false) => {
150
- map.forEach((value) => {
151
- var _b;
105
+ var fill = function fill(map) {
106
+ var kvArrayMap = new Map();
107
+ var kvSource = [];
108
+ var fillNewRecord = function fillNewRecord() {
109
+ var fillChildren = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
110
+ map.forEach(function (value) {
152
111
  if (value.map_row_parentKey && !value.map_row_key) {
153
- const _a2 = value, { map_row_parentKey } = _a2, rest = __objRest(_a2, ["map_row_parentKey"]);
112
+ var map_row_parentKey = value.map_row_parentKey,
113
+ rest = (0, _objectWithoutProperties2.default)(value, _excluded);
154
114
  if (!kvArrayMap.has(map_row_parentKey)) {
155
115
  kvArrayMap.set(map_row_parentKey, []);
156
116
  }
157
117
  if (fillChildren) {
158
- (_b = kvArrayMap.get(map_row_parentKey)) == null ? void 0 : _b.push(rest);
118
+ var _kvArrayMap$get;
119
+ (_kvArrayMap$get = kvArrayMap.get(map_row_parentKey)) === null || _kvArrayMap$get === void 0 || _kvArrayMap$get.push(rest);
159
120
  }
160
121
  }
161
122
  });
162
123
  };
163
- fillNewRecord(action === "top");
164
- map.forEach((value) => {
165
- var _b;
124
+ fillNewRecord(action === 'top');
125
+ map.forEach(function (value) {
166
126
  if (value.map_row_parentKey && value.map_row_key) {
167
- const _a2 = value, { map_row_parentKey, map_row_key } = _a2, rest = __objRest(_a2, ["map_row_parentKey", "map_row_key"]);
127
+ var _kvArrayMap$get2;
128
+ var map_row_parentKey = value.map_row_parentKey,
129
+ map_row_key = value.map_row_key,
130
+ rest = (0, _objectWithoutProperties2.default)(value, _excluded2);
168
131
  if (kvArrayMap.has(map_row_key)) {
169
132
  rest[childrenColumnName] = kvArrayMap.get(map_row_key);
170
133
  }
171
134
  if (!kvArrayMap.has(map_row_parentKey)) {
172
135
  kvArrayMap.set(map_row_parentKey, []);
173
136
  }
174
- (_b = kvArrayMap.get(map_row_parentKey)) == null ? void 0 : _b.push(rest);
137
+ (_kvArrayMap$get2 = kvArrayMap.get(map_row_parentKey)) === null || _kvArrayMap$get2 === void 0 || _kvArrayMap$get2.push(rest);
175
138
  }
176
139
  });
177
- fillNewRecord(action === "update");
178
- map.forEach((value) => {
140
+ fillNewRecord(action === 'update');
141
+ map.forEach(function (value) {
179
142
  if (!value.map_row_parentKey) {
180
- const _a2 = value, { map_row_key } = _a2, rest = __objRest(_a2, ["map_row_key"]);
143
+ var map_row_key = value.map_row_key,
144
+ rest = (0, _objectWithoutProperties2.default)(value, _excluded3);
181
145
  if (map_row_key && kvArrayMap.has(map_row_key)) {
182
- const item = __spreadProps(__spreadValues({}, rest), {
183
- [childrenColumnName]: kvArrayMap.get(map_row_key)
184
- });
146
+ var item = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, rest), {}, (0, _defineProperty2.default)({}, childrenColumnName, kvArrayMap.get(map_row_key)));
185
147
  kvSource.push(item);
186
148
  return;
187
149
  }
@@ -192,202 +154,282 @@ function editableRowByKey(keyProps, action) {
192
154
  };
193
155
  return fill(kvMap);
194
156
  }
195
- function SaveEditableAction({
196
- recordKey,
197
- onSave,
198
- row,
199
- children,
200
- newLineConfig,
201
- editorType,
202
- tableName
203
- }, ref) {
204
- const context = (0, import_react.useContext)(import_ProFormContext.ProFormContext);
205
- const form = import_antd.Form.useFormInstance();
206
- const [loading, setLoading] = (0, import_useMountMergeState.useMountMergeState)(false);
207
- const save = (0, import__.useRefFunction)(() => __async(this, null, function* () {
208
- var _a;
209
- try {
210
- const isMapEditor = editorType === "Map";
211
- const namePath = [
212
- tableName,
213
- Array.isArray(recordKey) ? recordKey[0] : recordKey
214
- ].map((key) => key == null ? void 0 : key.toString()).flat(1).filter(Boolean);
215
- setLoading(true);
216
- yield form.validateFields(namePath, {
217
- recursive: true
218
- });
219
- const fields = ((_a = context == null ? void 0 : context.getFieldFormatValue) == null ? void 0 : _a.call(context, namePath)) || form.getFieldValue(namePath);
220
- if (Array.isArray(recordKey) && recordKey.length > 1) {
221
- const [, ...recordKeyPath] = recordKey;
222
- const curValue = (0, import_get.default)(fields, recordKeyPath);
223
- (0, import_set.default)(fields, recordKeyPath, curValue);
157
+
158
+ /**
159
+ * 保存按钮的dom
160
+ *
161
+ * @param ActionRenderConfig
162
+ */
163
+ function SaveEditableAction(_ref, ref) {
164
+ var recordKey = _ref.recordKey,
165
+ onSave = _ref.onSave,
166
+ row = _ref.row,
167
+ children = _ref.children,
168
+ newLineConfig = _ref.newLineConfig,
169
+ editorType = _ref.editorType,
170
+ tableName = _ref.tableName;
171
+ var context = (0, _react.useContext)(_ProFormContext.ProFormContext);
172
+ var form = _antd.Form.useFormInstance();
173
+ var _useMountMergeState = (0, _useMountMergeState5.useMountMergeState)(false),
174
+ _useMountMergeState2 = (0, _slicedToArray2.default)(_useMountMergeState, 2),
175
+ loading = _useMountMergeState2[0],
176
+ setLoading = _useMountMergeState2[1];
177
+ var save = (0, _.useRefFunction)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
178
+ var _context$getFieldForm, isMapEditor, namePath, fields, _recordKey, recordKeyPath, curValue, data, res;
179
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
180
+ while (1) switch (_context.prev = _context.next) {
181
+ case 0:
182
+ _context.prev = 0;
183
+ isMapEditor = editorType === 'Map'; // 为了兼容类型为 array 的 dataIndex,当 recordKey 是一个数组时,用于获取表单值的 key 只取第一项,
184
+ // 从表单中获取回来之后,再根据 namepath 获取具体的某个字段并设置
185
+ namePath = [tableName, Array.isArray(recordKey) ? recordKey[0] : recordKey].map(function (key) {
186
+ return key === null || key === void 0 ? void 0 : key.toString();
187
+ }).flat(1).filter(Boolean);
188
+ setLoading(true);
189
+ _context.next = 6;
190
+ return form.validateFields(namePath, {
191
+ recursive: true
192
+ });
193
+ case 6:
194
+ fields = (context === null || context === void 0 || (_context$getFieldForm = context.getFieldFormatValue) === null || _context$getFieldForm === void 0 ? void 0 : _context$getFieldForm.call(context, namePath)) || form.getFieldValue(namePath); // 处理 dataIndex 为数组的情况
195
+ if (Array.isArray(recordKey) && recordKey.length > 1) {
196
+ // 获取 namepath
197
+ _recordKey = (0, _toArray2.default)(recordKey), recordKeyPath = _recordKey.slice(1); // 将目标值获取出来并设置到 fields 当中
198
+ curValue = (0, _util.get)(fields, recordKeyPath);
199
+ (0, _util.set)(fields, recordKeyPath, curValue);
200
+ }
201
+ data = isMapEditor ? (0, _util.set)({}, namePath, fields) : fields; // 获取数据并保存
202
+ _context.next = 11;
203
+ return onSave === null || onSave === void 0 ? void 0 : onSave(recordKey,
204
+ // 如果是 map 模式,fields 就是一个值,所以需要set 到对象中
205
+ // 数据模式 fields 是一个对象,所以不需要
206
+ (0, _merge.merge)({}, row, data), row, newLineConfig);
207
+ case 11:
208
+ res = _context.sent;
209
+ setLoading(false);
210
+ return _context.abrupt("return", res);
211
+ case 16:
212
+ _context.prev = 16;
213
+ _context.t0 = _context["catch"](0);
214
+ setLoading(false);
215
+ throw _context.t0;
216
+ case 20:
217
+ case "end":
218
+ return _context.stop();
224
219
  }
225
- const data = isMapEditor ? (0, import_set.default)({}, namePath, fields) : fields;
226
- const res = yield onSave == null ? void 0 : onSave(
227
- recordKey,
228
- // 如果是 map 模式,fields 就是一个值,所以需要set 到对象中
229
- // 数据模式 fields 是一个对象,所以不需要
230
- (0, import_merge.merge)({}, row, data),
231
- row,
232
- newLineConfig
233
- );
234
- setLoading(false);
235
- return res;
236
- } catch (error) {
237
- setLoading(false);
238
- throw error;
239
- }
240
- }));
241
- (0, import_react.useImperativeHandle)(
242
- ref,
243
- () => ({
244
- save
245
- }),
246
- [save]
247
- );
248
- return /* @__PURE__ */ import_react.default.createElement(
249
- "a",
250
- {
251
- key: "save",
252
- onClick: (e) => __async(this, null, function* () {
253
- e.stopPropagation();
254
- e.preventDefault();
255
- try {
256
- yield save();
257
- } catch (e2) {
258
- }
259
- })
260
- },
261
- loading ? /* @__PURE__ */ import_react.default.createElement(
262
- import_icons.LoadingOutlined,
263
- {
264
- style: {
265
- marginInlineEnd: 8
266
- }
220
+ }, _callee, null, [[0, 16]]);
221
+ })));
222
+
223
+ // 保存数据
224
+ (0, _react.useImperativeHandle)(ref, function () {
225
+ return {
226
+ save: save
227
+ };
228
+ }, [save]);
229
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("a", {
230
+ onClick: ( /*#__PURE__*/function () {
231
+ var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2(e) {
232
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
233
+ while (1) switch (_context2.prev = _context2.next) {
234
+ case 0:
235
+ e.stopPropagation();
236
+ e.preventDefault();
237
+ _context2.prev = 2;
238
+ _context2.next = 5;
239
+ return save();
240
+ case 5:
241
+ _context2.next = 9;
242
+ break;
243
+ case 7:
244
+ _context2.prev = 7;
245
+ _context2.t0 = _context2["catch"](2);
246
+ case 9:
247
+ case "end":
248
+ return _context2.stop();
249
+ }
250
+ }, _callee2, null, [[2, 7]]);
251
+ }));
252
+ return function (_x) {
253
+ return _ref3.apply(this, arguments);
254
+ };
255
+ }()),
256
+ children: [loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.LoadingOutlined, {
257
+ style: {
258
+ marginInlineEnd: 8
267
259
  }
268
- ) : null,
269
- children || "保存"
270
- );
260
+ }) : null, children || '保存']
261
+ }, "save");
271
262
  }
272
- var DeleteEditableAction = ({
273
- recordKey,
274
- onDelete,
275
- preEditRowRef,
276
- row,
277
- children,
278
- deletePopconfirmMessage
279
- }) => {
280
- const [loading, setLoading] = (0, import_useMountMergeState.useMountMergeState)(() => false);
281
- const onConfirm = (0, import__.useRefFunction)(() => __async(void 0, null, function* () {
282
- try {
283
- setLoading(true);
284
- const res = yield onDelete == null ? void 0 : onDelete(recordKey, row);
285
- setLoading(false);
286
- return res;
287
- } catch (e) {
288
- setLoading(false);
289
- return null;
290
- } finally {
291
- if (preEditRowRef)
292
- preEditRowRef.current = null;
293
- }
294
- }));
295
- return children !== false ? /* @__PURE__ */ import_react.default.createElement(
296
- import_antd.Popconfirm,
297
- {
298
- key: "delete",
299
- title: deletePopconfirmMessage,
300
- onConfirm: () => onConfirm()
263
+ /**
264
+ * 删除按钮 dom
265
+ *
266
+ * @param ActionRenderConfig
267
+ */
268
+ var DeleteEditableAction = exports.DeleteEditableAction = function DeleteEditableAction(_ref4) {
269
+ var recordKey = _ref4.recordKey,
270
+ onDelete = _ref4.onDelete,
271
+ preEditRowRef = _ref4.preEditRowRef,
272
+ row = _ref4.row,
273
+ children = _ref4.children,
274
+ deletePopconfirmMessage = _ref4.deletePopconfirmMessage;
275
+ var _useMountMergeState3 = (0, _useMountMergeState5.useMountMergeState)(function () {
276
+ return false;
277
+ }),
278
+ _useMountMergeState4 = (0, _slicedToArray2.default)(_useMountMergeState3, 2),
279
+ loading = _useMountMergeState4[0],
280
+ setLoading = _useMountMergeState4[1];
281
+ var _onConfirm = (0, _.useRefFunction)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee3() {
282
+ var res;
283
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee3$(_context3) {
284
+ while (1) switch (_context3.prev = _context3.next) {
285
+ case 0:
286
+ _context3.prev = 0;
287
+ setLoading(true);
288
+ _context3.next = 4;
289
+ return onDelete === null || onDelete === void 0 ? void 0 : onDelete(recordKey, row);
290
+ case 4:
291
+ res = _context3.sent;
292
+ setLoading(false);
293
+ return _context3.abrupt("return", res);
294
+ case 9:
295
+ _context3.prev = 9;
296
+ _context3.t0 = _context3["catch"](0);
297
+ setLoading(false);
298
+ return _context3.abrupt("return", null);
299
+ case 13:
300
+ _context3.prev = 13;
301
+ if (preEditRowRef) preEditRowRef.current = null;
302
+ return _context3.finish(13);
303
+ case 16:
304
+ case "end":
305
+ return _context3.stop();
306
+ }
307
+ }, _callee3, null, [[0, 9, 13, 16]]);
308
+ })));
309
+ return children !== false ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Popconfirm, {
310
+ title: deletePopconfirmMessage,
311
+ onConfirm: function onConfirm() {
312
+ return _onConfirm();
301
313
  },
302
- /* @__PURE__ */ import_react.default.createElement("a", null, loading ? /* @__PURE__ */ import_react.default.createElement(
303
- import_icons.LoadingOutlined,
304
- {
314
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("a", {
315
+ children: [loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.LoadingOutlined, {
305
316
  style: {
306
317
  marginInlineEnd: 8
307
318
  }
308
- }
309
- ) : null, children || "删除")
310
- ) : null;
319
+ }) : null, children || '删除']
320
+ })
321
+ }, "delete") : null;
311
322
  };
312
- var CancelEditableAction = (props) => {
313
- const {
314
- recordKey,
315
- tableName,
316
- newLineConfig,
317
- editorType,
318
- onCancel,
319
- cancelEditable,
320
- row,
321
- cancelText,
322
- preEditRowRef
323
- } = props;
324
- const context = (0, import_react.useContext)(import_ProFormContext.ProFormContext);
325
- const form = import_antd.Form.useFormInstance();
326
- return /* @__PURE__ */ import_react.default.createElement(
327
- "a",
328
- {
329
- key: "cancel",
330
- onClick: (e) => __async(void 0, null, function* () {
331
- var _a, _b;
332
- e.stopPropagation();
333
- e.preventDefault();
334
- const isMapEditor = editorType === "Map";
335
- const namePath = [tableName, recordKey].flat(1).filter(Boolean);
336
- const fields = ((_a = context == null ? void 0 : context.getFieldFormatValue) == null ? void 0 : _a.call(context, namePath)) || (form == null ? void 0 : form.getFieldValue(namePath));
337
- const record = isMapEditor ? (0, import_set.default)({}, namePath, fields) : fields;
338
- const res = yield onCancel == null ? void 0 : onCancel(recordKey, record, row, newLineConfig);
339
- yield cancelEditable(recordKey);
340
- if ((preEditRowRef == null ? void 0 : preEditRowRef.current) !== null) {
341
- form.setFieldsValue((0, import_set.default)({}, namePath, preEditRowRef == null ? void 0 : preEditRowRef.current));
342
- } else {
343
- yield (_b = props.onDelete) == null ? void 0 : _b.call(props, recordKey, row);
344
- }
345
- if (preEditRowRef)
346
- preEditRowRef.current = null;
347
- return res;
348
- })
349
- },
350
- cancelText || "取消"
351
- );
323
+ var CancelEditableAction = function CancelEditableAction(props) {
324
+ var recordKey = props.recordKey,
325
+ tableName = props.tableName,
326
+ newLineConfig = props.newLineConfig,
327
+ editorType = props.editorType,
328
+ onCancel = props.onCancel,
329
+ cancelEditable = props.cancelEditable,
330
+ row = props.row,
331
+ cancelText = props.cancelText,
332
+ preEditRowRef = props.preEditRowRef;
333
+ var context = (0, _react.useContext)(_ProFormContext.ProFormContext);
334
+ var form = _antd.Form.useFormInstance();
335
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
336
+ onClick: ( /*#__PURE__*/function () {
337
+ var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee4(e) {
338
+ var _context$getFieldForm2;
339
+ var isMapEditor, namePath, fields, record, res, _props$onDelete;
340
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee4$(_context4) {
341
+ while (1) switch (_context4.prev = _context4.next) {
342
+ case 0:
343
+ e.stopPropagation();
344
+ e.preventDefault();
345
+ isMapEditor = editorType === 'Map';
346
+ namePath = [tableName, recordKey].flat(1).filter(Boolean);
347
+ fields = (context === null || context === void 0 || (_context$getFieldForm2 = context.getFieldFormatValue) === null || _context$getFieldForm2 === void 0 ? void 0 : _context$getFieldForm2.call(context, namePath)) || (form === null || form === void 0 ? void 0 : form.getFieldValue(namePath));
348
+ record = isMapEditor ? (0, _util.set)({}, namePath, fields) : fields;
349
+ _context4.next = 8;
350
+ return onCancel === null || onCancel === void 0 ? void 0 : onCancel(recordKey, record, row, newLineConfig);
351
+ case 8:
352
+ res = _context4.sent;
353
+ _context4.next = 11;
354
+ return cancelEditable(recordKey);
355
+ case 11:
356
+ if (!((preEditRowRef === null || preEditRowRef === void 0 ? void 0 : preEditRowRef.current) !== null)) {
357
+ _context4.next = 15;
358
+ break;
359
+ }
360
+ form.setFieldsValue((0, _util.set)({}, namePath, preEditRowRef === null || preEditRowRef === void 0 ? void 0 : preEditRowRef.current));
361
+ _context4.next = 17;
362
+ break;
363
+ case 15:
364
+ _context4.next = 17;
365
+ return (_props$onDelete = props.onDelete) === null || _props$onDelete === void 0 ? void 0 : _props$onDelete.call(props, recordKey, row);
366
+ case 17:
367
+ if (preEditRowRef) preEditRowRef.current = null;
368
+ return _context4.abrupt("return", res);
369
+ case 19:
370
+ case "end":
371
+ return _context4.stop();
372
+ }
373
+ }, _callee4);
374
+ }));
375
+ return function (_x2) {
376
+ return _ref6.apply(this, arguments);
377
+ };
378
+ }()),
379
+ children: cancelText || '取消'
380
+ }, "cancel");
352
381
  };
353
382
  function defaultActionRender(row, config) {
354
- const { recordKey, newLineConfig, saveText, deleteText } = config;
355
- const SaveEditableActionRef = (0, import_react.forwardRef)(
356
- SaveEditableAction
357
- );
358
- const saveRef = (0, import_react.createRef)();
383
+ var recordKey = config.recordKey,
384
+ newLineConfig = config.newLineConfig,
385
+ saveText = config.saveText,
386
+ deleteText = config.deleteText;
387
+ var SaveEditableActionRef = /*#__PURE__*/(0, _react.forwardRef)(SaveEditableAction);
388
+ var saveRef = /*#__PURE__*/(0, _react.createRef)();
359
389
  return {
360
- save: /* @__PURE__ */ import_react.default.createElement(
361
- SaveEditableActionRef,
362
- __spreadProps(__spreadValues({
363
- key: "save" + recordKey
364
- }, config), {
365
- row,
366
- ref: saveRef
367
- }),
368
- saveText
369
- ),
370
- saveRef,
371
- delete: (newLineConfig == null ? void 0 : newLineConfig.options.recordKey) !== recordKey ? /* @__PURE__ */ import_react.default.createElement(DeleteEditableAction, __spreadProps(__spreadValues({ key: "delete" + recordKey }, config), { row }), deleteText) : void 0,
372
- cancel: /* @__PURE__ */ import_react.default.createElement(CancelEditableAction, __spreadProps(__spreadValues({ key: "cancel" + recordKey }, config), { row }))
390
+ save: /*#__PURE__*/(0, _jsxRuntime.jsx)(SaveEditableActionRef, (0, _objectSpread3.default)((0, _objectSpread3.default)({}, config), {}, {
391
+ row: row,
392
+ ref: saveRef,
393
+ children: saveText
394
+ }), 'save' + recordKey),
395
+ saveRef: saveRef,
396
+ delete: (newLineConfig === null || newLineConfig === void 0 ? void 0 : newLineConfig.options.recordKey) !== recordKey ? /*#__PURE__*/(0, _jsxRuntime.jsx)(DeleteEditableAction, (0, _objectSpread3.default)((0, _objectSpread3.default)({}, config), {}, {
397
+ row: row,
398
+ children: deleteText
399
+ }), 'delete' + recordKey) : undefined,
400
+ cancel: /*#__PURE__*/(0, _jsxRuntime.jsx)(CancelEditableAction, (0, _objectSpread3.default)((0, _objectSpread3.default)({}, config), {}, {
401
+ row: row
402
+ }), 'cancel' + recordKey)
373
403
  };
374
404
  }
405
+
406
+ /**
407
+ * 一个方便的hooks 用于维护编辑的状态
408
+ *
409
+ * @param props
410
+ */
375
411
  function useEditableArray(props) {
376
- const intl = (0, import_provider.useIntl)();
377
- const preEditRowRef = (0, import_react.useRef)(null);
378
- const [newLineRecordCache, setNewLineRecordCache] = (0, import_react.useState)(void 0);
379
- const resetMapRef = () => {
380
- const map = /* @__PURE__ */ new Map();
381
- const loopGetKey = (dataSource, parentKey) => {
382
- dataSource == null ? void 0 : dataSource.forEach((record, index) => {
383
- var _a;
384
- const key = parentKey === void 0 || parentKey === null ? index.toString() : parentKey + "_" + index.toString();
412
+ // Internationalization
413
+ var intl = (0, _provider.useIntl)();
414
+
415
+ /**
416
+ * 点击开始编辑之前的保存数据用的
417
+ */
418
+ var preEditRowRef = (0, _react.useRef)(null);
419
+ var _useState = (0, _react.useState)(undefined),
420
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
421
+ newLineRecordCache = _useState2[0],
422
+ setNewLineRecordCache = _useState2[1];
423
+ var resetMapRef = function resetMapRef() {
424
+ var map = new Map();
425
+ //存在children时会覆盖Map的key,导致使用数组索引查找key错误
426
+ var loopGetKey = function loopGetKey(dataSource, parentKey) {
427
+ dataSource === null || dataSource === void 0 || dataSource.forEach(function (record, index) {
428
+ var _recordKeyToString2;
429
+ var key = parentKey === undefined || parentKey === null ? index.toString() : parentKey + '_' + index.toString();
385
430
  map.set(key, recordKeyToString(props.getRowKey(record, -1)));
386
- map.set(
387
- (_a = recordKeyToString(props.getRowKey(record, -1))) == null ? void 0 : _a.toString(),
388
- key
389
- );
390
- if (props.childrenColumnName && (record == null ? void 0 : record[props.childrenColumnName])) {
431
+ map.set((_recordKeyToString2 = recordKeyToString(props.getRowKey(record, -1))) === null || _recordKeyToString2 === void 0 ? void 0 : _recordKeyToString2.toString(), key);
432
+ if (props.childrenColumnName && record !== null && record !== void 0 && record[props.childrenColumnName]) {
391
433
  loopGetKey(record[props.childrenColumnName], key);
392
434
  }
393
435
  });
@@ -395,350 +437,468 @@ function useEditableArray(props) {
395
437
  loopGetKey(props.dataSource);
396
438
  return map;
397
439
  };
398
- const initDataSourceKeyIndexMap = (0, import_react.useMemo)(() => resetMapRef(), []);
399
- const dataSourceKeyIndexMapRef = (0, import_react.useRef)(
400
- initDataSourceKeyIndexMap
401
- );
402
- const newLineRecordRef = (0, import_react.useRef)(
403
- void 0
404
- );
405
- (0, import_useDeepCompareEffect.useDeepCompareEffectDebounce)(() => {
440
+ var initDataSourceKeyIndexMap = (0, _react.useMemo)(function () {
441
+ return resetMapRef();
442
+ }, []);
443
+ var dataSourceKeyIndexMapRef = (0, _react.useRef)(initDataSourceKeyIndexMap);
444
+ var newLineRecordRef = (0, _react.useRef)(undefined);
445
+ (0, _useDeepCompareEffect.useDeepCompareEffectDebounce)(function () {
406
446
  dataSourceKeyIndexMapRef.current = resetMapRef();
407
447
  }, [props.dataSource]);
448
+
449
+ // 这里这么做是为了存上次的状态,不然每次存一下再拿
408
450
  newLineRecordRef.current = newLineRecordCache;
409
- const editableType = props.type || "single";
410
- const [getRecordByKey] = (0, import_useLazyKVMap.default)(
411
- props.dataSource,
412
- "children",
413
- props.getRowKey
414
- );
415
- const [editableKeys, setEditableRowKeys] = (0, import_useMergedState.default)([], {
416
- value: props.editableKeys,
417
- onChange: props.onChange ? (keys) => {
418
- var _a, _b, _c;
419
- (_c = props == null ? void 0 : props.onChange) == null ? void 0 : _c.call(
420
- props,
421
- // 计算编辑的key
422
- (_a = keys == null ? void 0 : keys.filter((key) => key !== void 0)) != null ? _a : [],
423
- // 计算编辑的行
424
- (_b = keys == null ? void 0 : keys.map((key) => getRecordByKey(key)).filter((key) => key !== void 0)) != null ? _b : []
425
- );
426
- } : void 0
427
- });
428
- const editableKeysSet = (0, import_react.useMemo)(() => {
429
- const keys = editableType === "single" ? editableKeys == null ? void 0 : editableKeys.slice(0, 1) : editableKeys;
451
+ var editableType = props.type || 'single';
452
+ var _useLazyKVMap = (0, _useLazyKVMap3.default)(props.dataSource, 'children', props.getRowKey),
453
+ _useLazyKVMap2 = (0, _slicedToArray2.default)(_useLazyKVMap, 1),
454
+ getRecordByKey = _useLazyKVMap2[0];
455
+ var _useMergedState = (0, _util.useMergedState)([], {
456
+ value: props.editableKeys,
457
+ onChange: props.onChange ? function (keys) {
458
+ var _props$onChange, _keys$filter, _keys$map$filter;
459
+ props === null || props === void 0 || (_props$onChange = props.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props, // 计算编辑的key
460
+ (_keys$filter = keys === null || keys === void 0 ? void 0 : keys.filter(function (key) {
461
+ return key !== undefined;
462
+ })) !== null && _keys$filter !== void 0 ? _keys$filter : [], // 计算编辑的行
463
+ (_keys$map$filter = keys === null || keys === void 0 ? void 0 : keys.map(function (key) {
464
+ return getRecordByKey(key);
465
+ }).filter(function (key) {
466
+ return key !== undefined;
467
+ })) !== null && _keys$map$filter !== void 0 ? _keys$map$filter : []);
468
+ } : undefined
469
+ }),
470
+ _useMergedState2 = (0, _slicedToArray2.default)(_useMergedState, 2),
471
+ editableKeys = _useMergedState2[0],
472
+ setEditableRowKeys = _useMergedState2[1];
473
+
474
+ /** 一个用来标志的set 提供了方便的 api 来去重什么的 */
475
+ var editableKeysSet = (0, _react.useMemo)(function () {
476
+ var keys = editableType === 'single' ? editableKeys === null || editableKeys === void 0 ? void 0 : editableKeys.slice(0, 1) : editableKeys;
430
477
  return new Set(keys);
431
- }, [(editableKeys || []).join(","), editableType]);
432
- const editableKeysRef = (0, import_usePrevious.usePrevious)(editableKeys);
433
- const isEditable = (0, import__.useRefFunction)((row) => {
434
- var _a, _b, _c, _d;
435
- const recordKeyOrIndex = (_b = (_a = props.getRowKey(row, row.index)) == null ? void 0 : _a.toString) == null ? void 0 : _b.call(_a);
436
- const recordKey = (_d = (_c = props.getRowKey(row, -1)) == null ? void 0 : _c.toString) == null ? void 0 : _d.call(_c);
437
- const stringEditableKeys = editableKeys == null ? void 0 : editableKeys.map((key) => key == null ? void 0 : key.toString());
438
- const stringEditableKeysRef = (editableKeysRef == null ? void 0 : editableKeysRef.map((key) => key == null ? void 0 : key.toString())) || [];
439
- const preIsEditable = props.tableName && !!(stringEditableKeysRef == null ? void 0 : stringEditableKeysRef.includes(recordKey)) || !!(stringEditableKeysRef == null ? void 0 : stringEditableKeysRef.includes(recordKeyOrIndex));
478
+ }, [(editableKeys || []).join(','), editableType]);
479
+ var editableKeysRef = (0, _usePrevious.usePrevious)(editableKeys);
480
+
481
+ /** 这行是不是编辑状态 */
482
+ var isEditable = (0, _.useRefFunction)(function (row) {
483
+ var _props$getRowKey, _props$getRowKey$toSt, _props$getRowKey2, _props$getRowKey2$toS;
484
+ // 为了兼容一下name 模式的 indexKey,所以需要判断两次,一次是index,一次是没有 index
485
+ var recordKeyOrIndex = (_props$getRowKey = props.getRowKey(row, row.index)) === null || _props$getRowKey === void 0 || (_props$getRowKey$toSt = _props$getRowKey.toString) === null || _props$getRowKey$toSt === void 0 ? void 0 : _props$getRowKey$toSt.call(_props$getRowKey);
486
+ // 这里是不设置 index 的地方
487
+ var recordKey = (_props$getRowKey2 = props.getRowKey(row, -1)) === null || _props$getRowKey2 === void 0 || (_props$getRowKey2$toS = _props$getRowKey2.toString) === null || _props$getRowKey2$toS === void 0 ? void 0 : _props$getRowKey2$toS.call(_props$getRowKey2);
488
+
489
+ // 都转化为了字符串,不然 number 和 string
490
+ var stringEditableKeys = editableKeys === null || editableKeys === void 0 ? void 0 : editableKeys.map(function (key) {
491
+ return key === null || key === void 0 ? void 0 : key.toString();
492
+ });
493
+ var stringEditableKeysRef = (editableKeysRef === null || editableKeysRef === void 0 ? void 0 : editableKeysRef.map(function (key) {
494
+ return key === null || key === void 0 ? void 0 : key.toString();
495
+ })) || [];
496
+ var preIsEditable = props.tableName && !!(stringEditableKeysRef !== null && stringEditableKeysRef !== void 0 && stringEditableKeysRef.includes(recordKey)) || !!(stringEditableKeysRef !== null && stringEditableKeysRef !== void 0 && stringEditableKeysRef.includes(recordKeyOrIndex));
440
497
  return {
441
- recordKey,
442
- isEditable: props.tableName && (stringEditableKeys == null ? void 0 : stringEditableKeys.includes(recordKey)) || (stringEditableKeys == null ? void 0 : stringEditableKeys.includes(recordKeyOrIndex)),
443
- preIsEditable
498
+ recordKey: recordKey,
499
+ isEditable: props.tableName && (stringEditableKeys === null || stringEditableKeys === void 0 ? void 0 : stringEditableKeys.includes(recordKey)) || (stringEditableKeys === null || stringEditableKeys === void 0 ? void 0 : stringEditableKeys.includes(recordKeyOrIndex)),
500
+ preIsEditable: preIsEditable
444
501
  };
445
502
  });
446
- const startEditable = (0, import__.useRefFunction)(
447
- (recordKey, record) => {
448
- var _a, _b;
449
- if (editableKeysSet.size > 0 && editableType === "single" && props.onlyOneLineEditorAlertMessage !== false) {
450
- warning(
451
- props.onlyOneLineEditorAlertMessage || intl.getMessage(
452
- "editableTable.onlyOneLineEditor",
453
- "只能同时编辑一行"
454
- )
455
- );
456
- return false;
457
- }
458
- editableKeysSet.add(recordKey);
459
- setEditableRowKeys(Array.from(editableKeysSet));
460
- preEditRowRef.current = (_b = record != null ? record : (_a = props.dataSource) == null ? void 0 : _a.find((recordData, index) => {
461
- return props.getRowKey(recordData, index) === recordKey;
462
- })) != null ? _b : null;
463
- return true;
503
+
504
+ /**
505
+ * 进入编辑状态
506
+ *
507
+ * @param recordKey
508
+ */
509
+ var startEditable = (0, _.useRefFunction)(function (recordKey, record) {
510
+ var _ref7, _props$dataSource;
511
+ // 如果是单行的话,不允许多行编辑
512
+ if (editableKeysSet.size > 0 && editableType === 'single' && props.onlyOneLineEditorAlertMessage !== false) {
513
+ warning(props.onlyOneLineEditorAlertMessage || intl.getMessage('editableTable.onlyOneLineEditor', '只能同时编辑一行'));
514
+ return false;
464
515
  }
465
- );
466
- const cancelEditable = (0, import__.useRefFunction)(
467
- (recordKey, needReTry) => __async(this, null, function* () {
468
- const relayKey = recordKeyToString(recordKey).toString();
469
- const key = dataSourceKeyIndexMapRef.current.get(relayKey);
470
- if (!editableKeysSet.has(relayKey) && key && (needReTry != null ? needReTry : true) && props.tableName) {
471
- cancelEditable(key, false);
472
- return;
473
- }
474
- if (newLineRecordCache && newLineRecordCache.options.recordKey === recordKey) {
475
- setNewLineRecordCache(void 0);
476
- }
477
- editableKeysSet.delete(relayKey);
478
- editableKeysSet.delete(recordKeyToString(recordKey));
479
- setEditableRowKeys(Array.from(editableKeysSet));
480
- return true;
481
- })
482
- );
483
- const propsOnValuesChange = (0, import__.useDebounceFn)((...rest) => __async(this, null, function* () {
484
- var _a;
485
- (_a = props.onValuesChange) == null ? void 0 : _a.call(props, ...rest);
486
- }), 64);
487
- const onValuesChange = (0, import__.useRefFunction)(
488
- (value, values) => {
489
- var _a;
490
- if (!props.onValuesChange) {
491
- return;
516
+ editableKeysSet.add(recordKey);
517
+ setEditableRowKeys(Array.from(editableKeysSet));
518
+
519
+ // 这里是为了存上次的状态,不然取消的时候就丢掉了
520
+ preEditRowRef.current = (_ref7 = record !== null && record !== void 0 ? record : (_props$dataSource = props.dataSource) === null || _props$dataSource === void 0 ? void 0 : _props$dataSource.find(function (recordData, index) {
521
+ return props.getRowKey(recordData, index) === recordKey;
522
+ })) !== null && _ref7 !== void 0 ? _ref7 : null;
523
+ return true;
524
+ });
525
+
526
+ /**
527
+ * 退出编辑状态
528
+ *
529
+ * @param recordKey
530
+ */
531
+ var cancelEditable = (0, _.useRefFunction)( /*#__PURE__*/function () {
532
+ var _ref8 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee5(recordKey, needReTry) {
533
+ var relayKey, key;
534
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee5$(_context5) {
535
+ while (1) switch (_context5.prev = _context5.next) {
536
+ case 0:
537
+ relayKey = recordKeyToString(recordKey).toString();
538
+ key = dataSourceKeyIndexMapRef.current.get(relayKey);
539
+ /** 如果没找到key,转化一下再去找 */
540
+ if (!(!editableKeysSet.has(relayKey) && key && (needReTry !== null && needReTry !== void 0 ? needReTry : true) && props.tableName)) {
541
+ _context5.next = 5;
542
+ break;
543
+ }
544
+ cancelEditable(key, false);
545
+ return _context5.abrupt("return");
546
+ case 5:
547
+ /** 如果这个是 new Line 直接删除 */
548
+ if (newLineRecordCache && newLineRecordCache.options.recordKey === recordKey) {
549
+ setNewLineRecordCache(undefined);
550
+ }
551
+ editableKeysSet.delete(relayKey);
552
+ editableKeysSet.delete(recordKeyToString(recordKey));
553
+ setEditableRowKeys(Array.from(editableKeysSet));
554
+ return _context5.abrupt("return", true);
555
+ case 10:
556
+ case "end":
557
+ return _context5.stop();
558
+ }
559
+ }, _callee5);
560
+ }));
561
+ return function (_x3, _x4) {
562
+ return _ref8.apply(this, arguments);
563
+ };
564
+ }());
565
+ var propsOnValuesChange = (0, _.useDebounceFn)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee6() {
566
+ var _props$onValuesChange;
567
+ var _len,
568
+ rest,
569
+ _key,
570
+ _args6 = arguments;
571
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee6$(_context6) {
572
+ while (1) switch (_context6.prev = _context6.next) {
573
+ case 0:
574
+ for (_len = _args6.length, rest = new Array(_len), _key = 0; _key < _len; _key++) {
575
+ rest[_key] = _args6[_key];
576
+ }
577
+ //@ts-ignore
578
+ (_props$onValuesChange = props.onValuesChange) === null || _props$onValuesChange === void 0 || _props$onValuesChange.call.apply(_props$onValuesChange, [props].concat(rest));
579
+ case 2:
580
+ case "end":
581
+ return _context6.stop();
492
582
  }
493
- let { dataSource } = props;
494
- editableKeys == null ? void 0 : editableKeys.forEach((eachRecordKey) => {
495
- if ((newLineRecordCache == null ? void 0 : newLineRecordCache.options.recordKey) === eachRecordKey)
496
- return;
497
- const recordKey2 = eachRecordKey.toString();
498
- const editRow2 = (0, import_get.default)(
499
- values,
500
- [props.tableName || "", recordKey2].flat(1).filter((key) => key || key === 0)
501
- );
502
- if (!editRow2)
503
- return;
504
- dataSource = editableRowByKey(
505
- {
506
- data: dataSource,
507
- getRowKey: props.getRowKey,
508
- row: editRow2,
509
- key: recordKey2,
510
- childrenColumnName: props.childrenColumnName || "children"
511
- },
512
- "update"
513
- );
514
- });
515
- const relayValue = value;
516
- const recordKey = (_a = Object.keys(relayValue || {}).pop()) == null ? void 0 : _a.toString();
517
- const newLineRecordData = __spreadValues(__spreadValues({}, newLineRecordCache == null ? void 0 : newLineRecordCache.defaultValue), (0, import_get.default)(
518
- values,
519
- [props.tableName || "", recordKey.toString()].flat(1).filter((key) => key || key === 0)
520
- ));
521
- const editRow = dataSourceKeyIndexMapRef.current.has(
522
- recordKeyToString(recordKey)
523
- ) ? dataSource.find((item, index) => {
524
- var _a2;
525
- const key = (_a2 = props.getRowKey(item, index)) == null ? void 0 : _a2.toString();
526
- return key === recordKey;
527
- }) : newLineRecordData;
528
- propsOnValuesChange.run(editRow || newLineRecordData, dataSource);
583
+ }, _callee6);
584
+ })), 64);
585
+ var onValuesChange = (0, _.useRefFunction)(function (value, values) {
586
+ var _Object$keys$pop;
587
+ if (!props.onValuesChange) {
588
+ return;
529
589
  }
530
- );
531
- const saveRefsMap = (0, import_react.useRef)(/* @__PURE__ */ new Map());
532
- (0, import_react.useEffect)(() => {
533
- saveRefsMap.current.forEach((ref, key) => {
590
+ var dataSource = props.dataSource;
591
+
592
+ // 这里是把正在编辑中的所有表单数据都修改掉
593
+ // 不然会用 props 里面的 dataSource,数据只有正在编辑中的
594
+ // Object.keys(get(values, [props.tableName || ''].flat(1)) || values).forEach((recordKey) => {
595
+ editableKeys === null || editableKeys === void 0 || editableKeys.forEach(function (eachRecordKey) {
596
+ if ((newLineRecordCache === null || newLineRecordCache === void 0 ? void 0 : newLineRecordCache.options.recordKey) === eachRecordKey) return;
597
+ var recordKey = eachRecordKey.toString();
598
+ // 如果数据在这个 form 中没有展示,也不显示
599
+ var editRow = (0, _util.get)(values, [props.tableName || '', recordKey].flat(1).filter(function (key) {
600
+ return key || key === 0;
601
+ }));
602
+ if (!editRow) return;
603
+ dataSource = editableRowByKey({
604
+ data: dataSource,
605
+ getRowKey: props.getRowKey,
606
+ row: editRow,
607
+ key: recordKey,
608
+ childrenColumnName: props.childrenColumnName || 'children'
609
+ }, 'update');
610
+ });
611
+ var relayValue = value;
612
+ var recordKey = (_Object$keys$pop = Object.keys(relayValue || {}).pop()) === null || _Object$keys$pop === void 0 ? void 0 : _Object$keys$pop.toString();
613
+
614
+ //从form 和 cache 中取得数据
615
+ var newLineRecordData = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, newLineRecordCache === null || newLineRecordCache === void 0 ? void 0 : newLineRecordCache.defaultValue), (0, _util.get)(values, [props.tableName || '', recordKey.toString()].flat(1).filter(function (key) {
616
+ return key || key === 0;
617
+ })));
618
+
619
+ /** 如果已经在 dataSource 中存在了,直接 find */
620
+ var editRow = dataSourceKeyIndexMapRef.current.has(recordKeyToString(recordKey)) ? dataSource.find(function (item, index) {
621
+ var _props$getRowKey3;
622
+ var key = (_props$getRowKey3 = props.getRowKey(item, index)) === null || _props$getRowKey3 === void 0 ? void 0 : _props$getRowKey3.toString();
623
+ return key === recordKey;
624
+ }) : newLineRecordData;
625
+ propsOnValuesChange.run(editRow || newLineRecordData, dataSource);
626
+ });
627
+ var saveRefsMap = (0, _react.useRef)(new Map());
628
+ (0, _react.useEffect)(function () {
629
+ // 确保只保留编辑状态的,其它的都删除掉
630
+ saveRefsMap.current.forEach(function (ref, key) {
534
631
  if (!editableKeysSet.has(key)) {
535
632
  saveRefsMap.current.delete(key);
536
633
  }
537
634
  });
538
635
  }, [saveRefsMap, editableKeysSet]);
539
- const saveEditable = (0, import__.useRefFunction)(
540
- (recordKey, needReTry) => __async(this, null, function* () {
541
- var _a;
542
- const relayKey = recordKeyToString(recordKey);
543
- const key = dataSourceKeyIndexMapRef.current.get(recordKey.toString());
544
- if (!editableKeysSet.has(relayKey) && key && (needReTry != null ? needReTry : true) && props.tableName) {
545
- return yield saveEditable(key, false);
546
- }
547
- const saveRef = saveRefsMap.current.get(relayKey) || saveRefsMap.current.get(relayKey.toString());
548
- try {
549
- yield (_a = saveRef == null ? void 0 : saveRef.current) == null ? void 0 : _a.save();
550
- } catch (e) {
551
- return false;
552
- }
553
- editableKeysSet.delete(relayKey);
554
- editableKeysSet.delete(relayKey.toString());
555
- setEditableRowKeys(Array.from(editableKeysSet));
556
- return true;
557
- })
558
- );
559
- const addEditRecord = (0, import__.useRefFunction)(
560
- (row, options) => {
561
- var _a;
562
- if ((options == null ? void 0 : options.parentKey) && !dataSourceKeyIndexMapRef.current.has(
563
- recordKeyToString(options == null ? void 0 : options.parentKey).toString()
564
- )) {
565
- console.warn("can't find record by key", options == null ? void 0 : options.parentKey);
566
- return false;
567
- }
568
- if (newLineRecordRef.current && props.onlyAddOneLineAlertMessage !== false) {
569
- warning(
570
- props.onlyAddOneLineAlertMessage || intl.getMessage("editableTable.onlyAddOneLine", "只能新增一行")
571
- );
572
- return false;
573
- }
574
- if (editableKeysSet.size > 0 && editableType === "single" && props.onlyOneLineEditorAlertMessage !== false) {
575
- warning(
576
- props.onlyOneLineEditorAlertMessage || intl.getMessage(
577
- "editableTable.onlyOneLineEditor",
578
- "只能同时编辑一行"
579
- )
580
- );
581
- return false;
582
- }
583
- const recordKey = props.getRowKey(row, -1);
584
- if (!recordKey && recordKey !== 0) {
585
- (0, import_warning.noteOnce)(
586
- !!recordKey,
587
- "请设置 recordCreatorProps.record 并返回一个唯一的key \n https://procomponents.ant.design/components/editable-table#editable-%E6%96%B0%E5%BB%BA%E8%A1%8C"
588
- );
589
- throw new Error("请设置 recordCreatorProps.record 并返回一个唯一的key");
590
- }
591
- editableKeysSet.add(recordKey);
592
- setEditableRowKeys(Array.from(editableKeysSet));
593
- if ((options == null ? void 0 : options.newRecordType) === "dataSource" || props.tableName) {
594
- const actionProps = {
595
- data: props.dataSource,
596
- getRowKey: props.getRowKey,
597
- row: __spreadProps(__spreadValues({}, row), {
598
- map_row_parentKey: (options == null ? void 0 : options.parentKey) ? (_a = recordKeyToString(options == null ? void 0 : options.parentKey)) == null ? void 0 : _a.toString() : void 0
599
- }),
600
- key: recordKey,
601
- childrenColumnName: props.childrenColumnName || "children"
602
- };
603
- props.setDataSource(
604
- editableRowByKey(
605
- actionProps,
606
- (options == null ? void 0 : options.position) === "top" ? "top" : "update"
607
- )
608
- );
609
- } else {
610
- setNewLineRecordCache({
611
- defaultValue: row,
612
- options: __spreadProps(__spreadValues({}, options), {
613
- recordKey
614
- })
615
- });
616
- }
617
- return true;
618
- }
619
- );
620
- const saveText = (props == null ? void 0 : props.saveText) || intl.getMessage("editableTable.action.save", "保存");
621
- const deleteText = (props == null ? void 0 : props.deleteText) || intl.getMessage("editableTable.action.delete", "删除");
622
- const cancelText = (props == null ? void 0 : props.cancelText) || intl.getMessage("editableTable.action.cancel", "取消");
623
- const actionSaveRef = (0, import__.useRefFunction)(
624
- (recordKey, editRow, originRow, newLine) => __async(this, null, function* () {
625
- var _a, _b, _c;
626
- const res = yield (_a = props == null ? void 0 : props.onSave) == null ? void 0 : _a.call(props, recordKey, editRow, originRow, newLine);
627
- yield cancelEditable(recordKey);
628
- const { options } = newLine || newLineRecordRef.current || {};
629
- if (!(options == null ? void 0 : options.parentKey) && (options == null ? void 0 : options.recordKey) === recordKey) {
630
- if ((options == null ? void 0 : options.position) === "top") {
631
- props.setDataSource([editRow, ...props.dataSource]);
632
- } else {
633
- props.setDataSource([...props.dataSource, editRow]);
636
+ /**
637
+ * 保存编辑行
638
+ *
639
+ * @param recordKey
640
+ * @param needReTry
641
+ */
642
+ var saveEditable = (0, _.useRefFunction)( /*#__PURE__*/function () {
643
+ var _ref10 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee7(recordKey, needReTry) {
644
+ var relayKey, key, saveRef, _saveRef$current;
645
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee7$(_context7) {
646
+ while (1) switch (_context7.prev = _context7.next) {
647
+ case 0:
648
+ relayKey = recordKeyToString(recordKey);
649
+ key = dataSourceKeyIndexMapRef.current.get(recordKey.toString());
650
+ /** 如果没找到key,转化一下再去找 */
651
+ if (!(!editableKeysSet.has(relayKey) && key && (needReTry !== null && needReTry !== void 0 ? needReTry : true) && props.tableName)) {
652
+ _context7.next = 6;
653
+ break;
654
+ }
655
+ _context7.next = 5;
656
+ return saveEditable(key, false);
657
+ case 5:
658
+ return _context7.abrupt("return", _context7.sent);
659
+ case 6:
660
+ saveRef = saveRefsMap.current.get(relayKey) || saveRefsMap.current.get(relayKey.toString());
661
+ _context7.prev = 7;
662
+ _context7.next = 10;
663
+ return saveRef === null || saveRef === void 0 || (_saveRef$current = saveRef.current) === null || _saveRef$current === void 0 ? void 0 : _saveRef$current.save();
664
+ case 10:
665
+ _context7.next = 15;
666
+ break;
667
+ case 12:
668
+ _context7.prev = 12;
669
+ _context7.t0 = _context7["catch"](7);
670
+ return _context7.abrupt("return", false);
671
+ case 15:
672
+ editableKeysSet.delete(relayKey);
673
+ editableKeysSet.delete(relayKey.toString());
674
+ setEditableRowKeys(Array.from(editableKeysSet));
675
+ return _context7.abrupt("return", true);
676
+ case 19:
677
+ case "end":
678
+ return _context7.stop();
634
679
  }
635
- return res;
636
- }
637
- const actionProps = {
638
- data: props.dataSource,
639
- getRowKey: props.getRowKey,
640
- row: options ? __spreadProps(__spreadValues({}, editRow), {
641
- map_row_parentKey: (_c = recordKeyToString(
642
- (_b = options == null ? void 0 : options.parentKey) != null ? _b : ""
643
- )) == null ? void 0 : _c.toString()
644
- }) : editRow,
645
- key: recordKey,
646
- childrenColumnName: props.childrenColumnName || "children"
647
- };
648
- props.setDataSource(
649
- editableRowByKey(
650
- actionProps,
651
- (options == null ? void 0 : options.position) === "top" ? "top" : "update"
652
- )
653
- );
654
- yield cancelEditable(recordKey);
655
- return res;
656
- })
657
- );
658
- const actionDeleteRef = (0, import__.useRefFunction)(
659
- (recordKey, editRow) => __async(this, null, function* () {
660
- var _a;
661
- const actionProps = {
680
+ }, _callee7, null, [[7, 12]]);
681
+ }));
682
+ return function (_x5, _x6) {
683
+ return _ref10.apply(this, arguments);
684
+ };
685
+ }());
686
+
687
+ /**
688
+ * 同时只能支持一行,取消之后数据消息,不会触发 dataSource
689
+ *
690
+ * @param row
691
+ * @param options
692
+ * @name 增加新的行
693
+ */
694
+ var addEditRecord = (0, _.useRefFunction)(function (row, options) {
695
+ if (options !== null && options !== void 0 && options.parentKey && !dataSourceKeyIndexMapRef.current.has(recordKeyToString(options === null || options === void 0 ? void 0 : options.parentKey).toString())) {
696
+ console.warn("can't find record by key", options === null || options === void 0 ? void 0 : options.parentKey);
697
+ return false;
698
+ }
699
+ // 暂时不支持多行新增
700
+ if (newLineRecordRef.current && props.onlyAddOneLineAlertMessage !== false) {
701
+ warning(props.onlyAddOneLineAlertMessage || intl.getMessage('editableTable.onlyAddOneLine', '只能新增一行'));
702
+ return false;
703
+ }
704
+ // 如果是单行的话,不允许多行编辑
705
+ if (editableKeysSet.size > 0 && editableType === 'single' && props.onlyOneLineEditorAlertMessage !== false) {
706
+ warning(props.onlyOneLineEditorAlertMessage || intl.getMessage('editableTable.onlyOneLineEditor', '只能同时编辑一行'));
707
+ return false;
708
+ }
709
+ // 防止多次渲染
710
+ var recordKey = props.getRowKey(row, -1);
711
+ if (!recordKey && recordKey !== 0) {
712
+ noteOnce(!!recordKey, '请设置 recordCreatorProps.record 并返回一个唯一的key \n https://procomponents.ant.design/components/editable-table#editable-%E6%96%B0%E5%BB%BA%E8%A1%8C');
713
+ throw new Error('请设置 recordCreatorProps.record 并返回一个唯一的key');
714
+ }
715
+ editableKeysSet.add(recordKey);
716
+ setEditableRowKeys(Array.from(editableKeysSet));
717
+
718
+ // 如果是dataSource 新增模式的话,取消再开始编辑,
719
+ // 这样就可以把新增到 dataSource的数据进入编辑模式了
720
+ // [a,b,cache] => [a,b,c]
721
+ if ((options === null || options === void 0 ? void 0 : options.newRecordType) === 'dataSource' || props.tableName) {
722
+ var _recordKeyToString3;
723
+ var actionProps = {
662
724
  data: props.dataSource,
663
725
  getRowKey: props.getRowKey,
664
- row: editRow,
726
+ row: (0, _objectSpread3.default)((0, _objectSpread3.default)({}, row), {}, {
727
+ map_row_parentKey: options !== null && options !== void 0 && options.parentKey ? (_recordKeyToString3 = recordKeyToString(options === null || options === void 0 ? void 0 : options.parentKey)) === null || _recordKeyToString3 === void 0 ? void 0 : _recordKeyToString3.toString() : undefined
728
+ }),
665
729
  key: recordKey,
666
- childrenColumnName: props.childrenColumnName || "children"
730
+ childrenColumnName: props.childrenColumnName || 'children'
667
731
  };
668
- const res = yield (_a = props == null ? void 0 : props.onDelete) == null ? void 0 : _a.call(props, recordKey, editRow);
669
- yield cancelEditable(recordKey, false);
670
- props.setDataSource(editableRowByKey(actionProps, "delete"));
671
- return res;
672
- })
673
- );
674
- const actionCancelRef = (0, import__.useRefFunction)(
675
- (recordKey, editRow, originRow, newLine) => __async(this, null, function* () {
676
- var _a;
677
- const res = yield (_a = props == null ? void 0 : props.onCancel) == null ? void 0 : _a.call(
678
- props,
679
- recordKey,
680
- editRow,
681
- originRow,
682
- newLine
683
- );
684
- return res;
685
- })
686
- );
687
- const existCustomActionRender = props.actionRender && typeof props.actionRender === "function";
688
- const customActionRender = existCustomActionRender ? props.actionRender : () => {
689
- };
690
- const customActionRenderRef = (0, import__.useRefFunction)(
691
- customActionRender
692
- );
693
- const actionRender = (row) => {
694
- const key = props.getRowKey(row, row.index);
695
- const config = {
696
- saveText,
697
- cancelText,
698
- deleteText,
699
- addEditRecord,
732
+ props.setDataSource(editableRowByKey(actionProps, (options === null || options === void 0 ? void 0 : options.position) === 'top' ? 'top' : 'update'));
733
+ } else {
734
+ setNewLineRecordCache({
735
+ defaultValue: row,
736
+ options: (0, _objectSpread3.default)((0, _objectSpread3.default)({}, options), {}, {
737
+ recordKey: recordKey
738
+ })
739
+ });
740
+ }
741
+ return true;
742
+ });
743
+ var saveText = (props === null || props === void 0 ? void 0 : props.saveText) || intl.getMessage('editableTable.action.save', '保存');
744
+ var deleteText = (props === null || props === void 0 ? void 0 : props.deleteText) || intl.getMessage('editableTable.action.delete', '删除');
745
+ var cancelText = (props === null || props === void 0 ? void 0 : props.cancelText) || intl.getMessage('editableTable.action.cancel', '取消');
746
+ var actionSaveRef = (0, _.useRefFunction)( /*#__PURE__*/function () {
747
+ var _ref11 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee8(recordKey, editRow, originRow, newLine) {
748
+ var _props$onSave, _recordKeyToString4, _options$parentKey;
749
+ var res, _ref12, options, actionProps;
750
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee8$(_context8) {
751
+ while (1) switch (_context8.prev = _context8.next) {
752
+ case 0:
753
+ _context8.next = 2;
754
+ return props === null || props === void 0 || (_props$onSave = props.onSave) === null || _props$onSave === void 0 ? void 0 : _props$onSave.call(props, recordKey, editRow, originRow, newLine);
755
+ case 2:
756
+ res = _context8.sent;
757
+ _context8.next = 5;
758
+ return cancelEditable(recordKey);
759
+ case 5:
760
+ _ref12 = newLine || newLineRecordRef.current || {}, options = _ref12.options;
761
+ if (!(!(options !== null && options !== void 0 && options.parentKey) && (options === null || options === void 0 ? void 0 : options.recordKey) === recordKey)) {
762
+ _context8.next = 9;
763
+ break;
764
+ }
765
+ if ((options === null || options === void 0 ? void 0 : options.position) === 'top') {
766
+ props.setDataSource([editRow].concat((0, _toConsumableArray2.default)(props.dataSource)));
767
+ } else {
768
+ props.setDataSource([].concat((0, _toConsumableArray2.default)(props.dataSource), [editRow]));
769
+ }
770
+ return _context8.abrupt("return", res);
771
+ case 9:
772
+ actionProps = {
773
+ data: props.dataSource,
774
+ getRowKey: props.getRowKey,
775
+ row: options ? (0, _objectSpread3.default)((0, _objectSpread3.default)({}, editRow), {}, {
776
+ map_row_parentKey: (_recordKeyToString4 = recordKeyToString((_options$parentKey = options === null || options === void 0 ? void 0 : options.parentKey) !== null && _options$parentKey !== void 0 ? _options$parentKey : '')) === null || _recordKeyToString4 === void 0 ? void 0 : _recordKeyToString4.toString()
777
+ }) : editRow,
778
+ key: recordKey,
779
+ childrenColumnName: props.childrenColumnName || 'children'
780
+ };
781
+ props.setDataSource(editableRowByKey(actionProps, (options === null || options === void 0 ? void 0 : options.position) === 'top' ? 'top' : 'update'));
782
+ _context8.next = 13;
783
+ return cancelEditable(recordKey);
784
+ case 13:
785
+ return _context8.abrupt("return", res);
786
+ case 14:
787
+ case "end":
788
+ return _context8.stop();
789
+ }
790
+ }, _callee8);
791
+ }));
792
+ return function (_x7, _x8, _x9, _x10) {
793
+ return _ref11.apply(this, arguments);
794
+ };
795
+ }());
796
+ var actionDeleteRef = (0, _.useRefFunction)( /*#__PURE__*/function () {
797
+ var _ref13 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee9(recordKey, editRow) {
798
+ var _props$onDelete2;
799
+ var actionProps, res;
800
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee9$(_context9) {
801
+ while (1) switch (_context9.prev = _context9.next) {
802
+ case 0:
803
+ actionProps = {
804
+ data: props.dataSource,
805
+ getRowKey: props.getRowKey,
806
+ row: editRow,
807
+ key: recordKey,
808
+ childrenColumnName: props.childrenColumnName || 'children'
809
+ };
810
+ _context9.next = 3;
811
+ return props === null || props === void 0 || (_props$onDelete2 = props.onDelete) === null || _props$onDelete2 === void 0 ? void 0 : _props$onDelete2.call(props, recordKey, editRow);
812
+ case 3:
813
+ res = _context9.sent;
814
+ _context9.next = 6;
815
+ return cancelEditable(recordKey, false);
816
+ case 6:
817
+ props.setDataSource(editableRowByKey(actionProps, 'delete'));
818
+ return _context9.abrupt("return", res);
819
+ case 8:
820
+ case "end":
821
+ return _context9.stop();
822
+ }
823
+ }, _callee9);
824
+ }));
825
+ return function (_x11, _x12) {
826
+ return _ref13.apply(this, arguments);
827
+ };
828
+ }());
829
+ var actionCancelRef = (0, _.useRefFunction)( /*#__PURE__*/function () {
830
+ var _ref14 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee10(recordKey, editRow, originRow, newLine) {
831
+ var _props$onCancel;
832
+ var res;
833
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee10$(_context10) {
834
+ while (1) switch (_context10.prev = _context10.next) {
835
+ case 0:
836
+ _context10.next = 2;
837
+ return props === null || props === void 0 || (_props$onCancel = props.onCancel) === null || _props$onCancel === void 0 ? void 0 : _props$onCancel.call(props, recordKey, editRow, originRow, newLine);
838
+ case 2:
839
+ res = _context10.sent;
840
+ return _context10.abrupt("return", res);
841
+ case 4:
842
+ case "end":
843
+ return _context10.stop();
844
+ }
845
+ }, _callee10);
846
+ }));
847
+ return function (_x13, _x14, _x15, _x16) {
848
+ return _ref14.apply(this, arguments);
849
+ };
850
+ }());
851
+
852
+ // 如果传入了自定义的actionRender,使用useRefFunction以确保内部的事件处理函数可以访问最新的state
853
+ var existCustomActionRender = props.actionRender && typeof props.actionRender === 'function';
854
+ var customActionRender = existCustomActionRender ? props.actionRender : function () {};
855
+ var customActionRenderRef = (0, _.useRefFunction)(customActionRender);
856
+ var actionRender = function actionRender(row) {
857
+ var key = props.getRowKey(row, row.index);
858
+ var config = {
859
+ saveText: saveText,
860
+ cancelText: cancelText,
861
+ deleteText: deleteText,
862
+ addEditRecord: addEditRecord,
700
863
  recordKey: key,
701
- cancelEditable,
864
+ cancelEditable: cancelEditable,
702
865
  index: row.index,
703
866
  tableName: props.tableName,
704
867
  newLineConfig: newLineRecordCache,
705
868
  onCancel: actionCancelRef,
706
869
  onDelete: actionDeleteRef,
707
870
  onSave: actionSaveRef,
708
- editableKeys,
709
- setEditableRowKeys,
710
- preEditRowRef,
711
- deletePopconfirmMessage: props.deletePopconfirmMessage || `${intl.getMessage("deleteThisLine", "删除此项")}?`
871
+ editableKeys: editableKeys,
872
+ setEditableRowKeys: setEditableRowKeys,
873
+ preEditRowRef: preEditRowRef,
874
+ deletePopconfirmMessage: props.deletePopconfirmMessage || "".concat(intl.getMessage('deleteThisLine', '删除此项'), "?")
712
875
  };
713
- const renderResult = defaultActionRender(row, config);
876
+ var renderResult = defaultActionRender(row, config);
877
+ // 缓存一下saveRef
714
878
  if (props.tableName) {
715
- saveRefsMap.current.set(
716
- dataSourceKeyIndexMapRef.current.get(recordKeyToString(key)) || recordKeyToString(key),
717
- renderResult.saveRef
718
- );
879
+ saveRefsMap.current.set(dataSourceKeyIndexMapRef.current.get(recordKeyToString(key)) || recordKeyToString(key), renderResult.saveRef);
719
880
  } else {
720
881
  saveRefsMap.current.set(recordKeyToString(key), renderResult.saveRef);
721
882
  }
722
- if (existCustomActionRender)
723
- return customActionRenderRef(row, config, {
724
- save: renderResult.save,
725
- delete: renderResult.delete,
726
- cancel: renderResult.cancel
727
- });
883
+ if (existCustomActionRender) return customActionRenderRef(row, config, {
884
+ save: renderResult.save,
885
+ delete: renderResult.delete,
886
+ cancel: renderResult.cancel
887
+ });
728
888
  return [renderResult.save, renderResult.delete, renderResult.cancel];
729
889
  };
730
890
  return {
731
- editableKeys,
732
- setEditableRowKeys,
733
- isEditable,
734
- actionRender,
735
- startEditable,
736
- cancelEditable,
737
- addEditRecord,
738
- saveEditable,
891
+ editableKeys: editableKeys,
892
+ setEditableRowKeys: setEditableRowKeys,
893
+ isEditable: isEditable,
894
+ actionRender: actionRender,
895
+ startEditable: startEditable,
896
+ cancelEditable: cancelEditable,
897
+ addEditRecord: addEditRecord,
898
+ saveEditable: saveEditable,
739
899
  newLineRecord: newLineRecordCache,
740
900
  preEditableKeys: editableKeysRef,
741
- onValuesChange,
901
+ onValuesChange: onValuesChange,
742
902
  getRealIndex: props.getRealIndex
743
903
  };
744
- }
904
+ }