@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.
- package/dist/cjs/ConfirmPro/index.d.ts +12 -9
- package/dist/cjs/ConfirmPro/index.js +11 -34
- package/dist/cjs/ag-grid-plus/ag-gridPlus.js +422 -156
- package/dist/cjs/ag-grid-plus/context/gridContext.d.ts +12 -1
- package/dist/cjs/ag-grid-plus/context/queryFormContext.d.ts +2 -0
- package/dist/cjs/ag-grid-plus/context/useSchemeDataFlow.js +8 -0
- package/dist/cjs/ag-grid-plus/density.d.ts +25 -0
- package/dist/cjs/ag-grid-plus/density.js +52 -0
- package/dist/cjs/ag-grid-plus/index.less +36 -0
- package/dist/cjs/ag-grid-plus/interface.d.ts +58 -1
- package/dist/cjs/ag-grid-plus/interface.js +1 -1
- package/dist/cjs/ag-grid-plus/queryForm/index.d.ts +11 -0
- package/dist/cjs/ag-grid-plus/queryForm/index.js +62 -10
- package/dist/cjs/ag-grid-plus/queryForm/queryForm.d.ts +10 -0
- package/dist/cjs/ag-grid-plus/queryForm/queryForm.js +63 -26
- package/dist/cjs/ag-grid-plus/queryForm/queryValues.d.ts +9 -0
- package/dist/cjs/ag-grid-plus/queryForm/queryValues.js +61 -0
- package/dist/cjs/ag-grid-plus/rowColors.d.ts +12 -0
- package/dist/cjs/ag-grid-plus/rowColors.js +58 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.d.ts +5 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.js +14 -5
- package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +108 -76
- package/dist/cjs/ag-grid-plus/setting/QuerySchemeManager.js +10 -9
- package/dist/cjs/ag-grid-plus/setting/autoColumnMemory.d.ts +37 -0
- package/dist/cjs/ag-grid-plus/setting/autoColumnMemory.js +206 -0
- package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.d.ts +2 -0
- package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.js +19 -1
- package/dist/cjs/ag-grid-plus/setting/index.js +5 -14
- package/dist/cjs/ag-grid-plus/settingItem/index.d.ts +11 -1
- package/dist/cjs/ag-grid-plus/settingItem/index.js +34 -12
- package/dist/cjs/ag-grid-plus/shared/EmptyIllustration.d.ts +16 -0
- package/dist/cjs/ag-grid-plus/shared/EmptyIllustration.js +87 -0
- package/dist/cjs/ag-grid-plus/shared/NoRowsOverlay.js +9 -1
- package/dist/cjs/ag-grid-plus/shared/SkeletonOverlay.d.ts +11 -0
- package/dist/cjs/ag-grid-plus/shared/SkeletonOverlay.js +40 -0
- package/dist/cjs/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +1 -1
- package/dist/cjs/ag-grid-plus/theme.d.ts +7 -1
- package/dist/cjs/ag-grid-plus/theme.js +31 -6
- package/dist/cjs/ag-grid-plus/toolBar/OverflowActions.d.ts +16 -0
- package/dist/cjs/ag-grid-plus/toolBar/OverflowActions.js +128 -0
- package/dist/cjs/ag-grid-plus/toolBar/index.d.ts +3 -1
- package/dist/cjs/ag-grid-plus/toolBar/index.js +43 -35
- package/dist/cjs/ag-grid-plus/toolBar/leftContent.d.ts +2 -2
- package/dist/cjs/ag-grid-plus/toolBar/leftContent.js +2 -2
- package/dist/cjs/ag-grid-plus/toolBar/overflow.d.ts +20 -0
- package/dist/cjs/ag-grid-plus/toolBar/overflow.js +48 -0
- package/dist/cjs/ag-grid-plus/toolBar/style.js +71 -15
- package/dist/cjs/ag-grid-plus/types.d.ts +6 -0
- package/dist/cjs/ag-grid-plus/utils/agGridCompat.js +12 -3
- package/dist/cjs/ag-grid-plus/utils/columnProcessors.d.ts +3 -0
- package/dist/cjs/ag-grid-plus/utils/columnProcessors.js +13 -2
- package/dist/cjs/ag-grid-plus/utils/constants.d.ts +3 -2
- package/dist/cjs/ag-grid-plus/utils/constants.js +3 -2
- package/dist/cjs/ag-grid-plus/utils/crossPageSelection.d.ts +21 -0
- package/dist/cjs/ag-grid-plus/utils/crossPageSelection.js +58 -0
- package/dist/cjs/ag-grid-plus/utils/emptyState.d.ts +2 -0
- package/dist/cjs/ag-grid-plus/utils/emptyState.js +9 -5
- package/dist/cjs/ag-grid-plus/utils/listKeyboard.d.ts +24 -0
- package/dist/cjs/ag-grid-plus/utils/listKeyboard.js +83 -0
- package/dist/cjs/ag-grid-plus/utils/pagination.d.ts +26 -0
- package/dist/cjs/ag-grid-plus/utils/pagination.js +69 -0
- package/dist/cjs/ag-grid-plus/utils/queryDispatch.d.ts +7 -0
- package/dist/cjs/ag-grid-plus/utils/queryDispatch.js +17 -0
- package/dist/cjs/ag-grid-plus/utils/statusPill.d.ts +25 -0
- package/dist/cjs/ag-grid-plus/utils/statusPill.js +196 -0
- package/dist/cjs/ag-grid-plus/utils/valueEnumColor.d.ts +6 -1
- package/dist/cjs/ag-grid-plus/utils/valueEnumColor.js +13 -9
- package/dist/cjs/ag-grid-plus/utils/valueFormat.d.ts +19 -0
- package/dist/cjs/ag-grid-plus/utils/valueFormat.js +73 -0
- package/dist/cjs/ag-grid-plus/utils.js +3 -2
- package/dist/cjs/array-table/arrayAddBtn.d.ts +1 -0
- package/dist/cjs/array-table/arrayAddBtn.js +2 -2
- package/dist/cjs/array-table/autoHeight.d.ts +18 -0
- package/dist/cjs/array-table/autoHeight.js +30 -0
- package/dist/cjs/array-table/batchRemove.d.ts +2 -2
- package/dist/cjs/array-table/cellEditorMarker.d.ts +18 -0
- package/dist/cjs/array-table/cellEditorMarker.js +92 -0
- package/dist/cjs/array-table/errorLocator.d.ts +29 -0
- package/dist/cjs/array-table/errorLocator.js +101 -0
- package/dist/cjs/array-table/hooks.d.ts +52 -4
- package/dist/cjs/array-table/hooks.js +251 -18
- package/dist/cjs/array-table/index.d.ts +6 -0
- package/dist/cjs/array-table/index.js +167 -23
- package/dist/cjs/array-table/interface.d.ts +22 -0
- package/dist/cjs/array-table/preview.js +39 -5
- package/dist/cjs/array-table/rowFeedback.d.ts +2 -2
- package/dist/cjs/array-table/rowFeedback.js +8 -8
- package/dist/cjs/array-table/summary.d.ts +25 -0
- package/dist/cjs/array-table/summary.js +70 -0
- package/dist/cjs/array-table/theme.d.ts +35 -5
- package/dist/cjs/array-table/theme.js +49 -12
- package/dist/cjs/array-table/title.d.ts +3 -0
- package/dist/cjs/array-table/title.js +29 -0
- package/dist/cjs/array-table/utils.d.ts +2 -1
- package/dist/cjs/array-table/utils.js +94 -23
- package/dist/cjs/card/pro-card/Card/useLegacyItems.d.ts +1 -1
- package/dist/cjs/dateCellEditor/DateCellEditor.d.ts +5 -0
- package/dist/cjs/dateCellEditor/DateCellEditor.js +42 -17
- package/dist/cjs/deleteConfirm/index.d.ts +14 -0
- package/dist/cjs/deleteConfirm/index.js +73 -12
- package/dist/cjs/dialogSelect/index.d.ts +19 -0
- package/dist/cjs/dialogSelect/index.js +189 -15
- package/dist/cjs/dialogSelect/index.less +18 -0
- package/dist/cjs/documentPage/documentPage.d.ts +6 -3
- package/dist/cjs/documentPage/documentPage.js +23 -8
- package/dist/cjs/documentPage/index.d.ts +2 -0
- package/dist/cjs/documentPage/index.js +19 -0
- package/dist/cjs/documentPage/leaveGuard.d.ts +31 -0
- package/dist/cjs/documentPage/leaveGuard.js +91 -0
- package/dist/cjs/draggableModal/index.d.ts +24 -1
- package/dist/cjs/draggableModal/index.js +36 -6
- package/dist/cjs/fullScreenAlert/index.less +10 -10
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.js +15 -0
- package/dist/cjs/readPretty/arrayTable.js +5 -1
- package/dist/cjs/scanCollect/ScanFeedbackInput.d.ts +26 -0
- package/dist/cjs/scanCollect/ScanFeedbackInput.js +113 -0
- package/dist/cjs/scanCollect/index.d.ts +4 -0
- package/dist/cjs/scanCollect/index.js +14 -0
- package/dist/cjs/scanCollect/scanSound.d.ts +15 -0
- package/dist/cjs/scanCollect/scanSound.js +91 -0
- package/dist/esm/ConfirmPro/index.d.ts +12 -9
- package/dist/esm/ConfirmPro/index.js +11 -34
- package/dist/esm/ag-grid-plus/ag-gridPlus.js +423 -156
- package/dist/esm/ag-grid-plus/context/gridContext.d.ts +12 -1
- package/dist/esm/ag-grid-plus/context/queryFormContext.d.ts +2 -0
- package/dist/esm/ag-grid-plus/context/useSchemeDataFlow.js +8 -0
- package/dist/esm/ag-grid-plus/density.d.ts +25 -0
- package/dist/esm/ag-grid-plus/density.js +45 -0
- package/dist/esm/ag-grid-plus/index.less +36 -0
- package/dist/esm/ag-grid-plus/interface.d.ts +58 -1
- package/dist/esm/ag-grid-plus/interface.js +2 -0
- package/dist/esm/ag-grid-plus/queryForm/index.d.ts +11 -0
- package/dist/esm/ag-grid-plus/queryForm/index.js +62 -10
- package/dist/esm/ag-grid-plus/queryForm/queryForm.d.ts +10 -0
- package/dist/esm/ag-grid-plus/queryForm/queryForm.js +64 -26
- package/dist/esm/ag-grid-plus/queryForm/queryValues.d.ts +9 -0
- package/dist/esm/ag-grid-plus/queryForm/queryValues.js +54 -0
- package/dist/esm/ag-grid-plus/rowColors.d.ts +12 -0
- package/dist/esm/ag-grid-plus/rowColors.js +50 -0
- package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.d.ts +5 -0
- package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.js +14 -5
- package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +110 -78
- package/dist/esm/ag-grid-plus/setting/QuerySchemeManager.js +10 -9
- package/dist/esm/ag-grid-plus/setting/autoColumnMemory.d.ts +37 -0
- package/dist/esm/ag-grid-plus/setting/autoColumnMemory.js +198 -0
- package/dist/esm/ag-grid-plus/setting/columnGroupUtils.d.ts +2 -0
- package/dist/esm/ag-grid-plus/setting/columnGroupUtils.js +18 -1
- package/dist/esm/ag-grid-plus/setting/index.js +6 -15
- package/dist/esm/ag-grid-plus/settingItem/index.d.ts +11 -1
- package/dist/esm/ag-grid-plus/settingItem/index.js +35 -13
- package/dist/esm/ag-grid-plus/shared/EmptyIllustration.d.ts +16 -0
- package/dist/esm/ag-grid-plus/shared/EmptyIllustration.js +82 -0
- package/dist/esm/ag-grid-plus/shared/NoRowsOverlay.js +9 -1
- package/dist/esm/ag-grid-plus/shared/SkeletonOverlay.d.ts +11 -0
- package/dist/esm/ag-grid-plus/shared/SkeletonOverlay.js +34 -0
- package/dist/esm/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +1 -1
- package/dist/esm/ag-grid-plus/theme.d.ts +7 -1
- package/dist/esm/ag-grid-plus/theme.js +31 -6
- package/dist/esm/ag-grid-plus/toolBar/OverflowActions.d.ts +16 -0
- package/dist/esm/ag-grid-plus/toolBar/OverflowActions.js +120 -0
- package/dist/esm/ag-grid-plus/toolBar/index.d.ts +3 -1
- package/dist/esm/ag-grid-plus/toolBar/index.js +43 -35
- package/dist/esm/ag-grid-plus/toolBar/leftContent.d.ts +2 -2
- package/dist/esm/ag-grid-plus/toolBar/leftContent.js +2 -2
- package/dist/esm/ag-grid-plus/toolBar/overflow.d.ts +20 -0
- package/dist/esm/ag-grid-plus/toolBar/overflow.js +41 -0
- package/dist/esm/ag-grid-plus/toolBar/style.js +71 -15
- package/dist/esm/ag-grid-plus/types.d.ts +6 -0
- package/dist/esm/ag-grid-plus/utils/agGridCompat.js +12 -3
- package/dist/esm/ag-grid-plus/utils/columnProcessors.d.ts +3 -0
- package/dist/esm/ag-grid-plus/utils/columnProcessors.js +14 -3
- package/dist/esm/ag-grid-plus/utils/constants.d.ts +3 -2
- package/dist/esm/ag-grid-plus/utils/constants.js +3 -2
- package/dist/esm/ag-grid-plus/utils/crossPageSelection.d.ts +21 -0
- package/dist/esm/ag-grid-plus/utils/crossPageSelection.js +52 -0
- package/dist/esm/ag-grid-plus/utils/emptyState.d.ts +2 -0
- package/dist/esm/ag-grid-plus/utils/emptyState.js +9 -5
- package/dist/esm/ag-grid-plus/utils/listKeyboard.d.ts +24 -0
- package/dist/esm/ag-grid-plus/utils/listKeyboard.js +77 -0
- package/dist/esm/ag-grid-plus/utils/pagination.d.ts +26 -0
- package/dist/esm/ag-grid-plus/utils/pagination.js +60 -0
- package/dist/esm/ag-grid-plus/utils/queryDispatch.d.ts +7 -0
- package/dist/esm/ag-grid-plus/utils/queryDispatch.js +11 -0
- package/dist/esm/ag-grid-plus/utils/statusPill.d.ts +25 -0
- package/dist/esm/ag-grid-plus/utils/statusPill.js +192 -0
- package/dist/esm/ag-grid-plus/utils/valueEnumColor.d.ts +6 -1
- package/dist/esm/ag-grid-plus/utils/valueEnumColor.js +12 -8
- package/dist/esm/ag-grid-plus/utils/valueFormat.d.ts +19 -0
- package/dist/esm/ag-grid-plus/utils/valueFormat.js +63 -0
- package/dist/esm/ag-grid-plus/utils.js +3 -2
- package/dist/esm/array-table/arrayAddBtn.d.ts +1 -0
- package/dist/esm/array-table/arrayAddBtn.js +1 -1
- package/dist/esm/array-table/autoHeight.d.ts +18 -0
- package/dist/esm/array-table/autoHeight.js +25 -0
- package/dist/esm/array-table/batchRemove.d.ts +2 -2
- package/dist/esm/array-table/cellEditorMarker.d.ts +18 -0
- package/dist/esm/array-table/cellEditorMarker.js +84 -0
- package/dist/esm/array-table/errorLocator.d.ts +29 -0
- package/dist/esm/array-table/errorLocator.js +95 -0
- package/dist/esm/array-table/hooks.d.ts +52 -4
- package/dist/esm/array-table/hooks.js +251 -17
- package/dist/esm/array-table/index.d.ts +6 -0
- package/dist/esm/array-table/index.js +170 -25
- package/dist/esm/array-table/interface.d.ts +22 -0
- package/dist/esm/array-table/preview.js +43 -7
- package/dist/esm/array-table/rowFeedback.d.ts +2 -2
- package/dist/esm/array-table/rowFeedback.js +8 -8
- package/dist/esm/array-table/summary.d.ts +25 -0
- package/dist/esm/array-table/summary.js +66 -0
- package/dist/esm/array-table/theme.d.ts +35 -5
- package/dist/esm/array-table/theme.js +47 -12
- package/dist/esm/array-table/title.d.ts +3 -0
- package/dist/esm/array-table/title.js +24 -0
- package/dist/esm/array-table/utils.d.ts +2 -1
- package/dist/esm/array-table/utils.js +93 -22
- package/dist/esm/card/pro-card/Card/useLegacyItems.d.ts +1 -1
- package/dist/esm/dateCellEditor/DateCellEditor.d.ts +5 -0
- package/dist/esm/dateCellEditor/DateCellEditor.js +42 -17
- package/dist/esm/deleteConfirm/index.d.ts +14 -0
- package/dist/esm/deleteConfirm/index.js +72 -12
- package/dist/esm/dialogSelect/index.d.ts +19 -0
- package/dist/esm/dialogSelect/index.js +190 -16
- package/dist/esm/dialogSelect/index.less +18 -0
- package/dist/esm/documentPage/documentPage.d.ts +6 -3
- package/dist/esm/documentPage/documentPage.js +23 -8
- package/dist/esm/documentPage/index.d.ts +2 -0
- package/dist/esm/documentPage/index.js +1 -0
- package/dist/esm/documentPage/leaveGuard.d.ts +31 -0
- package/dist/esm/documentPage/leaveGuard.js +86 -0
- package/dist/esm/draggableModal/index.d.ts +24 -1
- package/dist/esm/draggableModal/index.js +35 -5
- package/dist/esm/fullScreenAlert/index.less +10 -10
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/readPretty/arrayTable.js +6 -2
- package/dist/esm/scanCollect/ScanFeedbackInput.d.ts +26 -0
- package/dist/esm/scanCollect/ScanFeedbackInput.js +107 -0
- package/dist/esm/scanCollect/index.d.ts +4 -0
- package/dist/esm/scanCollect/index.js +2 -0
- package/dist/esm/scanCollect/scanSound.d.ts +15 -0
- package/dist/esm/scanCollect/scanSound.js +84 -0
- package/package.json +2 -2
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
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"];
|
|
1
|
+
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"];
|
|
2
2
|
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; } } }; }
|
|
3
|
-
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); }
|
|
4
3
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
5
4
|
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."); }
|
|
6
5
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
@@ -16,6 +15,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
16
15
|
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; }
|
|
17
16
|
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; } }
|
|
18
17
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
18
|
+
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); }
|
|
19
19
|
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; }
|
|
20
20
|
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; }
|
|
21
21
|
import { ModuleRegistry } from 'ag-grid-community';
|
|
@@ -29,11 +29,18 @@ ModuleRegistry.registerModules([AllEnterpriseModule]);
|
|
|
29
29
|
|
|
30
30
|
// 导入 AG-Grid v33 主题
|
|
31
31
|
import { useAgGridTheme } from "./theme";
|
|
32
|
+
import { resolveGridDensity } from "./density";
|
|
33
|
+
import { deriveRowColors } from "./rowColors";
|
|
34
|
+
import { createListKeyHandler } from "./utils/listKeyboard";
|
|
35
|
+
import { createCrossPageSelection } from "./utils/crossPageSelection";
|
|
36
|
+
import { withDefaultValueFormat } from "./utils/valueFormat";
|
|
32
37
|
import { useTypeInferenceRow } from "./hooks/useTypeInferenceRow";
|
|
33
38
|
import "./index.less";
|
|
34
39
|
import FormRender from "./queryForm/index";
|
|
35
40
|
import ToolBar from "./toolBar/index";
|
|
36
41
|
import SettingItem from "./settingItem/index";
|
|
42
|
+
import { useAutoColumnMemory } from "./setting/autoColumnMemory";
|
|
43
|
+
import { needsDirectRequest } from "./utils/queryDispatch";
|
|
37
44
|
import { RedoOutlined, FilterOutlined } from '@ant-design/icons';
|
|
38
45
|
import { convertFilterModel, dateTimeValueFormatter, dateValueFormatter, flatten, toTree } from "./utils";
|
|
39
46
|
import { mergeInferredColumnType, processEllipsisColumn, processEnumColumn, renderDefaultCell } from "./utils/columnProcessors";
|
|
@@ -45,6 +52,8 @@ import { useRowId } from "./hooks/useRowId";
|
|
|
45
52
|
import _, { isArray } from 'lodash';
|
|
46
53
|
import CustomGroupCellRenderer from "./_utils/customGroupCellRenderer";
|
|
47
54
|
import NoRowsOverlay from "./shared/NoRowsOverlay";
|
|
55
|
+
import SkeletonOverlay from "./shared/SkeletonOverlay";
|
|
56
|
+
import { clampPage, formatPaginationTotal, mergeDefaultColDef, resolveInitialPageSize, sliceRowsByPage } from "./utils/pagination";
|
|
48
57
|
import { DEFAULT_PAGE_SIZE_OPTIONS } from "./utils/constants";
|
|
49
58
|
import { hasEffectiveFilter, resolveEmptyBranch, resolveEmptyText, resolveNoRowsOverlay } from "./utils/emptyState";
|
|
50
59
|
import processColumnGroups from "./_utils/processColumnGroups";
|
|
@@ -67,6 +76,7 @@ import { getEntityExtensionColumns } from "./utils/entityExtensionColumns";
|
|
|
67
76
|
import { message } from 'antd';
|
|
68
77
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
69
78
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
79
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
70
80
|
var getSort = function getSort(columnState) {
|
|
71
81
|
return columnState ? "".concat(columnState.colId, " ").concat(columnState.sort) : "";
|
|
72
82
|
};
|
|
@@ -81,8 +91,7 @@ function useDeepCompareStable(value) {
|
|
|
81
91
|
return ref.current;
|
|
82
92
|
}
|
|
83
93
|
function AgGridPlus(props) {
|
|
84
|
-
var _ref, _rest$cellSelection;
|
|
85
|
-
var gridTheme = useAgGridTheme();
|
|
94
|
+
var _currentSchemes, _ref, _currentQueryScheme$q, _rest$cellSelection;
|
|
86
95
|
var _theme$useToken = theme.useToken(),
|
|
87
96
|
token = _theme$useToken.token; // 高级筛选入口跟随主题及客户主色。@author nokecy
|
|
88
97
|
var style = props.style,
|
|
@@ -106,17 +115,27 @@ function AgGridPlus(props) {
|
|
|
106
115
|
queryDefaultRows = props.queryDefaultRows,
|
|
107
116
|
onSelectedRowsChange = props.onSelectedRowsChange,
|
|
108
117
|
onQueryValuesChange = props.onQueryValuesChange,
|
|
118
|
+
_props$autoRememberCo = props.autoRememberColumns,
|
|
119
|
+
autoRememberColumns = _props$autoRememberCo === void 0 ? true : _props$autoRememberCo,
|
|
109
120
|
emptyState = props.emptyState,
|
|
110
121
|
_props$accessible = props.accessible,
|
|
111
122
|
accessible = _props$accessible === void 0 ? true : _props$accessible,
|
|
112
123
|
enableClickSelection = props.enableClickSelection,
|
|
113
124
|
propsRowSelection = props.rowSelection,
|
|
125
|
+
_props$crossPageSelec = props.crossPageSelection,
|
|
126
|
+
crossPageSelection = _props$crossPageSelec === void 0 ? false : _props$crossPageSelec,
|
|
127
|
+
onCrossPageSelectionChange = props.onCrossPageSelectionChange,
|
|
128
|
+
_props$defaultValueFo = props.defaultValueFormat,
|
|
129
|
+
defaultValueFormat = _props$defaultValueFo === void 0 ? true : _props$defaultValueFo,
|
|
114
130
|
_props$useNativeTreeF = props.useNativeTreeFilter,
|
|
115
131
|
useNativeTreeFilter = _props$useNativeTreeF === void 0 ? false : _props$useNativeTreeF,
|
|
116
132
|
entityType = props.entityType,
|
|
117
133
|
_props$valueEnumContr = props.valueEnumContrast,
|
|
118
134
|
valueEnumContrast = _props$valueEnumContr === void 0 ? false : _props$valueEnumContr,
|
|
119
135
|
dateQueryPrecision = props.dateQueryPrecision,
|
|
136
|
+
headerFilter = props.headerFilter,
|
|
137
|
+
showQuickJumper = props.showQuickJumper,
|
|
138
|
+
showSizeChanger = props.showSizeChanger,
|
|
120
139
|
rest = _objectWithoutProperties(props, _excluded);
|
|
121
140
|
var _useGridPlusColumnSta = useGridPlusColumnState(),
|
|
122
141
|
onSaveColumnState = _useGridPlusColumnSta.onSaveColumnState,
|
|
@@ -129,7 +148,27 @@ function AgGridPlus(props) {
|
|
|
129
148
|
applySchemeToGlobal = _useGridPlusColumnSta.applySchemeToGlobal,
|
|
130
149
|
resetToGlobal = _useGridPlusColumnSta.resetToGlobal,
|
|
131
150
|
resetAllUsers = _useGridPlusColumnSta.resetAllUsers,
|
|
132
|
-
hostEntityExtensions = _useGridPlusColumnSta.hostEntityExtensions
|
|
151
|
+
hostEntityExtensions = _useGridPlusColumnSta.hostEntityExtensions,
|
|
152
|
+
density = _useGridPlusColumnSta.density,
|
|
153
|
+
densityOverrides = _useGridPlusColumnSta.densityValues,
|
|
154
|
+
onDensityChange = _useGridPlusColumnSta.onDensityChange;
|
|
155
|
+
|
|
156
|
+
// 密度由 Provider 注入;没注入时保持出厂外观。页面 `theme` 传普通对象时叠加在 token 与密度之上,
|
|
157
|
+
// 传 AG Grid Theme 实例或字符串时仍整体替换(兼容旧用法)。@author nokecy
|
|
158
|
+
var densitySpec = useMemo(function () {
|
|
159
|
+
return resolveGridDensity(density, densityOverrides);
|
|
160
|
+
}, [density, densityOverrides]);
|
|
161
|
+
var pageThemeParams = useMemo(function () {
|
|
162
|
+
var t = rest.theme;
|
|
163
|
+
return t && _typeof(t) === 'object' && typeof t.withParams !== 'function' ? t : undefined;
|
|
164
|
+
}, [rest.theme]);
|
|
165
|
+
var gridTheme = useAgGridTheme({
|
|
166
|
+
density: densitySpec,
|
|
167
|
+
themeParams: pageThemeParams
|
|
168
|
+
});
|
|
169
|
+
var rowColors = useMemo(function () {
|
|
170
|
+
return deriveRowColors(token.colorPrimary, token.colorLink);
|
|
171
|
+
}, [token.colorPrimary, token.colorLink]);
|
|
133
172
|
var gridRef = useRef(undefined);
|
|
134
173
|
var apiRef = useRef(undefined);
|
|
135
174
|
var allColDefsRef = useRef([]);
|
|
@@ -151,6 +190,22 @@ function AgGridPlus(props) {
|
|
|
151
190
|
}, [props.getRowId, generateUniqueRowId]);
|
|
152
191
|
var resolveRowIdRef = useRef(resolveRowId);
|
|
153
192
|
resolveRowIdRef.current = resolveRowId;
|
|
193
|
+
|
|
194
|
+
// 跨页勾选:按行 ID 记住所有已勾选的行,翻页后把当前页命中的行重新勾上 @author nokecy
|
|
195
|
+
var crossPageRef = useRef(crossPageSelection);
|
|
196
|
+
crossPageRef.current = crossPageSelection;
|
|
197
|
+
var crossPage = useMemo(function () {
|
|
198
|
+
return createCrossPageSelection(function (row) {
|
|
199
|
+
return resolveRowIdRef.current({
|
|
200
|
+
data: row,
|
|
201
|
+
level: 0,
|
|
202
|
+
api: apiRef.current,
|
|
203
|
+
context: null
|
|
204
|
+
});
|
|
205
|
+
});
|
|
206
|
+
}, []);
|
|
207
|
+
var onCrossPageChangeRef = useRef(onCrossPageSelectionChange);
|
|
208
|
+
onCrossPageChangeRef.current = onCrossPageSelectionChange;
|
|
154
209
|
var _useState = useState(false),
|
|
155
210
|
_useState2 = _slicedToArray(_useState, 2),
|
|
156
211
|
ready = _useState2[0],
|
|
@@ -165,44 +220,69 @@ function AgGridPlus(props) {
|
|
|
165
220
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
166
221
|
loading = _useState6[0],
|
|
167
222
|
setLoading = _useState6[1];
|
|
168
|
-
//
|
|
169
|
-
|
|
223
|
+
// 首次请求发出前表里本来就是空的,此时不能显示空态文案,要显示骨架。
|
|
224
|
+
// 用「请求已发出且已结束」反推,而不是只看 loading:loading 在首个请求发出前一直是 false。@author nokecy
|
|
225
|
+
var _useState7 = useState(!!request),
|
|
170
226
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
var
|
|
227
|
+
firstLoadPending = _useState8[0],
|
|
228
|
+
setFirstLoadPending = _useState8[1];
|
|
229
|
+
var requestStartedRef = useRef(false);
|
|
230
|
+
// 空态四分需要的两个事实:这次请求是不是失败了、用户有没有施加筛选。@author nokecy
|
|
231
|
+
var _useState9 = useState(null),
|
|
174
232
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
var _useState11 = useState(),
|
|
233
|
+
loadError = _useState10[0],
|
|
234
|
+
setLoadError = _useState10[1];
|
|
235
|
+
var _useState11 = useState(false),
|
|
178
236
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
var _useState13 = useState(
|
|
237
|
+
filtered = _useState12[0],
|
|
238
|
+
setFiltered = _useState12[1];
|
|
239
|
+
var _useState13 = useState(),
|
|
182
240
|
_useState14 = _slicedToArray(_useState13, 2),
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
var _useState15 = useState(
|
|
241
|
+
columnState = _useState14[0],
|
|
242
|
+
setColumnState = _useState14[1];
|
|
243
|
+
var _useState15 = useState({}),
|
|
186
244
|
_useState16 = _slicedToArray(_useState15, 2),
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
var _useState17 = useState(
|
|
245
|
+
columnCellClass = _useState16[0],
|
|
246
|
+
setColumnCellClass = _useState16[1];
|
|
247
|
+
var _useState17 = useState([]),
|
|
190
248
|
_useState18 = _slicedToArray(_useState17, 2),
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
var _useState19 = useState(),
|
|
249
|
+
rowData = _useState18[0],
|
|
250
|
+
setRowData = _useState18[1];
|
|
251
|
+
var _useState19 = useState({}),
|
|
194
252
|
_useState20 = _slicedToArray(_useState19, 2),
|
|
195
|
-
|
|
196
|
-
|
|
253
|
+
queryFilter = _useState20[0],
|
|
254
|
+
setQueryFilter = _useState20[1];
|
|
255
|
+
var _useState21 = useState(),
|
|
256
|
+
_useState22 = _slicedToArray(_useState21, 2),
|
|
257
|
+
sortColumn = _useState22[0],
|
|
258
|
+
setSortColumn = _useState22[1];
|
|
197
259
|
// 初始化分页参数,支持外部传入的pageSize
|
|
198
|
-
var
|
|
199
|
-
pageSize: props.pageSize
|
|
260
|
+
var _useState23 = useState({
|
|
261
|
+
pageSize: resolveInitialPageSize(props.pageSize, props.hidePagination),
|
|
200
262
|
current: 1,
|
|
201
263
|
total: dataSource ? dataSource.length : 0
|
|
202
264
|
}),
|
|
203
|
-
|
|
204
|
-
pagination =
|
|
205
|
-
setPagination =
|
|
265
|
+
_useState24 = _slicedToArray(_useState23, 2),
|
|
266
|
+
pagination = _useState24[0],
|
|
267
|
+
setPagination = _useState24[1];
|
|
268
|
+
|
|
269
|
+
// dataSource 本地数据模式:分页器要真正切片,而不是只显示页码。
|
|
270
|
+
// 总数与页码按 dataSource 当场推导,数据增删后页码自动收回末页,无需再同步 state。
|
|
271
|
+
// 树形数据按层级展开,不能按行切片,保持整表。@author nokecy
|
|
272
|
+
var localPaging = !!dataSource && !request && !props.hidePagination && !props.treeData;
|
|
273
|
+
var pageTotal = localPaging ? dataSource.length : pagination.total;
|
|
274
|
+
var pageCurrent = localPaging ? clampPage(pagination.current, pageTotal, pagination.pageSize) : pagination.current;
|
|
275
|
+
// 命令式入口(GridRef)与异步回调读取最新分页,避免闭包拿到旧页码
|
|
276
|
+
var paginationRef = useRef({
|
|
277
|
+
current: pageCurrent,
|
|
278
|
+
pageSize: pagination.pageSize,
|
|
279
|
+
total: pageTotal
|
|
280
|
+
});
|
|
281
|
+
paginationRef.current = {
|
|
282
|
+
current: pageCurrent,
|
|
283
|
+
pageSize: pagination.pageSize,
|
|
284
|
+
total: pageTotal
|
|
285
|
+
};
|
|
206
286
|
|
|
207
287
|
// ============ 方案管理 - 使用集中式 Context ============
|
|
208
288
|
var _useGridSchemes = useGridSchemes(),
|
|
@@ -221,16 +301,22 @@ function AgGridPlus(props) {
|
|
|
221
301
|
getColumnSchemes = _useGridSchemes.getColumnSchemes,
|
|
222
302
|
getQuerySchemes = _useGridSchemes.getQuerySchemes,
|
|
223
303
|
getCurrentScheme = _useGridSchemes.getCurrentScheme;
|
|
224
|
-
var
|
|
225
|
-
|
|
226
|
-
queryItemsOrder =
|
|
227
|
-
setQueryItemsOrder =
|
|
304
|
+
var _useState25 = useState([]),
|
|
305
|
+
_useState26 = _slicedToArray(_useState25, 2),
|
|
306
|
+
queryItemsOrder = _useState26[0],
|
|
307
|
+
setQueryItemsOrder = _useState26[1];
|
|
308
|
+
// 查询区操作句柄:查询方案管理经它读取当前条件值 @author nokecy
|
|
309
|
+
var queryFormApiRef = useRef(null);
|
|
310
|
+
var getQueryValues = useCallback(function () {
|
|
311
|
+
var _queryFormApiRef$curr, _queryFormApiRef$curr2;
|
|
312
|
+
return (_queryFormApiRef$curr = (_queryFormApiRef$curr2 = queryFormApiRef.current) === null || _queryFormApiRef$curr2 === void 0 ? void 0 : _queryFormApiRef$curr2.getValues()) !== null && _queryFormApiRef$curr !== void 0 ? _queryFormApiRef$curr : {};
|
|
313
|
+
}, []);
|
|
228
314
|
|
|
229
315
|
// 高级查询状态
|
|
230
|
-
var
|
|
231
|
-
|
|
232
|
-
advancedPopoverOpen =
|
|
233
|
-
setAdvancedPopoverOpen =
|
|
316
|
+
var _useState27 = useState(false),
|
|
317
|
+
_useState28 = _slicedToArray(_useState27, 2),
|
|
318
|
+
advancedPopoverOpen = _useState28[0],
|
|
319
|
+
setAdvancedPopoverOpen = _useState28[1];
|
|
234
320
|
var createEmptyRuleGroup = function createEmptyRuleGroup() {
|
|
235
321
|
return {
|
|
236
322
|
id: uuidv4(),
|
|
@@ -238,17 +324,21 @@ function AgGridPlus(props) {
|
|
|
238
324
|
children: []
|
|
239
325
|
};
|
|
240
326
|
};
|
|
241
|
-
var
|
|
242
|
-
|
|
243
|
-
advancedQueryRules =
|
|
244
|
-
setAdvancedQueryRules =
|
|
327
|
+
var _useState29 = useState(createEmptyRuleGroup),
|
|
328
|
+
_useState30 = _slicedToArray(_useState29, 2),
|
|
329
|
+
advancedQueryRules = _useState30[0],
|
|
330
|
+
setAdvancedQueryRules = _useState30[1];
|
|
331
|
+
// 查询区回调可能还是旧渲染里的闭包,「重置」要在同一次点击里让它读到已清空的高级条件,所以另放一份 ref。
|
|
332
|
+
var advancedRulesRef = useRef(advancedQueryRules);
|
|
333
|
+
advancedRulesRef.current = advancedQueryRules;
|
|
245
334
|
useImperativeHandle(propsGridRef, function () {
|
|
246
335
|
return gridRef.current;
|
|
247
336
|
});
|
|
248
337
|
|
|
249
338
|
//默认列属性
|
|
339
|
+
var pageDefaultColDef = useDeepCompareStable(rest.defaultColDef);
|
|
250
340
|
var defaultColDef = useMemo(function () {
|
|
251
|
-
|
|
341
|
+
var builtIn = {
|
|
252
342
|
resizable: true,
|
|
253
343
|
sortable: true,
|
|
254
344
|
// suppressHeaderFilterButton: true,
|
|
@@ -261,7 +351,11 @@ function AgGridPlus(props) {
|
|
|
261
351
|
'<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>'
|
|
262
352
|
}
|
|
263
353
|
};
|
|
264
|
-
|
|
354
|
+
// 页面传入的 defaultColDef 与内置合并(页面优先),headerFilter=false 全局收起列头筛选按钮
|
|
355
|
+
return mergeDefaultColDef(builtIn, pageDefaultColDef, {
|
|
356
|
+
headerFilter: headerFilter
|
|
357
|
+
});
|
|
358
|
+
}, [pageDefaultColDef, headerFilter]);
|
|
265
359
|
var columnTypes = useMemo(function () {
|
|
266
360
|
return {
|
|
267
361
|
bool: {
|
|
@@ -304,6 +398,11 @@ function AgGridPlus(props) {
|
|
|
304
398
|
setRowData(dataSource || propRowData || []);
|
|
305
399
|
}, [dataSource, propRowData]);
|
|
306
400
|
|
|
401
|
+
// 首次请求结束(成功或失败)后不再算「首次加载」
|
|
402
|
+
useEffect(function () {
|
|
403
|
+
if (!loading && requestStartedRef.current && firstLoadPending) setFirstLoadPending(false);
|
|
404
|
+
}, [loading, firstLoadPending]);
|
|
405
|
+
|
|
307
406
|
//外部loading
|
|
308
407
|
useEffect(function () {
|
|
309
408
|
loadingProps !== undefined && setLoading(loadingProps);
|
|
@@ -326,7 +425,9 @@ function AgGridPlus(props) {
|
|
|
326
425
|
|
|
327
426
|
// 辅助函数: 处理单个列配置
|
|
328
427
|
var processColumnConfig = function processColumnConfig(col, data) {
|
|
428
|
+
var _col;
|
|
329
429
|
var dataType = getDataType(data, col.field || '', col.valueEnum);
|
|
430
|
+
if (defaultValueFormat) col = withDefaultValueFormat(col, (dataType === null || dataType === void 0 ? void 0 : dataType.type) === 'number' && dataType.calculateType !== false);
|
|
330
431
|
if (col.valueEnum && Array.isArray(col.valueEnum)) {
|
|
331
432
|
// 枚举列渲染只走一处实现,见 columnProcessors.processEnumColumn
|
|
332
433
|
// (命中上色、未命中交给 col.enumFallbackRenderer,都没配则回原始码)
|
|
@@ -336,7 +437,7 @@ function AgGridPlus(props) {
|
|
|
336
437
|
return mergeInferredColumnType(col, dataType);
|
|
337
438
|
}
|
|
338
439
|
//@ts-ignore
|
|
339
|
-
if (col !== null &&
|
|
440
|
+
if ((_col = col) !== null && _col !== void 0 && _col.ellipsis) {
|
|
340
441
|
return processEllipsisColumn(mergeInferredColumnType(col, dataType));
|
|
341
442
|
}
|
|
342
443
|
if (col.cellRenderer) {
|
|
@@ -438,7 +539,7 @@ function AgGridPlus(props) {
|
|
|
438
539
|
});
|
|
439
540
|
}
|
|
440
541
|
return cols;
|
|
441
|
-
}, [React.Children.count(children), props.columnDefs, extensibleColumns, gridKey, entityType, hostEntityExtensions, typeInferenceRow, valueEnumContrast ? token.colorBgContainer : undefined]);
|
|
542
|
+
}, [React.Children.count(children), props.columnDefs, extensibleColumns, gridKey, entityType, hostEntityExtensions, typeInferenceRow, defaultValueFormat, valueEnumContrast ? token.colorBgContainer : undefined]);
|
|
442
543
|
|
|
443
544
|
// 方案派生依赖本轮源码列,避免读取尚未更新的 ref 快照。@author nokecy
|
|
444
545
|
/**
|
|
@@ -464,12 +565,46 @@ function AgGridPlus(props) {
|
|
|
464
565
|
var currentColumnSchemes = schemeDataFlow.columnSchemes,
|
|
465
566
|
currentColumnScheme = schemeDataFlow.currentColumnScheme,
|
|
466
567
|
currentQuerySchemes = schemeDataFlow.querySchemes,
|
|
467
|
-
|
|
568
|
+
resolvedQueryScheme = schemeDataFlow.currentQueryScheme,
|
|
468
569
|
derivedColumnDefs = schemeDataFlow.derivedColumnDefs,
|
|
469
570
|
derivedColumnState = schemeDataFlow.derivedColumnState,
|
|
470
571
|
isUsingGlobalFallback = schemeDataFlow.isUsingGlobalFallback,
|
|
471
572
|
isUsingGlobalQueryFallback = schemeDataFlow.isUsingGlobalQueryFallback;
|
|
472
573
|
|
|
574
|
+
// 「重置」取消当前应用的查询方案:默认/全局方案是按回退规则算出来的,只清存储的 ID 仍会被回退算回来,
|
|
575
|
+
// 所以本页内另用一个标记压住它;用户重新选方案(ID 变为非空)时解除。
|
|
576
|
+
var _useState31 = useState(false),
|
|
577
|
+
_useState32 = _slicedToArray(_useState31, 2),
|
|
578
|
+
querySchemeDismissed = _useState32[0],
|
|
579
|
+
setQuerySchemeDismissed = _useState32[1];
|
|
580
|
+
var currentQueryScheme = querySchemeDismissed ? undefined : resolvedQueryScheme;
|
|
581
|
+
var storedQuerySchemeId = currentSchemes === null || currentSchemes === void 0 || (_currentSchemes = currentSchemes[gridKey || '']) === null || _currentSchemes === void 0 ? void 0 : _currentSchemes.querySchemeId;
|
|
582
|
+
useEffect(function () {
|
|
583
|
+
if (storedQuerySchemeId) setQuerySchemeDismissed(false);
|
|
584
|
+
}, [storedQuerySchemeId]);
|
|
585
|
+
var resetQueryScheme = useCallback(function () {
|
|
586
|
+
var _setCurrentQuerySchem, _setCurrentQuerySchem2;
|
|
587
|
+
setQuerySchemeDismissed(true);
|
|
588
|
+
// 重置要恢复全量,高级搜索条件一并清空,否则提交时仍会优先走高级条件。
|
|
589
|
+
var empty = createEmptyRuleGroup();
|
|
590
|
+
advancedRulesRef.current = empty;
|
|
591
|
+
setAdvancedQueryRules(empty);
|
|
592
|
+
// 存储里清成 null 后,再次选择同一方案才会是一次真实变化;下次进入页面仍按默认方案规则回退。
|
|
593
|
+
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 () {});
|
|
594
|
+
}, [gridKey, setCurrentQueryScheme]);
|
|
595
|
+
|
|
596
|
+
// 表头上拖拽列宽、列序后自动记忆(DESIGN.md §7.5)
|
|
597
|
+
useAutoColumnMemory({
|
|
598
|
+
enabled: autoRememberColumns,
|
|
599
|
+
gridKey: gridKey,
|
|
600
|
+
ready: ready,
|
|
601
|
+
api: ready ? apiRef.current : undefined,
|
|
602
|
+
originalColumnDefs: allColDefs,
|
|
603
|
+
currentScheme: currentColumnScheme,
|
|
604
|
+
saveColumnScheme: saveColumnScheme,
|
|
605
|
+
setCurrentColumnScheme: setCurrentColumnScheme
|
|
606
|
+
});
|
|
607
|
+
|
|
473
608
|
/**
|
|
474
609
|
* 【P0 + P1 优化】使用派生状态应用方案(单向数据流)
|
|
475
610
|
*
|
|
@@ -514,13 +649,6 @@ function AgGridPlus(props) {
|
|
|
514
649
|
});
|
|
515
650
|
});
|
|
516
651
|
});
|
|
517
|
-
}).then(function () {
|
|
518
|
-
if (cancelled || !apiRef.current) return;
|
|
519
|
-
|
|
520
|
-
// 3. 应用过滤器(在列状态稳定后执行)
|
|
521
|
-
if (currentColumnScheme !== null && currentColumnScheme !== void 0 && currentColumnScheme.filterModel) {
|
|
522
|
-
apiRef.current.setFilterModel(currentColumnScheme.filterModel);
|
|
523
|
-
}
|
|
524
652
|
}).catch(function (error) {
|
|
525
653
|
if (!cancelled) {
|
|
526
654
|
console.error('[AgGridPlus] 应用方案失败:', error);
|
|
@@ -601,6 +729,7 @@ function AgGridPlus(props) {
|
|
|
601
729
|
var onRequest = useCallback(function (queryFilter) {
|
|
602
730
|
if (!requestRef.current) return;
|
|
603
731
|
setLoading(true);
|
|
732
|
+
requestStartedRef.current = true;
|
|
604
733
|
logger.debug('开始请求数据', {
|
|
605
734
|
queryFilter: queryFilter,
|
|
606
735
|
pagination: pagination
|
|
@@ -656,7 +785,7 @@ function AgGridPlus(props) {
|
|
|
656
785
|
// 场景:用户执行操作(如审核)后刷新列表,选中行的数据已变化
|
|
657
786
|
// 需要从新数据中找到对应的行,同步更新业务层的选中状态
|
|
658
787
|
// 支持两种回调方式:onSelectedRowsChange 和 onSelectionChanged
|
|
659
|
-
if (apiRef.current) {
|
|
788
|
+
if (apiRef.current && !crossPageRef.current) {
|
|
660
789
|
// 使用 requestAnimationFrame 确保 AG-Grid 数据更新完成
|
|
661
790
|
requestAnimationFrame(function () {
|
|
662
791
|
if (!apiRef.current) return;
|
|
@@ -768,6 +897,16 @@ function AgGridPlus(props) {
|
|
|
768
897
|
stableSortColumn: stableSortColumn
|
|
769
898
|
};
|
|
770
899
|
if (ready && formInitialized && requestRef.current) {
|
|
900
|
+
// 外部 params 变化意味着换了一批数据,停在原页码会落到别人的第 N 页甚至空页。
|
|
901
|
+
// 先回第 1 页,由页码变化再触发请求,避免先带着旧页码发一次。
|
|
902
|
+
if (changedDeps.includes('stableGridParams') && pagination.current !== 1) {
|
|
903
|
+
setPagination(function (prev) {
|
|
904
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
905
|
+
current: 1
|
|
906
|
+
});
|
|
907
|
+
});
|
|
908
|
+
return;
|
|
909
|
+
}
|
|
771
910
|
logger.debug('useEffect 触发数据请求', {
|
|
772
911
|
ready: ready,
|
|
773
912
|
formInitialized: formInitialized,
|
|
@@ -812,10 +951,54 @@ function AgGridPlus(props) {
|
|
|
812
951
|
}
|
|
813
952
|
}, [onRequest, stableQueryFilter]);
|
|
814
953
|
|
|
954
|
+
// 查询区、高级查询的回调可能是旧渲染里捕获的闭包(实测在第 2 页点「重置」时拿到的是第 1 页),
|
|
955
|
+
// 所以发请求、判断页码一律走 ref,永远读最新一次渲染。
|
|
956
|
+
var onRequestRef = useRef(onRequest);
|
|
957
|
+
onRequestRef.current = onRequest;
|
|
958
|
+
|
|
959
|
+
/**
|
|
960
|
+
* 提交一组查询条件:非第 1 页时只回第 1 页,请求由页码变化触发(此处再发会带着旧页码多发一次);
|
|
961
|
+
* 已在第 1 页则直接发。
|
|
962
|
+
*/
|
|
963
|
+
// 条件变了由「条件变化」effect 请求一次,这里不能再发;只有条件没变(重新取数)才直接发,见 needsDirectRequest。
|
|
964
|
+
var appliedFilterRef = useRef(stableQueryFilter);
|
|
965
|
+
appliedFilterRef.current = stableQueryFilter;
|
|
966
|
+
var submitQuery = useCallback(function (filter) {
|
|
967
|
+
var previous = appliedFilterRef.current;
|
|
968
|
+
setQueryFilter(filter);
|
|
969
|
+
if (paginationRef.current.current !== 1) {
|
|
970
|
+
setPagination(function (prev) {
|
|
971
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
972
|
+
current: 1
|
|
973
|
+
});
|
|
974
|
+
});
|
|
975
|
+
return;
|
|
976
|
+
}
|
|
977
|
+
if (needsDirectRequest(previous, filter, 1)) onRequestRef.current(filter);
|
|
978
|
+
}, []);
|
|
979
|
+
var goToPage = useCallback(function (page) {
|
|
980
|
+
var _paginationRef$curren = paginationRef.current,
|
|
981
|
+
pageSize = _paginationRef$curren.pageSize,
|
|
982
|
+
total = _paginationRef$curren.total;
|
|
983
|
+
var target = clampPage(page, total, pageSize);
|
|
984
|
+
setPagination(function (prev) {
|
|
985
|
+
return prev.current === target ? prev : _objectSpread(_objectSpread({}, prev), {}, {
|
|
986
|
+
current: target
|
|
987
|
+
});
|
|
988
|
+
});
|
|
989
|
+
}, []);
|
|
990
|
+
var resetPage = useCallback(function () {
|
|
991
|
+
return goToPage(1);
|
|
992
|
+
}, [goToPage]);
|
|
993
|
+
var getPagination = useCallback(function () {
|
|
994
|
+
return _objectSpread({}, paginationRef.current);
|
|
995
|
+
}, []);
|
|
996
|
+
|
|
815
997
|
// 空态四分:加载失败 / 无权限 / 筛选无结果 / 无数据,各说各的,失败那支还给出「重试」。
|
|
816
998
|
// 以前四种情况共用一句「没有找到数据,试试调整筛选条件吧!」,接口挂了也这么说,
|
|
817
999
|
// 用户按提示去调筛选,越调越没有。@author nokecy
|
|
818
1000
|
var noRowsOverlayParams = useMemo(function () {
|
|
1001
|
+
var _loadError$getRemoteS;
|
|
819
1002
|
return {
|
|
820
1003
|
branch: resolveEmptyBranch({
|
|
821
1004
|
hasError: !!loadError,
|
|
@@ -827,7 +1010,8 @@ function AgGridPlus(props) {
|
|
|
827
1010
|
accessible: accessible,
|
|
828
1011
|
filtered: filtered,
|
|
829
1012
|
override: overlayNoRowsTemplateText,
|
|
830
|
-
texts: emptyState
|
|
1013
|
+
texts: emptyState,
|
|
1014
|
+
reason: loadError === null || loadError === void 0 || (_loadError$getRemoteS = loadError.getRemoteServiceError()) === null || _loadError$getRemoteS === void 0 ? void 0 : _loadError$getRemoteS.message
|
|
831
1015
|
}),
|
|
832
1016
|
onRetry: onRefresh
|
|
833
1017
|
};
|
|
@@ -836,11 +1020,16 @@ function AgGridPlus(props) {
|
|
|
836
1020
|
var noRowsOverlay = useMemo(function () {
|
|
837
1021
|
return resolveNoRowsOverlay(NoRowsOverlay, noRowsOverlayParams, rest.noRowsOverlayComponent, rest.noRowsOverlayComponentParams);
|
|
838
1022
|
}, [noRowsOverlayParams, rest.noRowsOverlayComponent, rest.noRowsOverlayComponentParams]);
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
1023
|
+
|
|
1024
|
+
// 渲染期就位,保证首次提交时 useImperativeHandle 已能拿到实例(原先放在 effect 里,首个提交拿到 undefined)
|
|
1025
|
+
gridRef.current = useMemo(function () {
|
|
1026
|
+
return {
|
|
1027
|
+
onRefresh: onRefresh,
|
|
1028
|
+
goToPage: goToPage,
|
|
1029
|
+
resetPage: resetPage,
|
|
1030
|
+
getPagination: getPagination
|
|
842
1031
|
};
|
|
843
|
-
}, [onRefresh]);
|
|
1032
|
+
}, [onRefresh, goToPage, resetPage, getPagination]);
|
|
844
1033
|
var onRowChanged = useCallback(function (e) {
|
|
845
1034
|
if (props.onSelectionChanged) {
|
|
846
1035
|
props.onSelectionChanged(e);
|
|
@@ -860,7 +1049,37 @@ function AgGridPlus(props) {
|
|
|
860
1049
|
onErrorRef.current = props.onError;
|
|
861
1050
|
requestRef.current = request;
|
|
862
1051
|
}, [onSelectedRowsChange, props.onRowSelected, props.onError, request]);
|
|
1052
|
+
|
|
1053
|
+
// 跨页模式下对外通知:行集合是所有页的并集,另给「不在当前页的数量」和清除入口
|
|
1054
|
+
var emitCrossPage = useCallback(function () {
|
|
1055
|
+
var _onSelectedRowsChange, _onCrossPageChangeRef, _apiRef$current$getSe, _apiRef$current4;
|
|
1056
|
+
var rows = crossPage.rows();
|
|
1057
|
+
(_onSelectedRowsChange = onSelectedRowsChangeRef.current) === null || _onSelectedRowsChange === void 0 || _onSelectedRowsChange.call(onSelectedRowsChangeRef, rows);
|
|
1058
|
+
(_onCrossPageChangeRef = onCrossPageChangeRef.current) === null || _onCrossPageChangeRef === void 0 || _onCrossPageChangeRef.call(onCrossPageChangeRef, {
|
|
1059
|
+
rows: rows,
|
|
1060
|
+
count: rows.length,
|
|
1061
|
+
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)),
|
|
1062
|
+
clear: function clear() {
|
|
1063
|
+
var _apiRef$current5;
|
|
1064
|
+
crossPage.clear();
|
|
1065
|
+
(_apiRef$current5 = apiRef.current) === null || _apiRef$current5 === void 0 || _apiRef$current5.deselectAll();
|
|
1066
|
+
emitCrossPageRef.current();
|
|
1067
|
+
}
|
|
1068
|
+
});
|
|
1069
|
+
}, [crossPage]);
|
|
1070
|
+
var emitCrossPageRef = useRef(emitCrossPage);
|
|
1071
|
+
emitCrossPageRef.current = emitCrossPage;
|
|
863
1072
|
var onRowSelected = useCallback(function (e) {
|
|
1073
|
+
if (crossPageRef.current) {
|
|
1074
|
+
var _onRowSelectedCallbac;
|
|
1075
|
+
// 换页时 AG Grid 因数据替换触发的取消勾选不是用户操作,不能改写记录
|
|
1076
|
+
if (!crossPage.isRestoring() && e.source !== 'rowDataChanged') {
|
|
1077
|
+
crossPage.track(e.node);
|
|
1078
|
+
emitCrossPageRef.current();
|
|
1079
|
+
}
|
|
1080
|
+
(_onRowSelectedCallbac = onRowSelectedCallbackRef.current) === null || _onRowSelectedCallbac === void 0 || _onRowSelectedCallbac.call(onRowSelectedCallbackRef, e);
|
|
1081
|
+
return;
|
|
1082
|
+
}
|
|
864
1083
|
// 处理选中行数据回调
|
|
865
1084
|
if (onSelectedRowsChangeRef.current && apiRef.current) {
|
|
866
1085
|
// 获取所有选中的行
|
|
@@ -905,18 +1124,18 @@ function AgGridPlus(props) {
|
|
|
905
1124
|
});
|
|
906
1125
|
}
|
|
907
1126
|
if (!allColDefs || displayedData.length === 0) {
|
|
908
|
-
var _apiRef$
|
|
909
|
-
(_apiRef$
|
|
1127
|
+
var _apiRef$current6;
|
|
1128
|
+
(_apiRef$current6 = apiRef.current) === null || _apiRef$current6 === void 0 || _apiRef$current6.setGridOption('pinnedBottomRowData', undefined);
|
|
910
1129
|
return;
|
|
911
1130
|
}
|
|
912
1131
|
var calcColFields = getCalculationColumns(allColDefs);
|
|
913
1132
|
if (calcColFields.length > 0) {
|
|
914
|
-
var _apiRef$
|
|
1133
|
+
var _apiRef$current7;
|
|
915
1134
|
var calculatedValues = computeAggregationRow(calcColFields, displayedData);
|
|
916
|
-
(_apiRef$
|
|
1135
|
+
(_apiRef$current7 = apiRef.current) === null || _apiRef$current7 === void 0 || _apiRef$current7.setGridOption('pinnedBottomRowData', calculatedValues);
|
|
917
1136
|
} else {
|
|
918
|
-
var _apiRef$
|
|
919
|
-
(_apiRef$
|
|
1137
|
+
var _apiRef$current8;
|
|
1138
|
+
(_apiRef$current8 = apiRef.current) === null || _apiRef$current8 === void 0 || _apiRef$current8.setGridOption('pinnedBottomRowData', undefined);
|
|
920
1139
|
}
|
|
921
1140
|
}, [allColDefs, props.pinnedBottomRowData]);
|
|
922
1141
|
var onFilterChanged = function onFilterChanged(event) {
|
|
@@ -1026,13 +1245,31 @@ function AgGridPlus(props) {
|
|
|
1026
1245
|
if (props.treeData && !useNativeTreeFilter) {
|
|
1027
1246
|
return flatten(toTree(rowData, treeKeyName !== null && treeKeyName !== void 0 ? treeKeyName : "id", treeParentName !== null && treeParentName !== void 0 ? treeParentName : "parentId"), treeKeyName !== null && treeKeyName !== void 0 ? treeKeyName : "id");
|
|
1028
1247
|
}
|
|
1029
|
-
return rowData;
|
|
1030
|
-
}, [rowData, props.treeData, treeKeyName, treeParentName, useNativeTreeFilter]);
|
|
1248
|
+
return localPaging ? sliceRowsByPage(rowData, pageCurrent, pagination.pageSize) : rowData;
|
|
1249
|
+
}, [rowData, props.treeData, treeKeyName, treeParentName, useNativeTreeFilter, localPaging, pageCurrent, pagination.pageSize]);
|
|
1250
|
+
|
|
1251
|
+
// 跨页勾选:新一页数据进入网格后,把记录里命中的行重新勾上。
|
|
1252
|
+
// 子组件(AgGridReact)的 effect 先于本 effect 执行,此时新行已在网格里;再补一帧兜底慢一拍的情况。
|
|
1253
|
+
useEffect(function () {
|
|
1254
|
+
if (!crossPageRef.current || !apiRef.current) return;
|
|
1255
|
+
var restore = function restore() {
|
|
1256
|
+
if (apiRef.current && !apiRef.current.isDestroyed() && crossPage.restore(apiRef.current)) emitCrossPageRef.current();
|
|
1257
|
+
};
|
|
1258
|
+
restore();
|
|
1259
|
+
var raf = requestAnimationFrame(restore);
|
|
1260
|
+
return function () {
|
|
1261
|
+
return cancelAnimationFrame(raf);
|
|
1262
|
+
};
|
|
1263
|
+
}, [rowDataMemo, crossPage]);
|
|
1264
|
+
|
|
1265
|
+
// 加载态:首次请求发出前也算加载中;表里没有行时用骨架,有行时只给顶部加载条、不盖住数据
|
|
1266
|
+
var busy = loading || firstLoadPending;
|
|
1267
|
+
var showSkeleton = busy && rowData.length === 0;
|
|
1031
1268
|
var actionDom = toolBarRender && toolBarRender(apiRef.current, convertFilterModel(queryFilter, allColDefsRef.current), queryFilter, {
|
|
1032
|
-
current:
|
|
1033
|
-
skipCount:
|
|
1269
|
+
current: pageCurrent,
|
|
1270
|
+
skipCount: pageCurrent == 1 ? 0 : (pageCurrent - 1) * pagination.pageSize,
|
|
1034
1271
|
maxResultCount: pagination.pageSize,
|
|
1035
|
-
page:
|
|
1272
|
+
page: pageCurrent,
|
|
1036
1273
|
pageSize: pagination.pageSize
|
|
1037
1274
|
});
|
|
1038
1275
|
var autoGroupColumnDef = useMemo(function () {
|
|
@@ -1071,6 +1308,23 @@ function AgGridPlus(props) {
|
|
|
1071
1308
|
_iterator.f();
|
|
1072
1309
|
}
|
|
1073
1310
|
Object.assign(gridPassthroughProps, selectionOptions.eventHandlers);
|
|
1311
|
+
// 普通对象的 theme 已叠加进 gridTheme,不能再原样透传把它整体盖掉
|
|
1312
|
+
if (pageThemeParams) delete gridPassthroughProps.theme;
|
|
1313
|
+
|
|
1314
|
+
// 列表键盘模型(§7.9):Alt+A、Alt+Shift+↑↓、Ctrl/⌘+←→、Esc。捕获阶段处理,命中后不再交给 AG Grid
|
|
1315
|
+
var listKeyHandler = useMemo(function () {
|
|
1316
|
+
return createListKeyHandler({
|
|
1317
|
+
getApi: function getApi() {
|
|
1318
|
+
return apiRef.current;
|
|
1319
|
+
},
|
|
1320
|
+
onPage: props.hidePagination ? undefined : function (delta) {
|
|
1321
|
+
return goToPage(paginationRef.current.current + delta);
|
|
1322
|
+
}
|
|
1323
|
+
});
|
|
1324
|
+
}, [goToPage, props.hidePagination]);
|
|
1325
|
+
var onTableKeyDownCapture = useCallback(function (e) {
|
|
1326
|
+
if (listKeyHandler(e.nativeEvent)) e.stopPropagation();
|
|
1327
|
+
}, [listKeyHandler]);
|
|
1074
1328
|
|
|
1075
1329
|
// 传给 AG-Grid 的列定义:qc-ui 专属列属性收进 colDef.context,内部通过 getQcColDefProp 读取
|
|
1076
1330
|
var agColumnDefs = useMemo(function () {
|
|
@@ -1083,7 +1337,8 @@ function AgGridPlus(props) {
|
|
|
1083
1337
|
return {
|
|
1084
1338
|
queryFormItems: queryFormItems,
|
|
1085
1339
|
currentQueryOrder: currentQueryScheme ? extractItemsOrder(currentQueryScheme) : queryItemsOrder,
|
|
1086
|
-
updateQueryOrder: setQueryItemsOrder
|
|
1340
|
+
updateQueryOrder: setQueryItemsOrder,
|
|
1341
|
+
getQueryValues: getQueryValues
|
|
1087
1342
|
};
|
|
1088
1343
|
}, [queryFormItems, currentQueryScheme, queryItemsOrder]);
|
|
1089
1344
|
|
|
@@ -1125,7 +1380,10 @@ function AgGridPlus(props) {
|
|
|
1125
1380
|
isUsingGlobalFallback: isUsingGlobalFallback,
|
|
1126
1381
|
isUsingGlobalQueryFallback: isUsingGlobalQueryFallback,
|
|
1127
1382
|
// ========== 实体扩展字段配置 @author nokecy ==========
|
|
1128
|
-
hostEntityExtensions: hostEntityExtensions
|
|
1383
|
+
hostEntityExtensions: hostEntityExtensions,
|
|
1384
|
+
// ========== 密度:列设置里的密度入口读取 @author nokecy ==========
|
|
1385
|
+
density: density,
|
|
1386
|
+
onDensityChange: onDensityChange
|
|
1129
1387
|
};
|
|
1130
1388
|
}, [extensibleColumns, gridPlusColumnState,
|
|
1131
1389
|
// ref.current 作依赖无效(变更不触发重渲染);依赖数据源 allColDefs,initialColumnDefs 随其首次计算填充 @author nokecy
|
|
@@ -1137,13 +1395,13 @@ function AgGridPlus(props) {
|
|
|
1137
1395
|
// 全局方案回退状态依赖 @author nokecy
|
|
1138
1396
|
isUsingGlobalFallback, isUsingGlobalQueryFallback,
|
|
1139
1397
|
// 实体扩展字段配置依赖 @author nokecy
|
|
1140
|
-
hostEntityExtensions]);
|
|
1398
|
+
hostEntityExtensions, density, onDensityChange]);
|
|
1141
1399
|
return /*#__PURE__*/_jsx(GridPlusContext.Provider, {
|
|
1142
1400
|
value: gridPlusContextValue,
|
|
1143
1401
|
children: /*#__PURE__*/_jsx(QueryFormContext.Provider, {
|
|
1144
1402
|
value: queryFormContextValue,
|
|
1145
1403
|
children: /*#__PURE__*/_jsx(Spin, {
|
|
1146
|
-
spinning:
|
|
1404
|
+
spinning: false,
|
|
1147
1405
|
classNames: {
|
|
1148
1406
|
root: "grid-spin"
|
|
1149
1407
|
},
|
|
@@ -1163,34 +1421,23 @@ function AgGridPlus(props) {
|
|
|
1163
1421
|
defaultExpand: defaultSearchExpand,
|
|
1164
1422
|
gridApi: apiRef.current,
|
|
1165
1423
|
onValuesChange: onQueryValuesChange,
|
|
1424
|
+
scheme: currentQueryScheme ? {
|
|
1425
|
+
id: currentQueryScheme.id,
|
|
1426
|
+
name: currentQueryScheme.name,
|
|
1427
|
+
values: (_currentQueryScheme$q = currentQueryScheme.queryConfig) === null || _currentQueryScheme$q === void 0 ? void 0 : _currentQueryScheme$q.defaultValues
|
|
1428
|
+
} : undefined,
|
|
1429
|
+
apiRef: queryFormApiRef,
|
|
1430
|
+
onResetScheme: resetQueryScheme,
|
|
1166
1431
|
onQuery: function onQuery(formValues) {
|
|
1167
1432
|
// 优先使用高级搜索:如果存在高级搜索条件,忽略简单查询
|
|
1168
|
-
if (
|
|
1169
|
-
|
|
1433
|
+
if (advancedRulesRef.current.children.length > 0) {
|
|
1434
|
+
submitQuery({
|
|
1170
1435
|
__advancedMode__: true,
|
|
1171
|
-
__rules__:
|
|
1172
|
-
};
|
|
1173
|
-
setQueryFilter(filter);
|
|
1174
|
-
if (pagination.current !== 1) {
|
|
1175
|
-
setPagination(function (prev) {
|
|
1176
|
-
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
1177
|
-
current: 1
|
|
1178
|
-
});
|
|
1179
|
-
});
|
|
1180
|
-
}
|
|
1181
|
-
onRequest && onRequest(filter);
|
|
1182
|
-
return;
|
|
1183
|
-
}
|
|
1184
|
-
setQueryFilter(_objectSpread({}, formValues));
|
|
1185
|
-
// 始终使用传入的 formValues 发起请求
|
|
1186
|
-
if (pagination.current !== 1) {
|
|
1187
|
-
setPagination(function (prev) {
|
|
1188
|
-
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
1189
|
-
current: 1
|
|
1190
|
-
});
|
|
1436
|
+
__rules__: advancedRulesRef.current
|
|
1191
1437
|
});
|
|
1438
|
+
return;
|
|
1192
1439
|
}
|
|
1193
|
-
|
|
1440
|
+
submitQuery(_objectSpread({}, formValues));
|
|
1194
1441
|
},
|
|
1195
1442
|
onInit: function onInit(defaultValues) {
|
|
1196
1443
|
// 【修复】先设置 queryFilter,再标记表单已初始化
|
|
@@ -1218,18 +1465,32 @@ function AgGridPlus(props) {
|
|
|
1218
1465
|
},
|
|
1219
1466
|
children: [/*#__PURE__*/_jsxs("div", {
|
|
1220
1467
|
className: "qc-table-container",
|
|
1221
|
-
|
|
1468
|
+
"aria-busy": busy || undefined,
|
|
1469
|
+
onKeyDownCapture: onTableKeyDownCapture,
|
|
1470
|
+
style: _objectSpread(_objectSpread({
|
|
1222
1471
|
display: "flex",
|
|
1223
1472
|
flexDirection: "column",
|
|
1224
1473
|
height: "100%"
|
|
1225
|
-
},
|
|
1226
|
-
|
|
1474
|
+
}, rowColors ? {
|
|
1475
|
+
'--qc-row-selected-hover-bg': rowColors.selectedHover
|
|
1476
|
+
} : {}), style),
|
|
1477
|
+
children: [busy && !showSkeleton ? /*#__PURE__*/_jsx("div", {
|
|
1478
|
+
className: "qc-grid-busy-bar",
|
|
1479
|
+
role: "progressbar",
|
|
1480
|
+
"aria-label": "\u6B63\u5728\u52A0\u8F7D",
|
|
1481
|
+
children: /*#__PURE__*/_jsx("span", {
|
|
1482
|
+
style: {
|
|
1483
|
+
background: token.colorPrimary
|
|
1484
|
+
}
|
|
1485
|
+
})
|
|
1486
|
+
}) : null, hideTool ? null : /*#__PURE__*/_jsx(ToolBar, {
|
|
1227
1487
|
title: headerTitle,
|
|
1228
1488
|
actions: actionDom,
|
|
1229
1489
|
settings: [/*#__PURE__*/_jsx(SettingItem, {
|
|
1490
|
+
title: "\u5237\u65B0",
|
|
1230
1491
|
onClick: onRefresh,
|
|
1231
1492
|
icon: /*#__PURE__*/_jsx(RedoOutlined, {})
|
|
1232
|
-
}), /*#__PURE__*/_jsx(Setting, {
|
|
1493
|
+
}, "refresh"), /*#__PURE__*/_jsx(Setting, {
|
|
1233
1494
|
gridKey: gridKey,
|
|
1234
1495
|
gridApi: apiRef.current,
|
|
1235
1496
|
onSaveColumnState: onColumnStateChanged
|
|
@@ -1257,8 +1518,7 @@ function AgGridPlus(props) {
|
|
|
1257
1518
|
size: "small",
|
|
1258
1519
|
onClick: function onClick() {
|
|
1259
1520
|
setAdvancedQueryRules(createEmptyRuleGroup());
|
|
1260
|
-
|
|
1261
|
-
onRequest && onRequest({});
|
|
1521
|
+
submitQuery({});
|
|
1262
1522
|
setAdvancedPopoverOpen(false);
|
|
1263
1523
|
},
|
|
1264
1524
|
style: {
|
|
@@ -1269,19 +1529,10 @@ function AgGridPlus(props) {
|
|
|
1269
1529
|
size: "small",
|
|
1270
1530
|
type: "primary",
|
|
1271
1531
|
onClick: function onClick() {
|
|
1272
|
-
|
|
1532
|
+
submitQuery({
|
|
1273
1533
|
__advancedMode__: true,
|
|
1274
1534
|
__rules__: advancedQueryRules
|
|
1275
|
-
};
|
|
1276
|
-
setQueryFilter(filter);
|
|
1277
|
-
if (pagination.current !== 1) {
|
|
1278
|
-
setPagination(function (prev) {
|
|
1279
|
-
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
1280
|
-
current: 1
|
|
1281
|
-
});
|
|
1282
|
-
});
|
|
1283
|
-
}
|
|
1284
|
-
onRequest && onRequest(filter);
|
|
1535
|
+
});
|
|
1285
1536
|
setAdvancedPopoverOpen(false);
|
|
1286
1537
|
},
|
|
1287
1538
|
children: "\u67E5\u8BE2"
|
|
@@ -1302,20 +1553,20 @@ function AgGridPlus(props) {
|
|
|
1302
1553
|
count: advancedQueryRules.children.length,
|
|
1303
1554
|
size: "small",
|
|
1304
1555
|
offset: [-2, 2],
|
|
1305
|
-
children: /*#__PURE__*/_jsx(
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
cursor: "pointer"
|
|
1311
|
-
},
|
|
1312
|
-
children: /*#__PURE__*/_jsx(FilterOutlined, {})
|
|
1556
|
+
children: /*#__PURE__*/_jsx(SettingItem, {
|
|
1557
|
+
title: "\u9AD8\u7EA7\u641C\u7D22",
|
|
1558
|
+
icon: /*#__PURE__*/_jsx(FilterOutlined, {}),
|
|
1559
|
+
active: advancedQueryRules.children.length > 0,
|
|
1560
|
+
"aria-haspopup": "dialog"
|
|
1313
1561
|
})
|
|
1314
1562
|
})
|
|
1315
1563
|
}, "advanced-search-setting") : null].filter(Boolean)
|
|
1316
|
-
}), /*#__PURE__*/_jsx(AgGridReact, _objectSpread(_objectSpread({
|
|
1564
|
+
}), /*#__PURE__*/_jsx(AgGridReact, _objectSpread(_objectSpread(_objectSpread({
|
|
1317
1565
|
theme: gridTheme
|
|
1318
|
-
},
|
|
1566
|
+
}, densitySpec ? {
|
|
1567
|
+
rowHeight: densitySpec.rowHeight,
|
|
1568
|
+
headerHeight: densitySpec.headerHeight
|
|
1569
|
+
} : {}), gridPassthroughProps), {}, {
|
|
1319
1570
|
localeText: localeText,
|
|
1320
1571
|
gridOptions: {
|
|
1321
1572
|
enableCellTextSelection: true,
|
|
@@ -1324,10 +1575,14 @@ function AgGridPlus(props) {
|
|
|
1324
1575
|
},
|
|
1325
1576
|
noRowsOverlayComponent: noRowsOverlay.component,
|
|
1326
1577
|
noRowsOverlayComponentParams: noRowsOverlay.params
|
|
1327
|
-
//
|
|
1328
|
-
//
|
|
1578
|
+
// 加载中不显示空态:再叠一句「暂无数据」会让用户以为真的没数据。
|
|
1579
|
+
// 首次请求发出前(firstLoadPending)同样不显示。@author nokecy
|
|
1580
|
+
,
|
|
1581
|
+
suppressNoRowsOverlay: busy
|
|
1582
|
+
// 表里没有行时用骨架占住表体,表头保持可见
|
|
1329
1583
|
,
|
|
1330
|
-
|
|
1584
|
+
loading: showSkeleton,
|
|
1585
|
+
loadingOverlayComponent: SkeletonOverlay,
|
|
1331
1586
|
cellSelection: (_rest$cellSelection = rest.cellSelection) !== null && _rest$cellSelection !== void 0 ? _rest$cellSelection : selectionOptions.cellSelection,
|
|
1332
1587
|
autoGroupColumnDef: selectionOptions.autoGroupColumnDef
|
|
1333
1588
|
// 【兼容】原生树形数据配置:只有 useNativeTreeFilter=true 时才启用
|
|
@@ -1358,8 +1613,8 @@ function AgGridPlus(props) {
|
|
|
1358
1613
|
},
|
|
1359
1614
|
onDragStopped: function onDragStopped(e) {
|
|
1360
1615
|
if (apiRef.current) {
|
|
1361
|
-
var _apiRef$
|
|
1362
|
-
var _columnState = (_apiRef$
|
|
1616
|
+
var _apiRef$current9;
|
|
1617
|
+
var _columnState = (_apiRef$current9 = apiRef.current) === null || _apiRef$current9 === void 0 ? void 0 : _apiRef$current9.getColumnState();
|
|
1363
1618
|
setColumnState(_columnState);
|
|
1364
1619
|
|
|
1365
1620
|
// onColumnStateChanged && onColumnStateChanged(columnState)
|
|
@@ -1382,31 +1637,43 @@ function AgGridPlus(props) {
|
|
|
1382
1637
|
style: {
|
|
1383
1638
|
marginTop: 12,
|
|
1384
1639
|
display: "flex",
|
|
1385
|
-
justifyContent: "
|
|
1640
|
+
justifyContent: "space-between",
|
|
1641
|
+
alignItems: "center"
|
|
1386
1642
|
},
|
|
1387
|
-
children: !props.hidePagination && /*#__PURE__*/
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1643
|
+
children: !props.hidePagination && /*#__PURE__*/_jsxs(_Fragment, {
|
|
1644
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
1645
|
+
className: "qc-grid-total",
|
|
1646
|
+
style: {
|
|
1647
|
+
color: token.colorTextSecondary,
|
|
1648
|
+
fontSize: token.fontSizeSM
|
|
1649
|
+
},
|
|
1650
|
+
children: formatPaginationTotal(pageTotal, pageCurrent, pagination.pageSize)
|
|
1651
|
+
}), /*#__PURE__*/_jsx(Pagination, {
|
|
1652
|
+
pageSize: pagination.pageSize,
|
|
1653
|
+
current: pageCurrent,
|
|
1654
|
+
total: pageTotal,
|
|
1655
|
+
onChange: function onChange(page, pageSize) {
|
|
1656
|
+
setPagination(function (prev) {
|
|
1657
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
1658
|
+
pageSize: pageSize,
|
|
1659
|
+
current: page
|
|
1660
|
+
});
|
|
1661
|
+
});
|
|
1662
|
+
},
|
|
1663
|
+
onShowSizeChange: function onShowSizeChange(current, size) {
|
|
1664
|
+
setPagination(function (prev) {
|
|
1665
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
1666
|
+
pageSize: size,
|
|
1667
|
+
current: current
|
|
1668
|
+
});
|
|
1669
|
+
});
|
|
1670
|
+
},
|
|
1671
|
+
size: "small",
|
|
1672
|
+
pageSizeOptions: props.pageSizeOptions || DEFAULT_PAGE_SIZE_OPTIONS,
|
|
1673
|
+
hideOnSinglePage: false,
|
|
1674
|
+
showSizeChanger: showSizeChanger,
|
|
1675
|
+
showQuickJumper: showQuickJumper !== null && showQuickJumper !== void 0 ? showQuickJumper : false
|
|
1676
|
+
})]
|
|
1410
1677
|
})
|
|
1411
1678
|
})]
|
|
1412
1679
|
})]
|