From 4d2721db50e9394e43dd90f77b95c8e733c0005e Mon Sep 17 00:00:00 2001 From: jeffvli Date: Tue, 2 Dec 2025 18:05:26 -0800 Subject: [PATCH] fix table scrollsync on column change --- .../item-table-list/item-table-list.tsx | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/renderer/components/item-list/item-table-list/item-table-list.tsx b/src/renderer/components/item-list/item-table-list/item-table-list.tsx index e3fbb8da1..fe178942c 100644 --- a/src/renderer/components/item-list/item-table-list/item-table-list.tsx +++ b/src/renderer/components/item-list/item-table-list/item-table-list.tsx @@ -619,6 +619,34 @@ const VirtualizedTableGrid = React.memo( ); }, + (prevProps, nextProps) => { + const prevColumnIds = prevProps.parsedColumns.map((col) => col.id).join(','); + const nextColumnIds = nextProps.parsedColumns.map((col) => col.id).join(','); + + const columnWidthsEqual = prevProps.calculatedColumnWidths.every( + (width, index) => width === nextProps.calculatedColumnWidths[index], + ); + + if (prevColumnIds !== nextColumnIds) { + return false; + } + + return ( + columnWidthsEqual && + prevProps.activeRowId === nextProps.activeRowId && + prevProps.data === nextProps.data && + prevProps.size === nextProps.size && + prevProps.startRowIndex === nextProps.startRowIndex && + prevProps.enableVerticalBorders === nextProps.enableVerticalBorders && + prevProps.enableHorizontalBorders === nextProps.enableHorizontalBorders && + prevProps.enableRowHoverHighlight === nextProps.enableRowHoverHighlight && + prevProps.enableAlternateRowColors === nextProps.enableAlternateRowColors && + prevProps.pinnedLeftColumnCount === nextProps.pinnedLeftColumnCount && + prevProps.pinnedRightColumnCount === nextProps.pinnedRightColumnCount && + prevProps.totalColumnCount === nextProps.totalColumnCount && + prevProps.totalRowCount === nextProps.totalRowCount + ); + }, ); VirtualizedTableGrid.displayName = 'VirtualizedTableGrid';