@nokecy/qc-ui-components 2.0.0-beta.0 → 2.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (251) hide show
  1. package/dist/cjs/ConfirmPro/index.d.ts +12 -9
  2. package/dist/cjs/ConfirmPro/index.js +11 -34
  3. package/dist/cjs/ag-grid-plus/ag-gridPlus.js +425 -157
  4. package/dist/cjs/ag-grid-plus/context/gridContext.d.ts +12 -1
  5. package/dist/cjs/ag-grid-plus/context/queryFormContext.d.ts +2 -0
  6. package/dist/cjs/ag-grid-plus/context/useSchemeDataFlow.js +8 -0
  7. package/dist/cjs/ag-grid-plus/density.d.ts +25 -0
  8. package/dist/cjs/ag-grid-plus/density.js +52 -0
  9. package/dist/cjs/ag-grid-plus/index.d.ts +1 -0
  10. package/dist/cjs/ag-grid-plus/index.js +7 -0
  11. package/dist/cjs/ag-grid-plus/index.less +43 -0
  12. package/dist/cjs/ag-grid-plus/interface.d.ts +58 -1
  13. package/dist/cjs/ag-grid-plus/interface.js +1 -1
  14. package/dist/cjs/ag-grid-plus/queryForm/index.d.ts +11 -0
  15. package/dist/cjs/ag-grid-plus/queryForm/index.js +62 -10
  16. package/dist/cjs/ag-grid-plus/queryForm/queryForm.d.ts +10 -0
  17. package/dist/cjs/ag-grid-plus/queryForm/queryForm.js +63 -26
  18. package/dist/cjs/ag-grid-plus/queryForm/queryValues.d.ts +9 -0
  19. package/dist/cjs/ag-grid-plus/queryForm/queryValues.js +61 -0
  20. package/dist/cjs/ag-grid-plus/rowColors.d.ts +12 -0
  21. package/dist/cjs/ag-grid-plus/rowColors.js +58 -0
  22. package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.d.ts +5 -0
  23. package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.js +14 -5
  24. package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +108 -76
  25. package/dist/cjs/ag-grid-plus/setting/QuerySchemeManager.js +10 -9
  26. package/dist/cjs/ag-grid-plus/setting/autoColumnMemory.d.ts +37 -0
  27. package/dist/cjs/ag-grid-plus/setting/autoColumnMemory.js +206 -0
  28. package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.d.ts +2 -0
  29. package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.js +19 -1
  30. package/dist/cjs/ag-grid-plus/setting/index.js +5 -14
  31. package/dist/cjs/ag-grid-plus/settingItem/index.d.ts +11 -1
  32. package/dist/cjs/ag-grid-plus/settingItem/index.js +34 -12
  33. package/dist/cjs/ag-grid-plus/shared/EmptyIllustration.d.ts +16 -0
  34. package/dist/cjs/ag-grid-plus/shared/EmptyIllustration.js +87 -0
  35. package/dist/cjs/ag-grid-plus/shared/NoRowsOverlay.js +9 -1
  36. package/dist/cjs/ag-grid-plus/shared/SkeletonOverlay.d.ts +11 -0
  37. package/dist/cjs/ag-grid-plus/shared/SkeletonOverlay.js +40 -0
  38. package/dist/cjs/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +1 -1
  39. package/dist/cjs/ag-grid-plus/theme.d.ts +7 -1
  40. package/dist/cjs/ag-grid-plus/theme.js +31 -6
  41. package/dist/cjs/ag-grid-plus/toolBar/OverflowActions.d.ts +16 -0
  42. package/dist/cjs/ag-grid-plus/toolBar/OverflowActions.js +128 -0
  43. package/dist/cjs/ag-grid-plus/toolBar/index.d.ts +3 -1
  44. package/dist/cjs/ag-grid-plus/toolBar/index.js +43 -35
  45. package/dist/cjs/ag-grid-plus/toolBar/leftContent.d.ts +2 -2
  46. package/dist/cjs/ag-grid-plus/toolBar/leftContent.js +2 -2
  47. package/dist/cjs/ag-grid-plus/toolBar/overflow.d.ts +20 -0
  48. package/dist/cjs/ag-grid-plus/toolBar/overflow.js +48 -0
  49. package/dist/cjs/ag-grid-plus/toolBar/style.js +71 -15
  50. package/dist/cjs/ag-grid-plus/types.d.ts +6 -0
  51. package/dist/cjs/ag-grid-plus/utils/agGridCompat.js +12 -3
  52. package/dist/cjs/ag-grid-plus/utils/agGridLicenseNotice.d.ts +7 -0
  53. package/dist/cjs/ag-grid-plus/utils/agGridLicenseNotice.js +105 -0
  54. package/dist/cjs/ag-grid-plus/utils/columnProcessors.d.ts +3 -0
  55. package/dist/cjs/ag-grid-plus/utils/columnProcessors.js +13 -2
  56. package/dist/cjs/ag-grid-plus/utils/constants.d.ts +3 -2
  57. package/dist/cjs/ag-grid-plus/utils/constants.js +3 -2
  58. package/dist/cjs/ag-grid-plus/utils/crossPageSelection.d.ts +21 -0
  59. package/dist/cjs/ag-grid-plus/utils/crossPageSelection.js +58 -0
  60. package/dist/cjs/ag-grid-plus/utils/emptyState.d.ts +2 -0
  61. package/dist/cjs/ag-grid-plus/utils/emptyState.js +9 -5
  62. package/dist/cjs/ag-grid-plus/utils/listKeyboard.d.ts +24 -0
  63. package/dist/cjs/ag-grid-plus/utils/listKeyboard.js +83 -0
  64. package/dist/cjs/ag-grid-plus/utils/pagination.d.ts +26 -0
  65. package/dist/cjs/ag-grid-plus/utils/pagination.js +69 -0
  66. package/dist/cjs/ag-grid-plus/utils/queryDispatch.d.ts +7 -0
  67. package/dist/cjs/ag-grid-plus/utils/queryDispatch.js +17 -0
  68. package/dist/cjs/ag-grid-plus/utils/statusPill.d.ts +25 -0
  69. package/dist/cjs/ag-grid-plus/utils/statusPill.js +196 -0
  70. package/dist/cjs/ag-grid-plus/utils/valueEnumColor.d.ts +6 -1
  71. package/dist/cjs/ag-grid-plus/utils/valueEnumColor.js +13 -9
  72. package/dist/cjs/ag-grid-plus/utils/valueFormat.d.ts +19 -0
  73. package/dist/cjs/ag-grid-plus/utils/valueFormat.js +73 -0
  74. package/dist/cjs/ag-grid-plus/utils.js +3 -2
  75. package/dist/cjs/array-table/arrayAddBtn.d.ts +1 -0
  76. package/dist/cjs/array-table/arrayAddBtn.js +2 -2
  77. package/dist/cjs/array-table/autoHeight.d.ts +18 -0
  78. package/dist/cjs/array-table/autoHeight.js +30 -0
  79. package/dist/cjs/array-table/batchRemove.d.ts +2 -2
  80. package/dist/cjs/array-table/cellEditorMarker.d.ts +18 -0
  81. package/dist/cjs/array-table/cellEditorMarker.js +92 -0
  82. package/dist/cjs/array-table/errorLocator.d.ts +29 -0
  83. package/dist/cjs/array-table/errorLocator.js +101 -0
  84. package/dist/cjs/array-table/hooks.d.ts +52 -4
  85. package/dist/cjs/array-table/hooks.js +251 -18
  86. package/dist/cjs/array-table/index.d.ts +6 -0
  87. package/dist/cjs/array-table/index.js +167 -23
  88. package/dist/cjs/array-table/interface.d.ts +22 -0
  89. package/dist/cjs/array-table/preview.js +39 -5
  90. package/dist/cjs/array-table/rowFeedback.d.ts +2 -2
  91. package/dist/cjs/array-table/rowFeedback.js +8 -8
  92. package/dist/cjs/array-table/summary.d.ts +25 -0
  93. package/dist/cjs/array-table/summary.js +70 -0
  94. package/dist/cjs/array-table/theme.d.ts +35 -5
  95. package/dist/cjs/array-table/theme.js +49 -12
  96. package/dist/cjs/array-table/title.d.ts +3 -0
  97. package/dist/cjs/array-table/title.js +29 -0
  98. package/dist/cjs/array-table/utils.d.ts +2 -1
  99. package/dist/cjs/array-table/utils.js +94 -23
  100. package/dist/cjs/card/pro-card/Card/useLegacyItems.d.ts +1 -1
  101. package/dist/cjs/dateCellEditor/DateCellEditor.d.ts +5 -0
  102. package/dist/cjs/dateCellEditor/DateCellEditor.js +42 -17
  103. package/dist/cjs/deleteConfirm/index.d.ts +14 -0
  104. package/dist/cjs/deleteConfirm/index.js +73 -12
  105. package/dist/cjs/dialogSelect/index.d.ts +19 -0
  106. package/dist/cjs/dialogSelect/index.js +189 -15
  107. package/dist/cjs/dialogSelect/index.less +18 -0
  108. package/dist/cjs/documentPage/documentPage.d.ts +6 -3
  109. package/dist/cjs/documentPage/documentPage.js +23 -8
  110. package/dist/cjs/documentPage/index.d.ts +2 -0
  111. package/dist/cjs/documentPage/index.js +19 -0
  112. package/dist/cjs/documentPage/leaveGuard.d.ts +31 -0
  113. package/dist/cjs/documentPage/leaveGuard.js +91 -0
  114. package/dist/cjs/draggableModal/index.d.ts +24 -1
  115. package/dist/cjs/draggableModal/index.js +36 -6
  116. package/dist/cjs/fullScreenAlert/index.less +10 -10
  117. package/dist/cjs/index.d.ts +3 -0
  118. package/dist/cjs/index.js +22 -0
  119. package/dist/cjs/readPretty/arrayTable.js +5 -1
  120. package/dist/cjs/scanCollect/ScanFeedbackInput.d.ts +26 -0
  121. package/dist/cjs/scanCollect/ScanFeedbackInput.js +113 -0
  122. package/dist/cjs/scanCollect/index.d.ts +4 -0
  123. package/dist/cjs/scanCollect/index.js +14 -0
  124. package/dist/cjs/scanCollect/scanSound.d.ts +15 -0
  125. package/dist/cjs/scanCollect/scanSound.js +91 -0
  126. package/dist/esm/ConfirmPro/index.d.ts +12 -9
  127. package/dist/esm/ConfirmPro/index.js +11 -34
  128. package/dist/esm/ag-grid-plus/ag-gridPlus.js +426 -157
  129. package/dist/esm/ag-grid-plus/context/gridContext.d.ts +12 -1
  130. package/dist/esm/ag-grid-plus/context/queryFormContext.d.ts +2 -0
  131. package/dist/esm/ag-grid-plus/context/useSchemeDataFlow.js +8 -0
  132. package/dist/esm/ag-grid-plus/density.d.ts +25 -0
  133. package/dist/esm/ag-grid-plus/density.js +45 -0
  134. package/dist/esm/ag-grid-plus/index.d.ts +1 -0
  135. package/dist/esm/ag-grid-plus/index.js +3 -0
  136. package/dist/esm/ag-grid-plus/index.less +43 -0
  137. package/dist/esm/ag-grid-plus/interface.d.ts +58 -1
  138. package/dist/esm/ag-grid-plus/interface.js +2 -0
  139. package/dist/esm/ag-grid-plus/queryForm/index.d.ts +11 -0
  140. package/dist/esm/ag-grid-plus/queryForm/index.js +62 -10
  141. package/dist/esm/ag-grid-plus/queryForm/queryForm.d.ts +10 -0
  142. package/dist/esm/ag-grid-plus/queryForm/queryForm.js +64 -26
  143. package/dist/esm/ag-grid-plus/queryForm/queryValues.d.ts +9 -0
  144. package/dist/esm/ag-grid-plus/queryForm/queryValues.js +54 -0
  145. package/dist/esm/ag-grid-plus/rowColors.d.ts +12 -0
  146. package/dist/esm/ag-grid-plus/rowColors.js +50 -0
  147. package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.d.ts +5 -0
  148. package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.js +14 -5
  149. package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +110 -78
  150. package/dist/esm/ag-grid-plus/setting/QuerySchemeManager.js +10 -9
  151. package/dist/esm/ag-grid-plus/setting/autoColumnMemory.d.ts +37 -0
  152. package/dist/esm/ag-grid-plus/setting/autoColumnMemory.js +198 -0
  153. package/dist/esm/ag-grid-plus/setting/columnGroupUtils.d.ts +2 -0
  154. package/dist/esm/ag-grid-plus/setting/columnGroupUtils.js +18 -1
  155. package/dist/esm/ag-grid-plus/setting/index.js +6 -15
  156. package/dist/esm/ag-grid-plus/settingItem/index.d.ts +11 -1
  157. package/dist/esm/ag-grid-plus/settingItem/index.js +35 -13
  158. package/dist/esm/ag-grid-plus/shared/EmptyIllustration.d.ts +16 -0
  159. package/dist/esm/ag-grid-plus/shared/EmptyIllustration.js +82 -0
  160. package/dist/esm/ag-grid-plus/shared/NoRowsOverlay.js +9 -1
  161. package/dist/esm/ag-grid-plus/shared/SkeletonOverlay.d.ts +11 -0
  162. package/dist/esm/ag-grid-plus/shared/SkeletonOverlay.js +34 -0
  163. package/dist/esm/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +1 -1
  164. package/dist/esm/ag-grid-plus/theme.d.ts +7 -1
  165. package/dist/esm/ag-grid-plus/theme.js +31 -6
  166. package/dist/esm/ag-grid-plus/toolBar/OverflowActions.d.ts +16 -0
  167. package/dist/esm/ag-grid-plus/toolBar/OverflowActions.js +120 -0
  168. package/dist/esm/ag-grid-plus/toolBar/index.d.ts +3 -1
  169. package/dist/esm/ag-grid-plus/toolBar/index.js +43 -35
  170. package/dist/esm/ag-grid-plus/toolBar/leftContent.d.ts +2 -2
  171. package/dist/esm/ag-grid-plus/toolBar/leftContent.js +2 -2
  172. package/dist/esm/ag-grid-plus/toolBar/overflow.d.ts +20 -0
  173. package/dist/esm/ag-grid-plus/toolBar/overflow.js +41 -0
  174. package/dist/esm/ag-grid-plus/toolBar/style.js +71 -15
  175. package/dist/esm/ag-grid-plus/types.d.ts +6 -0
  176. package/dist/esm/ag-grid-plus/utils/agGridCompat.js +12 -3
  177. package/dist/esm/ag-grid-plus/utils/agGridLicenseNotice.d.ts +7 -0
  178. package/dist/esm/ag-grid-plus/utils/agGridLicenseNotice.js +97 -0
  179. package/dist/esm/ag-grid-plus/utils/columnProcessors.d.ts +3 -0
  180. package/dist/esm/ag-grid-plus/utils/columnProcessors.js +14 -3
  181. package/dist/esm/ag-grid-plus/utils/constants.d.ts +3 -2
  182. package/dist/esm/ag-grid-plus/utils/constants.js +3 -2
  183. package/dist/esm/ag-grid-plus/utils/crossPageSelection.d.ts +21 -0
  184. package/dist/esm/ag-grid-plus/utils/crossPageSelection.js +52 -0
  185. package/dist/esm/ag-grid-plus/utils/emptyState.d.ts +2 -0
  186. package/dist/esm/ag-grid-plus/utils/emptyState.js +9 -5
  187. package/dist/esm/ag-grid-plus/utils/listKeyboard.d.ts +24 -0
  188. package/dist/esm/ag-grid-plus/utils/listKeyboard.js +77 -0
  189. package/dist/esm/ag-grid-plus/utils/pagination.d.ts +26 -0
  190. package/dist/esm/ag-grid-plus/utils/pagination.js +60 -0
  191. package/dist/esm/ag-grid-plus/utils/queryDispatch.d.ts +7 -0
  192. package/dist/esm/ag-grid-plus/utils/queryDispatch.js +11 -0
  193. package/dist/esm/ag-grid-plus/utils/statusPill.d.ts +25 -0
  194. package/dist/esm/ag-grid-plus/utils/statusPill.js +192 -0
  195. package/dist/esm/ag-grid-plus/utils/valueEnumColor.d.ts +6 -1
  196. package/dist/esm/ag-grid-plus/utils/valueEnumColor.js +12 -8
  197. package/dist/esm/ag-grid-plus/utils/valueFormat.d.ts +19 -0
  198. package/dist/esm/ag-grid-plus/utils/valueFormat.js +63 -0
  199. package/dist/esm/ag-grid-plus/utils.js +3 -2
  200. package/dist/esm/array-table/arrayAddBtn.d.ts +1 -0
  201. package/dist/esm/array-table/arrayAddBtn.js +1 -1
  202. package/dist/esm/array-table/autoHeight.d.ts +18 -0
  203. package/dist/esm/array-table/autoHeight.js +25 -0
  204. package/dist/esm/array-table/batchRemove.d.ts +2 -2
  205. package/dist/esm/array-table/cellEditorMarker.d.ts +18 -0
  206. package/dist/esm/array-table/cellEditorMarker.js +84 -0
  207. package/dist/esm/array-table/errorLocator.d.ts +29 -0
  208. package/dist/esm/array-table/errorLocator.js +95 -0
  209. package/dist/esm/array-table/hooks.d.ts +52 -4
  210. package/dist/esm/array-table/hooks.js +251 -17
  211. package/dist/esm/array-table/index.d.ts +6 -0
  212. package/dist/esm/array-table/index.js +170 -25
  213. package/dist/esm/array-table/interface.d.ts +22 -0
  214. package/dist/esm/array-table/preview.js +43 -7
  215. package/dist/esm/array-table/rowFeedback.d.ts +2 -2
  216. package/dist/esm/array-table/rowFeedback.js +8 -8
  217. package/dist/esm/array-table/summary.d.ts +25 -0
  218. package/dist/esm/array-table/summary.js +66 -0
  219. package/dist/esm/array-table/theme.d.ts +35 -5
  220. package/dist/esm/array-table/theme.js +47 -12
  221. package/dist/esm/array-table/title.d.ts +3 -0
  222. package/dist/esm/array-table/title.js +24 -0
  223. package/dist/esm/array-table/utils.d.ts +2 -1
  224. package/dist/esm/array-table/utils.js +93 -22
  225. package/dist/esm/card/pro-card/Card/useLegacyItems.d.ts +1 -1
  226. package/dist/esm/dateCellEditor/DateCellEditor.d.ts +5 -0
  227. package/dist/esm/dateCellEditor/DateCellEditor.js +42 -17
  228. package/dist/esm/deleteConfirm/index.d.ts +14 -0
  229. package/dist/esm/deleteConfirm/index.js +72 -12
  230. package/dist/esm/dialogSelect/index.d.ts +19 -0
  231. package/dist/esm/dialogSelect/index.js +190 -16
  232. package/dist/esm/dialogSelect/index.less +18 -0
  233. package/dist/esm/documentPage/documentPage.d.ts +6 -3
  234. package/dist/esm/documentPage/documentPage.js +23 -8
  235. package/dist/esm/documentPage/index.d.ts +2 -0
  236. package/dist/esm/documentPage/index.js +1 -0
  237. package/dist/esm/documentPage/leaveGuard.d.ts +31 -0
  238. package/dist/esm/documentPage/leaveGuard.js +86 -0
  239. package/dist/esm/draggableModal/index.d.ts +24 -1
  240. package/dist/esm/draggableModal/index.js +35 -5
  241. package/dist/esm/fullScreenAlert/index.less +10 -10
  242. package/dist/esm/index.d.ts +3 -0
  243. package/dist/esm/index.js +2 -0
  244. package/dist/esm/readPretty/arrayTable.js +6 -2
  245. package/dist/esm/scanCollect/ScanFeedbackInput.d.ts +26 -0
  246. package/dist/esm/scanCollect/ScanFeedbackInput.js +107 -0
  247. package/dist/esm/scanCollect/index.d.ts +4 -0
  248. package/dist/esm/scanCollect/index.js +2 -0
  249. package/dist/esm/scanCollect/scanSound.d.ts +15 -0
  250. package/dist/esm/scanCollect/scanSound.js +84 -0
  251. package/package.json +2 -2
