From e88c7ca4b2c8dd50a4fec9a2dbeba9a629101f74 Mon Sep 17 00:00:00 2001 From: James Date: Mon, 29 Aug 2022 15:13:14 -0700 Subject: [PATCH] chore: revises the logic while clearing wherebuilder queries --- .../elements/WhereBuilder/index.tsx | 24 +++++++++---------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/src/admin/components/elements/WhereBuilder/index.tsx b/src/admin/components/elements/WhereBuilder/index.tsx index 582957464c..0fd47cef8d 100644 --- a/src/admin/components/elements/WhereBuilder/index.tsx +++ b/src/admin/components/elements/WhereBuilder/index.tsx @@ -71,19 +71,17 @@ const WhereBuilder: React.FC = (props) => { if (handleChange) handleChange(newWhereQuery as Where); - if (modifySearchQuery) { - const newParams = { - ...currentParams, - page: currentParams.page, - where: newWhereQuery, - }; - if (newParams.page) delete newParams.page; - const newSearchQuery = queryString.stringify(newParams); - if (newSearchQuery) { - history.replace({ - search: `?${newSearchQuery}&page=1`, - }); - } + const hasExistingConditions = typeof currentParams?.where === 'object' && 'or' in currentParams.where; + const hasNewWhereConditions = conditions.length > 0; + + if (modifySearchQuery && ((hasExistingConditions && !hasNewWhereConditions) || hasNewWhereConditions)) { + history.replace({ + search: queryString.stringify({ + ...currentParams, + page: 1, + where: newWhereQuery, + }, { addQueryPrefix: true }), + }); } }, 500, [conditions, modifySearchQuery, handleChange]);