@ant-design/pro-components 3.1.0-0 → 3.1.1-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (714) hide show
  1. package/README.es-PR.md +1 -3
  2. package/README.md +8 -10
  3. package/README.zh-CN.md +11 -11
  4. package/dist/pro-components.min.js +1 -1
  5. package/es/card/ProCard.js +8 -10
  6. package/es/card/components/Actions/index.js +25 -25
  7. package/es/card/components/Actions/style.js +79 -71
  8. package/es/card/components/Card/index.js +157 -142
  9. package/es/card/components/Card/style.js +249 -192
  10. package/es/card/components/CheckCard/Group.js +94 -115
  11. package/es/card/components/CheckCard/index.js +85 -79
  12. package/es/card/components/CheckCard/style.js +184 -168
  13. package/es/card/components/Divider/index.js +19 -15
  14. package/es/card/components/Divider/style.js +32 -29
  15. package/es/card/components/Loading/index.js +19 -16
  16. package/es/card/components/Loading/style.js +34 -31
  17. package/es/card/components/Operation/index.js +16 -13
  18. package/es/card/components/Operation/style.js +19 -18
  19. package/es/card/components/Statistic/index.js +46 -41
  20. package/es/card/components/Statistic/style.js +89 -70
  21. package/es/card/components/StatisticCard/index.js +46 -41
  22. package/es/card/components/StatisticCard/style.js +37 -35
  23. package/es/descriptions/index.js +214 -225
  24. package/es/descriptions/useFetchData.js +53 -91
  25. package/es/field/AllProField.js +265 -216
  26. package/es/field/FieldHOC/index.js +9 -14
  27. package/es/field/PureProField.js +82 -80
  28. package/es/field/ValueTypeToComponent.js +517 -618
  29. package/es/field/components/Cascader/index.d.ts +3 -3
  30. package/es/field/components/Cascader/index.js +66 -84
  31. package/es/field/components/Checkbox/index.d.ts +2 -2
  32. package/es/field/components/Checkbox/index.js +75 -72
  33. package/es/field/components/Code/index.js +40 -39
  34. package/es/field/components/ColorPicker/index.d.ts +2 -2
  35. package/es/field/components/ColorPicker/index.js +38 -32
  36. package/es/field/components/DatePicker/index.d.ts +2 -2
  37. package/es/field/components/DatePicker/index.js +49 -53
  38. package/es/field/components/Digit/index.js +41 -42
  39. package/es/field/components/DigitRange/index.js +71 -77
  40. package/es/field/components/FromNow/index.js +27 -25
  41. package/es/field/components/Image/index.js +28 -24
  42. package/es/field/components/IndexColumn/index.js +22 -16
  43. package/es/field/components/Money/index.js +107 -116
  44. package/es/field/components/Options/index.js +34 -33
  45. package/es/field/components/Password/index.js +35 -38
  46. package/es/field/components/Percent/index.js +40 -44
  47. package/es/field/components/Percent/util.js +3 -5
  48. package/es/field/components/Progress/index.js +29 -27
  49. package/es/field/components/Radio/index.d.ts +1 -1
  50. package/es/field/components/Radio/index.js +61 -62
  51. package/es/field/components/RangePicker/index.d.ts +2 -2
  52. package/es/field/components/RangePicker/index.js +52 -63
  53. package/es/field/components/Rate/index.js +24 -21
  54. package/es/field/components/Second/index.js +36 -33
  55. package/es/field/components/Segmented/index.d.ts +1 -1
  56. package/es/field/components/Segmented/index.js +37 -46
  57. package/es/field/components/Select/LightSelect/index.d.ts +1 -1
  58. package/es/field/components/Select/LightSelect/index.js +102 -109
  59. package/es/field/components/Select/SearchSelect/index.js +129 -155
  60. package/es/field/components/Select/index.d.ts +2 -2
  61. package/es/field/components/Select/index.js +193 -219
  62. package/es/field/components/Slider/index.js +25 -22
  63. package/es/field/components/Status/index.js +67 -78
  64. package/es/field/components/Switch/index.d.ts +1 -1
  65. package/es/field/components/Switch/index.js +32 -30
  66. package/es/field/components/Text/index.js +34 -37
  67. package/es/field/components/TextArea/index.js +26 -21
  68. package/es/field/components/TextArea/readonly.js +24 -21
  69. package/es/field/components/TimePicker/index.js +96 -105
  70. package/es/field/components/TreeSelect/index.d.ts +3 -3
  71. package/es/field/components/TreeSelect/index.js +107 -125
  72. package/es/form/BaseForm/BaseForm.js +416 -502
  73. package/es/form/BaseForm/EditOrReadOnlyContext.js +1 -1
  74. package/es/form/BaseForm/LightWrapper/index.js +56 -65
  75. package/es/form/BaseForm/LightWrapper/style.js +17 -13
  76. package/es/form/BaseForm/Submitter/index.js +44 -43
  77. package/es/form/FieldContext.js +1 -1
  78. package/es/form/components/Captcha/index.js +74 -134
  79. package/es/form/components/Cascader/index.d.ts +1 -1
  80. package/es/form/components/Cascader/index.js +26 -28
  81. package/es/form/components/Checkbox/index.js +60 -61
  82. package/es/form/components/ColorPicker/index.d.ts +1 -1
  83. package/es/form/components/ColorPicker/index.js +24 -26
  84. package/es/form/components/DatePicker/BaseDatePicker.js +32 -30
  85. package/es/form/components/DatePicker/DatePicker.js +14 -13
  86. package/es/form/components/DatePicker/DateTimePicker.js +11 -12
  87. package/es/form/components/DatePicker/MonthPicker.js +14 -13
  88. package/es/form/components/DatePicker/QuarterPicker.js +14 -13
  89. package/es/form/components/DatePicker/TimePicker.js +26 -27
  90. package/es/form/components/DatePicker/WeekPicker.js +14 -13
  91. package/es/form/components/DatePicker/YearPicker.js +14 -13
  92. package/es/form/components/DatePicker/index.js +1 -1
  93. package/es/form/components/DateRangePicker/BaseDateRanger.js +34 -34
  94. package/es/form/components/DateRangePicker/DateMonthRangePicker.js +15 -16
  95. package/es/form/components/DateRangePicker/DateQuarterRangePicker.js +15 -16
  96. package/es/form/components/DateRangePicker/DateTimeRangePicker.js +15 -16
  97. package/es/form/components/DateRangePicker/DateWeekRangePicker.js +15 -16
  98. package/es/form/components/DateRangePicker/DateYearRangePicker.js +15 -16
  99. package/es/form/components/DateRangePicker/TimeRangePicker.js +26 -29
  100. package/es/form/components/DateRangePicker/index.js +15 -16
  101. package/es/form/components/Dependency/index.js +31 -34
  102. package/es/form/components/Digit/DigitRange.d.ts +2 -2
  103. package/es/form/components/Digit/DigitRange.js +23 -24
  104. package/es/form/components/Digit/index.d.ts +1 -1
  105. package/es/form/components/Digit/index.js +27 -29
  106. package/es/form/components/Field/index.js +55 -63
  107. package/es/form/components/FieldSet/index.js +68 -76
  108. package/es/form/components/FormItem/FormItemRender/index.js +58 -48
  109. package/es/form/components/FormItem/Group/index.js +95 -95
  110. package/es/form/components/FormItem/Group/style.js +46 -40
  111. package/es/form/components/FormItem/index.js +135 -141
  112. package/es/form/components/FormItem/warpField.js +165 -149
  113. package/es/form/components/List/ListContainer.js +98 -189
  114. package/es/form/components/List/ListItem.js +151 -198
  115. package/es/form/components/List/index.js +97 -107
  116. package/es/form/components/List/style.js +71 -47
  117. package/es/form/components/Money/index.d.ts +1 -1
  118. package/es/form/components/Money/index.js +28 -30
  119. package/es/form/components/Radio/index.d.ts +2 -2
  120. package/es/form/components/Radio/index.js +45 -49
  121. package/es/form/components/Rate/index.d.ts +1 -1
  122. package/es/form/components/Rate/index.js +17 -20
  123. package/es/form/components/SchemaForm/index.js +58 -72
  124. package/es/form/components/SchemaForm/layoutType/Embed.js +5 -6
  125. package/es/form/components/SchemaForm/layoutType/StepsForm.js +22 -26
  126. package/es/form/components/SchemaForm/valueType/dependency.js +11 -11
  127. package/es/form/components/SchemaForm/valueType/divider.js +4 -5
  128. package/es/form/components/SchemaForm/valueType/field.js +45 -44
  129. package/es/form/components/SchemaForm/valueType/formList.js +8 -7
  130. package/es/form/components/SchemaForm/valueType/formSet.js +8 -7
  131. package/es/form/components/SchemaForm/valueType/group.js +7 -8
  132. package/es/form/components/SchemaForm/valueType/ignore.js +2 -2
  133. package/es/form/components/SchemaForm/valueType/index.js +5 -5
  134. package/es/form/components/Segmented/index.js +20 -23
  135. package/es/form/components/Select/index.js +69 -73
  136. package/es/form/components/Slider/index.d.ts +1 -1
  137. package/es/form/components/Slider/index.js +33 -35
  138. package/es/form/components/Switch/index.js +24 -26
  139. package/es/form/components/Text/index.js +75 -86
  140. package/es/form/components/TextArea/index.d.ts +1 -1
  141. package/es/form/components/TextArea/index.js +17 -20
  142. package/es/form/components/TreeSelect/index.js +20 -23
  143. package/es/form/components/UploadButton/index.js +56 -103
  144. package/es/form/components/UploadDragger/index.js +37 -44
  145. package/es/form/helpers/grid.js +65 -67
  146. package/es/form/layouts/DrawerForm/index.js +150 -241
  147. package/es/form/layouts/DrawerForm/style.js +26 -25
  148. package/es/form/layouts/LightFilter/index.d.ts +12 -1
  149. package/es/form/layouts/LightFilter/index.js +158 -140
  150. package/es/form/layouts/LightFilter/style.js +52 -48
  151. package/es/form/layouts/LoginForm/index.js +44 -47
  152. package/es/form/layouts/LoginForm/style.js +71 -67
  153. package/es/form/layouts/LoginFormPage/index.js +45 -48
  154. package/es/form/layouts/LoginFormPage/style.js +136 -126
  155. package/es/form/layouts/ModalForm/index.js +119 -203
  156. package/es/form/layouts/ProForm/index.d.ts +2 -2
  157. package/es/form/layouts/ProForm/index.js +5 -5
  158. package/es/form/layouts/QueryFilter/Actions.js +23 -22
  159. package/es/form/layouts/QueryFilter/index.js +178 -203
  160. package/es/form/layouts/QueryFilter/style.js +45 -37
  161. package/es/form/layouts/StepsForm/StepForm.d.ts +2 -3
  162. package/es/form/layouts/StepsForm/StepForm.js +50 -71
  163. package/es/form/layouts/StepsForm/index.js +175 -217
  164. package/es/form/layouts/StepsForm/style.js +30 -28
  165. package/es/form/layouts/index.js +1 -1
  166. package/es/layout/ProLayout.js +281 -292
  167. package/es/layout/WrapContent.js +16 -12
  168. package/es/layout/assert/Logo.js +95 -97
  169. package/es/layout/components/AppsLogoComponents/AppsLogo.js +10 -12
  170. package/es/layout/components/AppsLogoComponents/DefaultContent.js +17 -16
  171. package/es/layout/components/AppsLogoComponents/SimpleContent.js +19 -18
  172. package/es/layout/components/AppsLogoComponents/index.js +33 -38
  173. package/es/layout/components/AppsLogoComponents/style/default.js +2 -2
  174. package/es/layout/components/AppsLogoComponents/style/index.js +52 -50
  175. package/es/layout/components/AppsLogoComponents/style/simple.js +1 -1
  176. package/es/layout/components/CollapsedIcon/index.js +18 -15
  177. package/es/layout/components/CollapsedIcon/style.js +40 -40
  178. package/es/layout/components/Footer.js +22 -21
  179. package/es/layout/components/FooterToolbar/index.js +58 -52
  180. package/es/layout/components/FooterToolbar/style/index.js +38 -37
  181. package/es/layout/components/FooterToolbar/style/stylish.js +11 -9
  182. package/es/layout/components/GlobalFooter/index.js +25 -25
  183. package/es/layout/components/GlobalFooter/style.js +31 -30
  184. package/es/layout/components/GlobalHeader/ActionsContent.js +62 -78
  185. package/es/layout/components/GlobalHeader/index.js +59 -47
  186. package/es/layout/components/GlobalHeader/rightContentStyle.js +49 -49
  187. package/es/layout/components/GlobalHeader/style.js +58 -54
  188. package/es/layout/components/GridContent/index.js +24 -19
  189. package/es/layout/components/GridContent/style.js +14 -13
  190. package/es/layout/components/Header/index.js +63 -57
  191. package/es/layout/components/Header/style/header.js +49 -47
  192. package/es/layout/components/Header/style/stylish.js +15 -11
  193. package/es/layout/components/Help/AsyncContentPanel.js +13 -18
  194. package/es/layout/components/Help/HelpProvide.js +1 -1
  195. package/es/layout/components/Help/ProHelpContentPanel.js +64 -83
  196. package/es/layout/components/Help/ProHelpDrawer.js +25 -31
  197. package/es/layout/components/Help/ProHelpModal.d.ts +1 -1
  198. package/es/layout/components/Help/ProHelpModal.js +24 -27
  199. package/es/layout/components/Help/ProHelpPanel.js +86 -94
  200. package/es/layout/components/Help/ProHelpPopover.js +18 -16
  201. package/es/layout/components/Help/RenderContentPanel.js +34 -24
  202. package/es/layout/components/Help/Search.js +52 -78
  203. package/es/layout/components/Help/index.js +9 -11
  204. package/es/layout/components/Help/style.js +82 -75
  205. package/es/layout/components/PageContainer/index.js +168 -149
  206. package/es/layout/components/PageContainer/style/index.js +95 -78
  207. package/es/layout/components/PageContainer/style/stylish.js +11 -9
  208. package/es/layout/components/PageHeader/index.js +96 -97
  209. package/es/layout/components/PageHeader/style/index.js +142 -122
  210. package/es/layout/components/PageLoading/index.js +17 -20
  211. package/es/layout/components/SettingDrawer/BlockCheckbox.js +29 -32
  212. package/es/layout/components/SettingDrawer/LayoutChange.js +22 -22
  213. package/es/layout/components/SettingDrawer/RegionalChange.js +14 -15
  214. package/es/layout/components/SettingDrawer/ThemeColor.js +32 -35
  215. package/es/layout/components/SettingDrawer/index.js +137 -168
  216. package/es/layout/components/SettingDrawer/style/index.js +141 -137
  217. package/es/layout/components/SiderMenu/BaseMenu.js +235 -221
  218. package/es/layout/components/SiderMenu/SiderMenu.js +125 -115
  219. package/es/layout/components/SiderMenu/index.js +47 -42
  220. package/es/layout/components/SiderMenu/style/index.js +179 -161
  221. package/es/layout/components/SiderMenu/style/menu.js +148 -110
  222. package/es/layout/components/SiderMenu/style/stylish.js +15 -11
  223. package/es/layout/components/TopNavHeader/index.js +71 -60
  224. package/es/layout/components/TopNavHeader/style.js +64 -63
  225. package/es/layout/context/RouteContext.js +1 -1
  226. package/es/layout/defaultSettings.js +1 -1
  227. package/es/layout/getPageTitle.js +23 -24
  228. package/es/layout/locales/en-US.js +3 -2
  229. package/es/layout/locales/index.js +5 -5
  230. package/es/layout/locales/it-IT.js +3 -2
  231. package/es/layout/locales/ko-KR.js +3 -2
  232. package/es/layout/locales/zh-CN.js +3 -2
  233. package/es/layout/locales/zh-TW.js +3 -2
  234. package/es/layout/style/index.js +48 -42
  235. package/es/layout/utils/getBreadcrumbProps.js +60 -60
  236. package/es/layout/utils/getMenuData.js +7 -11
  237. package/es/layout/utils/pathTools.js +2 -6
  238. package/es/layout/utils/useCurrentMenuLayoutProps.js +4 -9
  239. package/es/layout/utils/utils.js +15 -17
  240. package/es/list/Item.js +157 -137
  241. package/es/list/ListView.js +106 -115
  242. package/es/list/constants.js +2 -2
  243. package/es/list/index.js +72 -70
  244. package/es/list/style/index.js +281 -213
  245. package/es/provider/index.js +122 -115
  246. package/es/provider/intl.js +53 -55
  247. package/es/provider/typing/layoutToken.js +26 -23
  248. package/es/provider/useStyle/index.js +51 -59
  249. package/es/provider/utils/merge.js +10 -12
  250. package/es/skeleton/components/Descriptions/index.js +211 -229
  251. package/es/skeleton/components/List/index.js +208 -223
  252. package/es/skeleton/components/Result/index.js +45 -47
  253. package/es/skeleton/index.js +13 -10
  254. package/es/table/Store/Provide.d.ts +4 -4
  255. package/es/table/Store/Provide.js +102 -117
  256. package/es/table/Table.d.ts +5 -2
  257. package/es/table/Table.js +526 -691
  258. package/es/table/TableSearch.d.ts +24 -0
  259. package/es/table/TableSearch.js +54 -0
  260. package/es/table/TableToolbar.d.ts +22 -0
  261. package/es/table/TableToolbar.js +47 -0
  262. package/es/table/components/Alert/index.js +41 -40
  263. package/es/table/components/Alert/style.js +28 -27
  264. package/es/table/components/ColumnSetting/index.js +228 -223
  265. package/es/table/components/ColumnSetting/style.js +86 -71
  266. package/es/table/components/DragSortTable/index.js +65 -79
  267. package/es/table/components/DragSortTable/style.js +20 -19
  268. package/es/table/components/Dropdown/index.js +42 -47
  269. package/es/table/components/EditableTable/CellEditorTable.js +24 -32
  270. package/es/table/components/EditableTable/RowEditorTable.js +23 -28
  271. package/es/table/components/EditableTable/index.js +295 -329
  272. package/es/table/components/Form/FormRender.js +99 -103
  273. package/es/table/components/Form/index.d.ts +4 -19
  274. package/es/table/components/Form/index.js +112 -159
  275. package/es/table/components/ListToolBar/HeaderMenu.js +44 -52
  276. package/es/table/components/ListToolBar/index.js +122 -147
  277. package/es/table/components/ListToolBar/style.js +127 -117
  278. package/es/table/components/ToolBar/DensityIcon.js +10 -9
  279. package/es/table/components/ToolBar/FullscreenIcon.js +5 -9
  280. package/es/table/components/ToolBar/index.d.ts +2 -8
  281. package/es/table/components/ToolBar/index.js +155 -195
  282. package/es/table/style/index.js +144 -112
  283. package/es/table/typing.d.ts +4 -0
  284. package/es/table/useFetchData.js +199 -338
  285. package/es/table/utils/cellRenderToFromItem.js +105 -119
  286. package/es/table/utils/columnRender.js +63 -54
  287. package/es/table/utils/columnSort.js +22 -22
  288. package/es/table/utils/genProColumnToColumn.d.ts +13 -9
  289. package/es/table/utils/genProColumnToColumn.js +121 -98
  290. package/es/table/utils/index.d.ts +10 -0
  291. package/es/table/utils/index.js +112 -178
  292. package/es/table/utils/useDragSort.d.ts +1 -1
  293. package/es/table/utils/useDragSort.js +99 -92
  294. package/es/table/utils/usePageInfo.d.ts +6 -0
  295. package/es/table/utils/usePageInfo.js +55 -0
  296. package/es/utils/components/DropdownFooter/index.js +23 -21
  297. package/es/utils/components/DropdownFooter/style.js +16 -15
  298. package/es/utils/components/ErrorBoundary/index.js +27 -50
  299. package/es/utils/components/FieldLabel/index.js +70 -70
  300. package/es/utils/components/FieldLabel/style.js +104 -81
  301. package/es/utils/components/FilterDropdown/index.d.ts +11 -0
  302. package/es/utils/components/FilterDropdown/index.js +43 -32
  303. package/es/utils/components/FilterDropdown/style.js +19 -16
  304. package/es/utils/components/InlineErrorFormItem/index.js +78 -78
  305. package/es/utils/components/InlineErrorFormItem/style.js +56 -49
  306. package/es/utils/components/LabelIconTip/index.js +30 -31
  307. package/es/utils/components/LabelIconTip/style.js +36 -35
  308. package/es/utils/components/ProFormContext/index.js +1 -1
  309. package/es/utils/conversionMomentValue/index.js +19 -22
  310. package/es/utils/dateArrayFormatter/index.js +9 -14
  311. package/es/utils/genCopyable/index.js +74 -32
  312. package/es/utils/getFieldPropsOrFormItemProps/index.js +1 -1
  313. package/es/utils/hooks/useDebounceFn/index.js +18 -51
  314. package/es/utils/hooks/useDebounceValue/index.js +7 -16
  315. package/es/utils/hooks/useDeepCompareEffect/index.js +6 -18
  316. package/es/utils/hooks/useDocumentTitle/index.js +2 -2
  317. package/es/utils/hooks/useFetchData/index.js +36 -65
  318. package/es/utils/hooks/useForceRender/index.js +2 -9
  319. package/es/utils/hooks/useLatest/index.js +2 -2
  320. package/es/utils/hooks/usePrevious/index.js +3 -3
  321. package/es/utils/hooks/useReactiveRef/index.js +2 -2
  322. package/es/utils/hooks/useRefCallback/index.js +3 -3
  323. package/es/utils/hooks/useRefFunction/index.js +4 -9
  324. package/es/utils/index.d.ts +1 -2
  325. package/es/utils/index.js +1 -2
  326. package/es/utils/isBrowser/index.js +2 -2
  327. package/es/utils/isDeepEqualReact/index.js +9 -44
  328. package/es/utils/isDropdownValueType/index.js +2 -2
  329. package/es/utils/isNil/index.js +1 -3
  330. package/es/utils/isUrl/index.js +2 -2
  331. package/es/utils/merge/index.js +10 -12
  332. package/es/utils/nanoid/index.js +5 -6
  333. package/es/utils/omitBoolean/index.js +1 -1
  334. package/es/utils/omitUndefined/index.js +3 -3
  335. package/es/utils/omitUndefinedAndEmptyArr/index.js +4 -5
  336. package/es/utils/parseValueToMoment/index.js +3 -7
  337. package/es/utils/pickProFormItemProps/index.js +3 -3
  338. package/es/utils/pickProProps/index.js +6 -7
  339. package/es/utils/proFieldParsingText/index.js +85 -98
  340. package/es/utils/runFunction/index.js +2 -5
  341. package/es/utils/stringify/index.js +1 -1
  342. package/es/utils/transformKeySubmitValue/index.js +99 -116
  343. package/es/utils/useEditableArray/index.d.ts +6 -1
  344. package/es/utils/useEditableArray/index.js +579 -735
  345. package/es/utils/useEditableMap/index.d.ts +1 -1
  346. package/es/utils/useEditableMap/index.js +89 -135
  347. package/es/utils/useMediaQuery/index.d.ts +2 -2
  348. package/es/utils/useMediaQuery/index.js +37 -34
  349. package/es/utils/useMediaQuery/query.js +7 -17
  350. package/es/version.js +1 -1
  351. package/guidelines/Guidelines.md +33 -0
  352. package/guidelines/components/drawer-form.md +90 -0
  353. package/guidelines/components/editable-pro-table.md +150 -0
  354. package/guidelines/components/modal-form.md +88 -0
  355. package/guidelines/components/pro-card.md +90 -0
  356. package/guidelines/components/pro-form.md +96 -0
  357. package/guidelines/components/pro-layout.md +84 -0
  358. package/guidelines/components/pro-table.md +142 -0
  359. package/guidelines/components/steps-form.md +105 -0
  360. package/guidelines/design-tokens/colors.md +58 -0
  361. package/guidelines/design-tokens/layout.md +53 -0
  362. package/guidelines/design-tokens/typography.md +49 -0
  363. package/guidelines/overview-components.md +55 -0
  364. package/guidelines/overview-icons.md +23 -0
  365. package/lib/card/ProCard.js +8 -10
  366. package/lib/card/components/Actions/index.js +25 -25
  367. package/lib/card/components/Actions/style.js +79 -72
  368. package/lib/card/components/Card/index.js +154 -139
  369. package/lib/card/components/Card/style.js +249 -193
  370. package/lib/card/components/CheckCard/Group.js +97 -115
  371. package/lib/card/components/CheckCard/index.js +85 -78
  372. package/lib/card/components/CheckCard/style.js +184 -169
  373. package/lib/card/components/Divider/index.js +20 -16
  374. package/lib/card/components/Divider/style.js +32 -30
  375. package/lib/card/components/Loading/index.js +19 -16
  376. package/lib/card/components/Loading/style.js +34 -32
  377. package/lib/card/components/Operation/index.js +16 -14
  378. package/lib/card/components/Operation/style.js +19 -19
  379. package/lib/card/components/Statistic/index.js +46 -42
  380. package/lib/card/components/Statistic/style.js +89 -71
  381. package/lib/card/components/StatisticCard/index.js +46 -41
  382. package/lib/card/components/StatisticCard/style.js +37 -36
  383. package/lib/card/index.js +4 -4
  384. package/lib/descriptions/index.js +219 -225
  385. package/lib/descriptions/useFetchData.js +51 -90
  386. package/lib/field/AllProField.js +267 -217
  387. package/lib/field/FieldHOC/index.js +9 -15
  388. package/lib/field/PureProField.js +84 -82
  389. package/lib/field/ValueTypeToComponent.js +517 -618
  390. package/lib/field/components/Cascader/index.d.ts +2 -2
  391. package/lib/field/components/Cascader/index.js +66 -85
  392. package/lib/field/components/Checkbox/index.d.ts +1 -1
  393. package/lib/field/components/Checkbox/index.js +75 -73
  394. package/lib/field/components/Code/index.js +40 -39
  395. package/lib/field/components/ColorPicker/index.js +38 -33
  396. package/lib/field/components/DatePicker/index.d.ts +1 -1
  397. package/lib/field/components/DatePicker/index.js +49 -53
  398. package/lib/field/components/Digit/index.js +41 -43
  399. package/lib/field/components/DigitRange/index.js +69 -76
  400. package/lib/field/components/FromNow/index.js +27 -25
  401. package/lib/field/components/Image/index.js +28 -24
  402. package/lib/field/components/IndexColumn/index.js +22 -17
  403. package/lib/field/components/Money/index.js +106 -116
  404. package/lib/field/components/Options/index.js +34 -34
  405. package/lib/field/components/Password/index.js +35 -38
  406. package/lib/field/components/Percent/index.js +40 -45
  407. package/lib/field/components/Percent/util.js +3 -6
  408. package/lib/field/components/Progress/index.js +29 -28
  409. package/lib/field/components/Radio/index.d.ts +1 -1
  410. package/lib/field/components/Radio/index.js +61 -63
  411. package/lib/field/components/RangePicker/index.d.ts +1 -1
  412. package/lib/field/components/RangePicker/index.js +52 -63
  413. package/lib/field/components/Rate/index.js +24 -21
  414. package/lib/field/components/Second/index.js +36 -33
  415. package/lib/field/components/Segmented/index.d.ts +1 -1
  416. package/lib/field/components/Segmented/index.js +37 -48
  417. package/lib/field/components/Select/LightSelect/index.d.ts +1 -1
  418. package/lib/field/components/Select/LightSelect/index.js +103 -110
  419. package/lib/field/components/Select/SearchSelect/index.js +133 -156
  420. package/lib/field/components/Select/index.d.ts +1 -1
  421. package/lib/field/components/Select/index.js +194 -218
  422. package/lib/field/components/Slider/index.js +25 -22
  423. package/lib/field/components/Status/index.js +69 -79
  424. package/lib/field/components/Switch/index.d.ts +1 -1
  425. package/lib/field/components/Switch/index.js +32 -31
  426. package/lib/field/components/Text/index.js +34 -38
  427. package/lib/field/components/TextArea/index.js +26 -21
  428. package/lib/field/components/TextArea/readonly.js +24 -22
  429. package/lib/field/components/TimePicker/index.js +96 -105
  430. package/lib/field/components/TreeSelect/index.d.ts +2 -2
  431. package/lib/field/components/TreeSelect/index.js +105 -124
  432. package/lib/field/index.js +34 -34
  433. package/lib/form/BaseForm/BaseForm.js +413 -499
  434. package/lib/form/BaseForm/EditOrReadOnlyContext.js +1 -1
  435. package/lib/form/BaseForm/LightWrapper/index.js +57 -66
  436. package/lib/form/BaseForm/LightWrapper/style.js +17 -14
  437. package/lib/form/BaseForm/Submitter/index.js +44 -44
  438. package/lib/form/BaseForm/index.js +3 -3
  439. package/lib/form/FieldContext.js +1 -1
  440. package/lib/form/components/Captcha/index.js +74 -135
  441. package/lib/form/components/Cascader/index.js +26 -29
  442. package/lib/form/components/Checkbox/index.js +60 -61
  443. package/lib/form/components/ColorPicker/index.js +24 -26
  444. package/lib/form/components/DatePicker/BaseDatePicker.js +32 -30
  445. package/lib/form/components/DatePicker/DatePicker.js +14 -13
  446. package/lib/form/components/DatePicker/DateTimePicker.js +11 -12
  447. package/lib/form/components/DatePicker/MonthPicker.js +14 -13
  448. package/lib/form/components/DatePicker/QuarterPicker.js +14 -13
  449. package/lib/form/components/DatePicker/TimePicker.js +26 -27
  450. package/lib/form/components/DatePicker/WeekPicker.js +14 -13
  451. package/lib/form/components/DatePicker/YearPicker.js +14 -13
  452. package/lib/form/components/DatePicker/index.js +1 -1
  453. package/lib/form/components/DateRangePicker/BaseDateRanger.js +34 -34
  454. package/lib/form/components/DateRangePicker/DateMonthRangePicker.js +15 -16
  455. package/lib/form/components/DateRangePicker/DateQuarterRangePicker.js +15 -16
  456. package/lib/form/components/DateRangePicker/DateTimeRangePicker.js +15 -16
  457. package/lib/form/components/DateRangePicker/DateWeekRangePicker.js +15 -16
  458. package/lib/form/components/DateRangePicker/DateYearRangePicker.js +15 -16
  459. package/lib/form/components/DateRangePicker/TimeRangePicker.js +26 -29
  460. package/lib/form/components/DateRangePicker/index.js +15 -16
  461. package/lib/form/components/Dependency/index.js +31 -35
  462. package/lib/form/components/Digit/DigitRange.js +23 -24
  463. package/lib/form/components/Digit/index.js +27 -29
  464. package/lib/form/components/Field/index.js +55 -63
  465. package/lib/form/components/FieldSet/index.js +68 -76
  466. package/lib/form/components/FormItem/FormItemRender/index.js +58 -48
  467. package/lib/form/components/FormItem/Group/index.js +95 -95
  468. package/lib/form/components/FormItem/Group/style.js +46 -41
  469. package/lib/form/components/FormItem/index.js +135 -141
  470. package/lib/form/components/FormItem/warpField.js +165 -149
  471. package/lib/form/components/List/ListContainer.js +100 -191
  472. package/lib/form/components/List/ListItem.js +153 -200
  473. package/lib/form/components/List/index.js +97 -107
  474. package/lib/form/components/List/style.js +71 -48
  475. package/lib/form/components/Money/index.js +28 -30
  476. package/lib/form/components/Radio/index.js +45 -49
  477. package/lib/form/components/Rate/index.js +17 -21
  478. package/lib/form/components/SchemaForm/index.js +54 -68
  479. package/lib/form/components/SchemaForm/layoutType/Embed.js +5 -6
  480. package/lib/form/components/SchemaForm/layoutType/StepsForm.js +22 -26
  481. package/lib/form/components/SchemaForm/layoutType/index.js +2 -2
  482. package/lib/form/components/SchemaForm/valueType/dependency.js +13 -12
  483. package/lib/form/components/SchemaForm/valueType/divider.js +6 -7
  484. package/lib/form/components/SchemaForm/valueType/field.js +47 -45
  485. package/lib/form/components/SchemaForm/valueType/formList.js +10 -9
  486. package/lib/form/components/SchemaForm/valueType/formSet.js +10 -8
  487. package/lib/form/components/SchemaForm/valueType/group.js +9 -10
  488. package/lib/form/components/SchemaForm/valueType/ignore.js +4 -3
  489. package/lib/form/components/SchemaForm/valueType/index.js +7 -6
  490. package/lib/form/components/Segmented/index.js +20 -24
  491. package/lib/form/components/Select/index.js +69 -73
  492. package/lib/form/components/Slider/index.js +33 -35
  493. package/lib/form/components/Switch/index.js +24 -26
  494. package/lib/form/components/Text/index.js +73 -84
  495. package/lib/form/components/TextArea/index.js +17 -21
  496. package/lib/form/components/TreeSelect/index.js +20 -23
  497. package/lib/form/components/UploadButton/index.js +56 -103
  498. package/lib/form/components/UploadDragger/index.js +37 -44
  499. package/lib/form/components/index.js +42 -42
  500. package/lib/form/helpers/grid.js +68 -69
  501. package/lib/form/helpers/index.js +1 -1
  502. package/lib/form/index.js +8 -8
  503. package/lib/form/layouts/DrawerForm/index.js +149 -241
  504. package/lib/form/layouts/DrawerForm/style.js +26 -26
  505. package/lib/form/layouts/LightFilter/index.d.ts +12 -1
  506. package/lib/form/layouts/LightFilter/index.js +158 -141
  507. package/lib/form/layouts/LightFilter/style.js +52 -49
  508. package/lib/form/layouts/LoginForm/index.js +44 -48
  509. package/lib/form/layouts/LoginForm/style.js +71 -68
  510. package/lib/form/layouts/LoginFormPage/index.js +45 -49
  511. package/lib/form/layouts/LoginFormPage/style.js +136 -127
  512. package/lib/form/layouts/ModalForm/index.js +118 -203
  513. package/lib/form/layouts/ProForm/index.d.ts +1 -1
  514. package/lib/form/layouts/ProForm/index.js +5 -5
  515. package/lib/form/layouts/QueryFilter/Actions.js +23 -22
  516. package/lib/form/layouts/QueryFilter/index.js +177 -202
  517. package/lib/form/layouts/QueryFilter/style.js +45 -38
  518. package/lib/form/layouts/StepsForm/StepForm.d.ts +2 -3
  519. package/lib/form/layouts/StepsForm/StepForm.js +50 -72
  520. package/lib/form/layouts/StepsForm/index.js +174 -216
  521. package/lib/form/layouts/StepsForm/style.js +30 -29
  522. package/lib/form/layouts/index.js +9 -9
  523. package/lib/index.js +11 -11
  524. package/lib/layout/ProLayout.js +281 -292
  525. package/lib/layout/WrapContent.js +18 -14
  526. package/lib/layout/assert/Logo.js +96 -97
  527. package/lib/layout/components/AppsLogoComponents/AppsLogo.js +11 -12
  528. package/lib/layout/components/AppsLogoComponents/DefaultContent.js +19 -17
  529. package/lib/layout/components/AppsLogoComponents/SimpleContent.js +22 -19
  530. package/lib/layout/components/AppsLogoComponents/index.js +36 -40
  531. package/lib/layout/components/AppsLogoComponents/style/default.js +4 -3
  532. package/lib/layout/components/AppsLogoComponents/style/index.js +52 -51
  533. package/lib/layout/components/AppsLogoComponents/style/simple.js +3 -2
  534. package/lib/layout/components/CollapsedIcon/index.js +20 -17
  535. package/lib/layout/components/CollapsedIcon/style.js +40 -41
  536. package/lib/layout/components/Footer.js +23 -22
  537. package/lib/layout/components/FooterToolbar/index.js +59 -53
  538. package/lib/layout/components/FooterToolbar/style/index.js +38 -38
  539. package/lib/layout/components/FooterToolbar/style/stylish.js +11 -10
  540. package/lib/layout/components/GlobalFooter/index.js +27 -27
  541. package/lib/layout/components/GlobalFooter/style.js +31 -31
  542. package/lib/layout/components/GlobalHeader/ActionsContent.js +65 -81
  543. package/lib/layout/components/GlobalHeader/index.js +61 -49
  544. package/lib/layout/components/GlobalHeader/rightContentStyle.js +49 -50
  545. package/lib/layout/components/GlobalHeader/style.js +58 -55
  546. package/lib/layout/components/GridContent/index.js +26 -21
  547. package/lib/layout/components/GridContent/style.js +14 -14
  548. package/lib/layout/components/Header/index.js +65 -59
  549. package/lib/layout/components/Header/style/header.js +49 -48
  550. package/lib/layout/components/Header/style/stylish.js +15 -12
  551. package/lib/layout/components/Help/AsyncContentPanel.js +15 -20
  552. package/lib/layout/components/Help/HelpProvide.js +1 -1
  553. package/lib/layout/components/Help/ProHelpContentPanel.js +66 -85
  554. package/lib/layout/components/Help/ProHelpDrawer.js +27 -32
  555. package/lib/layout/components/Help/ProHelpModal.d.ts +1 -1
  556. package/lib/layout/components/Help/ProHelpModal.js +26 -28
  557. package/lib/layout/components/Help/ProHelpPanel.js +86 -94
  558. package/lib/layout/components/Help/ProHelpPopover.js +20 -18
  559. package/lib/layout/components/Help/RenderContentPanel.js +36 -26
  560. package/lib/layout/components/Help/Search.js +55 -80
  561. package/lib/layout/components/Help/index.js +19 -20
  562. package/lib/layout/components/Help/style.js +82 -76
  563. package/lib/layout/components/PageContainer/index.js +172 -151
  564. package/lib/layout/components/PageContainer/style/index.js +95 -79
  565. package/lib/layout/components/PageContainer/style/stylish.js +11 -10
  566. package/lib/layout/components/PageHeader/index.js +99 -99
  567. package/lib/layout/components/PageHeader/style/index.js +142 -123
  568. package/lib/layout/components/PageLoading/index.js +18 -20
  569. package/lib/layout/components/SettingDrawer/BlockCheckbox.js +31 -34
  570. package/lib/layout/components/SettingDrawer/LayoutChange.js +25 -23
  571. package/lib/layout/components/SettingDrawer/RegionalChange.js +16 -16
  572. package/lib/layout/components/SettingDrawer/ThemeColor.js +34 -36
  573. package/lib/layout/components/SettingDrawer/index.js +138 -168
  574. package/lib/layout/components/SettingDrawer/style/index.js +141 -138
  575. package/lib/layout/components/SiderMenu/BaseMenu.js +235 -221
  576. package/lib/layout/components/SiderMenu/SiderMenu.js +128 -117
  577. package/lib/layout/components/SiderMenu/index.js +49 -44
  578. package/lib/layout/components/SiderMenu/style/index.js +179 -162
  579. package/lib/layout/components/SiderMenu/style/menu.js +148 -111
  580. package/lib/layout/components/SiderMenu/style/stylish.js +15 -12
  581. package/lib/layout/components/TopNavHeader/index.js +73 -62
  582. package/lib/layout/components/TopNavHeader/style.js +64 -64
  583. package/lib/layout/context/RouteContext.js +1 -1
  584. package/lib/layout/defaultSettings.js +1 -1
  585. package/lib/layout/getPageTitle.js +27 -26
  586. package/lib/layout/index.js +16 -16
  587. package/lib/layout/locales/en-US.js +3 -2
  588. package/lib/layout/locales/index.js +8 -6
  589. package/lib/layout/locales/it-IT.js +3 -2
  590. package/lib/layout/locales/ko-KR.js +3 -2
  591. package/lib/layout/locales/zh-CN.js +3 -2
  592. package/lib/layout/locales/zh-TW.js +3 -2
  593. package/lib/layout/style/index.js +48 -43
  594. package/lib/layout/utils/getBreadcrumbProps.js +65 -62
  595. package/lib/layout/utils/getMenuData.js +9 -13
  596. package/lib/layout/utils/pathTools.js +2 -6
  597. package/lib/layout/utils/useCurrentMenuLayoutProps.js +6 -11
  598. package/lib/layout/utils/utils.js +16 -18
  599. package/lib/list/Item.js +155 -136
  600. package/lib/list/ListView.js +110 -119
  601. package/lib/list/constants.js +2 -2
  602. package/lib/list/index.js +72 -70
  603. package/lib/list/style/index.js +281 -214
  604. package/lib/provider/index.js +128 -118
  605. package/lib/provider/intl.js +56 -56
  606. package/lib/provider/typing/layoutToken.js +28 -25
  607. package/lib/provider/useStyle/index.js +55 -60
  608. package/lib/provider/utils/merge.js +12 -14
  609. package/lib/skeleton/components/Descriptions/index.js +213 -229
  610. package/lib/skeleton/components/List/index.js +211 -221
  611. package/lib/skeleton/components/Result/index.js +45 -47
  612. package/lib/skeleton/index.js +23 -19
  613. package/lib/table/Store/Provide.d.ts +4 -4
  614. package/lib/table/Store/Provide.js +103 -117
  615. package/lib/table/Table.d.ts +5 -2
  616. package/lib/table/Table.js +524 -689
  617. package/lib/table/TableSearch.d.ts +24 -0
  618. package/lib/table/TableSearch.js +61 -0
  619. package/lib/table/TableToolbar.d.ts +22 -0
  620. package/lib/table/TableToolbar.js +55 -0
  621. package/lib/table/components/Alert/index.js +41 -40
  622. package/lib/table/components/Alert/style.js +28 -28
  623. package/lib/table/components/ColumnSetting/index.js +228 -224
  624. package/lib/table/components/ColumnSetting/style.js +86 -72
  625. package/lib/table/components/DragSortTable/index.js +64 -78
  626. package/lib/table/components/DragSortTable/style.js +20 -20
  627. package/lib/table/components/Dropdown/index.js +42 -48
  628. package/lib/table/components/EditableTable/CellEditorTable.js +24 -32
  629. package/lib/table/components/EditableTable/RowEditorTable.js +23 -28
  630. package/lib/table/components/EditableTable/index.js +293 -327
  631. package/lib/table/components/Form/FormRender.js +99 -104
  632. package/lib/table/components/Form/index.d.ts +4 -19
  633. package/lib/table/components/Form/index.js +113 -159
  634. package/lib/table/components/ListToolBar/HeaderMenu.js +42 -51
  635. package/lib/table/components/ListToolBar/index.js +123 -148
  636. package/lib/table/components/ListToolBar/style.js +127 -118
  637. package/lib/table/components/ToolBar/DensityIcon.js +10 -9
  638. package/lib/table/components/ToolBar/FullscreenIcon.js +5 -10
  639. package/lib/table/components/ToolBar/index.d.ts +2 -8
  640. package/lib/table/components/ToolBar/index.js +154 -194
  641. package/lib/table/index.js +27 -27
  642. package/lib/table/style/index.js +144 -113
  643. package/lib/table/typing.d.ts +4 -0
  644. package/lib/table/useFetchData.js +197 -337
  645. package/lib/table/utils/cellRenderToFromItem.js +106 -120
  646. package/lib/table/utils/columnRender.js +65 -54
  647. package/lib/table/utils/columnSort.js +24 -23
  648. package/lib/table/utils/genProColumnToColumn.d.ts +13 -9
  649. package/lib/table/utils/genProColumnToColumn.js +121 -99
  650. package/lib/table/utils/index.d.ts +10 -0
  651. package/lib/table/utils/index.js +127 -181
  652. package/lib/table/utils/useDragSort.d.ts +1 -1
  653. package/lib/table/utils/useDragSort.js +99 -93
  654. package/lib/table/utils/usePageInfo.d.ts +6 -0
  655. package/lib/table/utils/usePageInfo.js +61 -0
  656. package/lib/utils/components/DropdownFooter/index.js +25 -23
  657. package/lib/utils/components/DropdownFooter/style.js +16 -16
  658. package/lib/utils/components/ErrorBoundary/index.js +28 -50
  659. package/lib/utils/components/FieldLabel/index.js +70 -71
  660. package/lib/utils/components/FieldLabel/style.js +104 -82
  661. package/lib/utils/components/FilterDropdown/index.d.ts +11 -0
  662. package/lib/utils/components/FilterDropdown/index.js +44 -33
  663. package/lib/utils/components/FilterDropdown/style.js +19 -17
  664. package/lib/utils/components/InlineErrorFormItem/index.js +80 -80
  665. package/lib/utils/components/InlineErrorFormItem/style.js +56 -50
  666. package/lib/utils/components/LabelIconTip/index.js +30 -32
  667. package/lib/utils/components/LabelIconTip/style.js +36 -36
  668. package/lib/utils/components/ProFormContext/index.js +1 -1
  669. package/lib/utils/conversionMomentValue/index.js +22 -23
  670. package/lib/utils/dateArrayFormatter/index.js +11 -15
  671. package/lib/utils/genCopyable/index.js +75 -33
  672. package/lib/utils/getFieldPropsOrFormItemProps/index.js +3 -2
  673. package/lib/utils/hooks/useDebounceFn/index.js +18 -52
  674. package/lib/utils/hooks/useDebounceValue/index.js +7 -17
  675. package/lib/utils/hooks/useDeepCompareEffect/index.js +7 -19
  676. package/lib/utils/hooks/useDocumentTitle/index.js +2 -2
  677. package/lib/utils/hooks/useFetchData/index.js +36 -65
  678. package/lib/utils/hooks/useForceRender/index.js +2 -10
  679. package/lib/utils/hooks/useLatest/index.js +4 -3
  680. package/lib/utils/hooks/usePrevious/index.js +5 -4
  681. package/lib/utils/hooks/useReactiveRef/index.js +2 -2
  682. package/lib/utils/hooks/useRefCallback/index.js +3 -3
  683. package/lib/utils/hooks/useRefFunction/index.js +6 -11
  684. package/lib/utils/index.d.ts +1 -2
  685. package/lib/utils/index.js +57 -65
  686. package/lib/utils/isBrowser/index.js +4 -3
  687. package/lib/utils/isDeepEqualReact/index.js +9 -45
  688. package/lib/utils/isDropdownValueType/index.js +4 -3
  689. package/lib/utils/isNil/index.js +2 -3
  690. package/lib/utils/isUrl/index.js +4 -3
  691. package/lib/utils/merge/index.js +12 -14
  692. package/lib/utils/nanoid/index.js +7 -7
  693. package/lib/utils/omitBoolean/index.js +3 -2
  694. package/lib/utils/omitUndefined/index.js +5 -4
  695. package/lib/utils/omitUndefinedAndEmptyArr/index.js +6 -6
  696. package/lib/utils/parseValueToMoment/index.js +5 -8
  697. package/lib/utils/pickProFormItemProps/index.js +3 -3
  698. package/lib/utils/pickProProps/index.js +6 -7
  699. package/lib/utils/proFieldParsingText/index.js +89 -99
  700. package/lib/utils/runFunction/index.js +2 -5
  701. package/lib/utils/stringify/index.js +2 -2
  702. package/lib/utils/transformKeySubmitValue/index.js +101 -117
  703. package/lib/utils/useEditableArray/index.d.ts +6 -1
  704. package/lib/utils/useEditableArray/index.js +582 -735
  705. package/lib/utils/useEditableMap/index.d.ts +1 -1
  706. package/lib/utils/useEditableMap/index.js +88 -135
  707. package/lib/utils/useMediaQuery/index.js +40 -35
  708. package/lib/utils/useMediaQuery/query.js +7 -18
  709. package/lib/version.js +1 -1
  710. package/package.json +20 -31
  711. package/es/utils/useMountMergeState/index.d.ts +0 -2
  712. package/es/utils/useMountMergeState/index.js +0 -2
  713. package/lib/utils/useMountMergeState/index.d.ts +0 -2
  714. package/lib/utils/useMountMergeState/index.js +0 -12