@@ -9,12 +9,20 @@ var _agGridReact = require("ag-grid-react");
9
9
  var _antd = require("antd");
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
  var _agGridEnterprise = require("ag-grid-enterprise");
12
+ var _agGridLicenseNotice = require("./utils/agGridLicenseNotice");
12
13
  var _theme = require("./theme");
14
+ var _density = require("./density");
15
+ var _rowColors = require("./rowColors");
16
+ var _listKeyboard = require("./utils/listKeyboard");
17
+ var _crossPageSelection = require("./utils/crossPageSelection");
18
+ var _valueFormat = require("./utils/valueFormat");
13
19
  var _useTypeInferenceRow = require("./hooks/useTypeInferenceRow");
14
20
  require("./index.less");
15
21
  var _index2 = _interopRequireDefault(require("./queryForm/index"));
16
22
  var _index3 = _interopRequireDefault(require("./toolBar/index"));
17
23
  var _index4 = _interopRequireDefault(require("./settingItem/index"));
24
+ var _autoColumnMemory = require("./setting/autoColumnMemory");
25
+ var _queryDispatch = require("./utils/queryDispatch");
18
26
  var _icons = require("@ant-design/icons");
19
27
  var _utils = require("./utils");
20
28
  var _columnProcessors = require("./utils/columnProcessors");
