From dd1f8331de3d73cddf5397f146e8b5934db5b011 Mon Sep 17 00:00:00 2001 From: Michael Smith Date: Tue, 5 Dec 2023 08:49:11 -0500 Subject: [PATCH] fix: disable prefetches for audits table (#11040) --- site/src/api/queries/audits.ts | 1 + site/src/hooks/usePaginatedQuery.ts | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/site/src/api/queries/audits.ts b/site/src/api/queries/audits.ts index 3479c183b1..b469e7749b 100644 --- a/site/src/api/queries/audits.ts +++ b/site/src/api/queries/audits.ts @@ -19,5 +19,6 @@ export function paginatedAudits( q: payload, }); }, + prefetch: false, }; } diff --git a/site/src/hooks/usePaginatedQuery.ts b/site/src/hooks/usePaginatedQuery.ts index ba3206aa0e..182b1c3796 100644 --- a/site/src/hooks/usePaginatedQuery.ts +++ b/site/src/hooks/usePaginatedQuery.ts @@ -66,6 +66,12 @@ export type UsePaginatedQueryOptions< * closest valid page. */ onInvalidPageChange?: (params: InvalidPageParams) => void; + + /** + * Defaults to true. Allows you to disable prefetches for pages where making + * a request is very expensive. + */ + prefetch?: boolean; }; /** @@ -98,6 +104,7 @@ export function usePaginatedQuery< onInvalidPageChange, searchParams: outerSearchParams, queryFn: outerQueryFn, + prefetch = true, ...extraOptions } = options; @@ -148,7 +155,12 @@ export function usePaginatedQuery< const queryClient = useQueryClient(); const prefetchPage = useEffectEvent((newPage: number) => { + if (!prefetch) { + return; + } + const options = getQueryOptionsFromPage(newPage); + return queryClient.prefetchQuery(options); });