From fe0860d41a789c0c5f7a6a289822e3581f776119 Mon Sep 17 00:00:00 2001 From: argirok Date: Wed, 20 Dec 2023 13:27:52 +0200 Subject: [PATCH] [angular-16-irish-monitor | DONE | CHANGED] Indicator utils: update the way we extract indicator index fields and add the parameters --- monitor-admin/utils/indicator-utils.ts | 34 +++++++++++++++----------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/monitor-admin/utils/indicator-utils.ts b/monitor-admin/utils/indicator-utils.ts index 5599bb96..a9fc52c8 100644 --- a/monitor-admin/utils/indicator-utils.ts +++ b/monitor-admin/utils/indicator-utils.ts @@ -781,14 +781,11 @@ export class IndicatorUtils { for (let gfilter of filter["groupFilters"]) { //ignore field No Of Funders if (gfilter["field"].indexOf(" funder") != -1 && gfilter["field"].indexOf(" funders") == -1) {//new statistcs schema - gfilter["values"][0] = ChartHelper.prefix + "index_name" + ChartHelper.suffix; - indicatorPath.parameters["index_name"] = stakeholder.index_name; + gfilter["values"][0] = this.replaceIndexValues(gfilter["values"][0], stakeholder, indicatorPath.parameters) } else if (gfilter["field"].indexOf(".funder") != -1) { - gfilter["values"][0] = ChartHelper.prefix + "index_name" + ChartHelper.suffix; - indicatorPath.parameters["index_name"] = stakeholder.index_name; + gfilter["values"][0] = this.replaceIndexValues(gfilter["values"][0], stakeholder, indicatorPath.parameters) } else if (gfilter["field"].indexOf(".funder.id") != -1) { - gfilter["values"][0] = ChartHelper.prefix + "index_shortName" + ChartHelper.suffix; - indicatorPath.parameters["index_shortName"] = stakeholder.index_shortName; + gfilter["values"][0] = this.replaceIndexValues(gfilter["values"][0], stakeholder, indicatorPath.parameters) } } } @@ -809,11 +806,9 @@ export class IndicatorUtils { for (let filter of query["query"]["filters"]) { for (let gfilter of filter["groupFilters"]) { if (gfilter["field"].indexOf(".context.name") != -1) { - gfilter["values"][0] = ChartHelper.prefix + "index_name" + ChartHelper.suffix; - indicatorPath.parameters["index_name"] = stakeholder.index_name; + gfilter["values"][0] = this.replaceIndexValues(gfilter["values"][0], stakeholder, indicatorPath.parameters); } else if (gfilter["field"].indexOf(".context.id") != -1) { - gfilter["values"][0] = ChartHelper.prefix + "index_shortName" + ChartHelper.suffix; - indicatorPath.parameters["index_shortName"] = stakeholder.index_shortName; + gfilter["values"][0] = this.replaceIndexValues(gfilter["values"][0], stakeholder, indicatorPath.parameters); } } } @@ -836,17 +831,28 @@ export class IndicatorUtils { for (let filter of query["query"]["filters"]) { for (let gfilter of filter["groupFilters"]) { if (gfilter["field"].indexOf(".organization.name") != -1) { - gfilter["values"][0] = ChartHelper.prefix + "index_name" + ChartHelper.suffix; - indicatorPath.parameters["index_name"] = stakeholder.index_name; + gfilter["values"][0] = this.replaceIndexValues(gfilter["values"][0], stakeholder, indicatorPath.parameters) } else if (gfilter["field"].indexOf(".organization.id") != -1) { - gfilter["values"][0] = ChartHelper.prefix + "index_shortName" + ChartHelper.suffix; - indicatorPath.parameters["index_shortName"] = stakeholder.index_shortName; + gfilter["values"][0] = this.replaceIndexValues(gfilter["values"][0], stakeholder, indicatorPath.parameters) } } } } } + private replaceIndexValues(currentValue, stakeholder, parameters ){ + if(currentValue == stakeholder.index_name){ + parameters["index_name"] = stakeholder.index_name; + return ChartHelper.prefix + "index_name" + ChartHelper.suffix; + }else if(currentValue == stakeholder.index_id){ + parameters["index_id"] = stakeholder.index_id; + return ChartHelper.prefix + "index_id" + ChartHelper.suffix; + }else if(currentValue == stakeholder.index_shortName) { + parameters["index_shortName"] = stakeholder.index_shortName; + return ChartHelper.prefix + "index_shortName" + ChartHelper.suffix; + } + + } private extractStartYear(obj, indicatorPath: IndicatorPath) { let start_year; for (let query of obj[this.getDescriptionObjectName(obj)][this.getQueryObjectName(obj)]) {