@@ -1,21 +1,14 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
- var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
10
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
14
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
- var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
16
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
+ var _util = require("@rc-component/util");
17
10
  var _antd = require("antd");
18
- var _classnames = _interopRequireDefault(require("classnames"));
11
+ var _clsx = require("clsx");
19
12
  var _isEmpty = _interopRequireDefault(require("lodash-es/isEmpty"));
20
13
  var _isEqual = _interopRequireDefault(require("lodash-es/isEqual"));
21
14
  var _react = _interopRequireWildcard(require("react"));
@@ -25,164 +18,144 @@ var _form = _interopRequireWildcard(require("../form"));
25
18
  var _provider = _interopRequireWildcard(require("../provider"));
26
19
  var _utils = require("../utils");
27
20
  var _Alert = _interopRequireDefault(require("./components/Alert"));
28
- var _Form = _interopRequireDefault(require("./components/Form"));
29
- var _ToolBar = _interopRequireDefault(require("./components/ToolBar"));
30
21
  var _Provide = require("./Store/Provide");
31
22
  var _style = require("./style");
23
+ var _TableSearch = require("./TableSearch");
24
+ var _TableToolbar = require("./TableToolbar");
32
25
  var _useFetchData = _interopRequireDefault(require("./useFetchData"));
33
26
  var _utils2 = require("./utils");