@@ -26,6 +34,8 @@ var _useRowId2 = require("./hooks/useRowId");
26
34
  var _lodash = _interopRequireWildcard(require("lodash"));
27
35
  var _customGroupCellRenderer = _interopRequireDefault(require("./_utils/customGroupCellRenderer"));
28
36
  var _NoRowsOverlay = _interopRequireDefault(require("./shared/NoRowsOverlay"));
37
+ var _SkeletonOverlay = _interopRequireDefault(require("./shared/SkeletonOverlay"));
38
+ var _pagination = require("./utils/pagination");
29
39
  var _constants = require("./utils/constants");
30
40
  var _emptyState = require("./utils/emptyState");
31
41
  var _processColumnGroups = _interopRequireDefault(require("./_utils/processColumnGroups"));
@@ -46,12 +56,11 @@ var _index7 = require("./errors/index");
46
56
  var _logger = require("./utils/logger");
47
57
  var _entityExtensionColumns = require("./utils/entityExtensionColumns");
48
58
  var _jsxRuntime = require("react/jsx-runtime");
49
- var _excluded = ["style", "loading", "params", "request", "dataSource", "treeKeyName", "treeParentName", "rowData", "gridRef", "headerTitle", "toolBarRender", "search", "hideTool", "onGridReady", "gridKey", "children", "defaultSearchExpand", "overlayNoRowsTemplateText", "queryDefaultRows", "onSelectedRowsChange", "onQueryValuesChange", "emptyState", "accessible", "enableClickSelection", "rowSelection", "useNativeTreeFilter", "entityType", "valueEnumContrast", "dateQueryPrecision"];
59
+ var _excluded = ["style", "loading", "params", "request", "dataSource", "treeKeyName", "treeParentName", "rowData", "gridRef", "headerTitle", "toolBarRender", "search", "hideTool", "onGridReady", "gridKey", "children", "defaultSearchExpand", "overlayNoRowsTemplateText", "queryDefaultRows", "onSelectedRowsChange", "onQueryValuesChange", "autoRememberColumns", "emptyState", "accessible", "enableClickSelection", "rowSelection", "crossPageSelection", "onCrossPageSelectionChange", "defaultValueFormat", "useNativeTreeFilter", "entityType", "valueEnumContrast", "dateQueryPrecision", "headerFilter", "showQuickJumper", "showSizeChanger"];
50
60
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
51
61
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
52
62
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
53
63
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
54
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
55
64
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
56
65
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
57
66
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
@@ -67,9 +76,11 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
67
76
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
68
77
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
69
78
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
79
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
70
80
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
71
81
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
72
- // AG-Grid v33+ 需要显式注册模块
82
+ // AG-Grid v33+ 需要显式注册模块;组件库不内置 license key,未授权时的试用提示统一收敛
83
+ (0, _agGridLicenseNotice.installAgGridLicenseNotice)();
73
84
  _agGridCommunity.ModuleRegistry.registerModules([_agGridEnterprise.AllEnterpriseModule]);
74
85
 
75
86
  // 导入 AG-Grid v33 主题
@@ -88,8 +99,7 @@ function useDeepCompareStable(value) {
88
99
  return ref.current;
89
100
  }
