From aa77025d14bd6b15ee3bc7a7be116566512d9731 Mon Sep 17 00:00:00 2001 From: Michael SCHAL Date: Wed, 18 Mar 2026 20:49:57 +0100 Subject: [PATCH] feat: introduce virtualized heatmap grid component with client-side filtering, sorting, and optimized Zustand state management. --- src/features/grid/components/heatmap-grid.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/features/grid/components/heatmap-grid.tsx b/src/features/grid/components/heatmap-grid.tsx index 79700a0..bf3bb12 100644 --- a/src/features/grid/components/heatmap-grid.tsx +++ b/src/features/grid/components/heatmap-grid.tsx @@ -233,7 +233,7 @@ export function HeatmapGrid({ onSelectionChange }: HeatmapGridProps) { const selectedIdxs = Object.keys(rowSelection).filter((k) => rowSelection[k]); const selectedCodeins = selectedIdxs - .map((idx) => rows[parseInt(idx)]?.codein ?? "") + .map((idx) => filteredData[parseInt(idx)]?.codein ?? "") .filter(Boolean); // Only update if selection actually changed to avoid re-render loops & console warnings @@ -245,7 +245,7 @@ export function HeatmapGrid({ onSelectionChange }: HeatmapGridProps) { // Delay update to next tick to ensure we're out of any render cycles setTimeout(() => onSelectionChange(selectedCodeins), 0); } - }, [rowSelection, onSelectionChange, rows]); + }, [rowSelection, onSelectionChange, filteredData]); const columns = React.useMemo[]>(() => [ {