perf(table): управляемые columnFilters и columnSizingInfo в RealtimeTable
Значения нужны до создания таблицы, чтобы войти в ключ сброса мемоизации (design.md D3, D4). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
e5f4b3b965
commit
1f553fd33e
@ -26,6 +26,7 @@ import { useTableScale } from './hooks/useTableScale';
|
|||||||
import { useBudgetYear } from './hooks/useBudgetYear';
|
import { useBudgetYear } from './hooks/useBudgetYear';
|
||||||
import { useValidationRules } from './hooks/useValidationRules';
|
import { useValidationRules } from './hooks/useValidationRules';
|
||||||
import { getRowId } from './utils/rowUtils';
|
import { getRowId } from './utils/rowUtils';
|
||||||
|
import { DEFAULT_COLUMN_SIZING_INFO } from './utils/columnResizeInfo';
|
||||||
import { getColumnVirtualizerOptions, getOrderedVisibleColumns } from './utils/columnLayoutUtils';
|
import { getColumnVirtualizerOptions, getOrderedVisibleColumns } from './utils/columnLayoutUtils';
|
||||||
|
|
||||||
import { DictVspApi } from '../../api/dict-vsp';
|
import { DictVspApi } from '../../api/dict-vsp';
|
||||||
@ -93,6 +94,8 @@ const RealtimeTable = ({ formType, formId, sheetName, direction, year }) => {
|
|||||||
const [showColumnFilters, setShowColumnFilters] = useState(false);
|
const [showColumnFilters, setShowColumnFilters] = useState(false);
|
||||||
const [selectedColumnId, setSelectedColumnId] = useState();
|
const [selectedColumnId, setSelectedColumnId] = useState();
|
||||||
const [rowSelection, setRowSelection] = useState({});
|
const [rowSelection, setRowSelection] = useState({});
|
||||||
|
const [columnFilters, setColumnFilters] = useState([]);
|
||||||
|
const [columnSizingInfo, setColumnSizingInfo] = useState(DEFAULT_COLUMN_SIZING_INFO);
|
||||||
const rowSelectionRef = useRef(rowSelection);
|
const rowSelectionRef = useRef(rowSelection);
|
||||||
rowSelectionRef.current = rowSelection;
|
rowSelectionRef.current = rowSelection;
|
||||||
const [, startTransition] = useTransition();
|
const [, startTransition] = useTransition();
|
||||||
@ -332,6 +335,8 @@ const RealtimeTable = ({ formType, formId, sheetName, direction, year }) => {
|
|||||||
globalFilter,
|
globalFilter,
|
||||||
showColumnFilters,
|
showColumnFilters,
|
||||||
rowSelection,
|
rowSelection,
|
||||||
|
columnFilters,
|
||||||
|
columnSizingInfo,
|
||||||
containerRef,
|
containerRef,
|
||||||
tableMeta,
|
tableMeta,
|
||||||
setColumnSizing,
|
setColumnSizing,
|
||||||
@ -366,6 +371,8 @@ const RealtimeTable = ({ formType, formId, sheetName, direction, year }) => {
|
|||||||
'data-row-id': row.id,
|
'data-row-id': row.id,
|
||||||
}),
|
}),
|
||||||
onColumnSizingChange: setColumnSizing,
|
onColumnSizingChange: setColumnSizing,
|
||||||
|
onColumnFiltersChange: setColumnFilters,
|
||||||
|
onColumnSizingInfoChange: setColumnSizingInfo,
|
||||||
onColumnPinningChange: setColumnPinning,
|
onColumnPinningChange: setColumnPinning,
|
||||||
onExpandedChange: setExpanded,
|
onExpandedChange: setExpanded,
|
||||||
onGlobalFilterChange: handleGlobalFilterChange,
|
onGlobalFilterChange: handleGlobalFilterChange,
|
||||||
@ -376,6 +383,8 @@ const RealtimeTable = ({ formType, formId, sheetName, direction, year }) => {
|
|||||||
globalFilter,
|
globalFilter,
|
||||||
showColumnFilters,
|
showColumnFilters,
|
||||||
rowSelection,
|
rowSelection,
|
||||||
|
columnFilters,
|
||||||
|
columnSizingInfo,
|
||||||
editingCell,
|
editingCell,
|
||||||
expanded,
|
expanded,
|
||||||
},
|
},
|
||||||
@ -425,6 +434,8 @@ const RealtimeTable = ({ formType, formId, sheetName, direction, year }) => {
|
|||||||
globalFilter,
|
globalFilter,
|
||||||
showColumnFilters,
|
showColumnFilters,
|
||||||
rowSelection,
|
rowSelection,
|
||||||
|
columnFilters,
|
||||||
|
columnSizingInfo,
|
||||||
containerRef,
|
containerRef,
|
||||||
tableMeta,
|
tableMeta,
|
||||||
setColumnSizing,
|
setColumnSizing,
|
||||||
@ -444,6 +455,8 @@ const RealtimeTable = ({ formType, formId, sheetName, direction, year }) => {
|
|||||||
globalFilter,
|
globalFilter,
|
||||||
showColumnFilters,
|
showColumnFilters,
|
||||||
rowSelection,
|
rowSelection,
|
||||||
|
columnFilters,
|
||||||
|
columnSizingInfo,
|
||||||
containerRef,
|
containerRef,
|
||||||
tableMeta,
|
tableMeta,
|
||||||
setColumnSizing,
|
setColumnSizing,
|
||||||
@ -809,7 +822,7 @@ const RealtimeTable = ({ formType, formId, sheetName, direction, year }) => {
|
|||||||
columnPinning={columnPinning}
|
columnPinning={columnPinning}
|
||||||
columnSizing={columnSizing}
|
columnSizing={columnSizing}
|
||||||
columnVisibility={columnVisibility}
|
columnVisibility={columnVisibility}
|
||||||
columnFilters={table.getState().columnFilters}
|
columnFilters={columnFilters}
|
||||||
showColumnFilters={showColumnFilters}
|
showColumnFilters={showColumnFilters}
|
||||||
selectedColumnId={selectedColumnId}
|
selectedColumnId={selectedColumnId}
|
||||||
onColumnSelect={handleColumnSelect}
|
onColumnSelect={handleColumnSelect}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user