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