@mui/x-data-grid 7.0.0-beta.1 → 7.0.0-beta.3
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 +223 -1
- package/DataGrid/DataGrid.d.ts +1 -1
- package/DataGrid/DataGrid.js +1 -7
- package/DataGrid/useDataGridProps.js +3 -1
- package/components/GridPagination.d.ts +1 -1
- package/components/GridPagination.js +12 -2
- package/components/GridRow.d.ts +3 -1
- package/components/GridRow.js +16 -6
- package/components/GridScrollbarFillerCell.js +0 -3
- package/components/base/GridFooterPlaceholder.js +1 -1
- package/components/cell/GridActionsCell.js +3 -3
- package/components/cell/GridActionsCellItem.d.ts +13 -1
- package/components/cell/GridActionsCellItem.js +27 -15
- package/components/columnSelection/GridCellCheckboxRenderer.js +1 -1
- package/components/columnSelection/GridHeaderCheckbox.d.ts +1 -1
- package/components/columnsManagement/utils.d.ts +1 -1
- package/components/containers/GridRootStyles.js +9 -4
- package/components/panel/GridPanel.d.ts +1 -1
- package/components/panel/filterPanel/GridFilterInputBoolean.js +7 -5
- package/components/panel/filterPanel/GridFilterInputSingleSelect.js +7 -5
- package/components/panel/filterPanel/GridFilterInputValue.js +4 -3
- package/components/panel/filterPanel/GridFilterPanel.js +1 -1
- package/components/virtualization/GridVirtualScrollerRenderZone.js +10 -3
- package/constants/gridClasses.d.ts +5 -0
- package/constants/gridClasses.js +1 -1
- package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +5 -5
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +46 -48
- package/hooks/features/rows/gridRowsUtils.js +1 -1
- package/hooks/features/rows/useGridRows.js +2 -2
- package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +9 -0
- package/hooks/features/virtualization/gridVirtualizationSelectors.js +7 -0
- package/hooks/features/virtualization/useGridVirtualScroller.d.ts +0 -1
- package/hooks/features/virtualization/useGridVirtualScroller.js +28 -26
- package/hooks/features/virtualization/useGridVirtualization.d.ts +8 -0
- package/hooks/features/virtualization/useGridVirtualization.js +6 -1
- package/index.js +1 -1
- package/internals/utils/propValidation.js +1 -1
- package/joy/joySlots.js +2 -2
- package/legacy/DataGrid/DataGrid.js +1 -7
- package/legacy/DataGrid/useDataGridProps.js +3 -1
- package/legacy/components/GridPagination.js +10 -2
- package/legacy/components/GridRow.js +16 -6
- package/legacy/components/GridScrollbarFillerCell.js +1 -3
- package/legacy/components/base/GridFooterPlaceholder.js +1 -1
- package/legacy/components/cell/GridActionsCell.js +3 -3
- package/legacy/components/cell/GridActionsCellItem.js +30 -17
- package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +1 -1
- package/legacy/components/containers/GridRootStyles.js +8 -5
- package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +7 -4
- package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +8 -5
- package/legacy/components/panel/filterPanel/GridFilterInputValue.js +4 -2
- package/legacy/components/panel/filterPanel/GridFilterPanel.js +1 -1
- package/legacy/components/virtualization/GridVirtualScrollerRenderZone.js +10 -3
- package/legacy/constants/gridClasses.js +1 -1
- package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +60 -63
- package/legacy/hooks/features/rows/gridRowsUtils.js +1 -1
- package/legacy/hooks/features/rows/useGridRows.js +2 -2
- package/legacy/hooks/features/virtualization/gridVirtualizationSelectors.js +9 -0
- package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +28 -26
- package/legacy/hooks/features/virtualization/useGridVirtualization.js +6 -1
- package/legacy/index.js +1 -1
- package/legacy/internals/utils/propValidation.js +1 -1
- package/legacy/joy/joySlots.js +2 -2
- package/legacy/locales/daDK.js +12 -12
- package/locales/daDK.js +12 -12
- package/models/api/gridApiCommon.d.ts +1 -1
- package/models/api/gridFilterApi.d.ts +1 -1
- package/models/api/gridLocaleTextApi.d.ts +3 -3
- package/models/events/gridEventLookup.d.ts +2 -9
- package/models/gridSlotsComponent.d.ts +34 -36
- package/models/gridSlotsComponentsProps.d.ts +73 -54
- package/models/props/DataGridProps.d.ts +2 -8
- package/modern/DataGrid/DataGrid.js +1 -7
- package/modern/DataGrid/useDataGridProps.js +3 -1
- package/modern/components/GridPagination.js +12 -2
- package/modern/components/GridRow.js +15 -6
- package/modern/components/GridScrollbarFillerCell.js +0 -3
- package/modern/components/base/GridFooterPlaceholder.js +1 -1
- package/modern/components/cell/GridActionsCell.js +3 -3
- package/modern/components/cell/GridActionsCellItem.js +27 -15
- package/modern/components/columnSelection/GridCellCheckboxRenderer.js +1 -1
- package/modern/components/containers/GridRootStyles.js +9 -4
- package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +7 -5
- package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +7 -5
- package/modern/components/panel/filterPanel/GridFilterInputValue.js +4 -3
- package/modern/components/panel/filterPanel/GridFilterPanel.js +1 -1
- package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +10 -3
- package/modern/constants/gridClasses.js +1 -1
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +46 -48
- package/modern/hooks/features/rows/gridRowsUtils.js +1 -1
- package/modern/hooks/features/rows/useGridRows.js +2 -2
- package/modern/hooks/features/virtualization/gridVirtualizationSelectors.js +7 -0
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +27 -24
- package/modern/hooks/features/virtualization/useGridVirtualization.js +6 -1
- package/modern/index.js +1 -1
- package/modern/internals/utils/propValidation.js +1 -1
- package/modern/joy/joySlots.js +2 -2
- package/modern/locales/daDK.js +12 -12
- package/node/DataGrid/DataGrid.js +1 -7
- package/node/DataGrid/useDataGridProps.js +3 -1
- package/node/components/GridPagination.js +12 -2
- package/node/components/GridRow.js +15 -6
- package/node/components/GridScrollbarFillerCell.js +0 -3
- package/node/components/base/GridFooterPlaceholder.js +1 -1
- package/node/components/cell/GridActionsCell.js +3 -3
- package/node/components/cell/GridActionsCellItem.js +27 -15
- package/node/components/columnSelection/GridCellCheckboxRenderer.js +1 -1
- package/node/components/containers/GridRootStyles.js +9 -4
- package/node/components/panel/filterPanel/GridFilterInputBoolean.js +7 -5
- package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +7 -5
- package/node/components/panel/filterPanel/GridFilterInputValue.js +4 -3
- package/node/components/panel/filterPanel/GridFilterPanel.js +1 -1
- package/node/components/virtualization/GridVirtualScrollerRenderZone.js +10 -3
- package/node/constants/gridClasses.js +1 -1
- package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +45 -47
- package/node/hooks/features/rows/gridRowsUtils.js +2 -2
- package/node/hooks/features/rows/useGridRows.js +2 -2
- package/node/hooks/features/virtualization/gridVirtualizationSelectors.js +8 -1
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +26 -23
- package/node/hooks/features/virtualization/useGridVirtualization.js +7 -2
- package/node/index.js +1 -1
- package/node/internals/utils/propValidation.js +1 -1
- package/node/joy/joySlots.js +2 -2
- package/node/locales/daDK.js +12 -12
- package/package.json +4 -4
|
@@ -142,7 +142,7 @@ var GridFilterPanel = /*#__PURE__*/React.forwardRef(function GridFilterPanel(pro
|
|
|
142
142
|
}
|
|
143
143
|
return apiRef.current.setFilterModel(_extends({}, filterModel, {
|
|
144
144
|
items: readOnlyFilters
|
|
145
|
-
}));
|
|
145
|
+
}), 'removeAllFilterItems');
|
|
146
146
|
}, [apiRef, readOnlyFilters, filterModel, validFilters]);
|
|
147
147
|
React.useEffect(function () {
|
|
148
148
|
if (logicOperators.length > 0 && filterModel.logicOperator && !logicOperators.includes(filterModel.logicOperator)) {
|
|
@@ -5,6 +5,9 @@ import * as React from 'react';
|
|
|
5
5
|
import clsx from 'clsx';
|
|
6
6
|
import { styled } from '@mui/system';
|
|
7
7
|
import { unstable_composeClasses as composeClasses } from '@mui/utils';
|
|
8
|
+
import { useGridApiContext } from '../../hooks/utils/useGridApiContext';
|
|
9
|
+
import { useGridSelector } from '../../hooks/utils/useGridSelector';
|
|
10
|
+
import { gridOffsetsSelector } from '../../hooks/features/virtualization';
|
|
8
11
|
import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
|
|
9
12
|
import { getDataGridUtilityClass } from '../../constants/gridClasses';
|
|
10
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -25,18 +28,22 @@ var VirtualScrollerRenderZoneRoot = styled('div', {
|
|
|
25
28
|
position: 'absolute',
|
|
26
29
|
display: 'flex',
|
|
27
30
|
// Prevents margin collapsing when using `getRowSpacing`
|
|
28
|
-
flexDirection: 'column'
|
|
29
|
-
transform: 'translate3d(0, var(--DataGrid-offsetTop), 0)'
|
|
31
|
+
flexDirection: 'column'
|
|
30
32
|
});
|
|
31
33
|
var GridVirtualScrollerRenderZone = /*#__PURE__*/React.forwardRef(function GridVirtualScrollerRenderZone(props, ref) {
|
|
32
34
|
var className = props.className,
|
|
33
35
|
other = _objectWithoutProperties(props, _excluded);
|
|
36
|
+
var apiRef = useGridApiContext();
|
|
34
37
|
var rootProps = useGridRootProps();
|
|
35
38
|
var classes = useUtilityClasses(rootProps);
|
|
39
|
+
var offsets = useGridSelector(apiRef, gridOffsetsSelector);
|
|
36
40
|
return /*#__PURE__*/_jsx(VirtualScrollerRenderZoneRoot, _extends({
|
|
37
41
|
ref: ref,
|
|
38
42
|
className: clsx(classes.root, className),
|
|
39
|
-
ownerState: rootProps
|
|
43
|
+
ownerState: rootProps,
|
|
44
|
+
style: {
|
|
45
|
+
transform: "translate3d(0, ".concat(offsets.top, "px, 0)")
|
|
46
|
+
}
|
|
40
47
|
}, other));
|
|
41
48
|
});
|
|
42
49
|
export { GridVirtualScrollerRenderZone };
|
|
@@ -2,4 +2,4 @@ import { unstable_generateUtilityClasses as generateUtilityClasses, unstable_gen
|
|
|
2
2
|
export function getDataGridUtilityClass(slot) {
|
|
3
3
|
return generateUtilityClass('MuiDataGrid', slot);
|
|
4
4
|
}
|
|
5
|
-
export var gridClasses = generateUtilityClasses('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'autosizing', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withRenderer', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellContent', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'checkboxInput', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderDropZone', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnGroupHeader', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeader--showColumnBorder', 'columnHeaders', 'columnHeadersInner', 'columnHeadersInner--scrollable', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementFooter', 'container--top', 'container--bottom', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filler', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'pinnedColumnHeaders', 'pinnedColumnHeaders--left', 'pinnedColumnHeaders--right', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
|
|
5
|
+
export var gridClasses = generateUtilityClasses('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'autosizing', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withRenderer', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellContent', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderDropZone', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnGroupHeader', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeader--showColumnBorder', 'columnHeaders', 'columnHeadersInner', 'columnHeadersInner--scrollable', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementFooter', 'container--top', 'container--bottom', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filler', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'pinnedColumnHeaders', 'pinnedColumnHeaders--left', 'pinnedColumnHeaders--right', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
|
|
@@ -4,11 +4,12 @@ import * as React from 'react';
|
|
|
4
4
|
import { unstable_useForkRef as useForkRef } from '@mui/utils';
|
|
5
5
|
import { styled } from '@mui/material/styles';
|
|
6
6
|
import { useGridSelector } from '../../utils';
|
|
7
|
+
import { useGridRootProps } from '../../utils/useGridRootProps';
|
|
7
8
|
import { useGridPrivateApiContext } from '../../utils/useGridPrivateApiContext';
|
|
8
9
|
import { useGridApiEventHandler } from '../../utils/useGridApiEventHandler';
|
|
9
10
|
import { GridColumnHeaderItem } from '../../../components/columnHeaders/GridColumnHeaderItem';
|
|
10
11
|
import { gridDimensionsSelector } from '../dimensions';
|
|
11
|
-
import { gridRenderContextColumnsSelector, gridVirtualizationColumnEnabledSelector } from '../virtualization';
|
|
12
|
+
import { gridOffsetsSelector, gridRenderContextColumnsSelector, gridVirtualizationColumnEnabledSelector } from '../virtualization';
|
|
12
13
|
import { GridColumnGroupHeader } from '../../../components/columnHeaders/GridColumnGroupHeader';
|
|
13
14
|
import { GridPinnedColumnPosition, gridVisiblePinnedColumnDefinitionsSelector } from '../columns';
|
|
14
15
|
import { GridScrollbarFillerCell as ScrollbarFiller } from '../../../components/GridScrollbarFillerCell';
|
|
@@ -25,21 +26,12 @@ var SpaceFiller = styled('div')({
|
|
|
25
26
|
export var GridColumnHeaderRow = styled('div', {
|
|
26
27
|
name: 'MuiDataGrid',
|
|
27
28
|
slot: 'ColumnHeaderRow',
|
|
28
|
-
overridesResolver: function overridesResolver(
|
|
29
|
+
overridesResolver: function overridesResolver(_, styles) {
|
|
29
30
|
return styles.columnHeaderRow;
|
|
30
31
|
}
|
|
31
|
-
})(
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
_ref$ownerState$param2 = _ref$ownerState$param === void 0 ? {} : _ref$ownerState$param,
|
|
35
|
-
position = _ref$ownerState$param2.position,
|
|
36
|
-
_ref$ownerState$leftO = _ref$ownerState.leftOverflow,
|
|
37
|
-
leftOverflow = _ref$ownerState$leftO === void 0 ? 0 : _ref$ownerState$leftO;
|
|
38
|
-
return {
|
|
39
|
-
display: 'flex',
|
|
40
|
-
height: 'var(--DataGrid-headerHeight)',
|
|
41
|
-
transform: position === undefined ? "translate3d(".concat(leftOverflow !== 0 ? "calc(var(--DataGrid-offsetLeft) - ".concat(leftOverflow, "px)") : 'var(--DataGrid-offsetLeft)', ", 0, 0)") : undefined
|
|
42
|
-
};
|
|
32
|
+
})({
|
|
33
|
+
display: 'flex',
|
|
34
|
+
height: 'var(--DataGrid-headerHeight)'
|
|
43
35
|
});
|
|
44
36
|
export var useGridColumnHeaders = function useGridColumnHeaders(props) {
|
|
45
37
|
var innerRefProp = props.innerRef,
|
|
@@ -64,10 +56,12 @@ export var useGridColumnHeaders = function useGridColumnHeaders(props) {
|
|
|
64
56
|
resizeCol = _React$useState4[0],
|
|
65
57
|
setResizeCol = _React$useState4[1];
|
|
66
58
|
var apiRef = useGridPrivateApiContext();
|
|
59
|
+
var rootProps = useGridRootProps();
|
|
67
60
|
var hasVirtualization = useGridSelector(apiRef, gridVirtualizationColumnEnabledSelector);
|
|
68
61
|
var innerRef = React.useRef(null);
|
|
69
62
|
var handleInnerRef = useForkRef(innerRefProp, innerRef);
|
|
70
63
|
var dimensions = useGridSelector(apiRef, gridDimensionsSelector);
|
|
64
|
+
var offsets = useGridSelector(apiRef, gridOffsetsSelector);
|
|
71
65
|
var renderContext = useGridSelector(apiRef, gridRenderContextColumnsSelector);
|
|
72
66
|
var visiblePinnedColumns = useGridSelector(apiRef, gridVisiblePinnedColumnDefinitionsSelector);
|
|
73
67
|
React.useEffect(function () {
|
|
@@ -92,11 +86,11 @@ export var useGridColumnHeaders = function useGridColumnHeaders(props) {
|
|
|
92
86
|
|
|
93
87
|
// Helper for computation common between getColumnHeaders and getColumnGroupHeaders
|
|
94
88
|
var getColumnsToRender = function getColumnsToRender(params) {
|
|
95
|
-
var
|
|
96
|
-
|
|
97
|
-
currentContext =
|
|
98
|
-
|
|
99
|
-
maxLastColumn =
|
|
89
|
+
var _ref = params || {},
|
|
90
|
+
_ref$renderContext = _ref.renderContext,
|
|
91
|
+
currentContext = _ref$renderContext === void 0 ? renderContext : _ref$renderContext,
|
|
92
|
+
_ref$maxLastColumn = _ref.maxLastColumn,
|
|
93
|
+
maxLastColumn = _ref$maxLastColumn === void 0 ? visibleColumns.length : _ref$maxLastColumn;
|
|
100
94
|
var firstColumnToRender = !hasVirtualization ? 0 : currentContext.firstColumnIndex;
|
|
101
95
|
var lastColumnToRender = !hasVirtualization ? maxLastColumn : currentContext.lastColumnIndex;
|
|
102
96
|
var renderedColumns = visibleColumns.slice(firstColumnToRender, lastColumnToRender);
|
|
@@ -106,12 +100,19 @@ export var useGridColumnHeaders = function useGridColumnHeaders(props) {
|
|
|
106
100
|
lastColumnToRender: lastColumnToRender
|
|
107
101
|
};
|
|
108
102
|
};
|
|
109
|
-
var
|
|
110
|
-
var borderTop = arguments.length >
|
|
103
|
+
var getFillers = function getFillers(params, children, leftOverflow) {
|
|
104
|
+
var borderTop = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
111
105
|
var isPinnedRight = (params == null ? void 0 : params.position) === GridPinnedColumnPosition.RIGHT;
|
|
112
|
-
var
|
|
106
|
+
var isNotPinned = (params == null ? void 0 : params.position) === undefined;
|
|
107
|
+
var hasScrollbarFiller = visiblePinnedColumns.right.length > 0 && isPinnedRight || visiblePinnedColumns.right.length === 0 && isNotPinned;
|
|
108
|
+
var leftOffsetWidth = offsets.left - leftOverflow;
|
|
113
109
|
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
114
|
-
children: [
|
|
110
|
+
children: [isNotPinned && /*#__PURE__*/_jsx("div", {
|
|
111
|
+
role: "presentation",
|
|
112
|
+
style: {
|
|
113
|
+
width: leftOffsetWidth
|
|
114
|
+
}
|
|
115
|
+
}), children, isNotPinned && /*#__PURE__*/_jsx(SpaceFiller, {
|
|
115
116
|
className: gridClasses.columnHeader
|
|
116
117
|
}), hasScrollbarFiller && /*#__PURE__*/_jsx(ScrollbarFiller, {
|
|
117
118
|
header: true,
|
|
@@ -145,13 +146,11 @@ export var useGridColumnHeaders = function useGridColumnHeaders(props) {
|
|
|
145
146
|
tabIndex: tabIndex
|
|
146
147
|
}, other), colDef.field));
|
|
147
148
|
}
|
|
148
|
-
return /*#__PURE__*/
|
|
149
|
+
return /*#__PURE__*/_jsx(GridColumnHeaderRow, {
|
|
149
150
|
role: "row",
|
|
150
151
|
"aria-rowindex": headerGroupingMaxDepth + 1,
|
|
151
|
-
ownerState:
|
|
152
|
-
|
|
153
|
-
},
|
|
154
|
-
children: [columns, getFiller(params)]
|
|
152
|
+
ownerState: rootProps,
|
|
153
|
+
children: getFillers(params, columns, 0)
|
|
155
154
|
});
|
|
156
155
|
};
|
|
157
156
|
var getColumnGroupHeaders = function getColumnGroupHeaders(params) {
|
|
@@ -171,16 +170,16 @@ export var useGridColumnHeaders = function useGridColumnHeaders(props) {
|
|
|
171
170
|
var rowStructure = columnGroupsHeaderStructure[depth];
|
|
172
171
|
var firstColumnFieldToRender = visibleColumns[firstColumnToRender].field;
|
|
173
172
|
var firstGroupToRender = (_apiRef$current$getCo = apiRef.current.getColumnGroupPath(firstColumnFieldToRender)[depth]) != null ? _apiRef$current$getCo : null;
|
|
174
|
-
var firstGroupIndex = rowStructure.findIndex(function (
|
|
175
|
-
var groupId =
|
|
176
|
-
columnFields =
|
|
173
|
+
var firstGroupIndex = rowStructure.findIndex(function (_ref3) {
|
|
174
|
+
var groupId = _ref3.groupId,
|
|
175
|
+
columnFields = _ref3.columnFields;
|
|
177
176
|
return groupId === firstGroupToRender && columnFields.includes(firstColumnFieldToRender);
|
|
178
177
|
});
|
|
179
178
|
var lastColumnFieldToRender = visibleColumns[lastColumnToRender - 1].field;
|
|
180
179
|
var lastGroupToRender = (_apiRef$current$getCo2 = apiRef.current.getColumnGroupPath(lastColumnFieldToRender)[depth]) != null ? _apiRef$current$getCo2 : null;
|
|
181
|
-
var lastGroupIndex = rowStructure.findIndex(function (
|
|
182
|
-
var groupId =
|
|
183
|
-
columnFields =
|
|
180
|
+
var lastGroupIndex = rowStructure.findIndex(function (_ref4) {
|
|
181
|
+
var groupId = _ref4.groupId,
|
|
182
|
+
columnFields = _ref4.columnFields;
|
|
184
183
|
return groupId === lastGroupToRender && columnFields.includes(lastColumnFieldToRender);
|
|
185
184
|
});
|
|
186
185
|
var visibleColumnGroupHeader = rowStructure.slice(firstGroupIndex, lastGroupIndex + 1).map(function (groupStructure) {
|
|
@@ -200,9 +199,9 @@ export var useGridColumnHeaders = function useGridColumnHeaders(props) {
|
|
|
200
199
|
return acc + ((_column$computedWidth = column.computedWidth) != null ? _column$computedWidth : 0);
|
|
201
200
|
}, 0);
|
|
202
201
|
var columnIndex = firstColumnToRender;
|
|
203
|
-
var elements = visibleColumnGroupHeader.map(function (
|
|
204
|
-
var groupId =
|
|
205
|
-
columnFields =
|
|
202
|
+
var elements = visibleColumnGroupHeader.map(function (_ref5) {
|
|
203
|
+
var groupId = _ref5.groupId,
|
|
204
|
+
columnFields = _ref5.columnFields;
|
|
206
205
|
var hasFocus = columnGroupHeaderFocus !== null && columnGroupHeaderFocus.depth === depth && columnFields.includes(columnGroupHeaderFocus.field);
|
|
207
206
|
var tabIndex = columnGroupHeaderTabIndexState !== null && columnGroupHeaderTabIndexState.depth === depth && columnFields.includes(columnGroupHeaderTabIndexState.field) ? 0 : -1;
|
|
208
207
|
var headerInfo = {
|
|
@@ -227,40 +226,38 @@ export var useGridColumnHeaders = function useGridColumnHeaders(props) {
|
|
|
227
226
|
_loop(depth);
|
|
228
227
|
}
|
|
229
228
|
headerToRender.forEach(function (depthInfo, depthIndex) {
|
|
230
|
-
|
|
229
|
+
var children = depthInfo.elements.map(function (_ref2, groupIndex) {
|
|
230
|
+
var groupId = _ref2.groupId,
|
|
231
|
+
width = _ref2.width,
|
|
232
|
+
fields = _ref2.fields,
|
|
233
|
+
colIndex = _ref2.colIndex,
|
|
234
|
+
hasFocus = _ref2.hasFocus,
|
|
235
|
+
tabIndex = _ref2.tabIndex;
|
|
236
|
+
return /*#__PURE__*/_jsx(GridColumnGroupHeader, {
|
|
237
|
+
groupId: groupId,
|
|
238
|
+
width: width,
|
|
239
|
+
fields: fields,
|
|
240
|
+
colIndex: colIndex,
|
|
241
|
+
depth: depthIndex,
|
|
242
|
+
isLastColumn: colIndex === visibleColumns.length - fields.length,
|
|
243
|
+
maxDepth: headerToRender.length,
|
|
244
|
+
height: dimensions.headerHeight,
|
|
245
|
+
hasFocus: hasFocus,
|
|
246
|
+
tabIndex: tabIndex
|
|
247
|
+
}, groupIndex);
|
|
248
|
+
});
|
|
249
|
+
columns.push( /*#__PURE__*/_jsx(GridColumnHeaderRow, {
|
|
231
250
|
role: "row",
|
|
232
251
|
"aria-rowindex": depthIndex + 1,
|
|
233
|
-
ownerState:
|
|
234
|
-
|
|
235
|
-
leftOverflow: depthInfo.leftOverflow
|
|
236
|
-
},
|
|
237
|
-
children: [depthInfo.elements.map(function (_ref3, groupIndex) {
|
|
238
|
-
var groupId = _ref3.groupId,
|
|
239
|
-
width = _ref3.width,
|
|
240
|
-
fields = _ref3.fields,
|
|
241
|
-
colIndex = _ref3.colIndex,
|
|
242
|
-
hasFocus = _ref3.hasFocus,
|
|
243
|
-
tabIndex = _ref3.tabIndex;
|
|
244
|
-
return /*#__PURE__*/_jsx(GridColumnGroupHeader, {
|
|
245
|
-
groupId: groupId,
|
|
246
|
-
width: width,
|
|
247
|
-
fields: fields,
|
|
248
|
-
colIndex: colIndex,
|
|
249
|
-
depth: depthIndex,
|
|
250
|
-
isLastColumn: colIndex === visibleColumns.length - fields.length,
|
|
251
|
-
maxDepth: headerToRender.length,
|
|
252
|
-
height: dimensions.headerHeight,
|
|
253
|
-
hasFocus: hasFocus,
|
|
254
|
-
tabIndex: tabIndex
|
|
255
|
-
}, groupIndex);
|
|
256
|
-
}), getFiller(params)]
|
|
252
|
+
ownerState: rootProps,
|
|
253
|
+
children: getFillers(params, children, depthInfo.leftOverflow)
|
|
257
254
|
}, depthIndex));
|
|
258
255
|
});
|
|
259
256
|
return columns;
|
|
260
257
|
};
|
|
261
258
|
return {
|
|
262
259
|
renderContext: renderContext,
|
|
263
|
-
|
|
260
|
+
getFillers: getFillers,
|
|
264
261
|
getColumnHeaders: getColumnHeaders,
|
|
265
262
|
getColumnsToRender: getColumnsToRender,
|
|
266
263
|
getColumnGroupHeaders: getColumnGroupHeaders,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
3
|
import { gridPinnedRowsSelector } from './gridRowsSelector';
|
|
4
|
-
import { gridDimensionsSelector } from '../dimensions';
|
|
4
|
+
import { gridDimensionsSelector } from '../dimensions/gridDimensionsSelectors';
|
|
5
5
|
export var GRID_ROOT_GROUP_ID = "auto-generated-group-node-root";
|
|
6
6
|
export var GRID_ID_AUTOGENERATED = Symbol('mui.id_autogenerated');
|
|
7
7
|
export var buildRootGroup = function buildRootGroup() {
|
|
@@ -124,7 +124,7 @@ export var useGridRows = function useGridRows(apiRef, props) {
|
|
|
124
124
|
}, [logger, props.getRowId, props.loading, props.rowCount, throttledRowsChange, apiRef]);
|
|
125
125
|
var updateRows = React.useCallback(function (updates) {
|
|
126
126
|
if (props.signature === GridSignature.DataGrid && updates.length > 1) {
|
|
127
|
-
throw new Error([
|
|
127
|
+
throw new Error(['MUI X: You cannot update several rows at once in `apiRef.current.updateRows` on the DataGrid.', 'You need to upgrade to DataGridPro or DataGridPremium component to unlock this feature.'].join('\n'));
|
|
128
128
|
}
|
|
129
129
|
var nonPinnedRowsUpdates = [];
|
|
130
130
|
updates.forEach(function (update) {
|
|
@@ -263,7 +263,7 @@ export var useGridRows = function useGridRows(apiRef, props) {
|
|
|
263
263
|
}, [apiRef, logger]);
|
|
264
264
|
var replaceRows = React.useCallback(function (firstRowToRender, newRows) {
|
|
265
265
|
if (props.signature === GridSignature.DataGrid && newRows.length > 1) {
|
|
266
|
-
throw new Error([
|
|
266
|
+
throw new Error(['MUI X: You cannot replace rows using `apiRef.current.unstable_replaceRows` on the DataGrid.', 'You need to upgrade to DataGridPro or DataGridPremium component to unlock this feature.'].join('\n'));
|
|
267
267
|
}
|
|
268
268
|
if (newRows.length === 0) {
|
|
269
269
|
return;
|
|
@@ -32,6 +32,15 @@ export var gridRenderContextSelector = createSelector(gridVirtualizationSelector
|
|
|
32
32
|
return state.renderContext;
|
|
33
33
|
});
|
|
34
34
|
|
|
35
|
+
/**
|
|
36
|
+
* Get the offsets
|
|
37
|
+
* @category Virtualization
|
|
38
|
+
* @ignore - do not document.
|
|
39
|
+
*/
|
|
40
|
+
export var gridOffsetsSelector = createSelector(gridVirtualizationSelector, function (state) {
|
|
41
|
+
return state.offsets;
|
|
42
|
+
});
|
|
43
|
+
|
|
35
44
|
/**
|
|
36
45
|
* Get the render context, with only columns filled in.
|
|
37
46
|
* This is cached, so it can be used to only re-render when the column interval changes.
|
|
@@ -22,7 +22,7 @@ import { selectedIdsLookupSelector } from '../rowSelection/gridRowSelectionSelec
|
|
|
22
22
|
import { gridRowsMetaSelector } from '../rows/gridRowsMetaSelector';
|
|
23
23
|
import { getFirstNonSpannedColumnToRender } from '../columns/gridColumnsUtils';
|
|
24
24
|
import { getMinimalContentHeight } from '../rows/gridRowsUtils';
|
|
25
|
-
import { gridRenderContextSelector, gridVirtualizationEnabledSelector, gridVirtualizationColumnEnabledSelector } from './gridVirtualizationSelectors';
|
|
25
|
+
import { gridOffsetsSelector, gridRenderContextSelector, gridVirtualizationEnabledSelector, gridVirtualizationColumnEnabledSelector } from './gridVirtualizationSelectors';
|
|
26
26
|
import { EMPTY_RENDER_CONTEXT } from './useGridVirtualization';
|
|
27
27
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
28
28
|
export var EMPTY_DETAIL_PANELS = Object.freeze(new Map());
|
|
@@ -42,7 +42,6 @@ export var useGridVirtualScroller = function useGridVirtualScroller() {
|
|
|
42
42
|
panels = _React$useState2[0],
|
|
43
43
|
setPanels = _React$useState2[1];
|
|
44
44
|
var theme = useTheme();
|
|
45
|
-
var columnPositions = useGridSelector(apiRef, gridColumnPositionsSelector);
|
|
46
45
|
var cellFocus = useGridSelector(apiRef, gridFocusCellSelector);
|
|
47
46
|
var cellTabIndex = useGridSelector(apiRef, gridTabIndexCellSelector);
|
|
48
47
|
var rowsMeta = useGridSelector(apiRef, gridRowsMetaSelector);
|
|
@@ -51,7 +50,6 @@ export var useGridVirtualScroller = function useGridVirtualScroller() {
|
|
|
51
50
|
var gridRootRef = apiRef.current.rootElementRef;
|
|
52
51
|
var mainRef = apiRef.current.mainElementRef;
|
|
53
52
|
var scrollerRef = apiRef.current.virtualScrollerRef;
|
|
54
|
-
var renderZoneRef = React.useRef(null);
|
|
55
53
|
var scrollbarVerticalRef = React.useRef(null);
|
|
56
54
|
var scrollbarHorizontalRef = React.useRef(null);
|
|
57
55
|
var contentHeight = dimensions.contentSize.height;
|
|
@@ -61,6 +59,7 @@ export var useGridVirtualScroller = function useGridVirtualScroller() {
|
|
|
61
59
|
});
|
|
62
60
|
var previousContext = React.useRef(EMPTY_RENDER_CONTEXT);
|
|
63
61
|
var previousRowContext = React.useRef(EMPTY_RENDER_CONTEXT);
|
|
62
|
+
var offsets = useGridSelector(apiRef, gridOffsetsSelector);
|
|
64
63
|
var renderContext = useGridSelector(apiRef, gridRenderContextSelector);
|
|
65
64
|
var scrollPosition = React.useRef({
|
|
66
65
|
top: 0,
|
|
@@ -84,23 +83,17 @@ export var useGridVirtualScroller = function useGridVirtualScroller() {
|
|
|
84
83
|
}
|
|
85
84
|
return -1;
|
|
86
85
|
}, [cellFocus, visibleColumns]);
|
|
87
|
-
React.useEffect(function () {
|
|
88
|
-
var _gridRootRef$current, _gridRootRef$current2;
|
|
89
|
-
var direction = theme.direction === 'ltr' ? 1 : -1;
|
|
90
|
-
var top = gridRowsMetaSelector(apiRef.current.state).positions[renderContext.firstRowIndex];
|
|
91
|
-
var left = direction * columnPositions[renderContext.firstColumnIndex] - columnPositions[pinnedColumns.left.length];
|
|
92
|
-
(_gridRootRef$current = gridRootRef.current) == null || _gridRootRef$current.style.setProperty('--DataGrid-offsetTop', "".concat(top, "px"));
|
|
93
|
-
(_gridRootRef$current2 = gridRootRef.current) == null || _gridRootRef$current2.style.setProperty('--DataGrid-offsetLeft', "".concat(left, "px"));
|
|
94
|
-
}, [apiRef, gridRootRef, theme.direction, columnPositions, pinnedColumns.left.length, renderContext]);
|
|
95
86
|
var updateRenderContext = React.useCallback(function (nextRenderContext, rawRenderContext) {
|
|
96
87
|
if (areRenderContextsEqual(nextRenderContext, apiRef.current.state.virtualization.renderContext)) {
|
|
97
88
|
return;
|
|
98
89
|
}
|
|
99
90
|
var didRowsIntervalChange = nextRenderContext.firstRowIndex !== previousRowContext.current.firstRowIndex || nextRenderContext.lastRowIndex !== previousRowContext.current.lastRowIndex;
|
|
91
|
+
var nextOffsets = computeOffsets(apiRef, nextRenderContext, theme.direction, pinnedColumns.left.length);
|
|
100
92
|
apiRef.current.setState(function (state) {
|
|
101
93
|
return _extends({}, state, {
|
|
102
94
|
virtualization: _extends({}, state.virtualization, {
|
|
103
|
-
renderContext: nextRenderContext
|
|
95
|
+
renderContext: nextRenderContext,
|
|
96
|
+
offsets: nextOffsets
|
|
104
97
|
})
|
|
105
98
|
});
|
|
106
99
|
});
|
|
@@ -114,7 +107,7 @@ export var useGridVirtualScroller = function useGridVirtualScroller() {
|
|
|
114
107
|
}
|
|
115
108
|
previousContext.current = rawRenderContext;
|
|
116
109
|
prevTotalWidth.current = dimensions.columnsTotalWidth;
|
|
117
|
-
}, [apiRef, dimensions.isReady, dimensions.columnsTotalWidth]);
|
|
110
|
+
}, [apiRef, pinnedColumns.left.length, theme.direction, dimensions.isReady, dimensions.columnsTotalWidth]);
|
|
118
111
|
var triggerUpdateRenderContext = function triggerUpdateRenderContext() {
|
|
119
112
|
var inputs = inputsSelector(apiRef, rootProps, enabled, enabledForColumns);
|
|
120
113
|
var _computeRenderContext = computeRenderContext(inputs, scrollPosition),
|
|
@@ -262,6 +255,14 @@ export var useGridVirtualScroller = function useGridVirtualScroller() {
|
|
|
262
255
|
var _renderedRows$i = renderedRows[i],
|
|
263
256
|
id = _renderedRows$i.id,
|
|
264
257
|
model = _renderedRows$i.model;
|
|
258
|
+
var rowIndexInPage = ((currentPage == null || (_currentPage$range = currentPage.range) == null ? void 0 : _currentPage$range.firstRowIndex) || 0) + firstRowToRender + i;
|
|
259
|
+
var index = rowIndexOffset + rowIndexInPage;
|
|
260
|
+
if (isRowWithFocusedCellNotInRange && (cellFocus == null ? void 0 : cellFocus.id) === id) {
|
|
261
|
+
index = indexOfRowWithFocusedCell;
|
|
262
|
+
isRowWithFocusedCellRendered = true;
|
|
263
|
+
} else if (isRowWithFocusedCellRendered) {
|
|
264
|
+
index -= 1;
|
|
265
|
+
}
|
|
265
266
|
var isRowNotVisible = isRowWithFocusedCellNotInRange && cellFocus.id === id;
|
|
266
267
|
var baseRowHeight = !apiRef.current.rowHasAutoHeight(id) ? apiRef.current.unstable_getRowHeight(id) : 'auto';
|
|
267
268
|
var isSelected = void 0;
|
|
@@ -272,7 +273,7 @@ export var useGridVirtualScroller = function useGridVirtualScroller() {
|
|
|
272
273
|
}
|
|
273
274
|
var isFirstVisible = false;
|
|
274
275
|
if (params.position === undefined) {
|
|
275
|
-
isFirstVisible =
|
|
276
|
+
isFirstVisible = rowIndexInPage === 0;
|
|
276
277
|
}
|
|
277
278
|
var isLastVisible = false;
|
|
278
279
|
if (isLastSection) {
|
|
@@ -294,13 +295,6 @@ export var useGridVirtualScroller = function useGridVirtualScroller() {
|
|
|
294
295
|
var cellParams = apiRef.current.getCellParams(id, cellTabIndex.field);
|
|
295
296
|
tabbableCell = cellParams.cellMode === 'view' ? cellTabIndex.field : null;
|
|
296
297
|
}
|
|
297
|
-
var index = rowIndexOffset + ((currentPage == null || (_currentPage$range = currentPage.range) == null ? void 0 : _currentPage$range.firstRowIndex) || 0) + firstRowToRender + i;
|
|
298
|
-
if (isRowWithFocusedCellNotInRange && (cellFocus == null ? void 0 : cellFocus.id) === id) {
|
|
299
|
-
index = indexOfRowWithFocusedCell;
|
|
300
|
-
isRowWithFocusedCellRendered = true;
|
|
301
|
-
} else if (isRowWithFocusedCellRendered) {
|
|
302
|
-
index -= 1;
|
|
303
|
-
}
|
|
304
298
|
rows.push( /*#__PURE__*/_jsx(rootProps.slots.row, _extends({
|
|
305
299
|
row: model,
|
|
306
300
|
rowId: id,
|
|
@@ -315,6 +309,7 @@ export var useGridVirtualScroller = function useGridVirtualScroller() {
|
|
|
315
309
|
firstColumnToRender: firstColumnToRender,
|
|
316
310
|
lastColumnToRender: lastColumnToRender,
|
|
317
311
|
selected: isSelected,
|
|
312
|
+
offsets: offsets,
|
|
318
313
|
dimensions: dimensions,
|
|
319
314
|
isFirstVisible: isFirstVisible,
|
|
320
315
|
isLastVisible: isLastVisible,
|
|
@@ -364,10 +359,6 @@ export var useGridVirtualScroller = function useGridVirtualScroller() {
|
|
|
364
359
|
// TODO a scroll reset should not be necessary
|
|
365
360
|
scrollerRef.current.scrollLeft = 0;
|
|
366
361
|
scrollerRef.current.scrollTop = 0;
|
|
367
|
-
} else {
|
|
368
|
-
var _gridRootRef$current3, _gridRootRef$current4;
|
|
369
|
-
(_gridRootRef$current3 = gridRootRef.current) == null || _gridRootRef$current3.style.setProperty('--DataGrid-offsetTop', '0px');
|
|
370
|
-
(_gridRootRef$current4 = gridRootRef.current) == null || _gridRootRef$current4.style.setProperty('--DataGrid-offsetLeft', '0px');
|
|
371
362
|
}
|
|
372
363
|
}, [enabled, gridRootRef, scrollerRef]);
|
|
373
364
|
useRunOnce(outerSize.width !== 0, function () {
|
|
@@ -414,7 +405,6 @@ export var useGridVirtualScroller = function useGridVirtualScroller() {
|
|
|
414
405
|
},
|
|
415
406
|
getRenderZoneProps: function getRenderZoneProps() {
|
|
416
407
|
return {
|
|
417
|
-
ref: renderZoneRef,
|
|
418
408
|
role: 'rowgroup'
|
|
419
409
|
};
|
|
420
410
|
},
|
|
@@ -641,4 +631,16 @@ export function areRenderContextsEqual(context1, context2) {
|
|
|
641
631
|
return true;
|
|
642
632
|
}
|
|
643
633
|
return context1.firstRowIndex === context2.firstRowIndex && context1.lastRowIndex === context2.lastRowIndex && context1.firstColumnIndex === context2.firstColumnIndex && context1.lastColumnIndex === context2.lastColumnIndex;
|
|
634
|
+
}
|
|
635
|
+
function computeOffsets(apiRef, renderContext, direction, pinnedLeftLength) {
|
|
636
|
+
var _rowPositions$renderC, _columnPositions$rend, _columnPositions$pinn;
|
|
637
|
+
var factor = direction === 'ltr' ? 1 : -1;
|
|
638
|
+
var rowPositions = gridRowsMetaSelector(apiRef.current.state).positions;
|
|
639
|
+
var columnPositions = gridColumnPositionsSelector(apiRef);
|
|
640
|
+
var top = (_rowPositions$renderC = rowPositions[renderContext.firstRowIndex]) != null ? _rowPositions$renderC : 0;
|
|
641
|
+
var left = factor * ((_columnPositions$rend = columnPositions[renderContext.firstColumnIndex]) != null ? _columnPositions$rend : 0) - ((_columnPositions$pinn = columnPositions[pinnedLeftLength]) != null ? _columnPositions$pinn : 0);
|
|
642
|
+
return {
|
|
643
|
+
top: top,
|
|
644
|
+
left: left
|
|
645
|
+
};
|
|
644
646
|
}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { useGridApiMethod } from '../../utils/useGridApiMethod';
|
|
4
|
+
export var EMPTY_OFFSETS = {
|
|
5
|
+
top: 0,
|
|
6
|
+
left: 0
|
|
7
|
+
};
|
|
4
8
|
export var EMPTY_RENDER_CONTEXT = {
|
|
5
9
|
firstRowIndex: 0,
|
|
6
10
|
lastRowIndex: 0,
|
|
@@ -11,7 +15,8 @@ export var virtualizationStateInitializer = function virtualizationStateInitiali
|
|
|
11
15
|
var virtualization = {
|
|
12
16
|
enabled: !props.disableVirtualization,
|
|
13
17
|
enabledForColumns: true,
|
|
14
|
-
renderContext: EMPTY_RENDER_CONTEXT
|
|
18
|
+
renderContext: EMPTY_RENDER_CONTEXT,
|
|
19
|
+
offsets: EMPTY_OFFSETS
|
|
15
20
|
};
|
|
16
21
|
return _extends({}, state, {
|
|
17
22
|
virtualization: virtualization
|
package/legacy/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export var propValidatorsDataGrid = [function (props) {
|
|
2
|
-
return props.autoPageSize && props.autoHeight && ['MUI X: `<DataGrid autoPageSize={true} autoHeight={true} />` are not valid props.', 'You
|
|
2
|
+
return props.autoPageSize && props.autoHeight && ['MUI X: `<DataGrid autoPageSize={true} autoHeight={true} />` are not valid props.', 'You cannot use both the `autoPageSize` and `autoHeight` props at the same time because `autoHeight` scales the height of the Data Grid according to the `pageSize`.', '', 'Please remove one of these two props.'].join('\n') || undefined;
|
|
3
3
|
}];
|
|
4
4
|
var warnedOnceMap = new Set();
|
|
5
5
|
var warnOnce = function warnOnce(message) {
|
package/legacy/joy/joySlots.js
CHANGED
|
@@ -412,8 +412,8 @@ var joySlots = _extends({}, joyIconSlots, {
|
|
|
412
412
|
baseSelect: Select,
|
|
413
413
|
baseSelectOption: Option,
|
|
414
414
|
baseInputLabel: InputLabel,
|
|
415
|
-
baseFormControl: JoyFormControl
|
|
416
|
-
baseTooltip: JoyTooltip
|
|
415
|
+
baseFormControl: JoyFormControl /* FIXME: typing error */,
|
|
416
|
+
baseTooltip: JoyTooltip /* FIXME: typing error */,
|
|
417
417
|
pagination: Pagination,
|
|
418
418
|
loadingOverlay: LoadingOverlay
|
|
419
419
|
});
|
package/legacy/locales/daDK.js
CHANGED
|
@@ -11,8 +11,8 @@ var daDKGrid = {
|
|
|
11
11
|
toolbarDensityStandard: 'Standard',
|
|
12
12
|
toolbarDensityComfortable: 'Luftig',
|
|
13
13
|
// Columns selector toolbar button text
|
|
14
|
-
toolbarColumns: '
|
|
15
|
-
toolbarColumnsLabel: 'Vælg
|
|
14
|
+
toolbarColumns: 'Kolonner',
|
|
15
|
+
toolbarColumnsLabel: 'Vælg kolonner',
|
|
16
16
|
// Filters toolbar button text
|
|
17
17
|
toolbarFilters: 'Filtre',
|
|
18
18
|
toolbarFiltersLabel: 'Vis filtre',
|
|
@@ -41,12 +41,12 @@ var daDKGrid = {
|
|
|
41
41
|
filterPanelRemoveAll: 'Fjern alle',
|
|
42
42
|
filterPanelDeleteIconLabel: 'Slet',
|
|
43
43
|
filterPanelLogicOperator: 'Logisk operator',
|
|
44
|
-
filterPanelOperator: '
|
|
44
|
+
filterPanelOperator: 'Operator',
|
|
45
45
|
filterPanelOperatorAnd: 'Og',
|
|
46
46
|
filterPanelOperatorOr: 'Eller',
|
|
47
|
-
filterPanelColumns: '
|
|
47
|
+
filterPanelColumns: 'Kolonner',
|
|
48
48
|
filterPanelInputLabel: 'Værdi',
|
|
49
|
-
filterPanelInputPlaceholder: '
|
|
49
|
+
filterPanelInputPlaceholder: 'Filterværdi',
|
|
50
50
|
// Filter operators text
|
|
51
51
|
filterOperatorContains: 'indeholder',
|
|
52
52
|
filterOperatorEquals: 'lig med',
|
|
@@ -93,10 +93,10 @@ var daDKGrid = {
|
|
|
93
93
|
filterValueFalse: 'negativ',
|
|
94
94
|
// Column menu text
|
|
95
95
|
columnMenuLabel: 'Menu',
|
|
96
|
-
columnMenuShowColumns: 'Vis
|
|
96
|
+
columnMenuShowColumns: 'Vis kolonner',
|
|
97
97
|
columnMenuManageColumns: 'Administrer kolonner',
|
|
98
|
-
columnMenuFilter: '
|
|
99
|
-
columnMenuHideColumn: 'Skjul',
|
|
98
|
+
columnMenuFilter: 'Filtrer',
|
|
99
|
+
columnMenuHideColumn: 'Skjul kolonne',
|
|
100
100
|
columnMenuUnsort: 'Fjern sortering',
|
|
101
101
|
columnMenuSortAsc: 'Sorter stigende',
|
|
102
102
|
columnMenuSortDesc: 'Sorter faldende',
|
|
@@ -132,16 +132,16 @@ var daDKGrid = {
|
|
|
132
132
|
pinToRight: 'Fastgør til højre',
|
|
133
133
|
unpin: 'Frigiv',
|
|
134
134
|
// Tree Data
|
|
135
|
-
treeDataGroupingHeaderName: '
|
|
135
|
+
treeDataGroupingHeaderName: 'Gruppe',
|
|
136
136
|
treeDataExpand: 'Vis underelementer',
|
|
137
137
|
treeDataCollapse: 'Skjul underelementer',
|
|
138
138
|
// Grouping columns
|
|
139
|
-
groupingColumnHeaderName: '
|
|
139
|
+
groupingColumnHeaderName: 'Gruppe',
|
|
140
140
|
groupColumn: function groupColumn(name) {
|
|
141
141
|
return "Grupp\xE9r efter ".concat(name);
|
|
142
142
|
},
|
|
143
143
|
unGroupColumn: function unGroupColumn(name) {
|
|
144
|
-
return "Fjern
|
|
144
|
+
return "Fjern gruppering efter ".concat(name);
|
|
145
145
|
},
|
|
146
146
|
// Master/detail
|
|
147
147
|
detailPanelToggle: 'Udvid/kollaps detaljepanel',
|
|
@@ -150,7 +150,7 @@ var daDKGrid = {
|
|
|
150
150
|
// Row reordering text
|
|
151
151
|
rowReorderingHeaderName: 'Omarrangering af rækker',
|
|
152
152
|
// Aggregation
|
|
153
|
-
aggregationMenuItemHeader: '
|
|
153
|
+
aggregationMenuItemHeader: 'Aggregering',
|
|
154
154
|
aggregationFunctionLabelSum: 'sum',
|
|
155
155
|
aggregationFunctionLabelAvg: 'gns',
|
|
156
156
|
aggregationFunctionLabelMin: 'min',
|