@mui/x-data-grid 8.0.0-alpha.3 → 8.0.0-alpha.5
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 +377 -0
- package/DataGrid/DataGrid.js +7 -11
- package/DataGrid/useDataGridProps.js +3 -3
- package/README.md +1 -1
- package/components/GridRow.js +13 -2
- package/components/cell/GridActionsCell.js +8 -1
- package/components/cell/GridActionsCellItem.js +4 -6
- package/components/cell/GridCell.js +1 -1
- package/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +6 -11
- package/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +6 -11
- package/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +6 -11
- package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +13 -22
- package/components/panel/GridColumnsPanel.js +1 -2
- package/components/panel/GridPanelContent.js +7 -3
- package/components/panel/GridPanelFooter.d.ts +1 -1
- package/components/panel/GridPanelFooter.js +4 -3
- package/components/panel/filterPanel/GridFilterForm.js +15 -15
- package/components/toolbar/GridToolbarDensitySelector.js +3 -5
- package/components/toolbar/GridToolbarFilterButton.d.ts +1 -1
- package/components/toolbar/GridToolbarFilterButton.js +3 -0
- package/components/toolbar/GridToolbarQuickFilter.js +27 -23
- package/components/virtualization/GridMainContainer.js +1 -1
- package/constants/dataGridPropsDefaultValues.js +1 -1
- package/hooks/core/useGridStateInitialization.js +3 -3
- package/hooks/features/columnGrouping/gridColumnGroupsSelector.d.ts +4 -4
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +10 -3
- package/hooks/features/columnResize/columnResizeSelector.d.ts +1 -1
- package/hooks/features/columnResize/gridColumnResizeApi.d.ts +6 -0
- package/hooks/features/columnResize/gridColumnResizeApi.js +2 -1
- package/hooks/features/columnResize/useGridColumnResize.d.ts +1 -1
- package/hooks/features/columnResize/useGridColumnResize.js +9 -4
- package/hooks/features/columns/gridColumnsSelector.d.ts +12 -12
- package/hooks/features/columns/gridColumnsUtils.d.ts +1 -1
- package/hooks/features/columns/gridColumnsUtils.js +2 -1
- package/hooks/features/density/densitySelector.d.ts +1 -1
- package/hooks/features/filter/gridFilterSelector.d.ts +17 -17
- package/hooks/features/filter/useGridFilter.js +1 -1
- package/hooks/features/focus/gridFocusStateSelector.d.ts +8 -8
- package/hooks/features/headerFiltering/gridHeaderFilteringSelectors.d.ts +3 -3
- package/hooks/features/overlays/useGridOverlays.js +3 -1
- package/hooks/features/pagination/gridPaginationSelector.d.ts +15 -9
- package/hooks/features/rowSelection/gridRowSelectionSelector.d.ts +3 -3
- package/hooks/features/rowSelection/useGridRowSelection.js +5 -4
- package/hooks/features/rowSelection/utils.d.ts +1 -1
- package/hooks/features/rows/gridRowSpanningSelectors.d.ts +3 -3
- package/hooks/features/rows/gridRowsSelector.d.ts +23 -12
- package/hooks/features/rows/useGridRowSpanning.d.ts +1 -1
- package/hooks/features/rows/useGridRowSpanning.js +16 -8
- package/hooks/features/rows/useGridRows.js +5 -5
- package/hooks/features/sorting/gridSortingSelector.d.ts +10 -5
- package/hooks/features/sorting/gridSortingSelector.js +11 -0
- package/hooks/features/sorting/index.d.ts +2 -1
- package/hooks/features/sorting/index.js +1 -1
- package/hooks/features/sorting/useGridSorting.js +1 -1
- package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +5 -5
- package/hooks/features/virtualization/useGridVirtualScroller.js +11 -8
- package/hooks/utils/useGridSelector.d.ts +4 -6
- package/hooks/utils/useGridSelector.js +6 -44
- package/index.js +1 -1
- package/internals/index.d.ts +2 -2
- package/internals/index.js +2 -2
- package/internals/utils/index.d.ts +0 -1
- package/internals/utils/index.js +0 -1
- package/locales/koKR.js +45 -49
- package/locales/roRO.js +18 -20
- package/material/index.js +30 -4
- package/models/api/gridStateApi.d.ts +1 -1
- package/models/controlStateItem.d.ts +2 -2
- package/models/gridBaseSlots.d.ts +21 -0
- package/models/gridBaseSlots.js +1 -0
- package/models/gridSlotsComponentsProps.d.ts +25 -5
- package/models/props/DataGridProps.d.ts +1 -6
- package/modern/DataGrid/DataGrid.js +7 -11
- package/modern/DataGrid/useDataGridProps.js +3 -3
- package/modern/components/GridRow.js +13 -2
- package/modern/components/cell/GridActionsCell.js +8 -1
- package/modern/components/cell/GridActionsCellItem.js +4 -6
- package/modern/components/cell/GridCell.js +1 -1
- package/modern/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +6 -11
- package/modern/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +6 -11
- package/modern/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +6 -11
- package/modern/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +13 -22
- package/modern/components/panel/GridColumnsPanel.js +1 -2
- package/modern/components/panel/GridPanelContent.js +7 -3
- package/modern/components/panel/GridPanelFooter.js +4 -3
- package/modern/components/panel/filterPanel/GridFilterForm.js +15 -15
- package/modern/components/toolbar/GridToolbarDensitySelector.js +3 -5
- package/modern/components/toolbar/GridToolbarFilterButton.js +3 -0
- package/modern/components/toolbar/GridToolbarQuickFilter.js +27 -23
- package/modern/components/virtualization/GridMainContainer.js +1 -1
- package/modern/constants/dataGridPropsDefaultValues.js +1 -1
- package/modern/hooks/core/useGridStateInitialization.js +3 -3
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +10 -3
- package/modern/hooks/features/columnResize/gridColumnResizeApi.js +2 -1
- package/modern/hooks/features/columnResize/useGridColumnResize.js +9 -4
- package/modern/hooks/features/columns/gridColumnsUtils.js +2 -1
- package/modern/hooks/features/filter/useGridFilter.js +1 -1
- package/modern/hooks/features/overlays/useGridOverlays.js +3 -1
- package/modern/hooks/features/rowSelection/useGridRowSelection.js +5 -4
- package/modern/hooks/features/rows/useGridRowSpanning.js +16 -8
- package/modern/hooks/features/rows/useGridRows.js +5 -5
- package/modern/hooks/features/sorting/gridSortingSelector.js +11 -0
- package/modern/hooks/features/sorting/index.js +1 -1
- package/modern/hooks/features/sorting/useGridSorting.js +1 -1
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +11 -8
- package/modern/hooks/utils/useGridSelector.js +6 -44
- package/modern/index.js +1 -1
- package/modern/internals/index.js +2 -2
- package/modern/internals/utils/index.js +0 -1
- package/modern/locales/koKR.js +45 -49
- package/modern/locales/roRO.js +18 -20
- package/modern/material/index.js +30 -4
- package/modern/models/gridBaseSlots.js +1 -0
- package/modern/utils/createSelector.js +1 -120
- package/node/DataGrid/DataGrid.js +7 -11
- package/node/DataGrid/useDataGridProps.js +2 -2
- package/node/components/GridRow.js +13 -2
- package/node/components/cell/GridActionsCell.js +8 -1
- package/node/components/cell/GridActionsCellItem.js +3 -5
- package/node/components/cell/GridCell.js +1 -1
- package/node/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +5 -10
- package/node/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +5 -10
- package/node/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +5 -10
- package/node/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +13 -22
- package/node/components/panel/GridColumnsPanel.js +1 -2
- package/node/components/panel/GridPanelContent.js +7 -3
- package/node/components/panel/GridPanelFooter.js +5 -4
- package/node/components/panel/filterPanel/GridFilterForm.js +15 -15
- package/node/components/toolbar/GridToolbarDensitySelector.js +3 -5
- package/node/components/toolbar/GridToolbarFilterButton.js +3 -0
- package/node/components/toolbar/GridToolbarQuickFilter.js +27 -23
- package/node/components/virtualization/GridMainContainer.js +1 -1
- package/node/constants/dataGridPropsDefaultValues.js +1 -1
- package/node/hooks/core/useGridStateInitialization.js +3 -3
- package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +10 -3
- package/node/hooks/features/columnResize/gridColumnResizeApi.js +2 -1
- package/node/hooks/features/columnResize/useGridColumnResize.js +9 -4
- package/node/hooks/features/columns/gridColumnsUtils.js +2 -1
- package/node/hooks/features/filter/useGridFilter.js +1 -1
- package/node/hooks/features/overlays/useGridOverlays.js +3 -1
- package/node/hooks/features/rowSelection/useGridRowSelection.js +5 -4
- package/node/hooks/features/rows/useGridRowSpanning.js +16 -8
- package/node/hooks/features/rows/useGridRows.js +5 -5
- package/node/hooks/features/sorting/gridSortingSelector.js +12 -1
- package/node/hooks/features/sorting/index.js +24 -16
- package/node/hooks/features/sorting/useGridSorting.js +1 -1
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +11 -8
- package/node/hooks/utils/useGridSelector.js +8 -47
- package/node/index.js +1 -1
- package/node/internals/index.js +8 -22
- package/node/internals/utils/index.js +0 -11
- package/node/locales/koKR.js +45 -49
- package/node/locales/roRO.js +18 -20
- package/node/material/index.js +31 -4
- package/node/models/gridBaseSlots.js +5 -0
- package/node/utils/createSelector.js +4 -125
- package/package.json +2 -2
- package/utils/createSelector.d.ts +4 -16
- package/utils/createSelector.js +1 -120
- package/internals/utils/useProps.d.ts +0 -1
- package/internals/utils/useProps.js +0 -24
- package/joy/icons.d.ts +0 -32
- package/joy/icons.js +0 -431
- package/joy/index.d.ts +0 -2
- package/joy/index.js +0 -2
- package/joy/joySlots.d.ts +0 -3
- package/joy/joySlots.js +0 -389
- package/joy/package.json +0 -6
- package/modern/internals/utils/useProps.js +0 -24
- package/modern/joy/icons.js +0 -431
- package/modern/joy/index.js +0 -2
- package/modern/joy/joySlots.js +0 -389
- package/node/internals/utils/useProps.js +0 -30
- package/node/joy/icons.js +0 -439
- package/node/joy/index.js +0 -13
- package/node/joy/joySlots.js +0 -397
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
import ListItemIcon from '@mui/material/ListItemIcon';
|
|
4
|
-
import ListItemText from '@mui/material/ListItemText';
|
|
5
3
|
import { GridPreferencePanelsValue } from "../../../../hooks/features/preferencesPanel/gridPreferencePanelsValue.js";
|
|
6
4
|
import { useGridApiContext } from "../../../../hooks/utils/useGridApiContext.js";
|
|
7
5
|
import { useGridRootProps } from "../../../../hooks/utils/useGridRootProps.js";
|
|
8
|
-
import { jsx as _jsx
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
7
|
function GridColumnMenuManageItem(props) {
|
|
10
8
|
const {
|
|
11
9
|
onClick
|
|
@@ -19,15 +17,12 @@ function GridColumnMenuManageItem(props) {
|
|
|
19
17
|
if (rootProps.disableColumnSelector) {
|
|
20
18
|
return null;
|
|
21
19
|
}
|
|
22
|
-
return /*#__PURE__*/
|
|
20
|
+
return /*#__PURE__*/_jsx(rootProps.slots.baseMenuItem, {
|
|
23
21
|
onClick: showColumns,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}), /*#__PURE__*/_jsx(ListItemText, {
|
|
29
|
-
children: apiRef.current.getLocaleText('columnMenuManageColumns')
|
|
30
|
-
})]
|
|
22
|
+
iconStart: /*#__PURE__*/_jsx(rootProps.slots.columnMenuManageColumnsIcon, {
|
|
23
|
+
fontSize: "small"
|
|
24
|
+
}),
|
|
25
|
+
children: apiRef.current.getLocaleText('columnMenuManageColumns')
|
|
31
26
|
});
|
|
32
27
|
}
|
|
33
28
|
process.env.NODE_ENV !== "production" ? GridColumnMenuManageItem.propTypes = {
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
import ListItemIcon from '@mui/material/ListItemIcon';
|
|
4
|
-
import ListItemText from '@mui/material/ListItemText';
|
|
5
3
|
import { useGridSelector } from "../../../../hooks/utils/useGridSelector.js";
|
|
6
4
|
import { gridSortModelSelector } from "../../../../hooks/features/sorting/gridSortingSelector.js";
|
|
7
5
|
import { useGridApiContext } from "../../../../hooks/utils/useGridApiContext.js";
|
|
@@ -36,31 +34,24 @@ function GridColumnMenuSortItem(props) {
|
|
|
36
34
|
return typeof label === 'function' ? label(colDef) : label;
|
|
37
35
|
};
|
|
38
36
|
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
39
|
-
children: [sortingOrder.includes('asc') && sortDirection !== 'asc' ? /*#__PURE__*/
|
|
37
|
+
children: [sortingOrder.includes('asc') && sortDirection !== 'asc' ? /*#__PURE__*/_jsx(rootProps.slots.baseMenuItem, {
|
|
40
38
|
onClick: onSortMenuItemClick,
|
|
41
39
|
"data-value": "asc",
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
children: getLabel('columnMenuSortAsc')
|
|
48
|
-
})]
|
|
49
|
-
}) : null, sortingOrder.includes('desc') && sortDirection !== 'desc' ? /*#__PURE__*/_jsxs(rootProps.slots.baseMenuItem, {
|
|
40
|
+
iconStart: /*#__PURE__*/_jsx(rootProps.slots.columnMenuSortAscendingIcon, {
|
|
41
|
+
fontSize: "small"
|
|
42
|
+
}),
|
|
43
|
+
children: getLabel('columnMenuSortAsc')
|
|
44
|
+
}) : null, sortingOrder.includes('desc') && sortDirection !== 'desc' ? /*#__PURE__*/_jsx(rootProps.slots.baseMenuItem, {
|
|
50
45
|
onClick: onSortMenuItemClick,
|
|
51
46
|
"data-value": "desc",
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
children: getLabel('columnMenuSortDesc')
|
|
58
|
-
})]
|
|
59
|
-
}) : null, sortingOrder.includes(null) && sortDirection != null ? /*#__PURE__*/_jsxs(rootProps.slots.baseMenuItem, {
|
|
47
|
+
iconStart: /*#__PURE__*/_jsx(rootProps.slots.columnMenuSortDescendingIcon, {
|
|
48
|
+
fontSize: "small"
|
|
49
|
+
}),
|
|
50
|
+
children: getLabel('columnMenuSortDesc')
|
|
51
|
+
}) : null, sortingOrder.includes(null) && sortDirection != null ? /*#__PURE__*/_jsx(rootProps.slots.baseMenuItem, {
|
|
60
52
|
onClick: onSortMenuItemClick,
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
})]
|
|
53
|
+
iconStart: "",
|
|
54
|
+
children: apiRef.current.getLocaleText('columnMenuUnsort')
|
|
64
55
|
}) : null]
|
|
65
56
|
});
|
|
66
57
|
}
|
|
@@ -2,13 +2,12 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import { GridPanelWrapper } from "./GridPanelWrapper.js";
|
|
5
|
-
import { GridColumnsManagement } from "../columnsManagement/index.js";
|
|
6
5
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
7
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
7
|
function GridColumnsPanel(props) {
|
|
9
8
|
const rootProps = useGridRootProps();
|
|
10
9
|
return /*#__PURE__*/_jsx(GridPanelWrapper, _extends({}, props, {
|
|
11
|
-
children: /*#__PURE__*/_jsx(
|
|
10
|
+
children: /*#__PURE__*/_jsx(rootProps.slots.columnsManagement, _extends({}, rootProps.slotProps?.columnsManagement))
|
|
12
11
|
}));
|
|
13
12
|
}
|
|
14
13
|
process.env.NODE_ENV !== "production" ? GridColumnsPanel.propTypes = {
|
|
@@ -22,13 +22,17 @@ const GridPanelContentRoot = styled('div', {
|
|
|
22
22
|
name: 'MuiDataGrid',
|
|
23
23
|
slot: 'PanelContent',
|
|
24
24
|
overridesResolver: (props, styles) => styles.panelContent
|
|
25
|
-
})({
|
|
25
|
+
})(({
|
|
26
|
+
theme
|
|
27
|
+
}) => ({
|
|
26
28
|
display: 'flex',
|
|
27
29
|
flexDirection: 'column',
|
|
28
30
|
overflow: 'auto',
|
|
29
31
|
flex: '1 1',
|
|
30
|
-
maxHeight: 400
|
|
31
|
-
|
|
32
|
+
maxHeight: 400,
|
|
33
|
+
padding: theme.spacing(2.5, 1.5, 2, 1),
|
|
34
|
+
gap: theme.spacing(2.5)
|
|
35
|
+
}));
|
|
32
36
|
function GridPanelContent(props) {
|
|
33
37
|
const {
|
|
34
38
|
className
|
|
@@ -4,7 +4,7 @@ const _excluded = ["className"];
|
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import clsx from 'clsx';
|
|
7
|
-
import { styled } from '@mui/
|
|
7
|
+
import { styled } from '@mui/material/styles';
|
|
8
8
|
import composeClasses from '@mui/utils/composeClasses';
|
|
9
9
|
import { getDataGridUtilityClass } from "../../constants/gridClasses.js";
|
|
10
10
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
@@ -25,9 +25,10 @@ const GridPanelFooterRoot = styled('div', {
|
|
|
25
25
|
})(({
|
|
26
26
|
theme
|
|
27
27
|
}) => ({
|
|
28
|
-
padding: theme.spacing(
|
|
28
|
+
padding: theme.spacing(1),
|
|
29
29
|
display: 'flex',
|
|
30
|
-
justifyContent: 'space-between'
|
|
30
|
+
justifyContent: 'space-between',
|
|
31
|
+
borderTop: `1px solid ${theme.palette.divider}`
|
|
31
32
|
}));
|
|
32
33
|
function GridPanelFooter(props) {
|
|
33
34
|
const {
|
|
@@ -39,27 +39,22 @@ const GridFilterFormRoot = styled('div', {
|
|
|
39
39
|
theme
|
|
40
40
|
}) => ({
|
|
41
41
|
display: 'flex',
|
|
42
|
-
|
|
42
|
+
gap: theme.spacing(1.5)
|
|
43
43
|
}));
|
|
44
44
|
const FilterFormDeleteIcon = styled('div', {
|
|
45
45
|
name: 'MuiDataGrid',
|
|
46
46
|
slot: 'FilterFormDeleteIcon',
|
|
47
47
|
overridesResolver: (_, styles) => styles.filterFormDeleteIcon
|
|
48
|
-
})(
|
|
49
|
-
theme
|
|
50
|
-
}) => ({
|
|
48
|
+
})({
|
|
51
49
|
flexShrink: 0,
|
|
52
|
-
justifyContent: '
|
|
53
|
-
|
|
54
|
-
marginBottom: theme.spacing(0.2)
|
|
55
|
-
}));
|
|
50
|
+
justifyContent: 'center'
|
|
51
|
+
});
|
|
56
52
|
const FilterFormLogicOperatorInput = styled('div', {
|
|
57
53
|
name: 'MuiDataGrid',
|
|
58
54
|
slot: 'FilterFormLogicOperatorInput',
|
|
59
55
|
overridesResolver: (_, styles) => styles.filterFormLogicOperatorInput
|
|
60
56
|
})({
|
|
61
|
-
minWidth:
|
|
62
|
-
marginRight: 5,
|
|
57
|
+
minWidth: 75,
|
|
63
58
|
justifyContent: 'end'
|
|
64
59
|
});
|
|
65
60
|
const FilterFormColumnInput = styled('div', {
|
|
@@ -261,7 +256,6 @@ const GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(pro
|
|
|
261
256
|
ownerState: rootProps
|
|
262
257
|
}, other, {
|
|
263
258
|
children: [/*#__PURE__*/_jsx(FilterFormDeleteIcon, _extends({
|
|
264
|
-
variant: "standard",
|
|
265
259
|
as: rootProps.slots.baseFormControl
|
|
266
260
|
}, baseFormControlProps, deleteIconProps, {
|
|
267
261
|
className: clsx(classes.deleteIcon, baseFormControlProps.className, deleteIconProps.className),
|
|
@@ -278,7 +272,8 @@ const GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(pro
|
|
|
278
272
|
})
|
|
279
273
|
}))
|
|
280
274
|
})), /*#__PURE__*/_jsx(FilterFormLogicOperatorInput, _extends({
|
|
281
|
-
variant: "
|
|
275
|
+
variant: "outlined",
|
|
276
|
+
size: "small",
|
|
282
277
|
as: rootProps.slots.baseFormControl
|
|
283
278
|
}, baseFormControlProps, logicOperatorInputProps, {
|
|
284
279
|
sx: [hasLogicOperatorColumn ? {
|
|
@@ -308,7 +303,8 @@ const GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(pro
|
|
|
308
303
|
}), apiRef.current.getLocaleText(getLogicOperatorLocaleKey(logicOperator))))
|
|
309
304
|
}))
|
|
310
305
|
})), /*#__PURE__*/_jsxs(FilterFormColumnInput, _extends({
|
|
311
|
-
variant: "
|
|
306
|
+
variant: "outlined",
|
|
307
|
+
size: "small",
|
|
312
308
|
as: rootProps.slots.baseFormControl
|
|
313
309
|
}, baseFormControlProps, columnInputProps, {
|
|
314
310
|
className: clsx(classes.columnInput, baseFormControlProps.className, columnInputProps.className),
|
|
@@ -333,7 +329,8 @@ const GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(pro
|
|
|
333
329
|
}), getColumnLabel(col)))
|
|
334
330
|
}))]
|
|
335
331
|
})), /*#__PURE__*/_jsxs(FilterFormOperatorInput, _extends({
|
|
336
|
-
variant: "
|
|
332
|
+
variant: "outlined",
|
|
333
|
+
size: "small",
|
|
337
334
|
as: rootProps.slots.baseFormControl
|
|
338
335
|
}, baseFormControlProps, operatorInputProps, {
|
|
339
336
|
className: clsx(classes.operatorInput, baseFormControlProps.className, operatorInputProps.className),
|
|
@@ -359,12 +356,15 @@ const GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(pro
|
|
|
359
356
|
}), operator.label || apiRef.current.getLocaleText(`filterOperator${capitalize(operator.value)}`)))
|
|
360
357
|
}))]
|
|
361
358
|
})), /*#__PURE__*/_jsx(FilterFormValueInput, _extends({
|
|
362
|
-
variant: "
|
|
359
|
+
variant: "outlined",
|
|
360
|
+
size: "small",
|
|
363
361
|
as: rootProps.slots.baseFormControl
|
|
364
362
|
}, baseFormControlProps, valueInputPropsOther, {
|
|
365
363
|
className: clsx(classes.valueInput, baseFormControlProps.className, valueInputPropsOther.className),
|
|
366
364
|
ownerState: rootProps,
|
|
367
365
|
children: currentOperator?.InputComponent ? /*#__PURE__*/_jsx(currentOperator.InputComponent, _extends({
|
|
366
|
+
variant: "outlined",
|
|
367
|
+
size: "small",
|
|
368
368
|
apiRef: apiRef,
|
|
369
369
|
item: item,
|
|
370
370
|
applyValue: applyFilterChanges,
|
|
@@ -2,7 +2,6 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import { unstable_useId as useId, unstable_useForkRef as useForkRef } from '@mui/utils';
|
|
5
|
-
import ListItemIcon from '@mui/material/ListItemIcon';
|
|
6
5
|
import { gridDensitySelector } from "../../hooks/features/density/densitySelector.js";
|
|
7
6
|
import { isHideMenuKey } from "../../utils/keyboardUtils.js";
|
|
8
7
|
import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
|
|
@@ -72,12 +71,11 @@ const GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function GridTo
|
|
|
72
71
|
if (rootProps.disableDensitySelector) {
|
|
73
72
|
return null;
|
|
74
73
|
}
|
|
75
|
-
const densityElements = densityOptions.map((option, index) => /*#__PURE__*/
|
|
74
|
+
const densityElements = densityOptions.map((option, index) => /*#__PURE__*/_jsx(rootProps.slots.baseMenuItem, {
|
|
76
75
|
onClick: () => handleDensityUpdate(option.value),
|
|
77
76
|
selected: option.value === density,
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
}), option.label]
|
|
77
|
+
iconStart: option.icon,
|
|
78
|
+
children: option.label
|
|
81
79
|
}, index));
|
|
82
80
|
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
83
81
|
children: [/*#__PURE__*/_jsx(rootProps.slots.baseTooltip, _extends({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { ButtonProps } from '@mui/material/Button';
|
|
3
3
|
import { TooltipProps } from '@mui/material/Tooltip';
|
|
4
|
-
import { BadgeProps } from '
|
|
4
|
+
import { BadgeProps } from '../../models/gridBaseSlots';
|
|
5
5
|
export interface GridToolbarFilterButtonProps {
|
|
6
6
|
/**
|
|
7
7
|
* The props used for each slot inside.
|
|
@@ -31,6 +31,9 @@ const GridToolbarFilterListRoot = styled('ul', {
|
|
|
31
31
|
margin: theme.spacing(1, 1, 0.5),
|
|
32
32
|
padding: theme.spacing(0, 1)
|
|
33
33
|
}));
|
|
34
|
+
|
|
35
|
+
// FIXME(v8:romgrk): override slotProps
|
|
36
|
+
|
|
34
37
|
const GridToolbarFilterButton = /*#__PURE__*/React.forwardRef(function GridToolbarFilterButton(props, ref) {
|
|
35
38
|
const {
|
|
36
39
|
slotProps = {}
|
|
@@ -8,6 +8,7 @@ import TextField from '@mui/material/TextField';
|
|
|
8
8
|
import { styled } from '@mui/material/styles';
|
|
9
9
|
import { unstable_debounce as debounce } from '@mui/utils';
|
|
10
10
|
import composeClasses from '@mui/utils/composeClasses';
|
|
11
|
+
import { outlinedInputClasses } from '@mui/material/OutlinedInput';
|
|
11
12
|
import { getDataGridUtilityClass } from "../../constants/index.js";
|
|
12
13
|
import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
|
|
13
14
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
@@ -31,13 +32,8 @@ const GridToolbarQuickFilterRoot = styled(TextField, {
|
|
|
31
32
|
})(({
|
|
32
33
|
theme
|
|
33
34
|
}) => ({
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
'& input': {
|
|
37
|
-
marginLeft: theme.spacing(0.5)
|
|
38
|
-
},
|
|
39
|
-
'& .MuiInput-underline:before': {
|
|
40
|
-
borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`
|
|
35
|
+
[`.${outlinedInputClasses.root}`]: {
|
|
36
|
+
fontSize: theme.typography.body2.fontSize
|
|
41
37
|
},
|
|
42
38
|
[`& input[type="search"]::-webkit-search-decoration,
|
|
43
39
|
& input[type="search"]::-webkit-search-cancel-button,
|
|
@@ -91,7 +87,8 @@ function GridToolbarQuickFilter(props) {
|
|
|
91
87
|
return /*#__PURE__*/_jsx(GridToolbarQuickFilterRoot, _extends({
|
|
92
88
|
as: rootProps.slots.baseTextField,
|
|
93
89
|
ownerState: rootProps,
|
|
94
|
-
variant: "
|
|
90
|
+
variant: "outlined",
|
|
91
|
+
size: "small",
|
|
95
92
|
value: searchValue,
|
|
96
93
|
onChange: handleSearchValueChange,
|
|
97
94
|
className: clsx(classes.root, className),
|
|
@@ -100,23 +97,30 @@ function GridToolbarQuickFilter(props) {
|
|
|
100
97
|
type: "search"
|
|
101
98
|
}, other, {
|
|
102
99
|
InputProps: _extends({
|
|
103
|
-
startAdornment: /*#__PURE__*/_jsx(rootProps.slots.
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
endAdornment: /*#__PURE__*/_jsx(rootProps.slots.baseIconButton, _extends({
|
|
107
|
-
"aria-label": apiRef.current.getLocaleText('toolbarQuickFilterDeleteIconLabel'),
|
|
108
|
-
size: "small",
|
|
109
|
-
sx: [searchValue ? {
|
|
110
|
-
visibility: 'visible'
|
|
111
|
-
} : {
|
|
112
|
-
visibility: 'hidden'
|
|
113
|
-
}],
|
|
114
|
-
onClick: handleSearchReset
|
|
115
|
-
}, rootProps.slotProps?.baseIconButton, {
|
|
116
|
-
children: /*#__PURE__*/_jsx(rootProps.slots.quickFilterClearIcon, {
|
|
100
|
+
startAdornment: /*#__PURE__*/_jsx(rootProps.slots.baseInputAdornment, {
|
|
101
|
+
position: "start",
|
|
102
|
+
children: /*#__PURE__*/_jsx(rootProps.slots.quickFilterIcon, {
|
|
117
103
|
fontSize: "small"
|
|
118
104
|
})
|
|
119
|
-
})
|
|
105
|
+
}),
|
|
106
|
+
endAdornment: /*#__PURE__*/_jsx(rootProps.slots.baseInputAdornment, {
|
|
107
|
+
position: "end",
|
|
108
|
+
children: /*#__PURE__*/_jsx(rootProps.slots.baseIconButton, _extends({
|
|
109
|
+
"aria-label": apiRef.current.getLocaleText('toolbarQuickFilterDeleteIconLabel'),
|
|
110
|
+
size: "small",
|
|
111
|
+
edge: "end",
|
|
112
|
+
sx: [searchValue ? {
|
|
113
|
+
visibility: 'visible'
|
|
114
|
+
} : {
|
|
115
|
+
visibility: 'hidden'
|
|
116
|
+
}],
|
|
117
|
+
onClick: handleSearchReset
|
|
118
|
+
}, rootProps.slotProps?.baseIconButton, {
|
|
119
|
+
children: /*#__PURE__*/_jsx(rootProps.slots.quickFilterClearIcon, {
|
|
120
|
+
fontSize: "small"
|
|
121
|
+
})
|
|
122
|
+
}))
|
|
123
|
+
})
|
|
120
124
|
}, other.InputProps)
|
|
121
125
|
}, rootProps.slotProps?.baseTextField));
|
|
122
126
|
}
|
|
@@ -30,7 +30,7 @@ export const GridMainContainer = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
30
30
|
ownerState: rootProps,
|
|
31
31
|
className: props.className,
|
|
32
32
|
tabIndex: -1
|
|
33
|
-
}, ariaAttributes, {
|
|
33
|
+
}, ariaAttributes, rootProps.slotProps?.main, {
|
|
34
34
|
children: [/*#__PURE__*/_jsx(GridPanelAnchor, {
|
|
35
35
|
role: "presentation",
|
|
36
36
|
"data-id": "gridPanelAnchor"
|
|
@@ -48,11 +48,11 @@ export const DATA_GRID_PROPS_DEFAULT_VALUES = {
|
|
|
48
48
|
rows: [],
|
|
49
49
|
rowSelection: true,
|
|
50
50
|
rowSpacingType: 'margin',
|
|
51
|
+
rowSpanning: false,
|
|
51
52
|
showCellVerticalBorder: false,
|
|
52
53
|
showColumnVerticalBorder: false,
|
|
53
54
|
sortingMode: 'client',
|
|
54
55
|
sortingOrder: ['asc', 'desc', null],
|
|
55
56
|
throttleRowsMs: 0,
|
|
56
|
-
unstable_rowSpanning: false,
|
|
57
57
|
virtualizeColumnsWithAutoRowHeight: false
|
|
58
58
|
};
|
|
@@ -24,8 +24,8 @@ export const useGridStateInitialization = apiRef => {
|
|
|
24
24
|
const updatedControlStateIds = [];
|
|
25
25
|
Object.keys(controlStateMapRef.current).forEach(stateId => {
|
|
26
26
|
const controlState = controlStateMapRef.current[stateId];
|
|
27
|
-
const oldSubState = controlState.stateSelector(apiRef.current.state, apiRef.current.instanceId);
|
|
28
|
-
const newSubState = controlState.stateSelector(newState, apiRef.current.instanceId);
|
|
27
|
+
const oldSubState = controlState.stateSelector(apiRef.current.state, undefined, apiRef.current.instanceId);
|
|
28
|
+
const newSubState = controlState.stateSelector(newState, undefined, apiRef.current.instanceId);
|
|
29
29
|
if (newSubState === oldSubState) {
|
|
30
30
|
return;
|
|
31
31
|
}
|
|
@@ -57,7 +57,7 @@ export const useGridStateInitialization = apiRef => {
|
|
|
57
57
|
hasPropChanged
|
|
58
58
|
} = updatedControlStateIds[0];
|
|
59
59
|
const controlState = controlStateMapRef.current[stateId];
|
|
60
|
-
const model = controlState.stateSelector(newState, apiRef.current.instanceId);
|
|
60
|
+
const model = controlState.stateSelector(newState, undefined, apiRef.current.instanceId);
|
|
61
61
|
if (controlState.propOnChange && hasPropChanged) {
|
|
62
62
|
controlState.propOnChange(model, {
|
|
63
63
|
reason,
|
|
@@ -4,9 +4,9 @@ import { GridStateCommunity } from '../../../models/gridStateCommunity';
|
|
|
4
4
|
* @ignore - do not document.
|
|
5
5
|
*/
|
|
6
6
|
export declare const gridColumnGroupingSelector: (state: GridStateCommunity) => import("./gridColumnGroupsInterfaces").GridColumnsGroupingState;
|
|
7
|
-
export declare const gridColumnGroupsUnwrappedModelSelector: import("../../..").OutputSelector<GridStateCommunity, {
|
|
7
|
+
export declare const gridColumnGroupsUnwrappedModelSelector: import("../../..").OutputSelector<GridStateCommunity, import("./gridColumnGroupsInterfaces").GridColumnsGroupingState, {
|
|
8
8
|
[columnField: string]: string[];
|
|
9
9
|
}>;
|
|
10
|
-
export declare const gridColumnGroupsLookupSelector: import("../../..").OutputSelector<GridStateCommunity, import("./gridColumnGroupsInterfaces").GridColumnGroupLookup>;
|
|
11
|
-
export declare const gridColumnGroupsHeaderStructureSelector: import("../../..").OutputSelector<GridStateCommunity, import("./gridColumnGroupsInterfaces").GridGroupingStructure[][]>;
|
|
12
|
-
export declare const gridColumnGroupsHeaderMaxDepthSelector: import("../../..").OutputSelector<GridStateCommunity, number>;
|
|
10
|
+
export declare const gridColumnGroupsLookupSelector: import("../../..").OutputSelector<GridStateCommunity, import("./gridColumnGroupsInterfaces").GridColumnsGroupingState, import("./gridColumnGroupsInterfaces").GridColumnGroupLookup>;
|
|
11
|
+
export declare const gridColumnGroupsHeaderStructureSelector: import("../../..").OutputSelector<GridStateCommunity, import("./gridColumnGroupsInterfaces").GridColumnsGroupingState, import("./gridColumnGroupsInterfaces").GridGroupingStructure[][]>;
|
|
12
|
+
export declare const gridColumnGroupsHeaderMaxDepthSelector: import("../../..").OutputSelector<GridStateCommunity, import("./gridColumnGroupsInterfaces").GridColumnsGroupingState, number>;
|
|
@@ -47,7 +47,7 @@ export const useGridColumnHeaders = props => {
|
|
|
47
47
|
const isRtl = useRtl();
|
|
48
48
|
const rootProps = useGridRootProps();
|
|
49
49
|
const dimensions = useGridSelector(apiRef, gridDimensionsSelector);
|
|
50
|
-
const
|
|
50
|
+
const hasColumnVirtualization = useGridSelector(apiRef, gridVirtualizationColumnEnabledSelector);
|
|
51
51
|
const columnGroupsModel = useGridSelector(apiRef, gridColumnGroupsUnwrappedModelSelector);
|
|
52
52
|
const columnPositions = useGridSelector(apiRef, gridColumnPositionsSelector);
|
|
53
53
|
const renderContext = useGridSelector(apiRef, gridRenderContextColumnsSelector);
|
|
@@ -87,8 +87,15 @@ export const useGridColumnHeaders = props => {
|
|
|
87
87
|
renderContext: currentContext = renderContext,
|
|
88
88
|
maxLastColumn = visibleColumns.length
|
|
89
89
|
} = params || {};
|
|
90
|
-
|
|
91
|
-
|
|
90
|
+
let firstColumnToRender;
|
|
91
|
+
let lastColumnToRender;
|
|
92
|
+
if (!rootProps.disableVirtualization && !hasColumnVirtualization) {
|
|
93
|
+
firstColumnToRender = 0;
|
|
94
|
+
lastColumnToRender = maxLastColumn;
|
|
95
|
+
} else {
|
|
96
|
+
firstColumnToRender = currentContext.firstColumnIndex;
|
|
97
|
+
lastColumnToRender = currentContext.lastColumnIndex;
|
|
98
|
+
}
|
|
92
99
|
const renderedColumns = visibleColumns.slice(firstColumnToRender, lastColumnToRender);
|
|
93
100
|
return {
|
|
94
101
|
renderedColumns,
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { GridStateCommunity } from '../../../models/gridStateCommunity';
|
|
2
2
|
export declare const gridColumnResizeSelector: (state: GridStateCommunity) => import("./columnResizeState").GridColumnResizeState;
|
|
3
|
-
export declare const gridResizingColumnFieldSelector: import("../../..").OutputSelector<GridStateCommunity, string>;
|
|
3
|
+
export declare const gridResizingColumnFieldSelector: import("../../..").OutputSelector<GridStateCommunity, import("./columnResizeState").GridColumnResizeState, string>;
|
|
@@ -4,6 +4,7 @@ export declare const DEFAULT_GRID_AUTOSIZE_OPTIONS: {
|
|
|
4
4
|
includeOutliers: boolean;
|
|
5
5
|
outliersFactor: number;
|
|
6
6
|
expand: boolean;
|
|
7
|
+
disableColumnVirtualization: boolean;
|
|
7
8
|
};
|
|
8
9
|
export type GridAutosizeOptions = {
|
|
9
10
|
/**
|
|
@@ -30,6 +31,11 @@ export type GridAutosizeOptions = {
|
|
|
30
31
|
* @default false
|
|
31
32
|
*/
|
|
32
33
|
expand?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* If false, column virtualization is not disabled while resizing.
|
|
36
|
+
* @default true
|
|
37
|
+
*/
|
|
38
|
+
disableColumnVirtualization?: boolean;
|
|
33
39
|
};
|
|
34
40
|
/**
|
|
35
41
|
* The Resize API interface that is available in the grid `apiRef`.
|
|
@@ -7,4 +7,4 @@ export declare const columnResizeStateInitializer: GridStateInitializer;
|
|
|
7
7
|
* @requires useGridColumns (method, event)
|
|
8
8
|
* TODO: improve experience for last column
|
|
9
9
|
*/
|
|
10
|
-
export declare const useGridColumnResize: (apiRef: React.MutableRefObject<GridPrivateApiCommunity>, props: Pick<DataGridProcessedProps, "autosizeOptions" | "autosizeOnMount" | "disableAutosize" | "onColumnResize" | "onColumnWidthChange">) => void;
|
|
10
|
+
export declare const useGridColumnResize: (apiRef: React.MutableRefObject<GridPrivateApiCommunity>, props: Pick<DataGridProcessedProps, "autosizeOptions" | "autosizeOnMount" | "disableAutosize" | "onColumnResize" | "onColumnWidthChange" | "disableVirtualization">) => void;
|
|
@@ -460,6 +460,7 @@ export const useGridColumnResize = (apiRef, props) => {
|
|
|
460
460
|
return;
|
|
461
461
|
}
|
|
462
462
|
apiRef.current.autosizeColumns(_extends({}, props.autosizeOptions, {
|
|
463
|
+
disableColumnVirtualization: false,
|
|
463
464
|
columns: [column.field]
|
|
464
465
|
}));
|
|
465
466
|
});
|
|
@@ -486,8 +487,10 @@ export const useGridColumnResize = (apiRef, props) => {
|
|
|
486
487
|
options.columns = options.columns.filter(c => state.columnVisibilityModel[c] !== false);
|
|
487
488
|
const columns = options.columns.map(c => apiRef.current.state.columns.lookup[c]);
|
|
488
489
|
try {
|
|
489
|
-
|
|
490
|
-
|
|
490
|
+
if (!props.disableVirtualization && options.disableColumnVirtualization) {
|
|
491
|
+
apiRef.current.unstable_setColumnVirtualization(false);
|
|
492
|
+
await columnVirtualizationDisabled();
|
|
493
|
+
}
|
|
491
494
|
const widthByField = extractColumnWidths(apiRef, options, columns);
|
|
492
495
|
const newColumns = columns.map(column => _extends({}, column, {
|
|
493
496
|
width: widthByField[column.field],
|
|
@@ -519,10 +522,12 @@ export const useGridColumnResize = (apiRef, props) => {
|
|
|
519
522
|
}
|
|
520
523
|
});
|
|
521
524
|
} finally {
|
|
522
|
-
|
|
525
|
+
if (!props.disableVirtualization) {
|
|
526
|
+
apiRef.current.unstable_setColumnVirtualization(true);
|
|
527
|
+
}
|
|
523
528
|
isAutosizingRef.current = false;
|
|
524
529
|
}
|
|
525
|
-
}, [apiRef, columnVirtualizationDisabled]);
|
|
530
|
+
}, [apiRef, columnVirtualizationDisabled, props.disableVirtualization]);
|
|
526
531
|
|
|
527
532
|
/**
|
|
528
533
|
* EFFECTS
|
|
@@ -9,33 +9,33 @@ export declare const gridColumnsStateSelector: (state: GridStateCommunity) => im
|
|
|
9
9
|
* Get an array of column fields in the order rendered on screen.
|
|
10
10
|
* @category Columns
|
|
11
11
|
*/
|
|
12
|
-
export declare const gridColumnFieldsSelector: import("../../..").OutputSelector<GridStateCommunity, string[]>;
|
|
12
|
+
export declare const gridColumnFieldsSelector: import("../../..").OutputSelector<GridStateCommunity, import("./gridColumnsInterfaces").GridColumnsState, string[]>;
|
|
13
13
|
/**
|
|
14
14
|
* Get the columns as a lookup (an object containing the field for keys and the definition for values).
|
|
15
15
|
* @category Columns
|
|
16
16
|
*/
|
|
17
|
-
export declare const gridColumnLookupSelector: import("../../..").OutputSelector<GridStateCommunity, GridColumnLookup>;
|
|
17
|
+
export declare const gridColumnLookupSelector: import("../../..").OutputSelector<GridStateCommunity, import("./gridColumnsInterfaces").GridColumnsState, GridColumnLookup>;
|
|
18
18
|
/**
|
|
19
19
|
* Get an array of column definitions in the order rendered on screen..
|
|
20
20
|
* @category Columns
|
|
21
21
|
*/
|
|
22
|
-
export declare const gridColumnDefinitionsSelector: import("../../..").OutputSelector<GridStateCommunity, import("../../../internals").GridStateColDef[]>;
|
|
22
|
+
export declare const gridColumnDefinitionsSelector: import("../../..").OutputSelector<GridStateCommunity, GridColumnLookup, import("../../../internals").GridStateColDef[]>;
|
|
23
23
|
/**
|
|
24
24
|
* Get the column visibility model, containing the visibility status of each column.
|
|
25
25
|
* If a column is not registered in the model, it is visible.
|
|
26
26
|
* @category Visible Columns
|
|
27
27
|
*/
|
|
28
|
-
export declare const gridColumnVisibilityModelSelector: import("../../..").OutputSelector<GridStateCommunity, import("./gridColumnsInterfaces").GridColumnVisibilityModel>;
|
|
28
|
+
export declare const gridColumnVisibilityModelSelector: import("../../..").OutputSelector<GridStateCommunity, import("./gridColumnsInterfaces").GridColumnsState, import("./gridColumnsInterfaces").GridColumnVisibilityModel>;
|
|
29
29
|
/**
|
|
30
30
|
* Get the visible columns as a lookup (an object containing the field for keys and the definition for values).
|
|
31
31
|
* @category Visible Columns
|
|
32
32
|
*/
|
|
33
|
-
export declare const gridVisibleColumnDefinitionsSelector: import("../../..").OutputSelector<GridStateCommunity, import("../../../internals").GridStateColDef[]>;
|
|
33
|
+
export declare const gridVisibleColumnDefinitionsSelector: import("../../..").OutputSelector<GridStateCommunity, import("./gridColumnsInterfaces").GridColumnVisibilityModel, import("../../../internals").GridStateColDef[]>;
|
|
34
34
|
/**
|
|
35
35
|
* Get the field of each visible column.
|
|
36
36
|
* @category Visible Columns
|
|
37
37
|
*/
|
|
38
|
-
export declare const gridVisibleColumnFieldsSelector: import("../../..").OutputSelector<GridStateCommunity, string[]>;
|
|
38
|
+
export declare const gridVisibleColumnFieldsSelector: import("../../..").OutputSelector<GridStateCommunity, import("../../../internals").GridStateColDef[], string[]>;
|
|
39
39
|
/**
|
|
40
40
|
* Get the visible pinned columns model.
|
|
41
41
|
* @category Visible Columns
|
|
@@ -45,7 +45,7 @@ export declare const gridPinnedColumnsSelector: (state: GridStateCommunity) => G
|
|
|
45
45
|
* Get the visible pinned columns.
|
|
46
46
|
* @category Visible Columns
|
|
47
47
|
*/
|
|
48
|
-
export declare const gridVisiblePinnedColumnDefinitionsSelector: import("../../..").OutputSelector<GridStateCommunity, {
|
|
48
|
+
export declare const gridVisiblePinnedColumnDefinitionsSelector: import("../../..").OutputSelector<GridStateCommunity, boolean, {
|
|
49
49
|
left: import("../../../internals").GridStateColDef[];
|
|
50
50
|
right: import("../../../internals").GridStateColDef[];
|
|
51
51
|
}>;
|
|
@@ -53,25 +53,25 @@ export declare const gridVisiblePinnedColumnDefinitionsSelector: import("../../.
|
|
|
53
53
|
* Get the left position in pixel of each visible columns relative to the left of the first column.
|
|
54
54
|
* @category Visible Columns
|
|
55
55
|
*/
|
|
56
|
-
export declare const gridColumnPositionsSelector: import("../../..").OutputSelector<GridStateCommunity, number[]>;
|
|
56
|
+
export declare const gridColumnPositionsSelector: import("../../..").OutputSelector<GridStateCommunity, import("../../../internals").GridStateColDef[], number[]>;
|
|
57
57
|
/**
|
|
58
58
|
* Get the summed width of all the visible columns.
|
|
59
59
|
* @category Visible Columns
|
|
60
60
|
*/
|
|
61
|
-
export declare const gridColumnsTotalWidthSelector: import("../../..").OutputSelector<GridStateCommunity, number>;
|
|
61
|
+
export declare const gridColumnsTotalWidthSelector: import("../../..").OutputSelector<GridStateCommunity, number[], number>;
|
|
62
62
|
/**
|
|
63
63
|
* Get the filterable columns as an array.
|
|
64
64
|
* @category Columns
|
|
65
65
|
*/
|
|
66
|
-
export declare const gridFilterableColumnDefinitionsSelector: import("../../..").OutputSelector<GridStateCommunity, import("../../../internals").GridStateColDef[]>;
|
|
66
|
+
export declare const gridFilterableColumnDefinitionsSelector: import("../../..").OutputSelector<GridStateCommunity, import("../../../internals").GridStateColDef[], import("../../../internals").GridStateColDef[]>;
|
|
67
67
|
/**
|
|
68
68
|
* Get the filterable columns as a lookup (an object containing the field for keys and the definition for values).
|
|
69
69
|
* @category Columns
|
|
70
70
|
*/
|
|
71
|
-
export declare const gridFilterableColumnLookupSelector: import("../../..").OutputSelector<GridStateCommunity, GridColumnLookup>;
|
|
71
|
+
export declare const gridFilterableColumnLookupSelector: import("../../..").OutputSelector<GridStateCommunity, import("../../../internals").GridStateColDef[], GridColumnLookup>;
|
|
72
72
|
/**
|
|
73
73
|
* Checks if some column has a colSpan field.
|
|
74
74
|
* @category Columns
|
|
75
75
|
* @ignore - Do not document
|
|
76
76
|
*/
|
|
77
|
-
export declare const gridHasColSpanSelector: import("../../..").OutputSelector<GridStateCommunity, boolean>;
|
|
77
|
+
export declare const gridHasColSpanSelector: import("../../..").OutputSelector<GridStateCommunity, import("../../../internals").GridStateColDef[], boolean>;
|
|
@@ -53,4 +53,4 @@ export declare function getFirstNonSpannedColumnToRender({ firstColumnToRender,
|
|
|
53
53
|
lastRowToRender: number;
|
|
54
54
|
visibleRows: GridRowEntry[];
|
|
55
55
|
}): number;
|
|
56
|
-
export declare function getTotalHeaderHeight(apiRef: React.MutableRefObject<GridApiCommunity>, props: Pick<DataGridProcessedProps, 'columnHeaderHeight' | 'headerFilterHeight' | 'unstable_listView'>): number;
|
|
56
|
+
export declare function getTotalHeaderHeight(apiRef: React.MutableRefObject<GridApiCommunity>, props: Pick<DataGridProcessedProps, 'columnHeaderHeight' | 'headerFilterHeight' | 'unstable_listView' | 'columnGroupHeaderHeight'>): number;
|
|
@@ -319,6 +319,7 @@ export function getTotalHeaderHeight(apiRef, props) {
|
|
|
319
319
|
const maxDepth = gridColumnGroupsHeaderMaxDepthSelector(apiRef);
|
|
320
320
|
const isHeaderFilteringEnabled = gridHeaderFilteringEnabledSelector(apiRef);
|
|
321
321
|
const columnHeadersHeight = Math.floor(props.columnHeaderHeight * densityFactor);
|
|
322
|
+
const columnGroupHeadersHeight = Math.floor((props.columnGroupHeaderHeight ?? props.columnHeaderHeight) * densityFactor);
|
|
322
323
|
const filterHeadersHeight = isHeaderFilteringEnabled ? Math.floor((props.headerFilterHeight ?? props.columnHeaderHeight) * densityFactor) : 0;
|
|
323
|
-
return columnHeadersHeight
|
|
324
|
+
return columnHeadersHeight + columnGroupHeadersHeight * maxDepth + filterHeadersHeight;
|
|
324
325
|
}
|