Skip to content

Commit

Permalink
[DataGrid] Fix: column group change bug (#12965)
Browse files Browse the repository at this point in the history
  • Loading branch information
romgrk committed May 7, 2024
1 parent 05c2c21 commit 1391342
Showing 1 changed file with 6 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ import {
gridVisiblePinnedColumnDefinitionsSelector,
} from '../columns';
import { GridGroupingStructure } from '../columnGrouping/gridColumnGroupsInterfaces';
import { gridColumnGroupsUnwrappedModelSelector } from '../columnGrouping/gridColumnGroupsSelector';
import { GridScrollbarFillerCell as ScrollbarFiller } from '../../../components/GridScrollbarFillerCell';
import { getPinnedCellOffset } from '../../../internals/utils/getPinnedCellOffset';
import { GridColumnHeaderSeparatorSides } from '../../../components/columnHeaders/GridColumnHeaderSeparator';
Expand Down Expand Up @@ -98,9 +99,9 @@ export const useGridColumnHeaders = (props: UseGridColumnHeadersProps) => {
const apiRef = useGridPrivateApiContext();
const theme = useTheme();
const rootProps = useGridRootProps();
const hasVirtualization = useGridSelector(apiRef, gridVirtualizationColumnEnabledSelector);

const dimensions = useGridSelector(apiRef, gridDimensionsSelector);
const hasVirtualization = useGridSelector(apiRef, gridVirtualizationColumnEnabledSelector);
const columnGroupsModel = useGridSelector(apiRef, gridColumnGroupsUnwrappedModelSelector);
const columnPositions = useGridSelector(apiRef, gridColumnPositionsSelector);
const renderContext = useGridSelector(apiRef, gridRenderContextColumnsSelector);
const pinnedColumns = useGridSelector(apiRef, gridVisiblePinnedColumnDefinitionsSelector);
Expand Down Expand Up @@ -347,17 +348,16 @@ export const useGridColumnHeaders = (props: UseGridColumnHeadersProps) => {
const rowStructure = columnGroupsHeaderStructure[depth];

const firstColumnFieldToRender = visibleColumns[firstColumnToRender].field;
const firstGroupToRender =
apiRef.current.getColumnGroupPath(firstColumnFieldToRender)[depth] ?? null;
const firstGroupToRender = columnGroupsModel[firstColumnFieldToRender]?.[depth] ?? null;

const firstGroupIndex = rowStructure.findIndex(
({ groupId, columnFields }) =>
groupId === firstGroupToRender && columnFields.includes(firstColumnFieldToRender),
);

const lastColumnFieldToRender = visibleColumns[lastColumnToRender - 1].field;
const lastGroupToRender =
apiRef.current.getColumnGroupPath(lastColumnFieldToRender)[depth] ?? null;
const lastGroupToRender = columnGroupsModel[lastColumnFieldToRender]?.[depth] ?? null;

const lastGroupIndex = rowStructure.findIndex(
({ groupId, columnFields }) =>
groupId === lastGroupToRender && columnFields.includes(lastColumnFieldToRender),
Expand Down

0 comments on commit 1391342

Please sign in to comment.