diff --git a/frontend/src/components/common/Resource/ResourceTable.tsx b/frontend/src/components/common/Resource/ResourceTable.tsx index 7f2ed6d5ab2..fa7e8f274b4 100644 --- a/frontend/src/components/common/Resource/ResourceTable.tsx +++ b/frontend/src/components/common/Resource/ResourceTable.tsx @@ -328,7 +328,7 @@ function ResourceTableContent(props: ResourceTablePr hideColumns = [], filterFunction, errorMessage, - reflectInURL, + reflectInURL = true, data, defaultGlobalFilter, actions, diff --git a/frontend/src/components/common/Table/Table.tsx b/frontend/src/components/common/Table/Table.tsx index 148a0f42c94..bd012344571 100644 --- a/frontend/src/components/common/Table/Table.tsx +++ b/frontend/src/components/common/Table/Table.tsx @@ -48,7 +48,7 @@ import { MRT_Localization_ZH_HANS } from 'material-react-table/locales/zh-Hans'; import { MRT_Localization_ZH_HANT } from 'material-react-table/locales/zh-Hant'; import { memo, ReactNode, useEffect, useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import { getTablesRowsPerPage } from '../../../helpers/tablesRowsPerPage'; +import { setTablesRowsPerPage } from '../../../helpers/tablesRowsPerPage'; import { useShortcut } from '../../../lib/useShortcut'; import { useURLState } from '../../../lib/util'; import { useSettings } from '../../App/Settings/hook'; @@ -203,9 +203,8 @@ export default function Table>({ const storeRowsPerPageOptions = useSettings('tableRowsPerPageOptions'); const rowsPerPageOptions = rowsPerPage || storeRowsPerPageOptions; - const defaultRowsPerPage = useMemo(() => getTablesRowsPerPage(rowsPerPageOptions[0]), []); const [pageSize, setPageSize] = useURLState(shouldReflectInURL ? 'perPage' : '', { - defaultValue: defaultRowsPerPage, + defaultValue: storeRowsPerPageOptions[0], prefix, }); @@ -272,6 +271,7 @@ export default function Table>({ const pagination = updater({ pageIndex: Number(page) - 1, pageSize: Number(pageSize) }); setPage(pagination.pageIndex + 1); setPageSize(pagination.pageSize); + setTablesRowsPerPage(pagination.pageSize); }, onGlobalFilterChange: setGlobalFilter, renderToolbarInternalActions: props => { diff --git a/frontend/src/components/common/Table/__snapshots__/Table.ReflectInURL.stories.storyshot b/frontend/src/components/common/Table/__snapshots__/Table.ReflectInURL.stories.storyshot index aa69a3a6745..fe17ffe6e78 100644 --- a/frontend/src/components/common/Table/__snapshots__/Table.ReflectInURL.stories.storyshot +++ b/frontend/src/components/common/Table/__snapshots__/Table.ReflectInURL.stories.storyshot @@ -420,6 +420,206 @@ 4 + + + Name 5 + + + Namespace 5 + + + 5 + + + + + Name 6 + + + Namespace 6 + + + 6 + + + + + Name 7 + + + Namespace 7 + + + 7 + + + + + Name 8 + + + Namespace 8 + + + 8 + + + + + Name 9 + + + Namespace 9 + + + 9 + + + + + Name 10 + + + Namespace 10 + + + 10 + + + + + Name 11 + + + Namespace 11 + + + 11 + + + + + Name 12 + + + Namespace 12 + + + 12 + + + + + Name 13 + + + Namespace 13 + + + 13 + + + + + Name 14 + + + Namespace 14 + + + 14 + +
- 5 + 15
+ + + Name 5 + + + Namespace 5 + + + + + + Name 6 + + + Namespace 6 + + + + + + Name 7 + + + Namespace 7 + + + + + + Name 8 + + + Namespace 8 + + + + + + Name 9 + + + Namespace 9 + + + + + + Name 10 + + + Namespace 10 + + + + + + Name 11 + + + Namespace 11 + + + + + + Name 12 + + + Namespace 12 + + + + + + Name 13 + + + Namespace 13 + + + + + + Name 14 + + + Namespace 14 + + +
- 5 + 15