From edab918763edc3d2ab5ea20c3ce9575f090e9212 Mon Sep 17 00:00:00 2001 From: Tim Chamberlain Date: Mon, 18 Mar 2024 19:39:19 -0500 Subject: [PATCH] CE-969: fixed flex wrapping on advanced queries, recursive calls to 'clean values' and 'prep subquery for backend' --- .../query/BasicAndAdvancedQueryControls.tsx | 8 +++++--- src/qqq/pages/records/query/RecordQuery.tsx | 12 +++++++++++- src/qqq/utils/qqq/FilterUtils.tsx | 8 ++++++++ 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/qqq/components/query/BasicAndAdvancedQueryControls.tsx b/src/qqq/components/query/BasicAndAdvancedQueryControls.tsx index 65090d3..563d002 100644 --- a/src/qqq/components/query/BasicAndAdvancedQueryControls.tsx +++ b/src/qqq/components/query/BasicAndAdvancedQueryControls.tsx @@ -410,7 +410,7 @@ const BasicAndAdvancedQueryControls = forwardRef((props: BasicAndAdvancedQueryCo let counter = 0; return ( - + {thisQueryFilter.criteria?.map((criteria, i) => { const {criteriaIsValid} = validateCriteria(criteria, null); @@ -446,7 +446,7 @@ const BasicAndAdvancedQueryControls = forwardRef((props: BasicAndAdvancedQueryCo ); }))} - + ); }; @@ -821,7 +821,9 @@ const BasicAndAdvancedQueryControls = forwardRef((props: BasicAndAdvancedQueryCo pb={"0.125rem"} boxShadow={"inset 0px 0px 4px 2px #EFEFED"} > - {queryToAdvancedString(queryFilter)} + + {queryToAdvancedString(queryFilter)} + } diff --git a/src/qqq/pages/records/query/RecordQuery.tsx b/src/qqq/pages/records/query/RecordQuery.tsx index 5fd5abc..24c7c63 100644 --- a/src/qqq/pages/records/query/RecordQuery.tsx +++ b/src/qqq/pages/records/query/RecordQuery.tsx @@ -447,9 +447,19 @@ function RecordQuery({table, launchProcess}: Props): JSX.Element } } } + + ///////////////////////////////////////// + // recursively prep subfilters as well // + ///////////////////////////////////////// + let subFilters = [] as QQueryFilter[]; + for (let j = 0; j < sourceFilter?.subFilters?.length; j++) + { + subFilters.push(prepQueryFilterForBackend(sourceFilter.subFilters[j])); + } + + filterForBackend.subFilters = subFilters; filterForBackend.skip = pageNumber * rowsPerPage; filterForBackend.limit = rowsPerPage; - return filterForBackend; }; diff --git a/src/qqq/utils/qqq/FilterUtils.tsx b/src/qqq/utils/qqq/FilterUtils.tsx index d72570a..f7d5575 100644 --- a/src/qqq/utils/qqq/FilterUtils.tsx +++ b/src/qqq/utils/qqq/FilterUtils.tsx @@ -159,6 +159,14 @@ class FilterUtils criteria.values = values; } + + //////////////////////////////////////////////// + // recursively clean values in any subfilters // + //////////////////////////////////////////////// + for (let j = 0; j < queryFilter?.subFilters?.length; j++) + { + await FilterUtils.cleanupValuesInFilerFromQueryString(qController, tableMetaData, queryFilter.subFilters[j]); + } }