34
27
  var _columnSort = require("./utils/columnSort");
35
28
  var _genProColumnToColumn = require("./utils/genProColumnToColumn");
36
29
  var _jsxRuntime = require("react/jsx-runtime");
37
- var _excluded = ["rowKey", "tableClassName", "defaultClassName", "action", "tableColumn", "type", "pagination", "rowSelection", "size", "defaultSize", "tableStyle", "toolbarDom", "hideToolbar", "searchNode", "style", "cardProps", "alertDom", "name", "onSortChange", "onFilterChange", "options", "isLightFilter", "className", "cardBordered", "editableUtils", "getRowKey", "tableRef"],
38
- _excluded2 = ["cardBordered", "request", "className", "params", "defaultData", "headerTitle", "postData", "ghost", "pagination", "actionRef", "columns", "toolBarRender", "optionsRender", "onLoad", "onRequestError", "style", "cardProps", "tableStyle", "tableClassName", "options", "search", "name", "onLoadingChange", "rowSelection", "beforeSearchSubmit", "tableAlertRender", "defaultClassName", "formRef", "type", "columnEmptyText", "toolbar", "rowKey", "manualRequest", "polling", "tooltip", "revalidateOnFocus", "searchFormRender"];
39
- function useEditableDataSource(_ref) {
40
- var dataSource = _ref.dataSource,
41
- editableUtils = _ref.editableUtils,
42
- pagination = _ref.pagination,
43
- getRowKey = _ref.getRowKey,
44
- childrenColumnName = _ref.childrenColumnName;
45
- return (0, _react.useMemo)(function () {
46
- var baseData = Array.isArray(dataSource) ? (0, _toConsumableArray2.default)(dataSource) : [];
47
- var newLineConfig = editableUtils === null || editableUtils === void 0 ? void 0 : editableUtils.newLineRecord;
48
- var defaultValue = newLineConfig === null || newLineConfig === void 0 ? void 0 : newLineConfig.defaultValue;
49
- if (!newLineConfig || !defaultValue) {
50
- return baseData;
51
- }
52
- var newLineOptions = newLineConfig.options;
53
- var childrenName = childrenColumnName || 'children';
54
- if (newLineOptions !== null && newLineOptions !== void 0 && newLineOptions.parentKey) {
55
- var _recordKeyToString, _newLineOptions$recor;
56
- var newRow = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, defaultValue), {}, {
57
- map_row_parentKey: (_recordKeyToString = (0, _utils.recordKeyToString)(newLineOptions.parentKey)) === null || _recordKeyToString === void 0 ? void 0 : _recordKeyToString.toString()
58
- });
59
- var actionProps = {
60
- data: baseData,
61
- getRowKey: getRowKey,
62
- row: newRow,
63
- key: (_newLineOptions$recor = newLineOptions === null || newLineOptions === void 0 ? void 0 : newLineOptions.recordKey) !== null && _newLineOptions$recor !== void 0 ? _newLineOptions$recor : getRowKey(newRow, -1),
64
- childrenColumnName: childrenName
65
- };
66
- return (0, _utils.editableRowByKey)(actionProps, (newLineOptions === null || newLineOptions === void 0 ? void 0 : newLineOptions.position) === 'top' ? 'top' : 'update');
67
- }
68
- if ((newLineOptions === null || newLineOptions === void 0 ? void 0 : newLineOptions.position) === 'top') {
69
- return [defaultValue].concat((0, _toConsumableArray2.default)(baseData));
70
- }
71
- var pageConfig = pagination && (0, _typeof2.default)(pagination) === 'object' ? pagination : undefined;
72
- if (pageConfig !== null && pageConfig !== void 0 && pageConfig.current && pageConfig !== null && pageConfig !== void 0 && pageConfig.pageSize) {
73
- if (pageConfig.pageSize > baseData.length) {
74
- baseData.push(defaultValue);
75
- return baseData;
76
- }
77
- var insertIndex = pageConfig.current * pageConfig.pageSize - 1;
78
- baseData.splice(insertIndex, 0, defaultValue);
30
+ function getEditableDataSource({
31
+ dataSource,
32
+ editableUtils,
33
+ pagination,
34
+ getRowKey,
35
+ childrenColumnName
36
+ }) {
37
+ const baseData = Array.isArray(dataSource) ? [...dataSource] : [];
38
+ const newLineConfig = editableUtils?.newLineRecord;
39
+ const defaultValue = newLineConfig?.defaultValue;
40
+ if (!newLineConfig || !defaultValue) {
41
+ return baseData;
42
+ }
43
+ const {
44
+ options: newLineOptions
45
+ } = newLineConfig;
46
+ const childrenName = childrenColumnName || 'children';
47
+ if (newLineOptions?.parentKey) {
48
+ const newRow = {
49
+ ...defaultValue,
50
+ map_row_parentKey: (0, _utils.recordKeyToString)(newLineOptions.parentKey)?.toString()
51
+ };
52
+ const actionProps = {
53
+ data: baseData,
54
+ getRowKey,
55
+ row: newRow,
56
+ key: newLineOptions?.recordKey ?? getRowKey(newRow, -1),
57
+ childrenColumnName: childrenName
58
+ };
59
+ return (0, _utils.editableRowByKey)(actionProps, newLineOptions?.position === 'top' ? 'top' : 'update');
60
+ }
61
+ if (newLineOptions?.position === 'top') {
62
+ return [defaultValue, ...baseData];
63
+ }
64
+ const pageConfig = pagination && typeof pagination === 'object' ? pagination : undefined;
65
+ if (pageConfig?.current && pageConfig?.pageSize) {
66
+ if (pageConfig.pageSize > baseData.length) {
67
+ baseData.push(defaultValue);
79
68
  return baseData;
80
69
  }
81
- baseData.push(defaultValue);
70
+ const insertIndex = pageConfig.current * pageConfig.pageSize - 1;
71
+ baseData.splice(insertIndex, 0, defaultValue);
82
72
  return baseData;
83
- }, [childrenColumnName, dataSource, editableUtils === null || editableUtils === void 0 ? void 0 : editableUtils.newLineRecord, getRowKey, pagination]);
73
+ }
74
+ baseData.push(defaultValue);
75
+ return baseData;
84
76
  }
