From f1bb6dbf6ffa738e51a1d284d21ee881f5fd4646 Mon Sep 17 00:00:00 2001 From: Veronika Tsygankova Date: Fri, 26 Jun 2026 09:32:32 +0300 Subject: [PATCH] =?UTF-8?q?[AURORA-1147]=20-=20=D1=84=D0=B8=D0=BA=D1=81=20?= =?UTF-8?q?=D1=80=D0=B0=D1=81=D1=81=D1=82=D0=BE=D1=8F=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BC=D0=B5=D0=B6=D0=B4=D1=83=20=D1=81=D1=82=D1=80=D0=BE=D1=87?= =?UTF-8?q?=D0=BA=D0=B0=D0=BC=D0=B8=20=D0=BF=D1=80=D0=B8=20=D0=B8=D0=BC?= =?UTF-8?q?=D0=B7=D0=B5=D0=BD=D0=B5=D0=B8=D0=B8=20=D0=BC=D0=B0=D1=81=D1=88?= =?UTF-8?q?=D0=B0=D0=B1=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/components/RealtimeTable/RealtimeTable.jsx | 9 +++++++++ .../components/RealtimeTable/constants/tableConfig.js | 2 ++ 2 files changed, 11 insertions(+) diff --git a/web/src/components/RealtimeTable/RealtimeTable.jsx b/web/src/components/RealtimeTable/RealtimeTable.jsx index 8a0e1c3..7816407 100644 --- a/web/src/components/RealtimeTable/RealtimeTable.jsx +++ b/web/src/components/RealtimeTable/RealtimeTable.jsx @@ -19,6 +19,7 @@ import { BASE_TABLE_CONFIG, getTableHeadCellStyles, getTablePaperStyles, + TABLE_ROW_HEIGHT, } from './constants/tableConfig'; import { useRealtime } from './contexts/RealtimeContext'; import { toast } from 'react-toastify'; @@ -66,10 +67,15 @@ const RealtimeTable = ({ formType, formId, sheetName, direction }) => { } = useColumnSettings(`${formId}_${formType}_${sheetName}_${direction}`); const { headerPortalRef, containerRef } = useHeaderPortal(); + const rowVirtualizerRef = useRef(null); const { sizeMult, setSizeMult, tableScaleStyle, tableWrapperStyle } = useTableScale(); + useEffect(() => { + rowVirtualizerRef.current?.measure?.(); + }, [sizeMult]); + const [columnsConfig, setColumnsConfig] = useState(null); useEffect(() => { @@ -129,10 +135,13 @@ const RealtimeTable = ({ formType, formId, sheetName, direction }) => { data: data, enableRowVirtualization: true, enableColumnVirtualization: true, + rowVirtualizerInstanceRef: rowVirtualizerRef, rowVirtualizerOptions: { overscan: 30, scrollPaddingStart: 0, scrollPaddingEnd: 0, + estimateSize: () => TABLE_ROW_HEIGHT, + measureElement: (el) => el?.offsetHeight || TABLE_ROW_HEIGHT, }, onEditingCellChange: (cell) => { if (cell) { diff --git a/web/src/components/RealtimeTable/constants/tableConfig.js b/web/src/components/RealtimeTable/constants/tableConfig.js index a237ae0..2ac68e7 100644 --- a/web/src/components/RealtimeTable/constants/tableConfig.js +++ b/web/src/components/RealtimeTable/constants/tableConfig.js @@ -1,3 +1,5 @@ +export const TABLE_ROW_HEIGHT = 80; + export const BASE_TABLE_CONFIG = { muiTableRowProps: { sx: { height: "5rem" }, -- 2.47.2