90
101
  function AgGridPlus(props) {
91
- var _ref, _rest$cellSelection;
92
- var gridTheme = (0, _theme.useAgGridTheme)();
102
+ var _currentSchemes, _ref, _currentQueryScheme$q, _rest$cellSelection;
93
103
  var _theme$useToken = _antd.theme.useToken(),
94
104
  token = _theme$useToken.token; // 高级筛选入口跟随主题及客户主色。@author nokecy
95
105
  var style = props.style,
@@ -113,17 +123,27 @@ function AgGridPlus(props) {
113
123
  queryDefaultRows = props.queryDefaultRows,
114
124
  onSelectedRowsChange = props.onSelectedRowsChange,
115
125
  onQueryValuesChange = props.onQueryValuesChange,
126
+ _props$autoRememberCo = props.autoRememberColumns,
127
+ autoRememberColumns = _props$autoRememberCo === void 0 ? true : _props$autoRememberCo,
116
128
  emptyState = props.emptyState,
117
129
  _props$accessible = props.accessible,
118
130
  accessible = _props$accessible === void 0 ? true : _props$accessible,
119
131
  enableClickSelection = props.enableClickSelection,
120
132
  propsRowSelection = props.rowSelection,
133
+ _props$crossPageSelec = props.crossPageSelection,
134
+ crossPageSelection = _props$crossPageSelec === void 0 ? false : _props$crossPageSelec,
135
+ onCrossPageSelectionChange = props.onCrossPageSelectionChange,
136
+ _props$defaultValueFo = props.defaultValueFormat,
137
+ defaultValueFormat = _props$defaultValueFo === void 0 ? true : _props$defaultValueFo,
121
138
  _props$useNativeTreeF = props.useNativeTreeFilter,
122
139
  useNativeTreeFilter = _props$useNativeTreeF === void 0 ? false : _props$useNativeTreeF,
123
140
  entityType = props.entityType,
124
141
  _props$valueEnumContr = props.valueEnumContrast,
125
142
  valueEnumContrast = _props$valueEnumContr === void 0 ? false : _props$valueEnumContr,
126
143
  dateQueryPrecision = props.dateQueryPrecision,
144
+ headerFilter = props.headerFilter,
145
+ showQuickJumper = props.showQuickJumper,
146
+ showSizeChanger = props.showSizeChanger,
127
147
  rest = _objectWithoutProperties(props, _excluded);
128
148
  var _useGridPlusColumnSta = (0, _index6.useGridPlusColumnState)(),
129
149
  onSaveColumnState = _useGridPlusColumnSta.onSaveColumnState,
@@ -136,7 +156,27 @@ function AgGridPlus(props) {
136
156
  applySchemeToGlobal = _useGridPlusColumnSta.applySchemeToGlobal,
137
157
  resetToGlobal = _useGridPlusColumnSta.resetToGlobal,
138
158
  resetAllUsers = _useGridPlusColumnSta.resetAllUsers,
139
- hostEntityExtensions = _useGridPlusColumnSta.hostEntityExtensions;
159
+ hostEntityExtensions = _useGridPlusColumnSta.hostEntityExtensions,
160
+ density = _useGridPlusColumnSta.density,
161
+ densityOverrides = _useGridPlusColumnSta.densityValues,
162
+ onDensityChange = _useGridPlusColumnSta.onDensityChange;
163
+
164
+ // 密度由 Provider 注入;没注入时保持出厂外观。页面 `theme` 传普通对象时叠加在 token 与密度之上,
165
+ // 传 AG Grid Theme 实例或字符串时仍整体替换(兼容旧用法)。@author nokecy
166
+ var densitySpec = (0, _react.useMemo)(function () {
167
+ return (0, _density.resolveGridDensity)(density, densityOverrides);
168
+ }, [density, densityOverrides]);
169
+ var pageThemeParams = (0, _react.useMemo)(function () {
170
+ var t = rest.theme;
171
+ return t && _typeof(t) === 'object' && typeof t.withParams !== 'function' ? t : undefined;
172
+ }, [rest.theme]);
173
+ var gridTheme = (0, _theme.useAgGridTheme)({
174
+ density: densitySpec,
175
+ themeParams: pageThemeParams
176
+ });
177
+ var rowColors = (0, _react.useMemo)(function () {
178
+ return (0, _rowColors.deriveRowColors)(token.colorPrimary, token.colorLink);
179
+ }, [token.colorPrimary, token.colorLink]);
140
180
  var gridRef = (0, _react.useRef)(undefined);
141
181
  var apiRef = (0, _react.useRef)(undefined);
142
182
  var allColDefsRef = (0, _react.useRef)([]);
@@ -158,6 +198,22 @@ function AgGridPlus(props) {
158
198
  }, [props.getRowId, generateUniqueRowId]);
159
199
  var resolveRowIdRef = (0, _react.useRef)(resolveRowId);
160
200
  resolveRowIdRef.current = resolveRowId;
201
+
202
+ // 跨页勾选:按行 ID 记住所有已勾选的行,翻页后把当前页命中的行重新勾上 @author nokecy
203
+ var crossPageRef = (0, _react.useRef)(crossPageSelection);
204
+ crossPageRef.current = crossPageSelection;
205
+ var crossPage = (0, _react.useMemo)(function () {
206
+ return (0, _crossPageSelection.createCrossPageSelection)(function (row) {
207
+ return resolveRowIdRef.current({
208
+ data: row,
209
+ level: 0,
210
+ api: apiRef.current,
211
+ context: null
212
+ });
213
+ });
214
+ }, []);
215
+ var onCrossPageChangeRef = (0, _react.useRef)(onCrossPageSelectionChange);
216
+ onCrossPageChangeRef.current = onCrossPageSelectionChange;
161
217
  var _useState = (0, _react.useState)(false),
162
218
  _useState2 = _slicedToArray(_useState, 2),
163
219
  ready = _useState2[0],
@@ -172,44 +228,69 @@ function AgGridPlus(props) {
172
228
  _useState6 = _slicedToArray(_useState5, 2),
173
229
  loading = _useState6[0],
174
230
  setLoading = _useState6[1];
175
- // 空态四分需要的两个事实:这次请求是不是失败了、用户有没有施加筛选。@author nokecy
176
- var _useState7 = (0, _react.useState)(null),
231
+ // 首次请求发出前表里本来就是空的,此时不能显示空态文案,要显示骨架。
232
+ // 用「请求已发出且已结束」反推,而不是只看 loading:loading 在首个请求发出前一直是 false。@author nokecy
233
+ var _useState7 = (0, _react.useState)(!!request),
177
234
  _useState8 = _slicedToArray(_useState7, 2),
178
- loadError = _useState8[0],
179
- setLoadError = _useState8[1];
180
- var _useState9 = (0, _react.useState)(false),
235
+ firstLoadPending = _useState8[0],
236
+ setFirstLoadPending = _useState8[1];
237
+ var requestStartedRef = (0, _react.useRef)(false);
238
+ // 空态四分需要的两个事实:这次请求是不是失败了、用户有没有施加筛选。@author nokecy
239
+ var _useState9 = (0, _react.useState)(null),
181
240
  _useState10 = _slicedToArray(_useState9, 2),
182
- filtered = _useState10[0],
183
- setFiltered = _useState10[1];
184
- var _useState11 = (0, _react.useState)(),
241
+ loadError = _useState10[0],
242
+ setLoadError = _useState10[1];
243
+ var _useState11 = (0, _react.useState)(false),
185
244
  _useState12 = _slicedToArray(_useState11, 2),
186
- columnState = _useState12[0],
187
- setColumnState = _useState12[1];
188
- var _useState13 = (0, _react.useState)({}),
245
+ filtered = _useState12[0],
246
+ setFiltered = _useState12[1];
247
+ var _useState13 = (0, _react.useState)(),
189
248
  _useState14 = _slicedToArray(_useState13, 2),
190
- columnCellClass = _useState14[0],
191
- setColumnCellClass = _useState14[1];
192
- var _useState15 = (0, _react.useState)([]),
249
+ columnState = _useState14[0],
250
+ setColumnState = _useState14[1];
251
+ var _useState15 = (0, _react.useState)({}),
193
252
  _useState16 = _slicedToArray(_useState15, 2),
194
- rowData = _useState16[0],
195
- setRowData = _useState16[1];
196
- var _useState17 = (0, _react.useState)({}),
253
+ columnCellClass = _useState16[0],
254
+ setColumnCellClass = _useState16[1];
255
+ var _useState17 = (0, _react.useState)([]),
197
256
  _useState18 = _slicedToArray(_useState17, 2),
198
- queryFilter = _useState18[0],
199
- setQueryFilter = _useState18[1];
200
- var _useState19 = (0, _react.useState)(),
257
+ rowData = _useState18[0],
258
+ setRowData = _useState18[1];
259
+ var _useState19 = (0, _react.useState)({}),
201
260
  _useState20 = _slicedToArray(_useState19, 2),
202
- sortColumn = _useState20[0],
203
- setSortColumn = _useState20[1];
261
+ queryFilter = _useState20[0],
262
+ setQueryFilter = _useState20[1];
263
+ var _useState21 = (0, _react.useState)(),
264
+ _useState22 = _slicedToArray(_useState21, 2),
265
+ sortColumn = _useState22[0],
266
+ setSortColumn = _useState22[1];
204
267
  // 初始化分页参数,支持外部传入的pageSize
205
- var _useState21 = (0, _react.useState)({
206
- pageSize: props.pageSize !== undefined ? props.pageSize : props.hidePagination ? 10000 : 200,
268
+ var _useState23 = (0, _react.useState)({
269
+ pageSize: (0, _pagination.resolveInitialPageSize)(props.pageSize, props.hidePagination),
207
270
  current: 1,
208
271
  total: dataSource ? dataSource.length : 0
209
272
  }),
210
- _useState22 = _slicedToArray(_useState21, 2),
211
- pagination = _useState22[0],
212
- setPagination = _useState22[1];
273
+ _useState24 = _slicedToArray(_useState23, 2),
274
+ pagination = _useState24[0],
275
+ setPagination = _useState24[1];
276
+
277
+ // dataSource 本地数据模式:分页器要真正切片,而不是只显示页码。
278
+ // 总数与页码按 dataSource 当场推导,数据增删后页码自动收回末页,无需再同步 state。
279
+ // 树形数据按层级展开,不能按行切片,保持整表。@author nokecy
280
+ var localPaging = !!dataSource && !request && !props.hidePagination && !props.treeData;
281
+ var pageTotal = localPaging ? dataSource.length : pagination.total;
282
+ var pageCurrent = localPaging ? (0, _pagination.clampPage)(pagination.current, pageTotal, pagination.pageSize) : pagination.current;
283
+ // 命令式入口(GridRef)与异步回调读取最新分页,避免闭包拿到旧页码
284
+ var paginationRef = (0, _react.useRef)({
285
+ current: pageCurrent,
286
+ pageSize: pagination.pageSize,
287
+ total: pageTotal
288
+ });
289
+ paginationRef.current = {
290
+ current: pageCurrent,
291
+ pageSize: pagination.pageSize,
292
+ total: pageTotal
293
+ };
213
294
 
214
295
  // ============ 方案管理 - 使用集中式 Context ============
215
296
  var _useGridSchemes = (0, _useSchemeManager.useGridSchemes)(),
@@ -228,16 +309,22 @@ function AgGridPlus(props) {
228
309
  getColumnSchemes = _useGridSchemes.getColumnSchemes,
229
310
  getQuerySchemes = _useGridSchemes.getQuerySchemes,
230
311
  getCurrentScheme = _useGridSchemes.getCurrentScheme;
231
- var _useState23 = (0, _react.useState)([]),
232
- _useState24 = _slicedToArray(_useState23, 2),
233
- queryItemsOrder = _useState24[0],
234
- setQueryItemsOrder = _useState24[1];
312
+ var _useState25 = (0, _react.useState)([]),
313
+ _useState26 = _slicedToArray(_useState25, 2),
314
+ queryItemsOrder = _useState26[0],
315
+ setQueryItemsOrder = _useState26[1];
316
+ // 查询区操作句柄:查询方案管理经它读取当前条件值 @author nokecy
317
+ var queryFormApiRef = (0, _react.useRef)(null);
318
+ var getQueryValues = (0, _react.useCallback)(function () {
319
+ var _queryFormApiRef$curr, _queryFormApiRef$curr2;
320
+ return (_queryFormApiRef$curr = (_queryFormApiRef$curr2 = queryFormApiRef.current) === null || _queryFormApiRef$curr2 === void 0 ? void 0 : _queryFormApiRef$curr2.getValues()) !== null && _queryFormApiRef$curr !== void 0 ? _queryFormApiRef$curr : {};
321
+ }, []);
235
322
 
236
323
  // 高级查询状态
237
- var _useState25 = (0, _react.useState)(false),
238
- _useState26 = _slicedToArray(_useState25, 2),
239
- advancedPopoverOpen = _useState26[0],
240
- setAdvancedPopoverOpen = _useState26[1];
324
+ var _useState27 = (0, _react.useState)(false),
325
+ _useState28 = _slicedToArray(_useState27, 2),
326
+ advancedPopoverOpen = _useState28[0],
327
+ setAdvancedPopoverOpen = _useState28[1];
241
328
  var createEmptyRuleGroup = function createEmptyRuleGroup() {
242
329
  return {
243
330
  id: (0, _uuid.v4)(),
@@ -245,17 +332,21 @@ function AgGridPlus(props) {
245
332
  children: []
246
333
  };
247
334
  };
248
- var _useState27 = (0, _react.useState)(createEmptyRuleGroup),
249
- _useState28 = _slicedToArray(_useState27, 2),
250
- advancedQueryRules = _useState28[0],
251
- setAdvancedQueryRules = _useState28[1];
335
+ var _useState29 = (0, _react.useState)(createEmptyRuleGroup),
336
+ _useState30 = _slicedToArray(_useState29, 2),
337
+ advancedQueryRules = _useState30[0],
338
+ setAdvancedQueryRules = _useState30[1];
339
+ // 查询区回调可能还是旧渲染里的闭包,「重置」要在同一次点击里让它读到已清空的高级条件,所以另放一份 ref。
340
+ var advancedRulesRef = (0, _react.useRef)(advancedQueryRules);
341
+ advancedRulesRef.current = advancedQueryRules;
252
342
  (0, _react.useImperativeHandle)(propsGridRef, function () {
253
343
  return gridRef.current;
254
344
  });
255
345
 
256
346
  //默认列属性
347
+ var pageDefaultColDef = useDeepCompareStable(rest.defaultColDef);
257
348
  var defaultColDef = (0, _react.useMemo)(function () {
258
- return {
349
+ var builtIn = {
259
350
  resizable: true,
260
351
  sortable: true,
261
352
  // suppressHeaderFilterButton: true,
@@ -268,7 +359,11 @@ function AgGridPlus(props) {
268
359
  '<span data-ref="eFilterButton" class="ag-header-icon ag-header-cell-filter-button"></span>' + '<div data-ref="eLabel" class="ag-header-cell-label" role="presentation">' + '<span data-ref="eText" class="ag-header-cell-text" role="columnheader"></span>' + '<span data-ref="eFilter" class="ag-header-icon ag-filter-icon"></span>' + '<span data-ref="eSortOrder" class="ag-header-icon ag-sort-order"></span>' + '<span data-ref="eSortDesc" class="ag-header-icon ag-sort-descending-icon"></span>' + '<span data-ref="eSortAsc" class="ag-header-icon ag-sort-ascending-icon"></span>' + '<span data-ref="eSortNone" class="ag-header-icon ag-sort-none-icon"></span>' + '</div>' + '</div>'
269
360
  }
270
361
  };
271
- }, []);
362
+ // 页面传入的 defaultColDef 与内置合并(页面优先),headerFilter=false 全局收起列头筛选按钮
363
+ return (0, _pagination.mergeDefaultColDef)(builtIn, pageDefaultColDef, {
364
+ headerFilter: headerFilter
365
+ });
366
+ }, [pageDefaultColDef, headerFilter]);
272
367
  var columnTypes = (0, _react.useMemo)(function () {
273
368
  return {
274
369
  bool: {
@@ -311,6 +406,11 @@ function AgGridPlus(props) {
311
406
  setRowData(dataSource || propRowData || []);
312
407
  }, [dataSource, propRowData]);
313
408
 
409
+ // 首次请求结束(成功或失败)后不再算「首次加载」
410
+ (0, _react.useEffect)(function () {
411
+ if (!loading && requestStartedRef.current && firstLoadPending) setFirstLoadPending(false);
412
+ }, [loading, firstLoadPending]);
413
+
314
414
  //外部loading
315
415
  (0, _react.useEffect)(function () {
316
416
  loadingProps !== undefined && setLoading(loadingProps);
@@ -333,7 +433,9 @@ function AgGridPlus(props) {
333
433
 
334
434
  // 辅助函数: 处理单个列配置
335
435
  var processColumnConfig = function processColumnConfig(col, data) {
436
+ var _col;
336
437
  var dataType = getDataType(data, col.field || '', col.valueEnum);
438
+ if (defaultValueFormat) col = (0, _valueFormat.withDefaultValueFormat)(col, (dataType === null || dataType === void 0 ? void 0 : dataType.type) === 'number' && dataType.calculateType !== false);
337
439
  if (col.valueEnum && Array.isArray(col.valueEnum)) {
338
440
  // 枚举列渲染只走一处实现,见 columnProcessors.processEnumColumn
339
441
  // (命中上色、未命中交给 col.enumFallbackRenderer,都没配则回原始码)
@@ -343,7 +445,7 @@ function AgGridPlus(props) {
343
445
  return (0, _columnProcessors.mergeInferredColumnType)(col, dataType);
344
446
  }
345
447
  //@ts-ignore
346
- if (col !== null && col !== void 0 && col.ellipsis) {
448
+ if ((_col = col) !== null && _col !== void 0 && _col.ellipsis) {
347
449
  return (0, _columnProcessors.processEllipsisColumn)((0, _columnProcessors.mergeInferredColumnType)(col, dataType));
348
450
  }
349
451
  if (col.cellRenderer) {
@@ -445,7 +547,7 @@ function AgGridPlus(props) {
445
547
  });
446
548
  }
447
549
  return cols;
448
- }, [_react.default.Children.count(children), props.columnDefs, extensibleColumns, gridKey, entityType, hostEntityExtensions, typeInferenceRow, valueEnumContrast ? token.colorBgContainer : undefined]);
550
+ }, [_react.default.Children.count(children), props.columnDefs, extensibleColumns, gridKey, entityType, hostEntityExtensions, typeInferenceRow, defaultValueFormat, valueEnumContrast ? token.colorBgContainer : undefined]);
449
551
 
450
552
  // 方案派生依赖本轮源码列,避免读取尚未更新的 ref 快照。@author nokecy
451
553
  /**
@@ -471,12 +573,46 @@ function AgGridPlus(props) {
471
573
  var currentColumnSchemes = schemeDataFlow.columnSchemes,
472
574
  currentColumnScheme = schemeDataFlow.currentColumnScheme,
473
575
  currentQuerySchemes = schemeDataFlow.querySchemes,
474
- currentQueryScheme = schemeDataFlow.currentQueryScheme,
576
+ resolvedQueryScheme = schemeDataFlow.currentQueryScheme,
475
577
  derivedColumnDefs = schemeDataFlow.derivedColumnDefs,
476
578
  derivedColumnState = schemeDataFlow.derivedColumnState,
477
579
  isUsingGlobalFallback = schemeDataFlow.isUsingGlobalFallback,
478
580
  isUsingGlobalQueryFallback = schemeDataFlow.isUsingGlobalQueryFallback;
479
581
 
582
+ // 「重置」取消当前应用的查询方案:默认/全局方案是按回退规则算出来的,只清存储的 ID 仍会被回退算回来,
583
+ // 所以本页内另用一个标记压住它;用户重新选方案(ID 变为非空)时解除。
584
+ var _useState31 = (0, _react.useState)(false),
585
+ _useState32 = _slicedToArray(_useState31, 2),
586
+ querySchemeDismissed = _useState32[0],
587
+ setQuerySchemeDismissed = _useState32[1];
588
+ var currentQueryScheme = querySchemeDismissed ? undefined : resolvedQueryScheme;
589
+ var storedQuerySchemeId = currentSchemes === null || currentSchemes === void 0 || (_currentSchemes = currentSchemes[gridKey || '']) === null || _currentSchemes === void 0 ? void 0 : _currentSchemes.querySchemeId;
590
+ (0, _react.useEffect)(function () {
591
+ if (storedQuerySchemeId) setQuerySchemeDismissed(false);
592
+ }, [storedQuerySchemeId]);
593
+ var resetQueryScheme = (0, _react.useCallback)(function () {
594
+ var _setCurrentQuerySchem, _setCurrentQuerySchem2;
595
+ setQuerySchemeDismissed(true);
596
+ // 重置要恢复全量,高级搜索条件一并清空,否则提交时仍会优先走高级条件。
597
+ var empty = createEmptyRuleGroup();
598
+ advancedRulesRef.current = empty;
599
+ setAdvancedQueryRules(empty);
600
+ // 存储里清成 null 后,再次选择同一方案才会是一次真实变化;下次进入页面仍按默认方案规则回退。
601
+ if (gridKey) setCurrentQueryScheme === null || setCurrentQueryScheme === void 0 || (_setCurrentQuerySchem = setCurrentQueryScheme(gridKey, null)) === null || _setCurrentQuerySchem === void 0 || (_setCurrentQuerySchem2 = _setCurrentQuerySchem.catch) === null || _setCurrentQuerySchem2 === void 0 || _setCurrentQuerySchem2.call(_setCurrentQuerySchem, function () {});
602
+ }, [gridKey, setCurrentQueryScheme]);
603
+
604
+ // 表头上拖拽列宽、列序后自动记忆(DESIGN.md §7.5)
605
+ (0, _autoColumnMemory.useAutoColumnMemory)({
606
+ enabled: autoRememberColumns,
607
+ gridKey: gridKey,
608
+ ready: ready,
609
+ api: ready ? apiRef.current : undefined,
610
+ originalColumnDefs: allColDefs,
611
+ currentScheme: currentColumnScheme,
612
+ saveColumnScheme: saveColumnScheme,
613
+ setCurrentColumnScheme: setCurrentColumnScheme
614
+ });
615
+
480
616
  /**
481
617
  * 【P0 + P1 优化】使用派生状态应用方案(单向数据流)
482
618
  *
@@ -521,13 +657,6 @@ function AgGridPlus(props) {
521
657
  });
522
658
  });
523
659
  });
524
- }).then(function () {
525
- if (cancelled || !apiRef.current) return;
526
-
527
- // 3. 应用过滤器(在列状态稳定后执行)
528
- if (currentColumnScheme !== null && currentColumnScheme !== void 0 && currentColumnScheme.filterModel) {
529
- apiRef.current.setFilterModel(currentColumnScheme.filterModel);
530
- }
531
660
  }).catch(function (error) {
532
661
  if (!cancelled) {
533
662
  console.error('[AgGridPlus] 应用方案失败:', error);
@@ -608,6 +737,7 @@ function AgGridPlus(props) {
608
737
  var onRequest = (0, _react.useCallback)(function (queryFilter) {
609
738
  if (!requestRef.current) return;
610
739
  setLoading(true);
740
+ requestStartedRef.current = true;
611
741
  _logger.logger.debug('开始请求数据', {
612
742
  queryFilter: queryFilter,
613
743
  pagination: pagination
@@ -663,7 +793,7 @@ function AgGridPlus(props) {
663
793
  // 场景:用户执行操作(如审核)后刷新列表,选中行的数据已变化
664
794
  // 需要从新数据中找到对应的行,同步更新业务层的选中状态
665
795
  // 支持两种回调方式:onSelectedRowsChange 和 onSelectionChanged
666
- if (apiRef.current) {
796
+ if (apiRef.current && !crossPageRef.current) {
667
797
  // 使用 requestAnimationFrame 确保 AG-Grid 数据更新完成
668
798
  requestAnimationFrame(function () {
669
799
  if (!apiRef.current) return;
@@ -775,6 +905,16 @@ function AgGridPlus(props) {
775
905
  stableSortColumn: stableSortColumn
776
906
  };
777
907
  if (ready && formInitialized && requestRef.current) {
908
+ // 外部 params 变化意味着换了一批数据,停在原页码会落到别人的第 N 页甚至空页。
909
+ // 先回第 1 页,由页码变化再触发请求,避免先带着旧页码发一次。
910
+ if (changedDeps.includes('stableGridParams') && pagination.current !== 1) {
911
+ setPagination(function (prev) {
912
+ return _objectSpread(_objectSpread({}, prev), {}, {
913
+ current: 1
914
+ });
915
+ });
916
+ return;
917
+ }
778
918
  _logger.logger.debug('useEffect 触发数据请求', {
779
919
  ready: ready,
780
920
  formInitialized: formInitialized,
@@ -819,10 +959,54 @@ function AgGridPlus(props) {
819
959
  }
820
960
  }, [onRequest, stableQueryFilter]);
821
961
 
962
+ // 查询区、高级查询的回调可能是旧渲染里捕获的闭包(实测在第 2 页点「重置」时拿到的是第 1 页),
963
+ // 所以发请求、判断页码一律走 ref,永远读最新一次渲染。
964
+ var onRequestRef = (0, _react.useRef)(onRequest);
965
+ onRequestRef.current = onRequest;
966
+
967
+ /**
968
+ * 提交一组查询条件:非第 1 页时只回第 1 页,请求由页码变化触发(此处再发会带着旧页码多发一次);
969
+ * 已在第 1 页则直接发。
970
+ */
971
+ // 条件变了由「条件变化」effect 请求一次,这里不能再发;只有条件没变(重新取数)才直接发,见 needsDirectRequest。
972
+ var appliedFilterRef = (0, _react.useRef)(stableQueryFilter);
973
+ appliedFilterRef.current = stableQueryFilter;
974
+ var submitQuery = (0, _react.useCallback)(function (filter) {
975
+ var previous = appliedFilterRef.current;
976
+ setQueryFilter(filter);
977
+ if (paginationRef.current.current !== 1) {
978
+ setPagination(function (prev) {
979
+ return _objectSpread(_objectSpread({}, prev), {}, {
980
+ current: 1
981
+ });
982
+ });
983
+ return;
984
+ }
985
+ if ((0, _queryDispatch.needsDirectRequest)(previous, filter, 1)) onRequestRef.current(filter);
986
+ }, []);
987
+ var goToPage = (0, _react.useCallback)(function (page) {
988
+ var _paginationRef$curren = paginationRef.current,
989
+ pageSize = _paginationRef$curren.pageSize,
990
+ total = _paginationRef$curren.total;
991
+ var target = (0, _pagination.clampPage)(page, total, pageSize);
992
+ setPagination(function (prev) {
993
+ return prev.current === target ? prev : _objectSpread(_objectSpread({}, prev), {}, {
994
+ current: target
995
+ });
996
+ });
997
+ }, []);
998
+ var resetPage = (0, _react.useCallback)(function () {
999
+ return goToPage(1);
1000
+ }, [goToPage]);
1001
+ var getPagination = (0, _react.useCallback)(function () {
1002
+ return _objectSpread({}, paginationRef.current);
1003
+ }, []);
1004
+
822
1005
  // 空态四分:加载失败 / 无权限 / 筛选无结果 / 无数据,各说各的,失败那支还给出「重试」。
823
1006
  // 以前四种情况共用一句「没有找到数据,试试调整筛选条件吧!」,接口挂了也这么说,
824
1007
  // 用户按提示去调筛选,越调越没有。@author nokecy
825
1008
  var noRowsOverlayParams = (0, _react.useMemo)(function () {
1009
+ var _loadError$getRemoteS;
826
1010
  return {
827
1011
  branch: (0, _emptyState.resolveEmptyBranch)({
828
1012
  hasError: !!loadError,
@@ -834,7 +1018,8 @@ function AgGridPlus(props) {
834
1018
  accessible: accessible,
835
1019
  filtered: filtered,
836
1020
  override: overlayNoRowsTemplateText,
837
- texts: emptyState
1021
+ texts: emptyState,
1022
+ reason: loadError === null || loadError === void 0 || (_loadError$getRemoteS = loadError.getRemoteServiceError()) === null || _loadError$getRemoteS === void 0 ? void 0 : _loadError$getRemoteS.message
838
1023
  }),
839
1024
  onRetry: onRefresh
840
1025
  };
@@ -843,11 +1028,16 @@ function AgGridPlus(props) {
843
1028
  var noRowsOverlay = (0, _react.useMemo)(function () {
844
1029
  return (0, _emptyState.resolveNoRowsOverlay)(_NoRowsOverlay.default, noRowsOverlayParams, rest.noRowsOverlayComponent, rest.noRowsOverlayComponentParams);
845
1030
  }, [noRowsOverlayParams, rest.noRowsOverlayComponent, rest.noRowsOverlayComponentParams]);
846
- (0, _react.useEffect)(function () {
847
- gridRef.current = {
848
- onRefresh: onRefresh
1031
+
1032
+ // 渲染期就位,保证首次提交时 useImperativeHandle 已能拿到实例(原先放在 effect 里,首个提交拿到 undefined)
1033
+ gridRef.current = (0, _react.useMemo)(function () {
1034
+ return {
1035
+ onRefresh: onRefresh,
1036
+ goToPage: goToPage,
1037
+ resetPage: resetPage,
1038
+ getPagination: getPagination
849
1039
  };
850
- }, [onRefresh]);
1040
+ }, [onRefresh, goToPage, resetPage, getPagination]);
851
1041
  var onRowChanged = (0, _react.useCallback)(function (e) {
852
1042
  if (props.onSelectionChanged) {
853
1043
  props.onSelectionChanged(e);
@@ -867,7 +1057,37 @@ function AgGridPlus(props) {
867
1057
  onErrorRef.current = props.onError;
868
1058
  requestRef.current = request;
869
1059
  }, [onSelectedRowsChange, props.onRowSelected, props.onError, request]);
1060
+
1061
+ // 跨页模式下对外通知:行集合是所有页的并集,另给「不在当前页的数量」和清除入口
1062
+ var emitCrossPage = (0, _react.useCallback)(function () {
1063
+ var _onSelectedRowsChange, _onCrossPageChangeRef, _apiRef$current$getSe, _apiRef$current4;
1064
+ var rows = crossPage.rows();
1065
+ (_onSelectedRowsChange = onSelectedRowsChangeRef.current) === null || _onSelectedRowsChange === void 0 || _onSelectedRowsChange.call(onSelectedRowsChangeRef, rows);
1066
+ (_onCrossPageChangeRef = onCrossPageChangeRef.current) === null || _onCrossPageChangeRef === void 0 || _onCrossPageChangeRef.call(onCrossPageChangeRef, {
1067
+ rows: rows,
1068
+ count: rows.length,
1069
+ outsideCurrentPage: Math.max(0, rows.length - ((_apiRef$current$getSe = (_apiRef$current4 = apiRef.current) === null || _apiRef$current4 === void 0 ? void 0 : _apiRef$current4.getSelectedNodes().length) !== null && _apiRef$current$getSe !== void 0 ? _apiRef$current$getSe : 0)),
1070
+ clear: function clear() {
1071
+ var _apiRef$current5;
1072
+ crossPage.clear();
1073
+ (_apiRef$current5 = apiRef.current) === null || _apiRef$current5 === void 0 || _apiRef$current5.deselectAll();
1074
+ emitCrossPageRef.current();
1075
+ }
1076
+ });
1077
+ }, [crossPage]);
1078
+ var emitCrossPageRef = (0, _react.useRef)(emitCrossPage);
1079
+ emitCrossPageRef.current = emitCrossPage;
870
1080
  var onRowSelected = (0, _react.useCallback)(function (e) {
1081
+ if (crossPageRef.current) {
1082
+ var _onRowSelectedCallbac;
1083
+ // 换页时 AG Grid 因数据替换触发的取消勾选不是用户操作,不能改写记录
1084
+ if (!crossPage.isRestoring() && e.source !== 'rowDataChanged') {
1085
+ crossPage.track(e.node);
1086
+ emitCrossPageRef.current();
1087
+ }
1088
+ (_onRowSelectedCallbac = onRowSelectedCallbackRef.current) === null || _onRowSelectedCallbac === void 0 || _onRowSelectedCallbac.call(onRowSelectedCallbackRef, e);
1089
+ return;
1090
+ }
871
1091
  // 处理选中行数据回调
872
1092
  if (onSelectedRowsChangeRef.current && apiRef.current) {
873
1093
  // 获取所有选中的行
@@ -912,18 +1132,18 @@ function AgGridPlus(props) {
912
1132
  });
913
1133
  }
914
1134
  if (!allColDefs || displayedData.length === 0) {
915
- var _apiRef$current4;
916
- (_apiRef$current4 = apiRef.current) === null || _apiRef$current4 === void 0 || _apiRef$current4.setGridOption('pinnedBottomRowData', undefined);
1135
+ var _apiRef$current6;
1136
+ (_apiRef$current6 = apiRef.current) === null || _apiRef$current6 === void 0 || _apiRef$current6.setGridOption('pinnedBottomRowData', undefined);
917
1137
  return;
918
1138
  }
919
1139
  var calcColFields = (0, _aggregation.getCalculationColumns)(allColDefs);
920
1140
  if (calcColFields.length > 0) {
921
- var _apiRef$current5;
1141
+ var _apiRef$current7;
922
1142
  var calculatedValues = (0, _aggregation.computeAggregationRow)(calcColFields, displayedData);
923
- (_apiRef$current5 = apiRef.current) === null || _apiRef$current5 === void 0 || _apiRef$current5.setGridOption('pinnedBottomRowData', calculatedValues);
1143
+ (_apiRef$current7 = apiRef.current) === null || _apiRef$current7 === void 0 || _apiRef$current7.setGridOption('pinnedBottomRowData', calculatedValues);
924
1144
  } else {
925
- var _apiRef$current6;
926
- (_apiRef$current6 = apiRef.current) === null || _apiRef$current6 === void 0 || _apiRef$current6.setGridOption('pinnedBottomRowData', undefined);
1145
+ var _apiRef$current8;
1146
+ (_apiRef$current8 = apiRef.current) === null || _apiRef$current8 === void 0 || _apiRef$current8.setGridOption('pinnedBottomRowData', undefined);
927
1147
  }
928
1148
  }, [allColDefs, props.pinnedBottomRowData]);
929
1149
  var onFilterChanged = function onFilterChanged(event) {
@@ -1033,13 +1253,31 @@ function AgGridPlus(props) {
1033
1253
  if (props.treeData && !useNativeTreeFilter) {
1034
1254
  return (0, _utils.flatten)((0, _utils.toTree)(rowData, treeKeyName !== null && treeKeyName !== void 0 ? treeKeyName : "id", treeParentName !== null && treeParentName !== void 0 ? treeParentName : "parentId"), treeKeyName !== null && treeKeyName !== void 0 ? treeKeyName : "id");
1035
1255
  }
1036
- return rowData;
1037
- }, [rowData, props.treeData, treeKeyName, treeParentName, useNativeTreeFilter]);
1256
+ return localPaging ? (0, _pagination.sliceRowsByPage)(rowData, pageCurrent, pagination.pageSize) : rowData;
1257
+ }, [rowData, props.treeData, treeKeyName, treeParentName, useNativeTreeFilter, localPaging, pageCurrent, pagination.pageSize]);
1258
+
1259
+ // 跨页勾选:新一页数据进入网格后,把记录里命中的行重新勾上。
1260
+ // 子组件(AgGridReact)的 effect 先于本 effect 执行,此时新行已在网格里;再补一帧兜底慢一拍的情况。
1261
+ (0, _react.useEffect)(function () {
1262
+ if (!crossPageRef.current || !apiRef.current) return;
1263
+ var restore = function restore() {
1264
+ if (apiRef.current && !apiRef.current.isDestroyed() && crossPage.restore(apiRef.current)) emitCrossPageRef.current();
1265
+ };
1266
+ restore();
1267
+ var raf = requestAnimationFrame(restore);
1268
+ return function () {
1269
+ return cancelAnimationFrame(raf);
1270
+ };
1271
+ }, [rowDataMemo, crossPage]);
1272
+
1273
+ // 加载态:首次请求发出前也算加载中;表里没有行时用骨架,有行时只给顶部加载条、不盖住数据
1274
+ var busy = loading || firstLoadPending;
1275
+ var showSkeleton = busy && rowData.length === 0;
1038
1276
  var actionDom = toolBarRender && toolBarRender(apiRef.current, (0, _utils.convertFilterModel)(queryFilter, allColDefsRef.current), queryFilter, {
1039
- current: pagination.current,
1040
- skipCount: pagination.current == 1 ? 0 : (pagination.current - 1) * pagination.pageSize,
1277
+ current: pageCurrent,
1278
+ skipCount: pageCurrent == 1 ? 0 : (pageCurrent - 1) * pagination.pageSize,
1041
1279
  maxResultCount: pagination.pageSize,
1042
- page: pagination.current,
1280
+ page: pageCurrent,
1043
1281
  pageSize: pagination.pageSize
1044
1282
  });
1045
1283
  var autoGroupColumnDef = (0, _react.useMemo)(function () {
@@ -1078,6 +1316,23 @@ function AgGridPlus(props) {
1078
1316
  _iterator.f();
1079
1317
  }
1080
1318
  Object.assign(gridPassthroughProps, selectionOptions.eventHandlers);
1319
+ // 普通对象的 theme 已叠加进 gridTheme,不能再原样透传把它整体盖掉
1320
+ if (pageThemeParams) delete gridPassthroughProps.theme;
1321
+
1322
+ // 列表键盘模型(§7.9):Alt+A、Alt+Shift+↑↓、Ctrl/⌘+←→、Esc。捕获阶段处理,命中后不再交给 AG Grid
1323
+ var listKeyHandler = (0, _react.useMemo)(function () {
1324
+ return (0, _listKeyboard.createListKeyHandler)({
1325
+ getApi: function getApi() {
1326
+ return apiRef.current;
1327
+ },
1328
+ onPage: props.hidePagination ? undefined : function (delta) {
1329
+ return goToPage(paginationRef.current.current + delta);
1330
+ }
1331
+ });
1332
+ }, [goToPage, props.hidePagination]);
1333
+ var onTableKeyDownCapture = (0, _react.useCallback)(function (e) {
1334
+ if (listKeyHandler(e.nativeEvent)) e.stopPropagation();
1335
+ }, [listKeyHandler]);
1081
1336
 
1082
1337
  // 传给 AG-Grid 的列定义:qc-ui 专属列属性收进 colDef.context,内部通过 getQcColDefProp 读取
1083
1338
  var agColumnDefs = (0, _react.useMemo)(function () {
@@ -1090,7 +1345,8 @@ function AgGridPlus(props) {
1090
1345
  return {
1091
1346
  queryFormItems: queryFormItems,
1092
1347
  currentQueryOrder: currentQueryScheme ? (0, _schemeDataMigration.extractItemsOrder)(currentQueryScheme) : queryItemsOrder,
1093
- updateQueryOrder: setQueryItemsOrder
1348
+ updateQueryOrder: setQueryItemsOrder,
1349
+ getQueryValues: getQueryValues
1094
1350
  };
1095
1351
  }, [queryFormItems, currentQueryScheme, queryItemsOrder]);
1096
1352
 
@@ -1132,7 +1388,10 @@ function AgGridPlus(props) {
1132
1388
  isUsingGlobalFallback: isUsingGlobalFallback,
1133
1389
  isUsingGlobalQueryFallback: isUsingGlobalQueryFallback,
1134
1390
  // ========== 实体扩展字段配置 @author nokecy ==========
1135
- hostEntityExtensions: hostEntityExtensions
1391
+ hostEntityExtensions: hostEntityExtensions,
1392
+ // ========== 密度:列设置里的密度入口读取 @author nokecy ==========
1393
+ density: density,
1394
+ onDensityChange: onDensityChange
1136
1395
  };
1137
1396
  }, [extensibleColumns, gridPlusColumnState,
1138
1397
  // ref.current 作依赖无效(变更不触发重渲染);依赖数据源 allColDefs,initialColumnDefs 随其首次计算填充 @author nokecy
@@ -1144,13 +1403,13 @@ function AgGridPlus(props) {
1144
1403
  // 全局方案回退状态依赖 @author nokecy
1145
1404
  isUsingGlobalFallback, isUsingGlobalQueryFallback,
1146
1405
  // 实体扩展字段配置依赖 @author nokecy
1147
- hostEntityExtensions]);
1406
+ hostEntityExtensions, density, onDensityChange]);
1148
1407
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_gridContext.GridPlusContext.Provider, {
1149
1408
  value: gridPlusContextValue,
1150
1409
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_queryFormContext.QueryFormContext.Provider, {
1151
1410
  value: queryFormContextValue,
1152
1411
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Spin, {
1153
- spinning: loading,
1412
+ spinning: false,
1154
1413
  classNames: {
1155
1414
  root: "grid-spin"
1156
1415
  },
@@ -1170,34 +1429,23 @@ function AgGridPlus(props) {
1170
1429
  defaultExpand: defaultSearchExpand,
1171
1430
  gridApi: apiRef.current,
1172
1431
  onValuesChange: onQueryValuesChange,
1432
+ scheme: currentQueryScheme ? {
1433
+ id: currentQueryScheme.id,
1434
+ name: currentQueryScheme.name,
1435
+ values: (_currentQueryScheme$q = currentQueryScheme.queryConfig) === null || _currentQueryScheme$q === void 0 ? void 0 : _currentQueryScheme$q.defaultValues
1436
+ } : undefined,
1437
+ apiRef: queryFormApiRef,
1438
+ onResetScheme: resetQueryScheme,
1173
1439
  onQuery: function onQuery(formValues) {
1174
1440
  // 优先使用高级搜索:如果存在高级搜索条件,忽略简单查询
1175
- if (advancedQueryRules.children.length > 0) {
1176
- var filter = {
1441
+ if (advancedRulesRef.current.children.length > 0) {
1442
+ submitQuery({
1177
1443
  __advancedMode__: true,
1178
- __rules__: advancedQueryRules
1179
- };
1180
- setQueryFilter(filter);
1181
- if (pagination.current !== 1) {
1182
- setPagination(function (prev) {
1183
- return _objectSpread(_objectSpread({}, prev), {}, {
1184
- current: 1
1185
- });
1186
- });
1187
- }
1188
- onRequest && onRequest(filter);
1189
- return;
1190
- }
1191
- setQueryFilter(_objectSpread({}, formValues));
1192
- // 始终使用传入的 formValues 发起请求
1193
- if (pagination.current !== 1) {
1194
- setPagination(function (prev) {
1195
- return _objectSpread(_objectSpread({}, prev), {}, {
1196
- current: 1
1197
- });
1444
+ __rules__: advancedRulesRef.current
1198
1445
  });
1446
+ return;
1199
1447
  }
1200
- onRequest && onRequest(formValues);
1448
+ submitQuery(_objectSpread({}, formValues));
1201
1449
  },
1202
1450
  onInit: function onInit(defaultValues) {
1203
1451
  // 【修复】先设置 queryFilter,再标记表单已初始化
@@ -1225,18 +1473,32 @@ function AgGridPlus(props) {
1225
1473
  },
1226
1474
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
1227
1475
  className: "qc-table-container",
1228
- style: _objectSpread({
1476
+ "aria-busy": busy || undefined,
1477
+ onKeyDownCapture: onTableKeyDownCapture,
1478
+ style: _objectSpread(_objectSpread({
1229
1479
  display: "flex",
1230
1480
  flexDirection: "column",
1231
1481
  height: "100%"
1232
- }, style),
1233
- children: [hideTool ? null : /*#__PURE__*/(0, _jsxRuntime.jsx)(_index3.default, {
1482
+ }, rowColors ? {
1483
+ '--qc-row-selected-hover-bg': rowColors.selectedHover
1484
+ } : {}), style),
1485
+ children: [busy && !showSkeleton ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
1486
+ className: "qc-grid-busy-bar",
1487
+ role: "progressbar",
1488
+ "aria-label": "\u6B63\u5728\u52A0\u8F7D",
1489
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
1490
+ style: {
1491
+ background: token.colorPrimary
1492
+ }
1493
+ })
1494
+ }) : null, hideTool ? null : /*#__PURE__*/(0, _jsxRuntime.jsx)(_index3.default, {
1234
1495
  title: headerTitle,
1235
1496
  actions: actionDom,
1236
1497
  settings: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_index4.default, {
1498
+ title: "\u5237\u65B0",
1237
1499
  onClick: onRefresh,
1238
1500
  icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.RedoOutlined, {})
1239
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_index5.default, {
1501
+ }, "refresh"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_index5.default, {
1240
1502
  gridKey: gridKey,
1241
1503
  gridApi: apiRef.current,
1242
1504
  onSaveColumnState: onColumnStateChanged
@@ -1264,8 +1526,7 @@ function AgGridPlus(props) {
1264
1526
  size: "small",
1265
1527
  onClick: function onClick() {
1266
1528
  setAdvancedQueryRules(createEmptyRuleGroup());
1267
- setQueryFilter({});
1268
- onRequest && onRequest({});
1529
+ submitQuery({});
1269
1530
  setAdvancedPopoverOpen(false);
1270
1531
  },
1271
1532
  style: {
@@ -1276,19 +1537,10 @@ function AgGridPlus(props) {
1276
1537
  size: "small",
1277
1538
  type: "primary",
1278
1539
  onClick: function onClick() {
1279
- var filter = {
1540
+ submitQuery({
1280
1541
  __advancedMode__: true,
1281
1542
  __rules__: advancedQueryRules
1282
- };
1283
- setQueryFilter(filter);
1284
- if (pagination.current !== 1) {
1285
- setPagination(function (prev) {
1286
- return _objectSpread(_objectSpread({}, prev), {}, {
1287
- current: 1
1288
- });
1289
- });
1290
- }
1291
- onRequest && onRequest(filter);
1543
+ });
1292
1544
  setAdvancedPopoverOpen(false);
1293
1545
  },
1294
1546
  children: "\u67E5\u8BE2"
@@ -1309,20 +1561,20 @@ function AgGridPlus(props) {
1309
1561
  count: advancedQueryRules.children.length,
1310
1562
  size: "small",
1311
1563
  offset: [-2, 2],
1312
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
1313
- style: {
1314
- margin: "0 4px",
1315
- color: advancedQueryRules.children.length > 0 ? token.colorPrimary : token.colorText,
1316
- fontSize: 16,
1317
- cursor: "pointer"
1318
- },
1319
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.FilterOutlined, {})
1564
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index4.default, {
1565
+ title: "\u9AD8\u7EA7\u641C\u7D22",
1566
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.FilterOutlined, {}),
1567
+ active: advancedQueryRules.children.length > 0,
1568
+ "aria-haspopup": "dialog"
1320
1569
  })
1321
1570
  })
1322
1571
  }, "advanced-search-setting") : null].filter(Boolean)
1323
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_agGridReact.AgGridReact, _objectSpread(_objectSpread({
1572
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_agGridReact.AgGridReact, _objectSpread(_objectSpread(_objectSpread({
1324
1573
  theme: gridTheme
1325
- }, gridPassthroughProps), {}, {
1574
+ }, densitySpec ? {
1575
+ rowHeight: densitySpec.rowHeight,
1576
+ headerHeight: densitySpec.headerHeight
1577
+ } : {}), gridPassthroughProps), {}, {
1326
1578
  localeText: _locale.localeText,
1327
1579
  gridOptions: {
1328
1580
  enableCellTextSelection: true,
@@ -1331,10 +1583,14 @@ function AgGridPlus(props) {
1331
1583
  },
1332
1584
  noRowsOverlayComponent: noRowsOverlay.component,
1333
1585
  noRowsOverlayComponentParams: noRowsOverlay.params
1334
- // 加载中不显示空态:外层 Spin 已经在转,再叠一句「暂无数据」会让用户
1335
- // 以为真的没数据(冒烟截图里这两者确实同时出现过)。@author nokecy
1586
+ // 加载中不显示空态:再叠一句「暂无数据」会让用户以为真的没数据。
1587
+ // 首次请求发出前(firstLoadPending)同样不显示。@author nokecy
1588
+ ,
1589
+ suppressNoRowsOverlay: busy
1590
+ // 表里没有行时用骨架占住表体,表头保持可见
1336
1591
  ,
1337
- suppressNoRowsOverlay: loading,
1592
+ loading: showSkeleton,
1593
+ loadingOverlayComponent: _SkeletonOverlay.default,
1338
1594
  cellSelection: (_rest$cellSelection = rest.cellSelection) !== null && _rest$cellSelection !== void 0 ? _rest$cellSelection : selectionOptions.cellSelection,
1339
1595
  autoGroupColumnDef: selectionOptions.autoGroupColumnDef
1340
1596
  // 【兼容】原生树形数据配置:只有 useNativeTreeFilter=true 时才启用
@@ -1365,8 +1621,8 @@ function AgGridPlus(props) {
1365
1621
  },
1366
1622
  onDragStopped: function onDragStopped(e) {
1367
1623
  if (apiRef.current) {
1368
- var _apiRef$current7;
1369
- var _columnState = (_apiRef$current7 = apiRef.current) === null || _apiRef$current7 === void 0 ? void 0 : _apiRef$current7.getColumnState();
1624
+ var _apiRef$current9;
1625
+ var _columnState = (_apiRef$current9 = apiRef.current) === null || _apiRef$current9 === void 0 ? void 0 : _apiRef$current9.getColumnState();
1370
1626
  setColumnState(_columnState);
1371
1627
 
1372
1628
  // onColumnStateChanged && onColumnStateChanged(columnState)
@@ -1389,31 +1645,43 @@ function AgGridPlus(props) {
1389
1645
  style: {
1390
1646
  marginTop: 12,
1391
1647
  display: "flex",
1392
- justifyContent: "flex-end"
1648
+ justifyContent: "space-between",
1649
+ alignItems: "center"
1393
1650
  },
1394
- children: !props.hidePagination && /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Pagination, {
1395
- pageSize: pagination.pageSize,
1396
- current: pagination.current,
1397
- total: pagination.total,
1398
- onChange: function onChange(page, pageSize) {
1399
- setPagination(_objectSpread(_objectSpread({}, pagination), {}, {
1400
- pageSize: pageSize,
1401
- current: page
1402
- }));
1403
- },
1404
- onShowSizeChange: function onShowSizeChange(current, size) {
1405
- setPagination(_objectSpread(_objectSpread({}, pagination), {}, {
1406
- pageSize: size,
1407
- current: current
1408
- }));
1409
- },
1410
- size: "small",
1411
- showTotal: function showTotal(total, range) {
1412
- return "\u7B2C ".concat(range[0], "-").concat(range[1], " \u6761/\u603B\u5171 ").concat(total, " \u6761");
1413
- },
1414
- pageSizeOptions: props.pageSizeOptions || _constants.DEFAULT_PAGE_SIZE_OPTIONS,
1415
- hideOnSinglePage: false,
1416
- showQuickJumper: false
1651
+ children: !props.hidePagination && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
1652
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
1653
+ className: "qc-grid-total",
1654
+ style: {
1655
+ color: token.colorTextSecondary,
1656
+ fontSize: token.fontSizeSM
1657
+ },
1658
+ children: (0, _pagination.formatPaginationTotal)(pageTotal, pageCurrent, pagination.pageSize)
1659
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Pagination, {
1660
+ pageSize: pagination.pageSize,
1661
+ current: pageCurrent,
1662
+ total: pageTotal,
1663
+ onChange: function onChange(page, pageSize) {
1664
+ setPagination(function (prev) {
1665
+ return _objectSpread(_objectSpread({}, prev), {}, {
1666
+ pageSize: pageSize,
1667
+ current: page
1668
+ });
1669
+ });
1670
+ },
1671
+ onShowSizeChange: function onShowSizeChange(current, size) {
1672
+ setPagination(function (prev) {
1673
+ return _objectSpread(_objectSpread({}, prev), {}, {
1674
+ pageSize: size,
1675
+ current: current
1676
+ });
1677
+ });
1678
+ },
1679
+ size: "small",
1680
+ pageSizeOptions: props.pageSizeOptions || _constants.DEFAULT_PAGE_SIZE_OPTIONS,
1681
+ hideOnSinglePage: false,
1682
+ showSizeChanger: showSizeChanger,
1683
+ showQuickJumper: showQuickJumper !== null && showQuickJumper !== void 0 ? showQuickJumper : false
1684
+ })]
1417
1685
  })
1418
1686
  })]
1419
1687
  })]