@mui/x-data-grid-premium 8.0.0-alpha.12 → 8.0.0-alpha.13
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/CHANGELOG.md +299 -0
- package/DataGridPremium/DataGridPremium.js +51 -39
- package/DataGridPremium/useDataGridPremiumProps.js +2 -2
- package/components/GridAggregationHeader.d.ts +1 -1
- package/components/GridAggregationHeader.js +7 -11
- package/components/GridColumnMenuAggregationItem.js +4 -4
- package/components/GridDataSourceGroupingCriteriaCell.js +5 -6
- package/components/GridFooterCell.js +5 -6
- package/components/GridGroupingColumnFooterCell.js +2 -1
- package/components/GridGroupingColumnLeafCell.js +3 -9
- package/components/GridGroupingCriteriaCell.js +3 -8
- package/components/promptControl/GridToolbarPromptControl.js +34 -32
- package/esm/DataGridPremium/DataGridPremium.js +51 -39
- package/esm/DataGridPremium/useDataGridPremiumProps.js +2 -2
- package/esm/components/GridAggregationHeader.d.ts +1 -1
- package/esm/components/GridAggregationHeader.js +7 -11
- package/esm/components/GridColumnMenuAggregationItem.js +4 -4
- package/esm/components/GridDataSourceGroupingCriteriaCell.js +6 -7
- package/esm/components/GridFooterCell.js +5 -6
- package/esm/components/GridGroupingColumnFooterCell.js +2 -1
- package/esm/components/GridGroupingColumnLeafCell.js +3 -8
- package/esm/components/GridGroupingCriteriaCell.js +3 -8
- package/esm/components/promptControl/GridToolbarPromptControl.js +34 -32
- package/esm/hooks/features/aggregation/useGridAggregation.d.ts +1 -1
- package/esm/hooks/features/aggregation/useGridAggregation.js +6 -6
- package/esm/hooks/features/aggregation/useGridAggregationPreProcessors.d.ts +1 -1
- package/esm/hooks/features/aggregation/useGridAggregationPreProcessors.js +6 -6
- package/esm/hooks/features/clipboard/useGridClipboardImport.js +3 -3
- package/esm/hooks/features/dataSource/models.d.ts +1 -1
- package/esm/hooks/features/dataSource/useGridDataSourcePremium.js +3 -3
- package/esm/hooks/features/rowGrouping/gridRowGroupingUtils.js +2 -2
- package/esm/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.d.ts +1 -1
- package/esm/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.js +3 -3
- package/esm/hooks/features/rowGrouping/useGridRowGrouping.d.ts +1 -1
- package/esm/hooks/features/rowGrouping/useGridRowGrouping.js +4 -4
- package/esm/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.d.ts +1 -1
- package/esm/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +5 -5
- package/esm/index.d.ts +0 -6
- package/esm/index.js +1 -7
- package/esm/models/dataGridPremiumProps.d.ts +7 -8
- package/esm/utils/releaseInfo.js +1 -1
- package/hooks/features/aggregation/useGridAggregation.d.ts +1 -1
- package/hooks/features/aggregation/useGridAggregation.js +6 -6
- package/hooks/features/aggregation/useGridAggregationPreProcessors.d.ts +1 -1
- package/hooks/features/aggregation/useGridAggregationPreProcessors.js +6 -6
- package/hooks/features/clipboard/useGridClipboardImport.js +2 -2
- package/hooks/features/dataSource/models.d.ts +1 -1
- package/hooks/features/dataSource/useGridDataSourcePremium.js +3 -3
- package/hooks/features/rowGrouping/gridRowGroupingUtils.js +1 -1
- package/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.d.ts +1 -1
- package/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.js +3 -3
- package/hooks/features/rowGrouping/useGridRowGrouping.d.ts +1 -1
- package/hooks/features/rowGrouping/useGridRowGrouping.js +4 -4
- package/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.d.ts +1 -1
- package/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +5 -5
- package/index.d.ts +0 -6
- package/index.js +2 -11
- package/models/dataGridPremiumProps.d.ts +7 -8
- package/modern/DataGridPremium/DataGridPremium.js +51 -39
- package/modern/DataGridPremium/useDataGridPremiumProps.js +2 -2
- package/modern/components/GridAggregationHeader.d.ts +1 -1
- package/modern/components/GridAggregationHeader.js +7 -11
- package/modern/components/GridColumnMenuAggregationItem.js +4 -4
- package/modern/components/GridDataSourceGroupingCriteriaCell.js +6 -7
- package/modern/components/GridFooterCell.js +5 -6
- package/modern/components/GridGroupingColumnFooterCell.js +2 -1
- package/modern/components/GridGroupingColumnLeafCell.js +3 -8
- package/modern/components/GridGroupingCriteriaCell.js +3 -8
- package/modern/components/promptControl/GridToolbarPromptControl.js +34 -32
- package/modern/hooks/features/aggregation/useGridAggregation.d.ts +1 -1
- package/modern/hooks/features/aggregation/useGridAggregation.js +6 -6
- package/modern/hooks/features/aggregation/useGridAggregationPreProcessors.d.ts +1 -1
- package/modern/hooks/features/aggregation/useGridAggregationPreProcessors.js +6 -6
- package/modern/hooks/features/clipboard/useGridClipboardImport.js +3 -3
- package/modern/hooks/features/dataSource/models.d.ts +1 -1
- package/modern/hooks/features/dataSource/useGridDataSourcePremium.js +3 -3
- package/modern/hooks/features/rowGrouping/gridRowGroupingUtils.js +2 -2
- package/modern/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.d.ts +1 -1
- package/modern/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.js +3 -3
- package/modern/hooks/features/rowGrouping/useGridRowGrouping.d.ts +1 -1
- package/modern/hooks/features/rowGrouping/useGridRowGrouping.js +4 -4
- package/modern/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.d.ts +1 -1
- package/modern/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +5 -5
- package/modern/index.d.ts +0 -6
- package/modern/index.js +1 -7
- package/modern/models/dataGridPremiumProps.d.ts +7 -8
- package/modern/utils/releaseInfo.js +1 -1
- package/package.json +5 -5
- package/tsconfig.build.tsbuildinfo +1 -1
- package/utils/releaseInfo.js +1 -1
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
3
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.GridGroupingColumnLeafCell = GridGroupingColumnLeafCell;
|
|
9
8
|
var React = _interopRequireWildcard(require("react"));
|
|
10
|
-
var
|
|
9
|
+
var _internals = require("@mui/x-data-grid/internals");
|
|
11
10
|
var _useGridRootProps = require("../hooks/utils/useGridRootProps");
|
|
12
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
12
|
function GridGroupingColumnLeafCell(props) {
|
|
@@ -15,14 +14,9 @@ function GridGroupingColumnLeafCell(props) {
|
|
|
15
14
|
rowNode
|
|
16
15
|
} = props;
|
|
17
16
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
18
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
19
|
-
sx: [rootProps.rowGroupingColumnMode === 'multiple' ? {
|
|
20
|
-
ml: 1
|
|
21
|
-
} : theme => ({
|
|
22
|
-
ml: `calc(var(--DataGrid-cellOffsetMultiplier) * var(--depth) * ${theme.spacing(1)})`
|
|
23
|
-
})],
|
|
17
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
24
18
|
style: {
|
|
25
|
-
'
|
|
19
|
+
marginLeft: rootProps.rowGroupingColumnMode === 'multiple' ? _internals.vars.spacing(1) : `calc(var(--DataGrid-cellOffsetMultiplier) * ${_internals.vars.spacing(rowNode.depth)})`
|
|
26
20
|
},
|
|
27
21
|
children: props.formattedValue ?? props.value
|
|
28
22
|
});
|
|
@@ -9,7 +9,7 @@ exports.GridGroupingCriteriaCell = GridGroupingCriteriaCell;
|
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
12
|
-
var
|
|
12
|
+
var _internals = require("@mui/x-data-grid/internals");
|
|
13
13
|
var _xDataGridPro = require("@mui/x-data-grid-pro");
|
|
14
14
|
var _useGridApiContext = require("../hooks/utils/useGridApiContext");
|
|
15
15
|
var _useGridRootProps = require("../hooks/utils/useGridRootProps");
|
|
@@ -67,15 +67,10 @@ function GridGroupingCriteriaCell(props) {
|
|
|
67
67
|
children: rowNode.groupingKey
|
|
68
68
|
});
|
|
69
69
|
}
|
|
70
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
70
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
71
71
|
className: classes.root,
|
|
72
|
-
sx: [rootProps.rowGroupingColumnMode === 'multiple' ? {
|
|
73
|
-
ml: 0
|
|
74
|
-
} : theme => ({
|
|
75
|
-
ml: `calc(var(--DataGrid-cellOffsetMultiplier) * var(--depth) * ${theme.spacing(1)})`
|
|
76
|
-
})],
|
|
77
72
|
style: {
|
|
78
|
-
'
|
|
73
|
+
marginLeft: rootProps.rowGroupingColumnMode === 'multiple' ? 0 : `calc(var(--DataGrid-cellOffsetMultiplier) * ${rowNode.depth} * ${_internals.vars.spacing(1)})`
|
|
79
74
|
},
|
|
80
75
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
81
76
|
className: classes.toggle,
|
|
@@ -127,10 +127,18 @@ function GridToolbarPromptControl(props) {
|
|
|
127
127
|
sort: s.direction
|
|
128
128
|
})));
|
|
129
129
|
const rows = (0, _internals.getVisibleRows)(apiRef, rootProps);
|
|
130
|
-
const
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
130
|
+
const rowSelectionModel = {
|
|
131
|
+
type: 'include',
|
|
132
|
+
ids: new Set()
|
|
133
|
+
};
|
|
134
|
+
if (result.select !== -1) {
|
|
135
|
+
for (let i = 0; i < result.select; i += 1) {
|
|
136
|
+
const row = rows.rows[i];
|
|
137
|
+
const id = apiRef.current.getRowId(row);
|
|
138
|
+
rowSelectionModel.ids.add(id);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
apiRef.current.setRowSelectionModel(rowSelectionModel);
|
|
134
142
|
const columns = apiRef.current.getAllColumns();
|
|
135
143
|
const targetIndex = Number(columns.find(c => c.field === _xDataGrid.GRID_CHECKBOX_SELECTION_FIELD) !== undefined) + Number(result.grouping.length);
|
|
136
144
|
interestColumns.push(...Object.keys(result.aggregation));
|
|
@@ -180,35 +188,29 @@ function GridToolbarPromptControl(props) {
|
|
|
180
188
|
helperText: error,
|
|
181
189
|
slotProps: {
|
|
182
190
|
input: {
|
|
183
|
-
startAdornment: supportsSpeechRecognition && /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
onDone: handleDone,
|
|
193
|
-
onError: setError
|
|
194
|
-
})
|
|
191
|
+
startAdornment: supportsSpeechRecognition && /*#__PURE__*/(0, _jsxRuntime.jsx)(_RecordButton.RecordButton, {
|
|
192
|
+
className: classes.recordButton,
|
|
193
|
+
lang: lang,
|
|
194
|
+
recording: isRecording,
|
|
195
|
+
setRecording: setRecording,
|
|
196
|
+
disabled: isLoading,
|
|
197
|
+
onUpdate: setQuery,
|
|
198
|
+
onDone: handleDone,
|
|
199
|
+
onError: setError
|
|
195
200
|
}),
|
|
196
|
-
endAdornment: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.
|
|
197
|
-
|
|
198
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.toolbarPromptSendIcon, {
|
|
210
|
-
fontSize: "small"
|
|
211
|
-
})
|
|
201
|
+
endAdornment: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTooltip, {
|
|
202
|
+
title: apiRef.current.getLocaleText('toolbarPromptControlSendActionLabel'),
|
|
203
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
204
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseIconButton, {
|
|
205
|
+
className: classes.sendButton,
|
|
206
|
+
disabled: isLoading || isRecording || query === '',
|
|
207
|
+
color: "primary",
|
|
208
|
+
onClick: processPrompt,
|
|
209
|
+
size: "small",
|
|
210
|
+
"aria-label": apiRef.current.getLocaleText('toolbarPromptControlSendActionAriaLabel'),
|
|
211
|
+
edge: "end",
|
|
212
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.toolbarPromptSendIcon, {
|
|
213
|
+
fontSize: "small"
|
|
212
214
|
})
|
|
213
215
|
})
|
|
214
216
|
})
|
|
@@ -6,6 +6,7 @@ import PropTypes from 'prop-types';
|
|
|
6
6
|
import { useLicenseVerifier, Watermark } from '@mui/x-license';
|
|
7
7
|
import { GridRoot, GridContextProvider } from '@mui/x-data-grid-pro';
|
|
8
8
|
import { propValidatorsDataGrid, propValidatorsDataGridPro, validateProps } from '@mui/x-data-grid-pro/internals';
|
|
9
|
+
import { useMaterialCSSVariables } from '@mui/x-data-grid/material';
|
|
9
10
|
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
10
11
|
import { useDataGridPremiumComponent } from "./useDataGridPremiumComponent.js";
|
|
11
12
|
import { useDataGridPremiumProps } from "./useDataGridPremiumProps.js";
|
|
@@ -15,6 +16,7 @@ import { useGridRowAriaAttributes } from "../hooks/features/rows/useGridRowAriaA
|
|
|
15
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
16
17
|
const configuration = {
|
|
17
18
|
hooks: {
|
|
19
|
+
useCSSVariables: useMaterialCSSVariables,
|
|
18
20
|
useGridAriaAttributes,
|
|
19
21
|
useGridRowAriaAttributes
|
|
20
22
|
}
|
|
@@ -56,7 +58,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
|
|
|
56
58
|
// ----------------------------------------------------------------------
|
|
57
59
|
/**
|
|
58
60
|
* Aggregation functions available on the grid.
|
|
59
|
-
* @default GRID_AGGREGATION_FUNCTIONS when `
|
|
61
|
+
* @default GRID_AGGREGATION_FUNCTIONS when `dataSource` is not provided, `{}` when `dataSource` is provided
|
|
60
62
|
*/
|
|
61
63
|
aggregationFunctions: PropTypes.object,
|
|
62
64
|
/**
|
|
@@ -173,6 +175,24 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
|
|
|
173
175
|
* If defined, the Data Grid will ignore the `hide` property in [[GridColDef]].
|
|
174
176
|
*/
|
|
175
177
|
columnVisibilityModel: PropTypes.object,
|
|
178
|
+
/**
|
|
179
|
+
* Data source object.
|
|
180
|
+
*/
|
|
181
|
+
dataSource: PropTypes.shape({
|
|
182
|
+
getAggregatedValue: PropTypes.func,
|
|
183
|
+
getChildrenCount: PropTypes.func,
|
|
184
|
+
getGroupKey: PropTypes.func,
|
|
185
|
+
getRows: PropTypes.func.isRequired,
|
|
186
|
+
updateRow: PropTypes.func
|
|
187
|
+
}),
|
|
188
|
+
/**
|
|
189
|
+
* Data source cache object.
|
|
190
|
+
*/
|
|
191
|
+
dataSourceCache: PropTypes.shape({
|
|
192
|
+
clear: PropTypes.func.isRequired,
|
|
193
|
+
get: PropTypes.func.isRequired,
|
|
194
|
+
set: PropTypes.func.isRequired
|
|
195
|
+
}),
|
|
176
196
|
/**
|
|
177
197
|
* If above 0, the row children will be expanded up to this depth.
|
|
178
198
|
* If equal to -1, all the row children will be expanded.
|
|
@@ -487,6 +507,18 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
|
|
|
487
507
|
* @default false
|
|
488
508
|
*/
|
|
489
509
|
keepNonExistentRowsSelected: PropTypes.bool,
|
|
510
|
+
/**
|
|
511
|
+
* Used together with `dataSource` to enable lazy loading.
|
|
512
|
+
* If enabled, the grid stops adding `paginationModel` to the data requests (`getRows`)
|
|
513
|
+
* and starts sending `start` and `end` values depending on the loading mode and the scroll position.
|
|
514
|
+
* @default false
|
|
515
|
+
*/
|
|
516
|
+
lazyLoading: PropTypes.bool,
|
|
517
|
+
/**
|
|
518
|
+
* If positive, the Data Grid will throttle data source requests on rendered rows interval change.
|
|
519
|
+
* @default 500
|
|
520
|
+
*/
|
|
521
|
+
lazyLoadingRequestThrottleMs: PropTypes.number,
|
|
490
522
|
/**
|
|
491
523
|
* If `true`, a loading overlay is displayed.
|
|
492
524
|
* @default false
|
|
@@ -663,6 +695,11 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
|
|
|
663
695
|
* @param {GridCallbackDetails} details Additional details for this callback.
|
|
664
696
|
*/
|
|
665
697
|
onColumnWidthChange: PropTypes.func,
|
|
698
|
+
/**
|
|
699
|
+
* Callback fired when a data source request fails.
|
|
700
|
+
* @param {GridGetRowsError | GridUpdateRowError} error The data source error object.
|
|
701
|
+
*/
|
|
702
|
+
onDataSourceError: PropTypes.func,
|
|
666
703
|
/**
|
|
667
704
|
* Callback fired when the density changes.
|
|
668
705
|
* @param {GridDensity} density New density value.
|
|
@@ -684,6 +721,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
|
|
|
684
721
|
* @param {GridFetchRowsParams} params With all properties from [[GridFetchRowsParams]].
|
|
685
722
|
* @param {MuiEvent<{}>} event The event object.
|
|
686
723
|
* @param {GridCallbackDetails} details Additional details for this callback.
|
|
724
|
+
* @deprecated Use the {@link https://next.mui.com/x/react-data-grid/server-side-data/lazy-loading/#viewport-loading Server-side data-Viewport loading} instead.
|
|
687
725
|
*/
|
|
688
726
|
onFetchRows: PropTypes.func,
|
|
689
727
|
/**
|
|
@@ -811,6 +849,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
|
|
|
811
849
|
* @param {GridRowScrollEndParams} params With all properties from [[GridRowScrollEndParams]].
|
|
812
850
|
* @param {MuiEvent<{}>} event The event object.
|
|
813
851
|
* @param {GridCallbackDetails} details Additional details for this callback.
|
|
852
|
+
* @deprecated Use the {@link https://next.mui.com/x/react-data-grid/server-side-data/lazy-loading/#infinite-loading Server-side data-Infinite loading} instead.
|
|
814
853
|
*/
|
|
815
854
|
onRowsScrollEnd: PropTypes.func,
|
|
816
855
|
/**
|
|
@@ -934,7 +973,10 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
|
|
|
934
973
|
/**
|
|
935
974
|
* Sets the row selection model of the Data Grid.
|
|
936
975
|
*/
|
|
937
|
-
rowSelectionModel: PropTypes
|
|
976
|
+
rowSelectionModel: PropTypes /* @typescript-to-proptypes-ignore */.shape({
|
|
977
|
+
ids: PropTypes.instanceOf(Set).isRequired,
|
|
978
|
+
type: PropTypes.oneOf(['exclude', 'include']).isRequired
|
|
979
|
+
}),
|
|
938
980
|
/**
|
|
939
981
|
* When `rowSelectionPropagation.descendants` is set to `true`.
|
|
940
982
|
* - Selecting a parent selects all its filtered descendants automatically.
|
|
@@ -956,6 +998,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
|
|
|
956
998
|
* Set it to 'client' if you would like enable infnite loading.
|
|
957
999
|
* Set it to 'server' if you would like to enable lazy loading.
|
|
958
1000
|
* @default "client"
|
|
1001
|
+
* @deprecated Use the {@link https://next.mui.com/x/react-data-grid/server-side-data/lazy-loading/#viewport-loading Server-side data-Viewport loading} instead.
|
|
959
1002
|
*/
|
|
960
1003
|
rowsLoadingMode: PropTypes.oneOf(['client', 'server']),
|
|
961
1004
|
/**
|
|
@@ -974,7 +1017,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
|
|
|
974
1017
|
scrollbarSize: PropTypes.number,
|
|
975
1018
|
/**
|
|
976
1019
|
* Set the area in `px` at the bottom of the grid viewport where onRowsScrollEnd is called.
|
|
977
|
-
* If combined with `
|
|
1020
|
+
* If combined with `lazyLoading`, it defines the area where the next data request is triggered.
|
|
978
1021
|
* @default 80
|
|
979
1022
|
*/
|
|
980
1023
|
scrollEndThreshold: PropTypes.number,
|
|
@@ -988,6 +1031,11 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
|
|
|
988
1031
|
* @default false
|
|
989
1032
|
*/
|
|
990
1033
|
showColumnVerticalBorder: PropTypes.bool,
|
|
1034
|
+
/**
|
|
1035
|
+
* If `true`, the toolbar is displayed.
|
|
1036
|
+
* @default false
|
|
1037
|
+
*/
|
|
1038
|
+
showToolbar: PropTypes.bool,
|
|
991
1039
|
/**
|
|
992
1040
|
* Overridable components props dynamically passed to the component at rendering.
|
|
993
1041
|
*/
|
|
@@ -1037,36 +1085,6 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
|
|
|
1037
1085
|
* @default false
|
|
1038
1086
|
*/
|
|
1039
1087
|
treeData: PropTypes.bool,
|
|
1040
|
-
/**
|
|
1041
|
-
* Data source object.
|
|
1042
|
-
*/
|
|
1043
|
-
unstable_dataSource: PropTypes.shape({
|
|
1044
|
-
getAggregatedValue: PropTypes.func,
|
|
1045
|
-
getChildrenCount: PropTypes.func,
|
|
1046
|
-
getGroupKey: PropTypes.func,
|
|
1047
|
-
getRows: PropTypes.func.isRequired,
|
|
1048
|
-
updateRow: PropTypes.func
|
|
1049
|
-
}),
|
|
1050
|
-
/**
|
|
1051
|
-
* Data source cache object.
|
|
1052
|
-
*/
|
|
1053
|
-
unstable_dataSourceCache: PropTypes.shape({
|
|
1054
|
-
clear: PropTypes.func.isRequired,
|
|
1055
|
-
get: PropTypes.func.isRequired,
|
|
1056
|
-
set: PropTypes.func.isRequired
|
|
1057
|
-
}),
|
|
1058
|
-
/**
|
|
1059
|
-
* Used together with `unstable_dataSource` to enable lazy loading.
|
|
1060
|
-
* If enabled, the grid stops adding `paginationModel` to the data requests (`getRows`)
|
|
1061
|
-
* and starts sending `start` and `end` values depending on the loading mode and the scroll position.
|
|
1062
|
-
* @default false
|
|
1063
|
-
*/
|
|
1064
|
-
unstable_lazyLoading: PropTypes.bool,
|
|
1065
|
-
/**
|
|
1066
|
-
* If positive, the Data Grid will throttle data source requests on rendered rows interval change.
|
|
1067
|
-
* @default 500
|
|
1068
|
-
*/
|
|
1069
|
-
unstable_lazyLoadingRequestThrottleMs: PropTypes.number,
|
|
1070
1088
|
/**
|
|
1071
1089
|
* Definition of the column rendered when the `unstable_listView` prop is enabled.
|
|
1072
1090
|
*/
|
|
@@ -1082,12 +1100,6 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
|
|
|
1082
1100
|
* Use in combination with `unstable_listColumn`.
|
|
1083
1101
|
*/
|
|
1084
1102
|
unstable_listView: PropTypes.bool,
|
|
1085
|
-
/**
|
|
1086
|
-
* Callback fired when the data source request fails.
|
|
1087
|
-
* @param {Error} error The error object.
|
|
1088
|
-
* @param {GridGetRowsParams} params With all properties from [[GridGetRowsParams]].
|
|
1089
|
-
*/
|
|
1090
|
-
unstable_onDataSourceError: PropTypes.func,
|
|
1091
1103
|
/**
|
|
1092
1104
|
* If `true`, the Data Grid enables column virtualization when `getRowHeight` is set to `() => 'auto'`.
|
|
1093
1105
|
* By default, column virtualization is disabled when dynamic row height is enabled to measure the row height correctly.
|
|
@@ -7,7 +7,7 @@ import { GRID_AGGREGATION_FUNCTIONS } from "../hooks/features/aggregation/index.
|
|
|
7
7
|
import { DATA_GRID_PREMIUM_DEFAULT_SLOTS_COMPONENTS } from "../constants/dataGridPremiumDefaultSlotsComponents.js";
|
|
8
8
|
const getDataGridPremiumForcedProps = themedProps => _extends({
|
|
9
9
|
signature: GridSignature.DataGridPremium
|
|
10
|
-
}, themedProps.
|
|
10
|
+
}, themedProps.dataSource ? {
|
|
11
11
|
filterMode: 'server',
|
|
12
12
|
sortingMode: 'server',
|
|
13
13
|
paginationMode: 'server'
|
|
@@ -45,7 +45,7 @@ export const useDataGridPremiumProps = inProps => {
|
|
|
45
45
|
defaultSlots,
|
|
46
46
|
slots: themedProps.slots
|
|
47
47
|
}), [themedProps.slots]);
|
|
48
|
-
return React.useMemo(() => _extends({}, DATA_GRID_PREMIUM_PROPS_DEFAULT_VALUES, themedProps.
|
|
48
|
+
return React.useMemo(() => _extends({}, DATA_GRID_PREMIUM_PROPS_DEFAULT_VALUES, themedProps.dataSource ? {
|
|
49
49
|
aggregationFunctions: {}
|
|
50
50
|
} : {}, themedProps, {
|
|
51
51
|
localeText,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { GridColumnHeaderParams } from '@mui/x-data-grid';
|
|
3
|
-
import type
|
|
3
|
+
import { type GridBaseColDef } from '@mui/x-data-grid/internals';
|
|
4
4
|
declare function GridAggregationHeader(props: GridColumnHeaderParams & {
|
|
5
5
|
renderHeader: GridBaseColDef['renderHeader'];
|
|
6
6
|
}): React.JSX.Element | null;
|
|
@@ -5,6 +5,7 @@ import * as React from 'react';
|
|
|
5
5
|
import composeClasses from '@mui/utils/composeClasses';
|
|
6
6
|
import { styled } from '@mui/material/styles';
|
|
7
7
|
import { getDataGridUtilityClass, gridClasses, GridColumnHeaderTitle } from '@mui/x-data-grid';
|
|
8
|
+
import { vars } from '@mui/x-data-grid/internals';
|
|
8
9
|
import { getAggregationFunctionLabel } from "../hooks/features/aggregation/gridAggregationUtils.js";
|
|
9
10
|
import { useGridApiContext } from "../hooks/utils/useGridApiContext.js";
|
|
10
11
|
import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
|
|
@@ -30,17 +31,12 @@ const GridAggregationHeaderRoot = styled('div', {
|
|
|
30
31
|
});
|
|
31
32
|
const GridAggregationFunctionLabel = styled('div', {
|
|
32
33
|
name: 'MuiDataGrid',
|
|
33
|
-
slot: 'AggregationColumnHeaderLabel'
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
fontSize: theme.typography.caption.fontSize,
|
|
40
|
-
lineHeight: 'normal',
|
|
41
|
-
color: theme.palette.text.secondary,
|
|
42
|
-
marginTop: -1
|
|
43
|
-
};
|
|
34
|
+
slot: 'AggregationColumnHeaderLabel'
|
|
35
|
+
})({
|
|
36
|
+
fontSize: vars.typography.small.fontSize,
|
|
37
|
+
lineHeight: 'normal',
|
|
38
|
+
color: vars.colors.foreground.muted,
|
|
39
|
+
marginTop: -1
|
|
44
40
|
});
|
|
45
41
|
const useUtilityClasses = ownerState => {
|
|
46
42
|
const {
|
|
@@ -24,8 +24,8 @@ function GridColumnMenuAggregationItem(props) {
|
|
|
24
24
|
const availableAggregationFunctions = React.useMemo(() => getAvailableAggregationFunctions({
|
|
25
25
|
aggregationFunctions: rootProps.aggregationFunctions,
|
|
26
26
|
colDef,
|
|
27
|
-
isDataSource: !!rootProps.
|
|
28
|
-
}), [colDef, rootProps.aggregationFunctions, rootProps.
|
|
27
|
+
isDataSource: !!rootProps.dataSource
|
|
28
|
+
}), [colDef, rootProps.aggregationFunctions, rootProps.dataSource]);
|
|
29
29
|
const _ref = rootProps.slotProps?.baseSelect || {},
|
|
30
30
|
{
|
|
31
31
|
native: isBaseSelectNative = false
|
|
@@ -41,12 +41,12 @@ function GridColumnMenuAggregationItem(props) {
|
|
|
41
41
|
colDef,
|
|
42
42
|
aggregationFunctionName,
|
|
43
43
|
aggregationFunction: rootProps.aggregationFunctions[aggregationFunctionName],
|
|
44
|
-
isDataSource: !!rootProps.
|
|
44
|
+
isDataSource: !!rootProps.dataSource
|
|
45
45
|
})) {
|
|
46
46
|
return aggregationFunctionName;
|
|
47
47
|
}
|
|
48
48
|
return '';
|
|
49
|
-
}, [rootProps.aggregationFunctions, rootProps.
|
|
49
|
+
}, [rootProps.aggregationFunctions, rootProps.dataSource, aggregationModel, colDef]);
|
|
50
50
|
const handleAggregationItemChange = event => {
|
|
51
51
|
const newAggregationItem = event.target?.value || undefined;
|
|
52
52
|
const currentModel = gridAggregationModelSelector(apiRef);
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { unstable_composeClasses as composeClasses } from '@mui/utils';
|
|
4
|
-
import
|
|
5
|
-
import { useGridPrivateApiContext, gridDataSourceErrorSelector, gridDataSourceLoadingIdSelector, gridRowSelector } from '@mui/x-data-grid-pro/internals';
|
|
4
|
+
import { useGridPrivateApiContext, gridDataSourceErrorSelector, gridDataSourceLoadingIdSelector, gridRowSelector, vars } from '@mui/x-data-grid-pro/internals';
|
|
6
5
|
import { useGridSelector, getDataGridUtilityClass } from '@mui/x-data-grid-pro';
|
|
7
6
|
import { useGridApiContext } from "../hooks/utils/useGridApiContext.js";
|
|
8
7
|
import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
|
|
@@ -33,7 +32,7 @@ function GridGroupingCriteriaCellIcon(props) {
|
|
|
33
32
|
const handleClick = event => {
|
|
34
33
|
if (!rowNode.childrenExpanded) {
|
|
35
34
|
// always fetch/get from cache the children when the node is expanded
|
|
36
|
-
apiRef.current.
|
|
35
|
+
apiRef.current.dataSource.fetchRows(id);
|
|
37
36
|
} else {
|
|
38
37
|
apiRef.current.setRowChildrenExpansion(id, !rowNode.childrenExpanded);
|
|
39
38
|
}
|
|
@@ -83,7 +82,7 @@ export function GridDataSourceGroupingCriteriaCell(props) {
|
|
|
83
82
|
const classes = useUtilityClasses(rootProps);
|
|
84
83
|
let descendantCount = 0;
|
|
85
84
|
if (row) {
|
|
86
|
-
descendantCount = Math.max(rootProps.
|
|
85
|
+
descendantCount = Math.max(rootProps.dataSource?.getChildrenCount?.(row) ?? 0, 0);
|
|
87
86
|
}
|
|
88
87
|
let cellContent;
|
|
89
88
|
const colDef = apiRef.current.getColumn(rowNode.groupingField);
|
|
@@ -98,10 +97,10 @@ export function GridDataSourceGroupingCriteriaCell(props) {
|
|
|
98
97
|
children: rowNode.groupingKey
|
|
99
98
|
});
|
|
100
99
|
}
|
|
101
|
-
return /*#__PURE__*/_jsxs(
|
|
100
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
102
101
|
className: classes.root,
|
|
103
|
-
|
|
104
|
-
|
|
102
|
+
style: {
|
|
103
|
+
marginLeft: rootProps.rowGroupingColumnMode === 'multiple' ? 0 : `calc(var(--DataGrid-cellOffsetMultiplier) * ${vars.spacing(rowNode.depth)})`
|
|
105
104
|
},
|
|
106
105
|
children: [/*#__PURE__*/_jsx("div", {
|
|
107
106
|
className: classes.toggle,
|
|
@@ -3,6 +3,7 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
|
|
|
3
3
|
const _excluded = ["formattedValue", "colDef", "cellMode", "row", "api", "id", "value", "rowNode", "field", "focusElementRef", "hasFocus", "tabIndex", "isEditable"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import { getDataGridUtilityClass } from '@mui/x-data-grid';
|
|
6
|
+
import { vars } from '@mui/x-data-grid/internals';
|
|
6
7
|
import { styled } from '@mui/material/styles';
|
|
7
8
|
import composeClasses from '@mui/utils/composeClasses';
|
|
8
9
|
import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
|
|
@@ -11,12 +12,10 @@ const GridFooterCellRoot = styled('div', {
|
|
|
11
12
|
name: 'MuiDataGrid',
|
|
12
13
|
slot: 'FooterCell',
|
|
13
14
|
overridesResolver: (_, styles) => styles.footerCell
|
|
14
|
-
})(
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
color: (theme.vars || theme).palette.primary.dark
|
|
19
|
-
}));
|
|
15
|
+
})({
|
|
16
|
+
fontWeight: vars.typography.fontWeight.medium,
|
|
17
|
+
color: vars.colors.foreground.accent
|
|
18
|
+
});
|
|
20
19
|
const useUtilityClasses = ownerState => {
|
|
21
20
|
const {
|
|
22
21
|
classes
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import * as React from 'react';
|
|
3
|
+
import { vars } from '@mui/x-data-grid/internals';
|
|
3
4
|
import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
|
|
4
5
|
import { GridFooterCell } from "./GridFooterCell.js";
|
|
5
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -13,7 +14,7 @@ function GridGroupingColumnFooterCell(props) {
|
|
|
13
14
|
} else if (rootProps.rowGroupingColumnMode === 'multiple') {
|
|
14
15
|
sx.ml = 2;
|
|
15
16
|
} else {
|
|
16
|
-
sx.ml =
|
|
17
|
+
sx.ml = `calc(var(--DataGrid-cellOffsetMultiplier) * ${vars.spacing(props.rowNode.depth)})`;
|
|
17
18
|
}
|
|
18
19
|
return /*#__PURE__*/_jsx(GridFooterCell, _extends({
|
|
19
20
|
sx: sx
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import
|
|
2
|
+
import { vars } from '@mui/x-data-grid/internals';
|
|
3
3
|
import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
|
|
4
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
5
|
function GridGroupingColumnLeafCell(props) {
|
|
@@ -7,14 +7,9 @@ function GridGroupingColumnLeafCell(props) {
|
|
|
7
7
|
rowNode
|
|
8
8
|
} = props;
|
|
9
9
|
const rootProps = useGridRootProps();
|
|
10
|
-
return /*#__PURE__*/_jsx(
|
|
11
|
-
sx: [rootProps.rowGroupingColumnMode === 'multiple' ? {
|
|
12
|
-
ml: 1
|
|
13
|
-
} : theme => ({
|
|
14
|
-
ml: `calc(var(--DataGrid-cellOffsetMultiplier) * var(--depth) * ${theme.spacing(1)})`
|
|
15
|
-
})],
|
|
10
|
+
return /*#__PURE__*/_jsx("div", {
|
|
16
11
|
style: {
|
|
17
|
-
'
|
|
12
|
+
marginLeft: rootProps.rowGroupingColumnMode === 'multiple' ? vars.spacing(1) : `calc(var(--DataGrid-cellOffsetMultiplier) * ${vars.spacing(rowNode.depth)})`
|
|
18
13
|
},
|
|
19
14
|
children: props.formattedValue ?? props.value
|
|
20
15
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import composeClasses from '@mui/utils/composeClasses';
|
|
4
|
-
import
|
|
4
|
+
import { vars } from '@mui/x-data-grid/internals';
|
|
5
5
|
import { useGridSelector, gridFilteredDescendantCountLookupSelector, getDataGridUtilityClass } from '@mui/x-data-grid-pro';
|
|
6
6
|
import { useGridApiContext } from "../hooks/utils/useGridApiContext.js";
|
|
7
7
|
import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
|
|
@@ -59,15 +59,10 @@ export function GridGroupingCriteriaCell(props) {
|
|
|
59
59
|
children: rowNode.groupingKey
|
|
60
60
|
});
|
|
61
61
|
}
|
|
62
|
-
return /*#__PURE__*/_jsxs(
|
|
62
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
63
63
|
className: classes.root,
|
|
64
|
-
sx: [rootProps.rowGroupingColumnMode === 'multiple' ? {
|
|
65
|
-
ml: 0
|
|
66
|
-
} : theme => ({
|
|
67
|
-
ml: `calc(var(--DataGrid-cellOffsetMultiplier) * var(--depth) * ${theme.spacing(1)})`
|
|
68
|
-
})],
|
|
69
64
|
style: {
|
|
70
|
-
'
|
|
65
|
+
marginLeft: rootProps.rowGroupingColumnMode === 'multiple' ? 0 : `calc(var(--DataGrid-cellOffsetMultiplier) * ${rowNode.depth} * ${vars.spacing(1)})`
|
|
71
66
|
},
|
|
72
67
|
children: [/*#__PURE__*/_jsx("div", {
|
|
73
68
|
className: classes.toggle,
|
|
@@ -119,10 +119,18 @@ function GridToolbarPromptControl(props) {
|
|
|
119
119
|
sort: s.direction
|
|
120
120
|
})));
|
|
121
121
|
const rows = getVisibleRows(apiRef, rootProps);
|
|
122
|
-
const
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
122
|
+
const rowSelectionModel = {
|
|
123
|
+
type: 'include',
|
|
124
|
+
ids: new Set()
|
|
125
|
+
};
|
|
126
|
+
if (result.select !== -1) {
|
|
127
|
+
for (let i = 0; i < result.select; i += 1) {
|
|
128
|
+
const row = rows.rows[i];
|
|
129
|
+
const id = apiRef.current.getRowId(row);
|
|
130
|
+
rowSelectionModel.ids.add(id);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
apiRef.current.setRowSelectionModel(rowSelectionModel);
|
|
126
134
|
const columns = apiRef.current.getAllColumns();
|
|
127
135
|
const targetIndex = Number(columns.find(c => c.field === GRID_CHECKBOX_SELECTION_FIELD) !== undefined) + Number(result.grouping.length);
|
|
128
136
|
interestColumns.push(...Object.keys(result.aggregation));
|
|
@@ -172,35 +180,29 @@ function GridToolbarPromptControl(props) {
|
|
|
172
180
|
helperText: error,
|
|
173
181
|
slotProps: {
|
|
174
182
|
input: {
|
|
175
|
-
startAdornment: supportsSpeechRecognition && /*#__PURE__*/_jsx(
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
onDone: handleDone,
|
|
185
|
-
onError: setError
|
|
186
|
-
})
|
|
183
|
+
startAdornment: supportsSpeechRecognition && /*#__PURE__*/_jsx(RecordButton, {
|
|
184
|
+
className: classes.recordButton,
|
|
185
|
+
lang: lang,
|
|
186
|
+
recording: isRecording,
|
|
187
|
+
setRecording: setRecording,
|
|
188
|
+
disabled: isLoading,
|
|
189
|
+
onUpdate: setQuery,
|
|
190
|
+
onDone: handleDone,
|
|
191
|
+
onError: setError
|
|
187
192
|
}),
|
|
188
|
-
endAdornment: /*#__PURE__*/_jsx(rootProps.slots.
|
|
189
|
-
|
|
190
|
-
children: /*#__PURE__*/_jsx(
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
children: /*#__PURE__*/_jsx(rootProps.slots.toolbarPromptSendIcon, {
|
|
202
|
-
fontSize: "small"
|
|
203
|
-
})
|
|
193
|
+
endAdornment: /*#__PURE__*/_jsx(rootProps.slots.baseTooltip, {
|
|
194
|
+
title: apiRef.current.getLocaleText('toolbarPromptControlSendActionLabel'),
|
|
195
|
+
children: /*#__PURE__*/_jsx("div", {
|
|
196
|
+
children: /*#__PURE__*/_jsx(rootProps.slots.baseIconButton, {
|
|
197
|
+
className: classes.sendButton,
|
|
198
|
+
disabled: isLoading || isRecording || query === '',
|
|
199
|
+
color: "primary",
|
|
200
|
+
onClick: processPrompt,
|
|
201
|
+
size: "small",
|
|
202
|
+
"aria-label": apiRef.current.getLocaleText('toolbarPromptControlSendActionAriaLabel'),
|
|
203
|
+
edge: "end",
|
|
204
|
+
children: /*#__PURE__*/_jsx(rootProps.slots.toolbarPromptSendIcon, {
|
|
205
|
+
fontSize: "small"
|
|
204
206
|
})
|
|
205
207
|
})
|
|
206
208
|
})
|
|
@@ -3,4 +3,4 @@ import { GridStateInitializer } from '@mui/x-data-grid-pro/internals';
|
|
|
3
3
|
import { DataGridPremiumProcessedProps } from "../../../models/dataGridPremiumProps.js";
|
|
4
4
|
import { GridPrivateApiPremium } from "../../../models/gridApiPremium.js";
|
|
5
5
|
export declare const aggregationStateInitializer: GridStateInitializer<Pick<DataGridPremiumProcessedProps, 'aggregationModel' | 'initialState'>, GridPrivateApiPremium>;
|
|
6
|
-
export declare const useGridAggregation: (apiRef: RefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "onAggregationModelChange" | "initialState" | "aggregationModel" | "getAggregationPosition" | "aggregationFunctions" | "aggregationRowsScope" | "disableAggregation" | "rowGroupingColumnMode" | "
|
|
6
|
+
export declare const useGridAggregation: (apiRef: RefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "onAggregationModelChange" | "initialState" | "aggregationModel" | "getAggregationPosition" | "aggregationFunctions" | "aggregationRowsScope" | "disableAggregation" | "rowGroupingColumnMode" | "dataSource">) => void;
|