feat: add search parameter cleanup in useServerTable hook
This commit is contained in:
parent
c6a87a64c9
commit
de45ae3bb7
@ -1,5 +1,5 @@
|
|||||||
import { router } from '@inertiajs/react';
|
import { router } from '@inertiajs/react';
|
||||||
import { useCallback, useState } from 'react';
|
import { useCallback, useEffect, useState } from 'react';
|
||||||
import type { PaginationState } from '@/components/data-table';
|
import type { PaginationState } from '@/components/data-table';
|
||||||
|
|
||||||
type UseServerTableOptions = {
|
type UseServerTableOptions = {
|
||||||
@ -18,6 +18,18 @@ export function useServerTable({
|
|||||||
const [search, setSearch] = useState('');
|
const [search, setSearch] = useState('');
|
||||||
const [filterOpen, setFilterOpen] = useState(false);
|
const [filterOpen, setFilterOpen] = useState(false);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const params = new URLSearchParams(window.location.search);
|
||||||
|
if (params.has('search')) {
|
||||||
|
params.delete('search');
|
||||||
|
const cleanUrl =
|
||||||
|
window.location.pathname +
|
||||||
|
(params.toString() ? `?${params.toString()}` : '');
|
||||||
|
history.replaceState(null, '', cleanUrl);
|
||||||
|
router.get(route(), {}, { preserveState: true, replace: true });
|
||||||
|
}
|
||||||
|
}, []);
|
||||||
|
|
||||||
const handlePageChange = useCallback(
|
const handlePageChange = useCallback(
|
||||||
(page: number) => {
|
(page: number) => {
|
||||||
router.get(
|
router.get(
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user