const useInfiniteEmployees = (
search = '',
sorting: SortingState = [{id: 'name', desc: false}],
) => {
const fetchEmployees = async ({pageParam = 1}) => {
const response = await employeesApi.getEmployees(
pageParam,
search,
parseSort(sorting),
);
return toPaginatedEmployees(response).employees;
};
return useInfiniteQuery({
queryKey: employeesQueryKeys.infinite(search, sorting),
queryFn: fetchEmployees,
initialPageParam: 1,
getNextPageParam: lastPage =>
lastPage.has_next ? lastPage.next_num : undefined,
placeholderData: keepPreviousData,
});
};
export default useInfiniteEmployees;
const useInfiniteEmployees = (
search = '',
sorting: SortingState = [{id: 'name', desc: false}],
) => {
const fetchEmployees = async ({pageParam = 1}) => {
const response = await employeesApi.getEmployees(
pageParam,
search,
parseSort(sorting),
);
return toPaginatedEmployees(response).employees;
};
return useInfiniteQuery({
queryKey: employeesQueryKeys.infinite(search, sorting),
queryFn: fetchEmployees,
initialPageParam: 1,
getNextPageParam: lastPage =>
lastPage.has_next ? lastPage.next_num : undefined,
placeholderData: keepPreviousData,
});
};
export default useInfiniteEmployees;