From ef45a417b012d24929d12b7e7fb54835f024d6ec Mon Sep 17 00:00:00 2001 From: argirok Date: Mon, 17 Oct 2022 14:22:07 +0300 Subject: [PATCH] make the rule to apply year filter more generic, but exclude "indi_pub_downloads_year.year" according to #8135 --- src/app/utils/indicator-utils.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/app/utils/indicator-utils.ts b/src/app/utils/indicator-utils.ts index e5e987f..a74880f 100644 --- a/src/app/utils/indicator-utils.ts +++ b/src/app/utils/indicator-utils.ts @@ -391,7 +391,7 @@ export class IndicatorUtils { let filterApplied:boolean = false; let queryIndex = 0; for (let queries of this.getQueryObjectName(newJsonObject)?newJsonObject[this.getDescriptionObjectName(newJsonObject)][this.getQueryObjectName(newJsonObject)]:newJsonObject[this.getDescriptionObjectName(newJsonObject)]) { - + /*Chart with Named Queries*/ if(queries["query"]["name"] && !queries["query"]["select"]){ if(queries["query"]["name"].indexOf("monitor.")==-1 || !queries["query"]["parameters"]){ @@ -462,12 +462,13 @@ export class IndicatorUtils { if (!queries["query"]["filters"] || queries["query"]["filters"].length == 0) { queries["query"]["filters"] = []; } + /*Chart with proper json object*/ //apply the filter in any select fields for (let select of queries["query"]["select"]) { - let field = select["field"]; - let filterString = IndicatorFilterUtils.getFilter(field&&field.length > 0? field.split(".")[0]:"",filterType); + let filterString = IndicatorFilterUtils.getFilter(select["field"],filterType); if (filterString) { let filter = JSON.parse(filterString); + //check if filter already exists let filterposition = IndicatorFilterUtils.filterIndexOf(filter, queries["query"]["filters"]); if (filterposition) { if (queries["query"]["filters"][filterposition.filter]['groupFilters'][filterposition.groupFilter]["values"][0] != filter['groupFilters'][0]["values"][0].replace(ChartHelper.prefix + filterType + ChartHelper.suffix, filterValue)) {