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