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

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