85
- function useTableCardBodyStyle(_ref2) {
86
- var propsCardProps = _ref2.propsCardProps,
87
- notNeedCardDom = _ref2.notNeedCardDom,
88
- name = _ref2.name,
89
- hideToolbar = _ref2.hideToolbar,
90
- toolbarDom = _ref2.toolbarDom,
91
- pagination = _ref2.pagination;
92
- return (0, _react.useMemo)(function () {
93
- if (propsCardProps === false || notNeedCardDom || !!name) {
94
- return {};
95
- }
96
- if (hideToolbar) {
97
- return {
98
- padding: 0
99
- };
100
- }
101
- if (toolbarDom) {
102
- return {
103
- paddingBlockStart: 0
104
- };
105
- }
77
+ function getTableCardBodyStyle({
78
+ propsCardProps,
79
+ notNeedCardDom,
80
+ name,
81
+ hideToolbar,
82
+ toolbarDom
83
+ }) {
84
+ // cardProps === false 或存在 name 的场景不需要额外 padding 处理
85
+ if (propsCardProps === false || notNeedCardDom || !!name) {
86
+ return {};
87
+ }
88
+
89
+ // 显式隐藏 toolbar 时,统一不留 padding(避免误用 paddingBlockStart)
90
+ if (hideToolbar) {
106
91
  return {
107
92
  padding: 0
108
93
  };
109
- }, [hideToolbar, name, notNeedCardDom, pagination, propsCardProps, toolbarDom]);
110
- }
111
- function useTableContent(_ref3) {
112
- var editable = _ref3.editable,
113
- name = _ref3.name,
114
- toolbarDom = _ref3.toolbarDom,
115
- alertDom = _ref3.alertDom,
116
- tableDom = _ref3.tableDom,
117
- dateFormatter = _ref3.dateFormatter,
118
- editableOnValuesChange = _ref3.editableOnValuesChange;
119
- return (0, _react.useMemo)(function () {
120
- if (editable && !name) {
121
- var _editable$formProps;
122
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
123
- children: [toolbarDom, alertDom, /*#__PURE__*/(0, _react.createElement)(_form.default, (0, _objectSpread3.default)((0, _objectSpread3.default)({}, editable.formProps), {}, {
124
- formRef: (_editable$formProps = editable.formProps) === null || _editable$formProps === void 0 ? void 0 : _editable$formProps.formRef,
125
- component: false,
126
- form: editable.form,
127
- onValuesChange: editableOnValuesChange,
128
- key: "table",
129
- submitter: false,
130
- omitNil: false,
131
- dateFormatter: dateFormatter
132
- }), tableDom)]
133
- });
134
- }
135
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
136
- children: [toolbarDom, alertDom, tableDom]
137
- });
138
- }, [alertDom, dateFormatter, editable, editableOnValuesChange, name, tableDom, toolbarDom]);
94
+ }
95
+
96
+ // toolbar 的场景,需要让 ProCard body 顶部与 toolbar 对齐
97
+ if (toolbarDom) {
98
+ return {
99
+ paddingBlockStart: 0
100
+ };
101
+ }
102
+ return {
103
+ padding: 0
104
+ };
139
105
  }
