diff --git a/frontend/src/Series/Index/SeriesIndex.tsx b/frontend/src/Series/Index/SeriesIndex.tsx index 2010cf745..2dff3fa21 100644 --- a/frontend/src/Series/Index/SeriesIndex.tsx +++ b/frontend/src/Series/Index/SeriesIndex.tsx @@ -28,6 +28,7 @@ import { } from 'Series/seriesOptionsStore'; import { FILTERS, useSeriesIndex } from 'Series/useSeries'; import scrollPositions from 'Store/scrollPositions'; +import { TableOptionsChangePayload } from 'typings/Table'; import translate from 'Utilities/String/translate'; import SeriesIndexFilterMenu from './Menus/SeriesIndexFilterMenu'; import SeriesIndexSortMenu from './Menus/SeriesIndexSortMenu'; @@ -98,11 +99,20 @@ const SeriesIndex = withScrollPosition((props: SeriesIndexProps) => { setIsSelectMode(!isSelectMode); }, [isSelectMode, setIsSelectMode]); - const onTableOptionChange = useCallback((payload: unknown) => { - setSeriesTableOptions( - payload as Partial<{ showBanners: boolean; showSearchAction: boolean }> - ); - }, []); + const onTableOptionChange = useCallback( + ( + payload: TableOptionsChangePayload & { + tableOptions?: { showBanners?: boolean; showSearchAction?: boolean }; + } + ) => { + if (payload.tableOptions) { + setSeriesTableOptions(payload.tableOptions); + } else if (payload.columns) { + setSeriesOption('columns', payload.columns); + } + }, + [] + ); const onViewSelect = useCallback( (value: string) => { diff --git a/frontend/src/Series/Index/Table/SeriesIndexTableHeader.tsx b/frontend/src/Series/Index/Table/SeriesIndexTableHeader.tsx index ad90ae7f9..fcf80c73e 100644 --- a/frontend/src/Series/Index/Table/SeriesIndexTableHeader.tsx +++ b/frontend/src/Series/Index/Table/SeriesIndexTableHeader.tsx @@ -10,6 +10,7 @@ import VirtualTableSelectAllHeaderCell from 'Components/Table/VirtualTableSelect import { icons } from 'Helpers/Props'; import { SortDirection } from 'Helpers/Props/sortDirections'; import { + setSeriesOption, setSeriesSort, setSeriesTableOptions, } from 'Series/seriesOptionsStore'; @@ -46,9 +47,8 @@ function SeriesIndexTableHeader(props: SeriesIndexTableHeaderProps) { ) => { if (payload.tableOptions) { setSeriesTableOptions(payload.tableOptions); - } else { - // Handle standard table options like columns - for now just ignore - // as series table only uses the tableOptions property + } else if (payload.columns) { + setSeriesOption('columns', payload.columns); } }, []