From 1f553fd33e059b72cb11acdc7a83e912b0cd77cf Mon Sep 17 00:00:00 2001 From: Andrey Epifancev Date: Wed, 28 Oct 2026 21:19:56 +0400 Subject: [PATCH] =?UTF-8?q?perf(table):=20=D1=83=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D1=8F=D0=B5=D0=BC=D1=8B=D0=B5=20columnFilters=20=D0=B8?= =?UTF-8?q?=20columnSizingInfo=20=D0=B2=20RealtimeTable?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Значения нужны до создания таблицы, чтобы войти в ключ сброса мемоизации (design.md D3, D4). Co-Authored-By: Claude Sonnet 5.5 --- .../components/RealtimeTable/RealtimeTable.jsx | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/web/src/components/RealtimeTable/RealtimeTable.jsx b/web/src/components/RealtimeTable/RealtimeTable.jsx index bbde0fc..0f8fbcf 100644 --- a/web/src/components/RealtimeTable/RealtimeTable.jsx +++ b/web/src/components/RealtimeTable/RealtimeTable.jsx @@ -26,6 +26,7 @@ import { useTableScale } from './hooks/useTableScale'; import { useBudgetYear } from './hooks/useBudgetYear'; import { useValidationRules } from './hooks/useValidationRules'; import { getRowId } from './utils/rowUtils'; +import { DEFAULT_COLUMN_SIZING_INFO } from './utils/columnResizeInfo'; import { getColumnVirtualizerOptions, getOrderedVisibleColumns } from './utils/columnLayoutUtils'; import { DictVspApi } from '../../api/dict-vsp'; @@ -93,6 +94,8 @@ const RealtimeTable = ({ formType, formId, sheetName, direction, year }) => { const [showColumnFilters, setShowColumnFilters] = useState(false); const [selectedColumnId, setSelectedColumnId] = useState(); const [rowSelection, setRowSelection] = useState({}); + const [columnFilters, setColumnFilters] = useState([]); + const [columnSizingInfo, setColumnSizingInfo] = useState(DEFAULT_COLUMN_SIZING_INFO); const rowSelectionRef = useRef(rowSelection); rowSelectionRef.current = rowSelection; const [, startTransition] = useTransition(); @@ -332,6 +335,8 @@ const RealtimeTable = ({ formType, formId, sheetName, direction, year }) => { globalFilter, showColumnFilters, rowSelection, + columnFilters, + columnSizingInfo, containerRef, tableMeta, setColumnSizing, @@ -366,6 +371,8 @@ const RealtimeTable = ({ formType, formId, sheetName, direction, year }) => { 'data-row-id': row.id, }), onColumnSizingChange: setColumnSizing, + onColumnFiltersChange: setColumnFilters, + onColumnSizingInfoChange: setColumnSizingInfo, onColumnPinningChange: setColumnPinning, onExpandedChange: setExpanded, onGlobalFilterChange: handleGlobalFilterChange, @@ -376,6 +383,8 @@ const RealtimeTable = ({ formType, formId, sheetName, direction, year }) => { globalFilter, showColumnFilters, rowSelection, + columnFilters, + columnSizingInfo, editingCell, expanded, }, @@ -425,6 +434,8 @@ const RealtimeTable = ({ formType, formId, sheetName, direction, year }) => { globalFilter, showColumnFilters, rowSelection, + columnFilters, + columnSizingInfo, containerRef, tableMeta, setColumnSizing, @@ -444,6 +455,8 @@ const RealtimeTable = ({ formType, formId, sheetName, direction, year }) => { globalFilter, showColumnFilters, rowSelection, + columnFilters, + columnSizingInfo, containerRef, tableMeta, setColumnSizing, @@ -809,7 +822,7 @@ const RealtimeTable = ({ formType, formId, sheetName, direction, year }) => { columnPinning={columnPinning} columnSizing={columnSizing} columnVisibility={columnVisibility} - columnFilters={table.getState().columnFilters} + columnFilters={columnFilters} showColumnFilters={showColumnFilters} selectedColumnId={selectedColumnId} onColumnSelect={handleColumnSelect}