Fix original search params from being replaced

This commit is contained in:
jeffvli 2023-07-22 05:26:15 -07:00
parent 3aec139f58
commit f9338aafcd
2 changed files with 19 additions and 10 deletions

View file

@ -176,11 +176,12 @@ export const useVirtualTable = <TFilter>({
const { data } = args; const { data } = args;
setSearchParams( setSearchParams(
{ (params) => {
...(data.currentPage && { currentPage: String(data.currentPage) }), if (data.currentPage) params.set('currentPage', String(data.currentPage));
...(data.itemsPerPage && { itemsPerPage: String(data.itemsPerPage) }), if (data.itemsPerPage) params.set('itemsPerPage', String(data.itemsPerPage));
...(data.totalItems && { totalItems: String(data.totalItems) }), if (data.totalItems) params.set('totalItems', String(data.totalItems));
...(data.totalPages && { totalPages: String(data.totalPages) }), if (data.totalPages) params.set('totalPages', String(data.totalPages));
return params;
}, },
{ replace: true }, { replace: true },
); );
@ -204,10 +205,12 @@ export const useVirtualTable = <TFilter>({
if (isSearchParams) { if (isSearchParams) {
setSearchParams( setSearchParams(
{ (params) => {
itemsPerPage: String(event.api.paginationGetPageSize()), params.set('currentPage', String(event.api?.paginationGetCurrentPage()));
totalItems: String(event.api.paginationGetRowCount()), params.set('itemsPerPage', String(event.api?.paginationGetPageSize()));
totalPages: String(event.api.paginationGetTotalPages() + 1), params.set('totalItems', String(event.api?.paginationGetRowCount()));
params.set('totalPages', String(event.api?.paginationGetTotalPages() + 1));
return params;
}, },
{ replace: true }, { replace: true },
); );

View file

@ -130,7 +130,13 @@ export const AlbumListGridView = ({ gridRef, itemCount }: any) => {
const handleGridScroll = useCallback( const handleGridScroll = useCallback(
(e: ListOnScrollProps) => { (e: ListOnScrollProps) => {
if (id) { if (id) {
setSearchParams({ scrollOffset: String(e.scrollOffset) }); setSearchParams(
(params) => {
params.set('scrollOffset', String(e.scrollOffset));
return params;
},
{ replace: true },
);
} else { } else {
setGrid({ data: { scrollOffset: e.scrollOffset }, key: pageKey }); setGrid({ data: { scrollOffset: e.scrollOffset }, key: pageKey });
} }