UNPKG

bananas-commerce-admin

Version:

What's this, an admin for apes?

26 lines 1.23 kB
import { useCallback, useMemo } from "react"; import { useSearchParams } from "react-router-dom"; export const useTableSearchParams = (defaults) => { const [searchParams, setSearchParams] = useSearchParams(); const page = useMemo(() => Number.parseInt(searchParams.get("page") ?? defaults?.page?.toString() ?? "0"), [searchParams]); const changePage = useCallback((_, newPage) => { const params = new URLSearchParams(searchParams); params.set("page", newPage.toString()); setSearchParams(params); }, [searchParams, setSearchParams]); const rowsPerPage = useMemo(() => Number.parseInt(searchParams.get("page_size") ?? defaults?.rowsPerPage?.toString() ?? "100"), [searchParams, defaults]); const changeRowsPerPage = useCallback((event) => { const newRowsPerPage = Number.parseInt(event.target.value); const params = new URLSearchParams(searchParams); params.set("page_size", newRowsPerPage.toString()); params.set("page", "0"); setSearchParams(params); }, [searchParams, setSearchParams]); return { page, changePage, rowsPerPage, changeRowsPerPage, }; }; //# sourceMappingURL=useTableSearchParams.js.map