fix: retain compositeQuery during pagination and field filtering on exceptions page (#8300)

This commit is contained in:
scout9ll 2025-07-17 23:28:28 +08:00 committed by GitHub
parent 478d28eda1
commit 5610cb1f81
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 0 deletions

View File

@ -65,6 +65,7 @@ type QueryParams = {
pageSize: number; pageSize: number;
exceptionType?: string; exceptionType?: string;
serviceName?: string; serviceName?: string;
compositeQuery?: string;
}; };
function AllErrors(): JSX.Element { function AllErrors(): JSX.Element {
@ -81,6 +82,7 @@ function AllErrors(): JSX.Element {
getUpdatedPageSize, getUpdatedPageSize,
getUpdatedExceptionType, getUpdatedExceptionType,
getUpdatedServiceName, getUpdatedServiceName,
getUpdatedCompositeQuery,
} = useMemo( } = useMemo(
() => ({ () => ({
updatedOrder: getOrder(params.get(urlKey.order)), updatedOrder: getOrder(params.get(urlKey.order)),
@ -89,6 +91,7 @@ function AllErrors(): JSX.Element {
getUpdatedPageSize: getUpdatePageSize(params.get(urlKey.pageSize)), getUpdatedPageSize: getUpdatePageSize(params.get(urlKey.pageSize)),
getUpdatedExceptionType: getFilterString(params.get(urlKey.exceptionType)), getUpdatedExceptionType: getFilterString(params.get(urlKey.exceptionType)),
getUpdatedServiceName: getFilterString(params.get(urlKey.serviceName)), getUpdatedServiceName: getFilterString(params.get(urlKey.serviceName)),
getUpdatedCompositeQuery: getFilterString(params.get(urlKey.compositeQuery)),
}), }),
[params], [params],
); );
@ -203,6 +206,7 @@ function AllErrors(): JSX.Element {
offset: getUpdatedOffset, offset: getUpdatedOffset,
orderParam: getUpdatedParams, orderParam: getUpdatedParams,
pageSize: getUpdatedPageSize, pageSize: getUpdatedPageSize,
compositeQuery: getUpdatedCompositeQuery,
}; };
if (exceptionFilterValue && exceptionFilterValue !== 'undefined') { if (exceptionFilterValue && exceptionFilterValue !== 'undefined') {
@ -222,6 +226,7 @@ function AllErrors(): JSX.Element {
getUpdatedPageSize, getUpdatedPageSize,
getUpdatedParams, getUpdatedParams,
getUpdatedServiceName, getUpdatedServiceName,
getUpdatedCompositeQuery,
pathname, pathname,
updatedOrder, updatedOrder,
], ],
@ -430,6 +435,7 @@ function AllErrors(): JSX.Element {
serviceName: getFilterString(params.get(urlKey.serviceName)), serviceName: getFilterString(params.get(urlKey.serviceName)),
exceptionType: getFilterString(params.get(urlKey.exceptionType)), exceptionType: getFilterString(params.get(urlKey.exceptionType)),
}); });
const compositeQuery = params.get(urlKey.compositeQuery) || '';
history.replace( history.replace(
`${pathname}?${createQueryParams({ `${pathname}?${createQueryParams({
order: updatedOrder, order: updatedOrder,
@ -438,6 +444,7 @@ function AllErrors(): JSX.Element {
pageSize, pageSize,
exceptionType, exceptionType,
serviceName, serviceName,
compositeQuery,
})}`, })}`,
); );
} }

View File

@ -18,6 +18,7 @@ export const urlKey = {
pageSize: 'pageSize', pageSize: 'pageSize',
exceptionType: 'exceptionType', exceptionType: 'exceptionType',
serviceName: 'serviceName', serviceName: 'serviceName',
compositeQuery: 'compositeQuery',
}; };
export const isOrderParams = (orderBy: string | null): orderBy is OrderBy => export const isOrderParams = (orderBy: string | null): orderBy is OrderBy =>