2021-10-25 15:29:27 +00:00
|
|
|
import { DEFAULT_INITIAL_PAGINATION_DATA } from "@saleor/config";
|
|
|
|
import { Pagination } from "@saleor/types";
|
2021-09-28 12:24:45 +00:00
|
|
|
import { useEffect } from "react";
|
|
|
|
|
|
|
|
import useNavigator from "./useNavigator";
|
|
|
|
|
2021-10-25 15:29:27 +00:00
|
|
|
export function usePaginationReset<T extends Pagination>(
|
|
|
|
urlFunc: (params: T) => string,
|
|
|
|
params: T,
|
2022-06-21 09:36:55 +00:00
|
|
|
rowNumber: number,
|
2021-10-25 15:29:27 +00:00
|
|
|
) {
|
2021-09-28 12:24:45 +00:00
|
|
|
const navigate = useNavigator();
|
|
|
|
|
2021-10-25 15:29:27 +00:00
|
|
|
useEffect(
|
|
|
|
() =>
|
|
|
|
navigate(
|
|
|
|
urlFunc({
|
|
|
|
...params,
|
2022-06-21 09:36:55 +00:00
|
|
|
...DEFAULT_INITIAL_PAGINATION_DATA,
|
2021-10-25 15:29:27 +00:00
|
|
|
}),
|
2022-06-21 09:36:55 +00:00
|
|
|
{ replace: true },
|
2021-10-25 15:29:27 +00:00
|
|
|
),
|
2022-06-21 09:36:55 +00:00
|
|
|
[rowNumber],
|
2021-10-25 15:29:27 +00:00
|
|
|
);
|
|
|
|
|
|
|
|
useEffect(
|
|
|
|
() =>
|
|
|
|
navigate(
|
|
|
|
urlFunc({
|
2022-06-21 09:36:55 +00:00
|
|
|
...params,
|
2021-10-25 15:29:27 +00:00
|
|
|
}),
|
2022-06-21 09:36:55 +00:00
|
|
|
{ replace: true },
|
2021-10-25 15:29:27 +00:00
|
|
|
),
|
2022-06-21 09:36:55 +00:00
|
|
|
[params.before, params.after],
|
2021-10-25 15:29:27 +00:00
|
|
|
);
|
|
|
|
}
|