140
- function useRowKey(_ref4) {
141
- var rowKey = _ref4.rowKey,
142
- name = _ref4.name;
143
- return (0, _react.useMemo)(function () {
106
+ function useRowKey({
107
+ rowKey,
108
+ name
109
+ }) {
110
+ return (0, _react.useMemo)(() => {
144
111
  if (typeof rowKey === 'function') {
145
112
  return rowKey;
146
113
  }
147
- return function (record, index) {
148
- var _ref5;
114
+ return (record, index) => {
149
115
  if (index === -1) {
150
- return record === null || record === void 0 ? void 0 : record[rowKey];
116
+ return record?.[rowKey];
151
117
  }
152
118
  if (name) {
153
- return index === null || index === void 0 ? void 0 : index.toString();
119
+ return index?.toString();
154
120
  }
155
- return (_ref5 = record === null || record === void 0 ? void 0 : record[rowKey]) !== null && _ref5 !== void 0 ? _ref5 : index === null || index === void 0 ? void 0 : index.toString();
121
+ return record?.[rowKey] ?? index?.toString();
156
122
  };
157
123
  }, [name, rowKey]);
158
124
  }
159
- function useMergedPagination(_ref6) {
160
- var propsPagination = _ref6.propsPagination,
161
- action = _ref6.action,
162
- intl = _ref6.intl,
163
- request = _ref6.request,
164
- type = _ref6.type;
165
- return (0, _react.useMemo)(function () {
166
- var newPropsPagination = propsPagination === false ? false : (0, _objectSpread3.default)({}, propsPagination || {});
167
- var pageConfig = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, action.pageInfo), {}, {
168
- setPageInfo: function setPageInfo(_ref7) {
169
- var pageSize = _ref7.pageSize,
170
- current = _ref7.current;
171
- var pageInfo = action.pageInfo;
125
+ function useMergedPagination({
126
+ propsPagination,
127
+ action,
128
+ intl,
129
+ request,
130
+ type
131
+ }) {
132
+ return (0, _react.useMemo)(() => {
133
+ const newPropsPagination = propsPagination === false ? false : {
134
+ ...(propsPagination || {})
135
+ };
136
+ const pageConfig = {
137
+ ...action.pageInfo,
138
+ setPageInfo: ({
139
+ pageSize,
140
+ current
141
+ }) => {
142
+ const {
143
+ pageInfo
144
+ } = action;
172
145
  if (pageSize === pageInfo.pageSize || pageInfo.current === 1) {
173
146
  action.setPageInfo({
174
- pageSize: pageSize,
175
- current: current
147
+ pageSize,
148
+ current
176
149
  });
177
150
  return;
178
151
  }
179
152
  if (request) action.setDataSource([]);
180
153
  action.setPageInfo({
181
- pageSize: pageSize,
154
+ pageSize,
182
155
  current: type === 'list' ? current : 1
183
156
  });
184
157
  }
185
- });
158
+ };
186
159
  if (request && newPropsPagination) {
187
160
  delete newPropsPagination.onChange;
188
161
  delete newPropsPagination.onShowSizeChange;
@@ -190,101 +163,15 @@ function useMergedPagination(_ref6) {
190
163
  return (0, _utils2.mergePagination)(newPropsPagination, pageConfig, intl);
191
164
  }, [action, intl, propsPagination, request, type]);
192
165
  }
193
- function useSearchNode(_ref8) {
194
- var search = _ref8.search,
195
- type = _ref8.type,
196
- pagination = _ref8.pagination,
197
- beforeSearchSubmit = _ref8.beforeSearchSubmit,
198
- actionRef = _ref8.actionRef,
199
- columns = _ref8.columns,
200
- _onFormSearchSubmit = _ref8.onFormSearchSubmit,
201
- ghost = _ref8.ghost,
202
- onReset = _ref8.onReset,
203
- onSubmit = _ref8.onSubmit,
204
- loading = _ref8.loading,
205
- manualRequest = _ref8.manualRequest,
206
- form = _ref8.form,
207
- formRef = _ref8.formRef,
208
- cardBordered = _ref8.cardBordered,
209
- dateFormatter = _ref8.dateFormatter,
210
- searchFormRender = _ref8.searchFormRender,
211
- proTableProps = _ref8.proTableProps;
212
- return (0, _react.useMemo)(function () {
213
- var node = search === false && type !== 'form' ? null : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Form.default, {
214
- pagination: pagination,
215
- beforeSearchSubmit: beforeSearchSubmit,
216
- action: actionRef,
217
- columns: columns,
218
- onFormSearchSubmit: function onFormSearchSubmit(values) {
219
- _onFormSearchSubmit(values);
220
- },
221
- ghost: ghost,
222
- onReset: onReset,
223
- onSubmit: onSubmit,
224
- loading: loading,
225
- manualRequest: manualRequest,
226
- search: search,
227
- form: form,
228
- formRef: formRef,
229
- type: type || 'table',
230
- cardBordered: cardBordered,
231
- dateFormatter: dateFormatter
232
- });
233
- if (searchFormRender && node) {
234
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
235
- children: searchFormRender(proTableProps, node)
236
- });
237
- }
238
- return node;
239
- }, [actionRef, beforeSearchSubmit, cardBordered, columns, dateFormatter, form, formRef, ghost, loading, manualRequest, _onFormSearchSubmit, onReset, onSubmit, pagination, proTableProps, search, searchFormRender, type]);
240
- }
241
- function useToolbarDom(context) {
242
- var toolBarRender = context.toolBarRender,
243
- headerTitle = context.headerTitle,
244
- hideToolbar = context.hideToolbar,
245
- selectedRows = context.selectedRows,
246
- selectedRowKeys = context.selectedRowKeys,
247
- tableColumn = context.tableColumn,
248
- tooltip = context.tooltip,
249
- toolbar = context.toolbar,
250
- isLightFilter = context.isLightFilter,
251
- searchNode = context.searchNode,
252
- options = context.options,
253
- optionsRender = context.optionsRender,
254
- actionRef = context.actionRef,
255
- setFormSearch = context.setFormSearch,
256
- formSearch = context.formSearch;
257
- return (0, _react.useMemo)(function () {
258
- if (toolBarRender === false) {
259
- return null;
260
- }
261
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ToolBar.default, {
262
- headerTitle: headerTitle,
263
- hideToolbar: hideToolbar,
264
- selectedRows: selectedRows,
265
- selectedRowKeys: selectedRowKeys,
266
- tableColumn: tableColumn,
267
- tooltip: tooltip,
268
- toolbar: toolbar,
269
- onFormSearchSubmit: function onFormSearchSubmit(newValues) {
270
- setFormSearch((0, _objectSpread3.default)((0, _objectSpread3.default)({}, formSearch || {}), newValues));
271
- },
272
- searchNode: isLightFilter ? searchNode : null,
273
- options: options,
274
- optionsRender: optionsRender,
275
- actionRef: actionRef,
276
- toolBarRender: toolBarRender
277
- });
278
- }, [actionRef, formSearch, headerTitle, hideToolbar, isLightFilter, options, optionsRender, searchNode, selectedRowKeys, selectedRows, setFormSearch, tableColumn, toolBarRender, tooltip, toolbar]);
279
- }
280
- function useAlertDom(_ref9) {
281
- var propsRowSelection = _ref9.propsRowSelection,
282
- selectedRowKeys = _ref9.selectedRowKeys,
283
- selectedRows = _ref9.selectedRows,
284
- onCleanSelected = _ref9.onCleanSelected,
285
- tableAlertOptionRender = _ref9.tableAlertOptionRender,
286
- tableAlertRender = _ref9.tableAlertRender;
287
- return (0, _react.useMemo)(function () {
166
+ function useAlertDom({
167
+ propsRowSelection,
168
+ selectedRowKeys,
169
+ selectedRows,
170
+ onCleanSelected,
171
+ tableAlertOptionRender,
172
+ tableAlertRender
173
+ }) {
174
+ return (0, _react.useMemo)(() => {
288
175
  if (propsRowSelection === false) {
289
176
  return null;
290
177
  }
@@ -294,385 +181,195 @@ function useAlertDom(_ref9) {
294
181
  onCleanSelected: onCleanSelected,
295
182
  alertOptionRender: tableAlertOptionRender,
296
183
  alertInfoRender: tableAlertRender,
297
- alwaysShowAlert: propsRowSelection === null || propsRowSelection === void 0 ? void 0 : propsRowSelection.alwaysShowAlert
184
+ alwaysShowAlert: propsRowSelection?.alwaysShowAlert
298
185
  });
299
186
  }, [onCleanSelected, propsRowSelection, selectedRowKeys, selectedRows, tableAlertOptionRender, tableAlertRender]);
300
187
  }
301
- function TableRender(props) {
302
- var _props$expandable;
303
- var rowKey = props.rowKey,
304
- tableClassName = props.tableClassName,
305
- defaultClassName = props.defaultClassName,
306
- action = props.action,
307
- tableColumns = props.tableColumn,
308
- type = props.type,
309
- pagination = props.pagination,
310
- rowSelection = props.rowSelection,
311
- size = props.size,
312
- defaultSize = props.defaultSize,
313
- tableStyle = props.tableStyle,
314
- toolbarDom = props.toolbarDom,
315
- hideToolbar = props.hideToolbar,
316
- searchNode = props.searchNode,
317
- style = props.style,
318
- propsCardProps = props.cardProps,
319
- alertDom = props.alertDom,
320
- name = props.name,
321
- onSortChange = props.onSortChange,
322
- onFilterChange = props.onFilterChange,
323
- options = props.options,
324
- isLightFilter = props.isLightFilter,
325
- className = props.className,
326
- cardBordered = props.cardBordered,
327
- editableUtils = props.editableUtils,
328
- getRowKey = props.getRowKey,
329
- tableRef = props.tableRef,
330
- rest = (0, _objectWithoutProperties2.default)(props, _excluded);
331
- var counter = (0, _react.useContext)(_Provide.TableContext);
332
- var mergedDataSource = useEditableDataSource({
333
- dataSource: action.dataSource,
334
- editableUtils: editableUtils,
335
- pagination: pagination,
336
- getRowKey: getRowKey,
337
- childrenColumnName: ((_props$expandable = props.expandable) === null || _props$expandable === void 0 ? void 0 : _props$expandable.childrenColumnName) || 'children'
338
- });
339
-
340
- /** 需要遍历一下,不然不支持嵌套表格 */
341
- var columns = (0, _react.useMemo)(function () {
342
- var loopFilter = function loopFilter(column) {
343
- return column.map(function (item) {
344
- // 删掉不应该显示的
345
- var columnKey = (0, _utils2.genColumnKey)(item.key, item.index);
346
- var config = counter.columnsMap[columnKey];
347
- if (config && config.show === false) {
348
- return false;
349
- }
350
- if (item.children) {
351
- return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, item), {}, {
352
- children: loopFilter(item.children)
353
- });
354
- }
355
- return item;
356
- }).filter(Boolean);
357
- };
358
- return loopFilter(tableColumns);
359
- }, [counter.columnsMap, tableColumns]);
360
-
361
- // 需要进行筛选的列
362
- var useFilterColumns = (0, _react.useMemo)(function () {
363
- var _columns = (0, _utils2.flattenColumns)(columns);
364
- return _columns.filter(function (column) {
365
- return !!column.filters;
366
- });
367
- }, [columns]);
368
- var getTableProps = function getTableProps() {
369
- return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, rest), {}, {
370
- size: size,
371
- rowSelection: rowSelection === false ? undefined : rowSelection,
372
- className: tableClassName,
373
- style: tableStyle,
374
- columns: columns,
375
- loading: action.loading,
376
- dataSource: mergedDataSource,
377
- pagination: pagination,
378
- onChange: function onChange(changePagination, filters, sorter, extra) {
379
- var _rest$onChange;
380
- (_rest$onChange = rest.onChange) === null || _rest$onChange === void 0 || _rest$onChange.call(rest, changePagination, filters, sorter, extra);
381
-
382
- // 传递服务端筛选数据
383
- var serverFilter = (0, _utils2.getServerFilterResult)(filters, useFilterColumns);
384
- onFilterChange((0, _utils.omitUndefined)(serverFilter));
385
-
386
- // 传递服务端排序数据
387
- var serverSorter = (0, _utils2.getServerSorterResult)(sorter);
388
- onSortChange((0, _utils.omitUndefined)(serverSorter));
389
- }
390
- });
391
- };
392
-
393
- /**
394
- * 是否需要 card 来包裹
395
- */
396
- var notNeedCardDom = (0, _react.useMemo)(function () {
397
- if (props.search === false && !props.headerTitle && props.toolBarRender === false) {
398
- return true;
399
- }
400
- return false;
401
- }, []);
402
-
403
- /** 默认的 table dom,如果是编辑模式,外面还要包个 form */
404
- var baseTableDom = /*#__PURE__*/(0, _jsxRuntime.jsx)(_form.GridContext.Provider, {
405
- value: {
406
- grid: false,
407
- colProps: undefined,
408
- rowProps: undefined
409
- },
410
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Table, (0, _objectSpread3.default)((0, _objectSpread3.default)({}, getTableProps()), {}, {
411
- rowKey: rowKey,
412
- ref: tableRef
413
- }))
414
- });
188
+ const emptyObj = {};
189
+ const ProTable = props => {
190
+ const {
191
+ cardBordered,
192
+ request,
193
+ className: propsClassName,
194
+ params = emptyObj,
195
+ defaultData,
196
+ headerTitle,
197
+ postData,
198
+ ghost,
199
+ pagination: propsPagination,
200
+ actionRef: propsActionRef,
201
+ toolBarRender,
202
+ optionsRender,
203
+ onLoad,
204
+ onRequestError,
205
+ style,
206
+ cardProps,
207
+ tableStyle,
208
+ tableClassName,
209
+ options,
210
+ search,
211
+ name: isEditorTable,
212
+ onLoadingChange,
213
+ rowSelection: propsRowSelection = false,
214
+ beforeSearchSubmit,
215
+ tableAlertRender,
216
+ defaultClassName,
217
+ formRef: propRef,
218
+ type = 'table',
219
+ columnEmptyText = '-',
220
+ toolbar,
221
+ rowKey,
222
+ manualRequest,
223
+ polling,
224
+ tooltip,
225
+ revalidateOnFocus = false,
226
+ searchFormRender,
227
+ ...rest
228
+ } = props;
229
+ const {
230
+ wrapSSR,
231
+ hashId
232
+ } = (0, _style.useStyle)(props.defaultClassName);
233
+ const className = (0, _clsx.clsx)(defaultClassName, propsClassName, hashId);
415
234
 
416
- /** 自定义的 render */
417
- var tableDom = props.tableViewRender ? props.tableViewRender((0, _objectSpread3.default)((0, _objectSpread3.default)({}, getTableProps()), {}, {
418
- rowSelection: rowSelection !== false ? rowSelection : undefined
419
- }), baseTableDom) : baseTableDom;
420
- var tableContentDom = useTableContent({
421
- editable: props.editable,
422
- name: props.name,
423
- toolbarDom: toolbarDom,
424
- alertDom: alertDom,
425
- tableDom: tableDom,
426
- dateFormatter: props.dateFormatter,
427
- editableOnValuesChange: editableUtils.onValuesChange
428
- });
429
- var cardBodyStyle = useTableCardBodyStyle({
430
- propsCardProps: propsCardProps,
431
- notNeedCardDom: notNeedCardDom,
432
- name: props.name,
433
- hideToolbar: hideToolbar,
434
- toolbarDom: toolbarDom,
435
- pagination: pagination
436
- });
235
+ /** 通用的来操作子节点的工具类 */
236
+ const actionRef = (0, _react.useRef)();
237
+ // antd Table 实例 ref(仅用于转发 scrollTo 能力)
238
+ const antTableRef = (0, _react.useRef)(null);
239
+ const defaultFormRef = (0, _react.useRef)();
240
+ const formRef = propRef || defaultFormRef;
241
+ (0, _react.useImperativeHandle)(propsActionRef, () => actionRef.current);
437
242
 
438
- /** Table 区域的 dom,为了方便 render */
439
- var tableAreaDom =
440
- // cardProps 或者 有了name 就不需要这个padding了,不然会导致不好对齐
441
- propsCardProps === false || notNeedCardDom === true || !!props.name ? tableContentDom : /*#__PURE__*/(0, _jsxRuntime.jsx)(_card.default, (0, _objectSpread3.default)((0, _objectSpread3.default)({
442
- ghost: props.ghost,
443
- variant: (0, _utils2.isBordered)('table', cardBordered) ? 'outlined' : 'borderless',
444
- styles: {
445
- body: cardBodyStyle
446
- }
447
- }, propsCardProps), {}, {
448
- children: tableContentDom
449
- }));
450
- var renderTable = function renderTable() {
451
- if (props.tableRender) {
452
- return props.tableRender(props, tableAreaDom, {
453
- toolbar: toolbarDom || undefined,
454
- alert: alertDom || undefined,
455
- table: tableDom || undefined
456
- });
243
+ /** 单选多选的相关逻辑 */
244
+ const [selectedRowKeys, setSelectedRowKeys] = (0, _util.useControlledState)(propsRowSelection ? propsRowSelection?.defaultSelectedRowKeys || [] : undefined, propsRowSelection ? propsRowSelection.selectedRowKeys : undefined);
245
+ const [formSearch, setFormSearch] = (0, _react.useState)(() => {
246
+ // 如果手动模式,或者 search 不存在的时候设置为 undefined
247
+ // undefined 就不会触发首次加载
248
+ if (manualRequest || search !== false) {
249
+ return undefined;
457
250
  }
458
- return tableAreaDom;
459
- };
460
- var proTableDom = /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
461
- className: (0, _classnames.default)(className, (0, _defineProperty2.default)({}, "".concat(defaultClassName, "-polling"), action.pollingLoading)),
462
- style: style,
463
- ref: counter.rootDomRef,
464
- children: [isLightFilter ? null : searchNode, type !== 'form' && props.tableExtraRender && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
465
- className: (0, _classnames.default)(className, "".concat(defaultClassName, "-extra")),
466
- children: props.tableExtraRender(props, action.dataSource || [])
467
- }), type !== 'form' && renderTable()]
251
+ return {};
468
252
  });
469
253
 
470
- // 如果不需要的全屏,ConfigProvider 没有意义
471
- if (!options || !(options !== null && options !== void 0 && options.fullScreen)) {
472
- return proTableDom;
473
- }
474
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.ConfigProvider, {
475
- getPopupContainer: function getPopupContainer() {
476
- return counter.rootDomRef.current || document.body;
477
- },
478
- children: proTableDom
479
- });
480
- }
481
- var emptyObj = {};
482
- var ProTable = function ProTable(props) {
483
- var _props$expandable2, _counter$rootDomRef;
484
- var cardBordered = props.cardBordered,
485
- request = props.request,
486
- propsClassName = props.className,
487
- _props$params = props.params,
488
- params = _props$params === void 0 ? emptyObj : _props$params,
489
- defaultData = props.defaultData,
490
- headerTitle = props.headerTitle,
491
- postData = props.postData,
492
- ghost = props.ghost,
493
- propsPagination = props.pagination,
494
- propsActionRef = props.actionRef,
495
- _props$columns = props.columns,
496
- propsColumns = _props$columns === void 0 ? [] : _props$columns,
497
- toolBarRender = props.toolBarRender,
498
- optionsRender = props.optionsRender,
499
- onLoad = props.onLoad,
500
- onRequestError = props.onRequestError,
501
- style = props.style,
502
- cardProps = props.cardProps,
503
- tableStyle = props.tableStyle,
504
- tableClassName = props.tableClassName,
505
- options = props.options,
506
- search = props.search,
507
- isEditorTable = props.name,
508
- onLoadingChange = props.onLoadingChange,
509
- _props$rowSelection = props.rowSelection,
510
- propsRowSelection = _props$rowSelection === void 0 ? false : _props$rowSelection,
511
- beforeSearchSubmit = props.beforeSearchSubmit,
512
- tableAlertRender = props.tableAlertRender,
513
- defaultClassName = props.defaultClassName,
514
- propRef = props.formRef,
515
- _props$type = props.type,
516
- type = _props$type === void 0 ? 'table' : _props$type,
517
- _props$columnEmptyTex = props.columnEmptyText,
518
- columnEmptyText = _props$columnEmptyTex === void 0 ? '-' : _props$columnEmptyTex,
519
- toolbar = props.toolbar,
520
- rowKey = props.rowKey,
521
- manualRequest = props.manualRequest,
522
- polling = props.polling,
523
- tooltip = props.tooltip,
524
- _props$revalidateOnFo = props.revalidateOnFocus,
525
- revalidateOnFocus = _props$revalidateOnFo === void 0 ? false : _props$revalidateOnFo,
526
- searchFormRender = props.searchFormRender,
527
- rest = (0, _objectWithoutProperties2.default)(props, _excluded2);
528
- var _useStyle = (0, _style.useStyle)(props.defaultClassName),
529
- wrapSSR = _useStyle.wrapSSR,
530
- hashId = _useStyle.hashId;
531
- var className = (0, _classnames.default)(defaultClassName, propsClassName, hashId);
532
-
533
- /** 通用的来操作子节点的工具类 */
534
- var actionRef = (0, _react.useRef)();
535
- // antd Table 实例 ref(仅用于转发 scrollTo 能力)
536
- var antTableRef = (0, _react.useRef)(null);
537
- var defaultFormRef = (0, _react.useRef)();
538
- var formRef = propRef || defaultFormRef;
539
- (0, _react.useImperativeHandle)(propsActionRef, function () {
540
- return actionRef.current;
254
+ /**
255
+ * `actionRef.current?.reset()` 会在同一事件循环里同步调用 `action.reload()`。
256
+ * 由于 React state 更新是异步的,如果仅 setState,reload 可能仍读取到旧的 formSearch。
257
+ * 使用 ref 作为请求参数的同步来源,保证 reset/toolbar 等场景下参数与表单展示一致。
258
+ */
259
+ const formSearchRef = (0, _react.useRef)(formSearch);
260
+ const setFormSearchWithRef = (0, _utils.useRefFunction)(next => {
261
+ const nextValue = typeof next === 'function' ? next(formSearchRef.current) : next;
262
+ formSearchRef.current = nextValue;
263
+ setFormSearch(nextValue);
541
264
  });
265
+ const {
266
+ columns: propsColumns = [],
267
+ columnsState
268
+ } = props;
269
+ const {
270
+ defaultProFilter,
271
+ defaultProSort
272
+ } = (0, _react.useMemo)(() => {
273
+ const {
274
+ sort,
275
+ filter
276
+ } = (0, _utils2.parseServerDefaultColumnConfig)((0, _utils2.flattenColumns)(propsColumns));
277
+ return {
278
+ defaultProFilter: filter,
279
+ defaultProSort: sort
280
+ };
281
+ }, [propsColumns]);
282
+ const [proFilter, setProFilter] = (0, _react.useState)(defaultProFilter);
283
+ const [proSort, setProSort] = (0, _react.useState)(defaultProSort);
542
284
 
543
- /** 单选多选的相关逻辑 */
544
- var _useMountMergeState = (0, _utils.useMountMergeState)(propsRowSelection ? (propsRowSelection === null || propsRowSelection === void 0 ? void 0 : propsRowSelection.defaultSelectedRowKeys) || [] : undefined, {
545
- value: propsRowSelection ? propsRowSelection.selectedRowKeys : undefined
546
- }),
547
- _useMountMergeState2 = (0, _slicedToArray2.default)(_useMountMergeState, 2),
548
- selectedRowKeys = _useMountMergeState2[0],
549
- setSelectedRowKeys = _useMountMergeState2[1];
550
- var _useMountMergeState3 = (0, _utils.useMountMergeState)(function () {
551
- // 如果手动模式,或者 search 不存在的时候设置为 undefined
552
- // undefined 就不会触发首次加载
553
- if (manualRequest || search !== false) {
554
- return undefined;
555
- }
556
- return {};
557
- }),
558
- _useMountMergeState4 = (0, _slicedToArray2.default)(_useMountMergeState3, 2),
559
- formSearch = _useMountMergeState4[0],
560
- setFormSearch = _useMountMergeState4[1];
561
- var _useMemo = (0, _react.useMemo)(function () {
562
- var _parseServerDefaultCo = (0, _utils2.parseServerDefaultColumnConfig)((0, _utils2.flattenColumns)(propsColumns)),
563
- sort = _parseServerDefaultCo.sort,
564
- filter = _parseServerDefaultCo.filter;
565
- return {
566
- defaultProFilter: filter,
567
- defaultProSort: sort
568
- };
569
- }, [propsColumns]),
570
- defaultProFilter = _useMemo.defaultProFilter,
571
- defaultProSort = _useMemo.defaultProSort;
572
- var _useMountMergeState5 = (0, _utils.useMountMergeState)(defaultProFilter),
573
- _useMountMergeState6 = (0, _slicedToArray2.default)(_useMountMergeState5, 2),
574
- proFilter = _useMountMergeState6[0],
575
- setProFilter = _useMountMergeState6[1];
576
- var _useMountMergeState7 = (0, _utils.useMountMergeState)(defaultProSort),
577
- _useMountMergeState8 = (0, _slicedToArray2.default)(_useMountMergeState7, 2),
578
- proSort = _useMountMergeState8[0],
579
- setProSort = _useMountMergeState8[1];
580
- var intl = (0, _provider.useIntl)();
285
+ /**
286
+ * 只有在 proColumns 变化的时候,才会重新更新 proFilter proSort
287
+ * 这样可以避免 columns 变化的时候,filter sort 被重置
288
+ */
289
+ (0, _utils.useDeepCompareEffect)(() => {
290
+ setProFilter(defaultProFilter);
291
+ setProSort(defaultProSort);
292
+ }, [defaultProFilter, defaultProSort]);
293
+ const intl = (0, _provider.useIntl)();
581
294
 
582
295
  /** 需要初始化 不然默认可能报错 这里取了 defaultCurrent 和 current 为了保证不会重复刷新 */
583
- var fetchPagination = (0, _typeof2.default)(propsPagination) === 'object' ? propsPagination : {
296
+ const fetchPagination = typeof propsPagination === 'object' ? propsPagination : {
584
297
  defaultCurrent: 1,
585
298
  defaultPageSize: 20,
586
299
  pageSize: 20,
587
300
  current: 1
588
301
  };
589
- var counter = (0, _react.useContext)(_Provide.TableContext);
302
+ const counter = (0, _react.useContext)(_Provide.TableContext);
590
303
 
591
304
  // ============================ useFetchData ============================
592
- var fetchData = (0, _react.useMemo)(function () {
305
+ const fetchData = (0, _react.useMemo)(() => {
593
306
  if (!request) return undefined;
594
- return /*#__PURE__*/function () {
595
- var _ref10 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(pageParams) {
596
- var actionParams, response;
597
- return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
598
- while (1) switch (_context.prev = _context.next) {
599
- case 0:
600
- actionParams = (0, _objectSpread3.default)((0, _objectSpread3.default)((0, _objectSpread3.default)({}, pageParams || {}), formSearch), params); // eslint-disable-next-line no-underscore-dangle
601
- delete actionParams._timestamp;
602
- _context.next = 4;
603
- return request(actionParams, proSort, proFilter);
604
- case 4:
605
- response = _context.sent;
606
- return _context.abrupt("return", response);
607
- case 6:
608
- case "end":
609
- return _context.stop();
610
- }
611
- }, _callee);
612
- }));
613
- return function (_x) {
614
- return _ref10.apply(this, arguments);
307
+ return async pageParams => {
308
+ const actionParams = {
309
+ ...(pageParams || {}),
310
+ ...(formSearchRef.current || {}),
311
+ ...params
615
312
  };
616
- }();
313
+
314
+ // eslint-disable-next-line no-underscore-dangle
315
+ delete actionParams._timestamp;
316
+ const response = await request(actionParams, proSort, proFilter);
317
+ return response;
318
+ };
617
319
  }, [formSearch, params, proFilter, proSort, request]);
618
- var action = (0, _useFetchData.default)(fetchData, defaultData, {
320
+ const action = (0, _useFetchData.default)(fetchData, defaultData, {
619
321
  pageInfo: propsPagination === false ? false : fetchPagination,
620
322
  loading: props.loading,
621
323
  dataSource: props.dataSource,
622
324
  onDataSourceChange: props.onDataSourceChange,
623
- onLoad: onLoad,
624
- onLoadingChange: onLoadingChange,
625
- onRequestError: onRequestError,
626
- postData: postData,
627
- revalidateOnFocus: revalidateOnFocus,
325
+ onLoad,
326
+ onLoadingChange,
327
+ onRequestError,
328
+ postData,
329
+ revalidateOnFocus,
628
330
  manual: formSearch === undefined,
629
- polling: polling,
331
+ polling,
630
332
  effects: [(0, _utils.stringify)(params), (0, _utils.stringify)(formSearch), (0, _utils.stringify)(proFilter), (0, _utils.stringify)(proSort)],
631
333
  debounceTime: props.debounceTime,
632
- onPageInfoChange: function onPageInfoChange(pageInfo) {
633
- var _propsPagination$onCh, _propsPagination$onSh;
334
+ onPageInfoChange: pageInfo => {
634
335
  if (!propsPagination || !fetchData) return;
635
336
 
636
337
  // 总是触发一下 onChange 和 onShowSizeChange
637
338
  // 目前只有 List 和 Table 支持分页, List 有分页的时候打断 Table 的分页
638
- propsPagination === null || propsPagination === void 0 || (_propsPagination$onCh = propsPagination.onChange) === null || _propsPagination$onCh === void 0 || _propsPagination$onCh.call(propsPagination, pageInfo.current, pageInfo.pageSize);
639
- propsPagination === null || propsPagination === void 0 || (_propsPagination$onSh = propsPagination.onShowSizeChange) === null || _propsPagination$onSh === void 0 || _propsPagination$onSh.call(propsPagination, pageInfo.current, pageInfo.pageSize);
339
+ propsPagination?.onChange?.(pageInfo.current, pageInfo.pageSize);
340
+ propsPagination?.onShowSizeChange?.(pageInfo.current, pageInfo.pageSize);
640
341
  }
641
342
  });
642
343
  // ============================ END ============================
643
344
 
644
345
  /** 聚焦的时候重新请求数据,这样可以保证数据都是最新的。 */
645
- (0, _react.useEffect)(function () {
646
- var _props$form;
346
+ (0, _react.useEffect)(() => {
647
347
  // 手动模式和 request 为空都不生效
648
- if (props.manualRequest || !props.request || !revalidateOnFocus || (_props$form = props.form) !== null && _props$form !== void 0 && _props$form.ignoreRules) return;
348
+ if (props.manualRequest || !props.request || !revalidateOnFocus || props.form?.ignoreRules) return;
649
349
 
650
350
  // 聚焦时重新请求事件
651
- var visibilitychange = function visibilitychange() {
351
+ const visibilitychange = () => {
652
352
  if (document.visibilityState === 'visible') {
653
353
  action.reload();
654
354
  }
655
355
  };
656
356
  document.addEventListener('visibilitychange', visibilitychange);
657
- return function () {
658
- return document.removeEventListener('visibilitychange', visibilitychange);
659
- };
357
+ return () => document.removeEventListener('visibilitychange', visibilitychange);
660
358
  // eslint-disable-next-line react-hooks/exhaustive-deps
661
359
  }, []);
662
360
 
663
361
  /** SelectedRowKeys受控处理selectRows */
664
- var preserveRecordsRef = _react.default.useRef(new Map());
362
+ const preserveRecordsRef = _react.default.useRef(new Map());
665
363
 
666
364
  // ============================ RowKey ============================
667
- var getRowKey = useRowKey({
668
- rowKey: rowKey,
365
+ const getRowKey = useRowKey({
366
+ rowKey,
669
367
  name: props.name
670
368
  });
671
- (0, _react.useMemo)(function () {
672
- var _action$dataSource;
673
- if ((_action$dataSource = action.dataSource) !== null && _action$dataSource !== void 0 && _action$dataSource.length) {
674
- var keys = action.dataSource.map(function (data) {
675
- var dataRowKey = getRowKey(data, -1);
369
+ (0, _react.useMemo)(() => {
370
+ if (action.dataSource?.length) {
371
+ const keys = action.dataSource.map(data => {
372
+ const dataRowKey = getRowKey(data, -1);
676
373
  preserveRecordsRef.current.set(dataRowKey, data);
677
374
  return dataRowKey;
678
375
  });
@@ -682,17 +379,26 @@ var ProTable = function ProTable(props) {
682
379
  }, [action.dataSource, getRowKey]);
683
380
 
684
381
  /** 页面编辑的计算 */
685
- var pagination = useMergedPagination({
686
- propsPagination: propsPagination,
687
- action: action,
688
- intl: intl,
689
- request: request,
690
- type: type
382
+ const pagination = useMergedPagination({
383
+ propsPagination,
384
+ action,
385
+ intl,
386
+ request,
387
+ type
691
388
  });
692
- (0, _utils.useDeepCompareEffect)(function () {
693
- var _action$pageInfo;
389
+
390
+ // 监听 pagination 的变化,修正 pageSize
391
+ (0, _utils.useDeepCompareEffect)(() => {
392
+ if (pagination && (pagination.current !== action.pageInfo.current || pagination.pageSize !== action.pageInfo.pageSize)) {
393
+ action.setPageInfo({
394
+ current: pagination.current,
395
+ pageSize: pagination.pageSize
396
+ });
397
+ }
398
+ }, [pagination]);
399
+ (0, _utils.useDeepCompareEffect)(() => {
694
400
  // request 存在且params不为空,且已经请求过数据才需要设置。
695
- if (props.request && !(0, _isEmpty.default)(params) && action.dataSource && !(0, _isEqual.default)(action.dataSource, defaultData) && (action === null || action === void 0 || (_action$pageInfo = action.pageInfo) === null || _action$pageInfo === void 0 ? void 0 : _action$pageInfo.current) !== 1) {
401
+ if (props.request && !(0, _isEmpty.default)(params) && action.dataSource && !(0, _isEqual.default)(action.dataSource, defaultData) && action?.pageInfo?.current !== 1) {
696
402
  action.setPageInfo({
697
403
  current: 1
698
404
  });
@@ -703,62 +409,66 @@ var ProTable = function ProTable(props) {
703
409
  // 设置 name 到 store 中,里面用了 ref ,所以不用担心直接 set
704
410
  counter.setPrefixName(props.name);
705
411
 
412
+ // 设置 columnsState 到 store 中(仅在受控 value 时同步,避免在仅传 onChange 时用 {} 覆盖默认 state 导致多余 onChange)
413
+ (0, _react.useEffect)(() => {
414
+ if (columnsState?.value !== undefined) {
415
+ counter.setColumnsMap(columnsState.value);
416
+ }
417
+ }, [columnsState?.value]);
418
+
706
419
  /** 清空所有的选中项 */
707
- var _onCleanSelected = (0, _react.useCallback)(function () {
420
+ const onCleanSelected = (0, _utils.useRefFunction)(() => {
708
421
  if (propsRowSelection && propsRowSelection.onChange) {
709
422
  propsRowSelection.onChange([], [], {
710
423
  type: 'none'
711
424
  });
712
425
  }
713
426
  setSelectedRowKeys([]);
714
- }, [propsRowSelection, setSelectedRowKeys]);
427
+ });
715
428
  counter.propsRef.current = props;
716
429
 
717
430
  /** 可编辑行的相关配置 */
718
- var editableUtils = (0, _utils.useEditableArray)((0, _objectSpread3.default)((0, _objectSpread3.default)({}, props.editable), {}, {
431
+ const editableUtils = (0, _utils.useEditableArray)({
432
+ ...props.editable,
719
433
  tableName: props.name,
720
- getRowKey: getRowKey,
721
- childrenColumnName: ((_props$expandable2 = props.expandable) === null || _props$expandable2 === void 0 ? void 0 : _props$expandable2.childrenColumnName) || 'children',
434
+ getRowKey,
435
+ childrenColumnName: props.expandable?.childrenColumnName || 'children',
722
436
  dataSource: action.dataSource || [],
723
- setDataSource: function setDataSource(data) {
724
- var _props$editable, _props$editable$onVal;
725
- (_props$editable = props.editable) === null || _props$editable === void 0 || (_props$editable$onVal = _props$editable.onValuesChange) === null || _props$editable$onVal === void 0 || _props$editable$onVal.call(_props$editable, undefined, data);
437
+ setDataSource: data => {
438
+ props.editable?.onValuesChange?.(undefined, data);
726
439
  action.setDataSource(data);
727
440
  }
728
- }));
441
+ });
729
442
 
730
443
  // ============================ Render ============================
731
- var _proTheme$useToken = _provider.proTheme === null || _provider.proTheme === void 0 ? void 0 : _provider.proTheme.useToken(),
732
- token = _proTheme$useToken.token;
444
+ const {
445
+ token
446
+ } = _provider.proTheme?.useToken();
733
447
 
734
448
  /** 绑定 action */
735
449
  (0, _utils2.useActionType)(actionRef, action, {
736
- nativeElement: ((_counter$rootDomRef = counter.rootDomRef) === null || _counter$rootDomRef === void 0 ? void 0 : _counter$rootDomRef.current) || undefined,
737
- focus: function focus() {
738
- var _counter$rootDomRef2;
450
+ nativeElement: counter.rootDomRef?.current || undefined,
451
+ focus: () => {
739
452
  // 聚焦到表格根元素
740
- (_counter$rootDomRef2 = counter.rootDomRef) === null || _counter$rootDomRef2 === void 0 || (_counter$rootDomRef2 = _counter$rootDomRef2.current) === null || _counter$rootDomRef2 === void 0 || _counter$rootDomRef2.focus();
453
+ counter.rootDomRef?.current?.focus();
741
454
  },
742
- fullScreen: function fullScreen() {
743
- var _counter$rootDomRef3;
744
- if (!((_counter$rootDomRef3 = counter.rootDomRef) !== null && _counter$rootDomRef3 !== void 0 && _counter$rootDomRef3.current) || !document.fullscreenEnabled) {
455
+ fullScreen: () => {
456
+ if (!counter.rootDomRef?.current || !document.fullscreenEnabled) {
745
457
  return;
746
458
  }
747
459
  if (document.fullscreenElement) {
748
460
  document.exitFullscreen();
749
461
  } else {
750
- var _counter$rootDomRef4;
751
- (_counter$rootDomRef4 = counter.rootDomRef) === null || _counter$rootDomRef4 === void 0 || _counter$rootDomRef4.current.requestFullscreen();
462
+ counter.rootDomRef?.current.requestFullscreen();
752
463
  }
753
464
  },
754
- onCleanSelected: function onCleanSelected() {
465
+ onCleanSelected: () => {
755
466
  // 清空选中行
756
- _onCleanSelected();
467
+ onCleanSelected();
757
468
  },
758
- resetAll: function resetAll() {
759
- var _formRef$current;
469
+ resetAll: () => {
760
470
  // 清空选中行
761
- _onCleanSelected();
471
+ onCleanSelected();
762
472
 
763
473
  // 清空 toolbar 搜索
764
474
  counter.setKeyWords(undefined);
@@ -773,58 +483,61 @@ var ProTable = function ProTable(props) {
773
483
  setProSort(defaultProSort);
774
484
 
775
485
  // 重置表单
776
- formRef === null || formRef === void 0 || (_formRef$current = formRef.current) === null || _formRef$current === void 0 || _formRef$current.resetFields();
486
+ formRef?.current?.resetFields();
487
+
488
+ // 同步更新请求参数,避免 resetFields 后请求仍使用旧的 formSearch
489
+ const resetValues = formRef?.current?.getFieldsFormatValue?.(true) ?? formRef?.current?.getFieldsValue?.(true) ?? {};
490
+ const nextSearch = beforeSearchSubmit ? beforeSearchSubmit(resetValues) : resetValues;
491
+ setFormSearchWithRef(nextSearch ?? {});
777
492
  },
778
- editableUtils: editableUtils,
779
- scrollTo: function scrollTo(arg) {
780
- var _current, _current$scrollTo;
781
- return antTableRef === null || antTableRef === void 0 || (_current = antTableRef.current) === null || _current === void 0 || (_current$scrollTo = _current.scrollTo) === null || _current$scrollTo === void 0 ? void 0 : _current$scrollTo.call(_current, arg);
782
- }
493
+ editableUtils,
494
+ scrollTo: arg => antTableRef?.current?.scrollTo?.(arg)
783
495
  });
784
496
 
785
497
  /** 同步 action */
786
498
  counter.setAction(actionRef.current);
787
499
 
788
500
  // ---------- 列计算相关 start -----------------
789
- var tableColumn = (0, _react.useMemo)(function () {
790
- var _props$expandable3;
501
+ const tableColumn = (0, _react.useMemo)(() => {
502
+ const columnContext = {
503
+ counter,
504
+ columnEmptyText,
505
+ type,
506
+ editableUtils,
507
+ marginSM: token.marginSM,
508
+ rowKey: rowKey ?? 'id',
509
+ childrenColumnName: props.expandable?.childrenColumnName ?? 'children',
510
+ proFilter,
511
+ proSort
512
+ };
791
513
  return (0, _genProColumnToColumn.genProColumnToColumn)({
792
514
  columns: propsColumns,
793
- counter: counter,
794
- columnEmptyText: columnEmptyText,
795
- type: type,
796
- marginSM: token.marginSM,
797
- editableUtils: editableUtils,
798
- rowKey: rowKey,
799
- childrenColumnName: (_props$expandable3 = props.expandable) === null || _props$expandable3 === void 0 ? void 0 : _props$expandable3.childrenColumnName,
800
- proFilter: proFilter,
801
- proSort: proSort
802
- }).sort((0, _columnSort.columnSort)(counter.columnsMap));
515
+ context: columnContext
516
+ }).sort((0, _columnSort.columnSort)(counter.columnsMap ?? {}));
803
517
  // eslint-disable-next-line react-hooks/exhaustive-deps
804
- }, [propsColumns, counter === null || counter === void 0 ? void 0 : counter.sortKeyColumns, counter === null || counter === void 0 ? void 0 : counter.columnsMap, columnEmptyText, type,
518
+ }, [propsColumns, counter?.sortKeyColumns, counter?.columnsMap, columnEmptyText, type,
805
519
  // eslint-disable-next-line react-hooks/exhaustive-deps
806
520
  editableUtils.editableKeys && editableUtils.editableKeys.join(','), proFilter, proSort]);
807
521
 
808
522
  /** Table Column 变化的时候更新一下,这个参数将会用于渲染 */
809
- (0, _utils.useDeepCompareEffectDebounce)(function () {
523
+ (0, _utils.useDeepCompareEffectDebounce)(() => {
810
524
  if (tableColumn && tableColumn.length > 0) {
811
525
  // 重新生成key的字符串用于排序
812
- var columnKeys = tableColumn.map(function (item) {
813
- return (0, _utils2.genColumnKey)(item.key, item.index);
814
- });
526
+ const columnKeys = tableColumn.map(item => (0, _utils2.genColumnKey)(item.key, item.index));
815
527
  counter.setSortKeyColumns(columnKeys);
816
528
  }
817
529
  }, [tableColumn], ['render', 'formItemRender'], 100);
818
530
 
819
531
  /** 同步 Pagination,支持受控的 页码 和 pageSize */
820
- (0, _utils.useDeepCompareEffect)(function () {
821
- var pageInfo = action.pageInfo;
822
- var _ref11 = propsPagination || {},
823
- _ref11$current = _ref11.current,
824
- current = _ref11$current === void 0 ? pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.current : _ref11$current,
825
- _ref11$pageSize = _ref11.pageSize,
826
- pageSize = _ref11$pageSize === void 0 ? pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.pageSize : _ref11$pageSize;
827
- if (propsPagination && (current || pageSize) && (pageSize !== (pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.pageSize) || current !== (pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.current))) {
532
+ (0, _utils.useDeepCompareEffect)(() => {
533
+ const {
534
+ pageInfo
535
+ } = action;
536
+ const {
537
+ current = pageInfo?.current,
538
+ pageSize = pageInfo?.pageSize
539
+ } = propsPagination || {};
540
+ if (propsPagination && (current || pageSize) && (pageSize !== pageInfo?.pageSize || current !== pageInfo?.current)) {
828
541
  action.setPageInfo({
829
542
  pageSize: pageSize || pageInfo.pageSize,
830
543
  current: current || pageInfo.current
@@ -833,44 +546,45 @@ var ProTable = function ProTable(props) {
833
546
  }, [propsPagination && propsPagination.pageSize, propsPagination && propsPagination.current]);
834
547
 
835
548
  /** 行选择相关的问题 */
836
- var rowSelection = (0, _objectSpread3.default)((0, _objectSpread3.default)({
837
- selectedRowKeys: selectedRowKeys
838
- }, propsRowSelection), {}, {
839
- onChange: function onChange(keys, rows, info) {
549
+ const rowSelection = {
550
+ selectedRowKeys,
551
+ ...propsRowSelection,
552
+ onChange: (keys, rows, info) => {
840
553
  if (propsRowSelection && propsRowSelection.onChange) {
841
554
  propsRowSelection.onChange(keys, rows, info);
842
555
  }
843
556
  setSelectedRowKeys(keys);
844
557
  }
845
- });
558
+ };
846
559
 
847
560
  /** 是不是 LightFilter, LightFilter 有一些特殊的处理 */
848
- var isLightFilter = search !== false && (search === null || search === void 0 ? void 0 : search.filterType) === 'light';
849
- var onFormSearchSubmit = (0, _react.useCallback)(function (values) {
561
+ const isLightFilter = search !== false && search?.filterType === 'light';
562
+ const onFormSearchSubmit = (0, _utils.useRefFunction)(values => {
850
563
  // 判断search.onSearch返回值决定是否更新formSearch
851
564
  if (options && options.search) {
852
- var _options$search, _options$search$onSea;
853
- var _ref12 = options.search === true ? {} : options.search,
854
- _ref12$name = _ref12.name,
855
- name = _ref12$name === void 0 ? 'keyword' : _ref12$name;
565
+ const {
566
+ name = 'keyword'
567
+ } = options.search === true ? {} : options.search;
856
568
 
857
569
  /** 如果传入的 onSearch 返回值为 false,则不要把options.search.name对应的值set到formSearch */
858
- var success = (_options$search = options.search) === null || _options$search === void 0 || (_options$search$onSea = _options$search.onSearch) === null || _options$search$onSea === void 0 ? void 0 : _options$search$onSea.call(_options$search, counter.keyWords);
570
+ const success = options.search?.onSearch?.(counter.keyWords);
859
571
  if (success !== false) {
860
- setFormSearch((0, _objectSpread3.default)((0, _objectSpread3.default)({}, values), {}, (0, _defineProperty2.default)({}, name, counter.keyWords)));
572
+ setFormSearchWithRef({
573
+ ...values,
574
+ [name]: counter.keyWords
575
+ });
861
576
  return;
862
577
  }
863
578
  }
864
- setFormSearch(values);
865
- }, [counter.keyWords, options, setFormSearch]);
866
- var loading = (0, _react.useMemo)(function () {
867
- if ((0, _typeof2.default)(action.loading) === 'object') {
868
- var _action$loading;
869
- return ((_action$loading = action.loading) === null || _action$loading === void 0 ? void 0 : _action$loading.spinning) || false;
579
+ setFormSearchWithRef(values);
580
+ });
581
+ const loading = (0, _react.useMemo)(() => {
582
+ if (typeof action.loading === 'object') {
583
+ return action.loading?.spinning || false;
870
584
  }
871
585
  return action.loading;
872
586
  }, [action.loading]);
873
- var searchNode = useSearchNode({
587
+ const searchNode = /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableSearch.TableSearch, {
874
588
  search: search,
875
589
  type: type,
876
590
  pagination: pagination,
@@ -890,16 +604,9 @@ var ProTable = function ProTable(props) {
890
604
  searchFormRender: searchFormRender,
891
605
  proTableProps: props
892
606
  });
893
- var selectedRows = (0, _react.useMemo)(function () {
894
- return selectedRowKeys === null || selectedRowKeys === void 0 ? void 0 : selectedRowKeys.map(function (key) {
895
- var _preserveRecordsRef$c;
896
- return (_preserveRecordsRef$c = preserveRecordsRef.current) === null || _preserveRecordsRef$c === void 0 ? void 0 : _preserveRecordsRef$c.get(key);
897
- });
898
- }, [action.dataSource, selectedRowKeys]);
899
- var hideToolbar = (0, _react.useMemo)(function () {
900
- return options === false && !headerTitle && !toolBarRender && !toolbar && !isLightFilter;
901
- }, [options, headerTitle, toolBarRender, toolbar, isLightFilter]);
902
- var toolbarDom = useToolbarDom({
607
+ const selectedRows = (0, _react.useMemo)(() => selectedRowKeys?.map(key => preserveRecordsRef.current?.get(key)), [action.dataSource, selectedRowKeys]);
608
+ const hideToolbar = (0, _react.useMemo)(() => options === false && !headerTitle && !toolBarRender && !toolbar && !isLightFilter, [options, headerTitle, toolBarRender, toolbar, isLightFilter]);
609
+ const toolbarDom = /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableToolbar.TableToolbar, {
903
610
  toolBarRender: toolBarRender,
904
611
  headerTitle: headerTitle,
905
612
  hideToolbar: hideToolbar,
@@ -913,44 +620,159 @@ var ProTable = function ProTable(props) {
913
620
  options: options,
914
621
  optionsRender: optionsRender,
915
622
  actionRef: actionRef,
916
- setFormSearch: setFormSearch,
623
+ setFormSearch: setFormSearchWithRef,
917
624
  formSearch: formSearch
918
625
  });
919
- var alertDom = useAlertDom({
920
- propsRowSelection: propsRowSelection,
921
- selectedRowKeys: selectedRowKeys,
922
- selectedRows: selectedRows,
923
- onCleanSelected: _onCleanSelected,
626
+ const alertDom = useAlertDom({
627
+ propsRowSelection,
628
+ selectedRowKeys,
629
+ selectedRows,
630
+ onCleanSelected,
924
631
  tableAlertOptionRender: rest.tableAlertOptionRender,
925
- tableAlertRender: tableAlertRender
632
+ tableAlertRender
926
633
  });
927
- return wrapSSR( /*#__PURE__*/(0, _jsxRuntime.jsx)(TableRender, (0, _objectSpread3.default)((0, _objectSpread3.default)({}, props), {}, {
928
- name: isEditorTable,
929
- defaultClassName: defaultClassName,
634
+ const mergedDataSource = (0, _react.useMemo)(() => {
635
+ return getEditableDataSource({
636
+ dataSource: action.dataSource,
637
+ editableUtils,
638
+ pagination,
639
+ getRowKey,
640
+ childrenColumnName: props.expandable?.childrenColumnName || 'children'
641
+ });
642
+ }, [action.dataSource, editableUtils?.newLineRecord, getRowKey, pagination, props.expandable?.childrenColumnName]);
643
+ const columns = (0, _react.useMemo)(() => {
644
+ const loopFilter = column => {
645
+ return column.map(item => {
646
+ const columnKey = (0, _utils2.genColumnKey)(item.key, item.index);
647
+ const config = counter.columnsMap?.[columnKey];
648
+ if (config && config.show === false) {
649
+ return false;
650
+ }
651
+ if (item.children) {
652
+ return {
653
+ ...item,
654
+ children: loopFilter(item.children)
655
+ };
656
+ }
657
+ return item;
658
+ }).filter(Boolean);
659
+ };
660
+ return loopFilter(tableColumn);
661
+ }, [counter.columnsMap, tableColumn]);
662
+ const useFilterColumns = (0, _react.useMemo)(() => {
663
+ const _columns = (0, _utils2.flattenColumns)(columns);
664
+ return _columns.filter(column => !!column.filters);
665
+ }, [columns]);
666
+ const onSortChange = sortConfig => {
667
+ if ((0, _isEqual.default)(sortConfig, proSort)) return;
668
+ setProSort(sortConfig ?? {});
669
+ };
670
+ const onFilterChange = filterConfig => {
671
+ if ((0, _isEqual.default)(filterConfig, proFilter)) return;
672
+ setProFilter(filterConfig ?? {});
673
+ };
674
+ const getTableProps = () => ({
675
+ ...rest,
930
676
  size: counter.tableSize,
931
- onSizeChange: counter.setTableSize,
932
- pagination: pagination,
933
- searchNode: searchNode,
934
- rowSelection: propsRowSelection !== false ? rowSelection : undefined,
935
- className: className,
936
- tableColumn: tableColumn,
937
- isLightFilter: isLightFilter,
938
- action: action,
939
- alertDom: alertDom,
940
- toolbarDom: toolbarDom,
941
- hideToolbar: hideToolbar,
942
- onSortChange: function onSortChange(sortConfig) {
943
- if ((0, _isEqual.default)(sortConfig, proSort)) return;
944
- setProSort(sortConfig !== null && sortConfig !== void 0 ? sortConfig : {});
677
+ rowSelection: propsRowSelection === false ? undefined : rowSelection,
678
+ className: tableClassName,
679
+ style: tableStyle,
680
+ columns,
681
+ loading: action.loading,
682
+ dataSource: mergedDataSource,
683
+ pagination,
684
+ onChange: (changePagination, filters, sorter, extra) => {
685
+ rest.onChange?.(changePagination, filters, sorter, extra);
686
+ const serverFilter = (0, _utils2.getServerFilterResult)(filters, useFilterColumns);
687
+ onFilterChange((0, _utils.omitUndefined)(serverFilter));
688
+ const serverSorter = (0, _utils2.getServerSorterResult)(sorter);
689
+ onSortChange((0, _utils.omitUndefined)(serverSorter));
690
+ }
691
+ });
692
+ const notNeedCardDom = search === false && !headerTitle && !toolBarRender;
693
+ const baseTableDom = /*#__PURE__*/(0, _jsxRuntime.jsx)(_form.GridContext.Provider, {
694
+ value: {
695
+ grid: false,
696
+ colProps: undefined,
697
+ rowProps: undefined
945
698
  },
946
- onFilterChange: function onFilterChange(filterConfig) {
947
- if ((0, _isEqual.default)(filterConfig, proFilter)) return;
948
- setProFilter(filterConfig !== null && filterConfig !== void 0 ? filterConfig : {});
699
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Table, {
700
+ ...getTableProps(),
701
+ rowKey: rowKey,
702
+ ref: antTableRef
703
+ })
704
+ });
705
+ const tableDom = props.tableViewRender ? props.tableViewRender({
706
+ ...getTableProps(),
707
+ rowSelection: propsRowSelection !== false ? rowSelection : undefined
708
+ }, baseTableDom) : baseTableDom;
709
+ const tableContentDom = props.editable && !isEditorTable ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
710
+ children: [toolbarDom, alertDom, /*#__PURE__*/(0, _react.createElement)(_form.default, {
711
+ ...props.editable.formProps,
712
+ formRef: props.editable.formProps?.formRef,
713
+ component: false,
714
+ form: props.editable.form,
715
+ onValuesChange: editableUtils.onValuesChange,
716
+ key: "table",
717
+ submitter: false,
718
+ omitNil: false,
719
+ dateFormatter: props.dateFormatter
720
+ }, tableDom)]
721
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
722
+ children: [toolbarDom, alertDom, tableDom]
723
+ });
724
+ const cardBodyStyle = getTableCardBodyStyle({
725
+ propsCardProps: cardProps,
726
+ notNeedCardDom,
727
+ name: props.name,
728
+ hideToolbar,
729
+ toolbarDom
730
+ });
731
+ const tableAreaDom = cardProps === false || notNeedCardDom || !!props.name ? tableContentDom : /*#__PURE__*/(0, _jsxRuntime.jsx)(_card.default, {
732
+ ghost: ghost,
733
+ variant: (0, _utils2.isBordered)('table', cardBordered) ? 'outlined' : 'borderless',
734
+ styles: {
735
+ body: {
736
+ ...cardBodyStyle,
737
+ ...(cardProps && typeof cardProps === 'object' ? cardProps.styles?.body || cardProps.bodyStyle : {})
738
+ },
739
+ ...(cardProps && typeof cardProps === 'object' && (cardProps.styles?.header || cardProps.headStyle) ? {
740
+ header: cardProps.styles?.header || cardProps.headStyle
741
+ } : {})
742
+ },
743
+ ...cardProps,
744
+ children: tableContentDom
745
+ });
746
+ const renderTable = () => {
747
+ if (props.tableRender) {
748
+ return props.tableRender(props, tableAreaDom, {
749
+ toolbar: toolbarDom || undefined,
750
+ alert: alertDom || undefined,
751
+ table: tableDom || undefined
752
+ });
753
+ }
754
+ return tableAreaDom;
755
+ };
756
+ const proTableDom = /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
757
+ className: (0, _clsx.clsx)(className, {
758
+ [`${defaultClassName}-polling`]: action.pollingLoading
759
+ }),
760
+ style: style,
761
+ ref: counter.rootDomRef,
762
+ children: [isLightFilter ? null : searchNode, type !== 'form' && props.tableExtraRender && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
763
+ className: (0, _clsx.clsx)(className, `${defaultClassName}-extra`),
764
+ children: props.tableExtraRender(props, action.dataSource || [])
765
+ }), type !== 'form' && renderTable()]
766
+ });
767
+ if (!options || !options?.fullScreen) {
768
+ return wrapSSR(proTableDom);
769
+ }
770
+ return wrapSSR( /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.ConfigProvider, {
771
+ getPopupContainer: () => {
772
+ return counter.rootDomRef.current || document.body;
949
773
  },
950
- editableUtils: editableUtils,
951
- getRowKey: getRowKey,
952
- tableRef: antTableRef
953
- })));
774
+ children: proTableDom
775
+ }));
954
776
  };
955
777
 
956
778
  /**
@@ -958,20 +780,33 @@ var ProTable = function ProTable(props) {
958
780
  *
959
781
  * @param props
960
782
  */
961
- var ProviderTableContainer = function ProviderTableContainer(props) {
962
- var _useContext = (0, _react.useContext)(_antd.ConfigProvider.ConfigContext),
963
- getPrefixCls = _useContext.getPrefixCls;
964
- var ErrorComponent = props.ErrorBoundary === false ? _react.default.Fragment : props.ErrorBoundary || _utils.ErrorBoundary;
965
- var context = (0, _react.useContext)(_provider.default);
783
+ const ProviderTableContainer = props => {
784
+ const {
785
+ getPrefixCls
786
+ } = (0, _react.useContext)(_antd.ConfigProvider.ConfigContext);
787
+ const ErrorComponent = props.ErrorBoundary === false ? _react.default.Fragment : props.ErrorBoundary || _utils.ErrorBoundary;
788
+ const context = (0, _react.useContext)(_provider.default);
966
789
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Provide.Container, {
967
- initValue: props,
790
+ initValue: {
791
+ ...props,
792
+ columnsState: props.columnsState,
793
+ columns: props.columns,
794
+ onColumnsStateChange: props.onColumnsStateChange,
795
+ onSizeChange: props.onSizeChange,
796
+ size: props.size,
797
+ defaultSize: props.defaultSize
798
+ },
968
799
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_provider.ProConfigProvider, {
969
- valueTypeMap: (0, _objectSpread3.default)((0, _objectSpread3.default)({}, context.valueTypeMap), _ValueTypeToComponent.default),
800
+ valueTypeMap: {
801
+ ...context.valueTypeMap,
802
+ ..._ValueTypeToComponent.default
803
+ },
970
804
  needDeps: true,
971
805
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ErrorComponent, {
972
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ProTable, (0, _objectSpread3.default)({
973
- defaultClassName: "".concat(getPrefixCls('pro-table'))
974
- }, props))
806
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ProTable, {
807
+ defaultClassName: `${getPrefixCls('pro-table')}`,
808
+ ...props
809
+ })
975
810
  })
976
811
  })
977
812
  });