diff --git a/packages/framework/esm-react-utils/src/useOpenmrsInfinite.ts b/packages/framework/esm-react-utils/src/useOpenmrsInfinite.ts index e603d56d2..af0268297 100644 --- a/packages/framework/esm-react-utils/src/useOpenmrsInfinite.ts +++ b/packages/framework/esm-react-utils/src/useOpenmrsInfinite.ts @@ -26,6 +26,8 @@ export interface UseServerInfiniteOptions { immutable?: boolean; swrInfiniteConfig?: SWRInfiniteConfiguration; + + resultsPerPage?:number; } export interface UseServerInfiniteReturnObject { @@ -112,18 +114,18 @@ export function useServerInfinite( serverPaginationHandlers: ServerPaginationHandlers, options: UseServerInfiniteOptions = {}, ): UseServerInfiniteReturnObject { - const { swrInfiniteConfig, immutable } = options; + const { swrInfiniteConfig, immutable,resultsPerPage=50 } = options; const { getNextUrl, getTotalCount, getData } = serverPaginationHandlers; const fetcher: (key: string) => Promise> = options.fetcher ?? openmrsFetch; const getKey = useCallback( (pageIndex: number, previousPageData: FetchResponse): string | null => { if (pageIndex == 0) { - return url?.toString() ?? null; + return url?.toString().concat(`&limit=${resultsPerPage}`) ?? null; } else { - return serverPaginationHandlers.getNextUrl(previousPageData.data); + return serverPaginationHandlers.getNextUrl(previousPageData.data)+`&limit=${resultsPerPage}`; } }, - [url], + [url,resultsPerPage], ); const { data, size, setSize, ...rest } = useSWRInfinite>(getKey, fetcher, {