fix: pagination cache for table list

This commit is contained in:
jialin
2026-03-17 16:35:55 +08:00
committed by jialin
parent e72cacc4b2
commit 68519223fa
10 changed files with 28 additions and 9 deletions
+2
View File
@@ -2,6 +2,7 @@ import DeleteModal from '@/components/delete-modal';
import IconFont from '@/components/icon-font';
import { FilterBar } from '@/components/page-tools';
import { PageAction } from '@/config';
import { PaginationKey } from '@/config/settings';
import type { PageActionType } from '@/config/types';
import useTableFetch from '@/hooks/use-table-fetch';
import { useIntl } from '@umijs/max';
@@ -32,6 +33,7 @@ const APIKeys: React.FC = () => {
handleSearch,
handleNameChange
} = useTableFetch<ListItem>({
key: PaginationKey.APIKeys,
fetchAPI: queryApisKeysList,
deleteAPI: deleteApisKey,
contentForDelete: 'apikeys.table.apikeys'
+2 -1
View File
@@ -2,7 +2,7 @@ import DeleteModal from '@/components/delete-modal';
import IconFont from '@/components/icon-font';
import { FilterBar } from '@/components/page-tools';
import { PageAction } from '@/config';
import { TABLE_SORT_DIRECTIONS } from '@/config/settings';
import { PaginationKey, TABLE_SORT_DIRECTIONS } from '@/config/settings';
import useTableFetch from '@/hooks/use-table-fetch';
import { useBenchmarkTargetInstance } from '@/pages/llmodels/hooks/use-run-benchmark';
import { useQueryModelList } from '@/pages/llmodels/services/use-query-model-list';
@@ -51,6 +51,7 @@ const Benchmark: React.FC = () => {
handleSearch,
handleNameChange
} = useTableFetch<ListItem>({
key: PaginationKey.Benchmarks,
fetchAPI: queryBenchmarkList,
deleteAPI: deleteBenchmark,
API: BENCHMARKS_API,
+2 -1
View File
@@ -6,7 +6,7 @@ import SealTable from '@/components/seal-table';
import TableContext from '@/components/seal-table/table-context';
import { TableOrder } from '@/components/seal-table/types';
import { PageAction } from '@/config';
import { TABLE_SORT_DIRECTIONS } from '@/config/settings';
import { PaginationKey, TABLE_SORT_DIRECTIONS } from '@/config/settings';
import type { PageActionType } from '@/config/types';
import useExpandedRowKeys from '@/hooks/use-expanded-row-keys';
import useTableFetch from '@/hooks/use-table-fetch';
@@ -66,6 +66,7 @@ const Clusters: React.FC = () => {
handleSearch,
handleNameChange
} = useTableFetch<ListItem>({
key: PaginationKey.Clusters,
fetchAPI: queryClusterList,
deleteAPI: deleteCluster,
watch: true,
+2 -1
View File
@@ -3,7 +3,7 @@ import DeleteModal from '@/components/delete-modal';
import IconFont from '@/components/icon-font';
import { FilterBar } from '@/components/page-tools';
import { PageAction } from '@/config';
import { TABLE_SORT_DIRECTIONS } from '@/config/settings';
import { PaginationKey, TABLE_SORT_DIRECTIONS } from '@/config/settings';
import type { PageActionType } from '@/config/types';
import useTableFetch from '@/hooks/use-table-fetch';
import { useIntl, useNavigate } from '@umijs/max';
@@ -58,6 +58,7 @@ const Credentials: React.FC = () => {
handleSearch,
handleNameChange
} = useTableFetch<ListItem>({
key: PaginationKey.Credentials,
fetchAPI: queryCredentialList,
deleteAPI: deleteCredential,
contentForDelete: 'menu.clusterManagement.credentials'
+10 -1
View File
@@ -1,6 +1,8 @@
import TableContext from '@/components/seal-table/table-context';
import { TableOrder } from '@/components/seal-table/types';
import { PaginationKey } from '@/config/settings';
import useSetChunkRequest from '@/hooks/use-chunk-request';
import { usePaginationStatus } from '@/hooks/use-pagination-status';
import { useTableMultiSort } from '@/hooks/use-table-sort';
import useUpdateChunkedList from '@/hooks/use-update-chunk-list';
import { useMemoizedFn } from 'ahooks';
@@ -17,6 +19,9 @@ import TableList from './components/table-list';
import { ListItem } from './config/types';
const Models: React.FC<{ clusterId?: number }> = ({ clusterId }) => {
const { pagination, setPagination } = usePaginationStatus(
PaginationKey.Deployments
);
const { sortOrder, handleMultiSortChange } = useTableMultiSort();
const { setChunkRequest, createAxiosToken } = useSetChunkRequest();
const { setChunkRequest: setModelInstanceChunkRequest } =
@@ -47,7 +52,8 @@ const Models: React.FC<{ clusterId?: number }> = ({ clusterId }) => {
cluster_id: clusterId || 0,
categories: [],
state: '',
sort_by: ''
sort_by: '',
...pagination
});
const { updateChunkedList, cacheDataListRef } = useUpdateChunkedList({
@@ -177,6 +183,9 @@ const Models: React.FC<{ clusterId?: number }> = ({ clusterId }) => {
page: page,
perPage: pageSize || 10
});
setPagination({
perPage: pageSize || 10
});
}
);
+2 -1
View File
@@ -2,7 +2,7 @@ import DeleteModal from '@/components/delete-modal';
import IconFont from '@/components/icon-font';
import { FilterBar } from '@/components/page-tools';
import { PageAction } from '@/config';
import { TABLE_SORT_DIRECTIONS } from '@/config/settings';
import { PaginationKey, TABLE_SORT_DIRECTIONS } from '@/config/settings';
import useTableFetch from '@/hooks/use-table-fetch';
import { useIntl } from '@umijs/max';
import { useMemoizedFn } from 'ahooks';
@@ -37,6 +37,7 @@ const MaasProvider: React.FC = () => {
handleSearch,
handleNameChange
} = useTableFetch<ListItem>({
key: PaginationKey.Providers,
fetchAPI: queryMaasProviders,
deleteAPI: deleteProvider,
watch: false,
+2 -1
View File
@@ -7,7 +7,7 @@ import SealTable from '@/components/seal-table';
import TableContext from '@/components/seal-table/table-context';
import { TableOrder } from '@/components/seal-table/types';
import { PageAction } from '@/config';
import { TABLE_SORT_DIRECTIONS } from '@/config/settings';
import { PaginationKey, TABLE_SORT_DIRECTIONS } from '@/config/settings';
import useExpandedRowKeys from '@/hooks/use-expanded-row-keys';
import useTableFetch from '@/hooks/use-table-fetch';
import useWatchList from '@/hooks/use-watch-list';
@@ -57,6 +57,7 @@ const ModelRoutes: React.FC = () => {
handleSearch,
handleNameChange
} = useTableFetch<ListItem>({
key: PaginationKey.Routes,
fetchAPI: queryModelRoutes,
deleteAPI: deleteModelRoute,
watch: true,
+2 -1
View File
@@ -1,6 +1,6 @@
import IconFont from '@/components/icon-font';
import { FilterBar } from '@/components/page-tools';
import { TABLE_SORT_DIRECTIONS } from '@/config/settings';
import { PaginationKey, TABLE_SORT_DIRECTIONS } from '@/config/settings';
import useTableFetch from '@/hooks/use-table-fetch';
import NoResult from '@/pages/_components/no-result';
import PageBox from '@/pages/_components/page-box';
@@ -28,6 +28,7 @@ const GPUList: React.FC<{ clusterId?: number; widths?: { input: number } }> = ({
handleSearch,
handleNameChange
} = useTableFetch<GPUDeviceItem>({
key: PaginationKey.GPUs,
fetchAPI: queryGpuDevicesList,
polling: true,
API: GPU_DEVICES_API,
@@ -3,7 +3,7 @@ import DeleteModal from '@/components/delete-modal';
import IconFont from '@/components/icon-font';
import { FilterBar } from '@/components/page-tools';
import { PageAction } from '@/config';
import { TABLE_SORT_DIRECTIONS } from '@/config/settings';
import { PaginationKey, TABLE_SORT_DIRECTIONS } from '@/config/settings';
import useAppUtils from '@/hooks/use-app-utils';
import useBodyScroll from '@/hooks/use-body-scroll';
import useTableFetch from '@/hooks/use-table-fetch';
@@ -64,6 +64,7 @@ const ModelFiles = () => {
handleNameChange,
handleQueryChange
} = useTableFetch<ListItem>({
key: PaginationKey.ModelFiles,
fetchAPI: queryModelFilesList,
deleteAPI: deleteModelFile,
API: MODEL_FILES_API,
+2 -1
View File
@@ -2,7 +2,7 @@ import DeleteModal from '@/components/delete-modal';
import IconFont from '@/components/icon-font';
import { FilterBar } from '@/components/page-tools';
import { PageAction } from '@/config';
import { TABLE_SORT_DIRECTIONS } from '@/config/settings';
import { PaginationKey, TABLE_SORT_DIRECTIONS } from '@/config/settings';
import type { PageActionType } from '@/config/types';
import useTableFetch from '@/hooks/use-table-fetch';
import { useIntl, useModel } from '@umijs/max';
@@ -38,6 +38,7 @@ const Users: React.FC = () => {
handleSearch,
handleNameChange
} = useTableFetch<ListItem>({
key: PaginationKey.Users,
fetchAPI: queryUsersList,
deleteAPI: deleteUser,
contentForDelete: 'users.table.user'