From 1a13bd942c823705418067fa2c4c32b27aaa0efa Mon Sep 17 00:00:00 2001 From: argirok Date: Mon, 3 Oct 2022 15:29:39 +0300 Subject: [PATCH 1/4] fix #8107: chart is not properly displayed because filter on field "No Of Funders" was replaced with funder name --- src/app/utils/indicator-utils.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/app/utils/indicator-utils.ts b/src/app/utils/indicator-utils.ts index e6da0a7..734924d 100644 --- a/src/app/utils/indicator-utils.ts +++ b/src/app/utils/indicator-utils.ts @@ -675,7 +675,8 @@ export class IndicatorUtils { } for (let filter of query["query"]["filters"]) { for (let gfilter of filter["groupFilters"]) { - if (gfilter["field"].indexOf(" funder") != -1) {//new statistcs schema + //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; } else if (gfilter["field"].indexOf(".funder") != -1) { From 7347a06eea3a29fff0d0759977321c96c48faf21 Mon Sep 17 00:00:00 2001 From: argirok Date: Tue, 11 Oct 2022 10:24:34 +0300 Subject: [PATCH 2/4] Indicator utils fixes - related to #8135 - count applied filters when the filter is applied to a field tha has a parameter filter - apply filters in all select fields not only in the 1st --- src/app/utils/indicator-utils.ts | 72 +++++++++++++++++--------------- 1 file changed, 39 insertions(+), 33 deletions(-) diff --git a/src/app/utils/indicator-utils.ts b/src/app/utils/indicator-utils.ts index 734924d..e5e987f 100644 --- a/src/app/utils/indicator-utils.ts +++ b/src/app/utils/indicator-utils.ts @@ -336,7 +336,10 @@ export class IndicatorUtils { if (key == "index_shortName") { replacedValue = stakeholder.index_shortName.toLowerCase(); } - + //if there is a parameter that is filtered and the value of the parameter changes, count the filter as applied + if(replacedValue !=indicatorPath.parameters[key]){ + indicatorPath.filtersApplied++; + } replacedUrl = replacedUrl.split(ChartHelper.prefix + key + ChartHelper.suffix).join(replacedValue) }); } @@ -459,43 +462,46 @@ export class IndicatorUtils { if (!queries["query"]["filters"] || queries["query"]["filters"].length == 0) { queries["query"]["filters"] = []; } - let field = queries["query"]["select"][0]["field"]; - let filterString = IndicatorFilterUtils.getFilter(field&&field.length > 0? field.split(".")[0]:"",filterType); - if(filterString){ - let filter = JSON.parse(filterString); - 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)){ - //change filter value - // queries["query"]["filters"][filterposition.filter]['groupFilters'][filterposition.groupFilter]["values"][0] = filter['groupFilters'][0]["values"][0].replace(ChartHelper.prefix + filterType + ChartHelper.suffix, filterValue); - //add user filter value - // queries["query"]["filters"].push(JSON.parse(filterString.replace(ChartHelper.prefix + filterType + ChartHelper.suffix, filterValue))); - // update colors - //if noit a pie, map and chart has more than one query - // - if(!newJsonObject.hasOwnProperty("mapDescription") && queries["type"]!="pie" && this.isComparingChart(newJsonObject, filter)) { - let activeColors = ["#7CB5EC", "#434348", "#8bbc21", "#910000", "#1aadce", "#492970", "#f28f43", "#77a1e5", "#c42525", "#a6c96a"]; - let inActiveColors = ["#E4EFFB", "#D8D8D9", "#8bbc21", "#910000", "#1aadce", "#492970", "#f28f43", "#77a1e5", "#c42525", "#a6c96a"]; - if (!newJsonObject[this.getDescriptionObjectName(newJsonObject)]["colors"]) { - newJsonObject[this.getDescriptionObjectName(newJsonObject)]["colors"] = activeColors; + //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); + if (filterString) { + let filter = JSON.parse(filterString); + 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)) { + //change filter value + // queries["query"]["filters"][filterposition.filter]['groupFilters'][filterposition.groupFilter]["values"][0] = filter['groupFilters'][0]["values"][0].replace(ChartHelper.prefix + filterType + ChartHelper.suffix, filterValue); + //add user filter value + // queries["query"]["filters"].push(JSON.parse(filterString.replace(ChartHelper.prefix + filterType + ChartHelper.suffix, filterValue))); + // update colors + //if noit a pie, map and chart has more than one query + // + if (!newJsonObject.hasOwnProperty("mapDescription") && queries["type"] != "pie" && this.isComparingChart(newJsonObject, filter)) { + let activeColors = ["#7CB5EC", "#434348", "#8bbc21", "#910000", "#1aadce", "#492970", "#f28f43", "#77a1e5", "#c42525", "#a6c96a"]; + let inActiveColors = ["#E4EFFB", "#D8D8D9", "#8bbc21", "#910000", "#1aadce", "#492970", "#f28f43", "#77a1e5", "#c42525", "#a6c96a"]; + if (!newJsonObject[this.getDescriptionObjectName(newJsonObject)]["colors"]) { + newJsonObject[this.getDescriptionObjectName(newJsonObject)]["colors"] = activeColors; + } + newJsonObject[this.getDescriptionObjectName(newJsonObject)]["colors"][queryIndex] = inActiveColors[queryIndex]; + filterApplied = true; + } else if (filterType == "start_year" || filterType == "end_year") { + //if has date filter already + if (filterType == "start_year" && parseInt(filterValue) > parseInt(queries["query"]["filters"][filterposition.filter]['groupFilters'][filterposition.groupFilter]["values"][0])) { + queries["query"]["filters"][filterposition.filter]['groupFilters'][filterposition.groupFilter]["values"][0] = filterValue; + } else if (filterType == "end_year" && parseInt(filterValue) < parseInt(queries["query"]["filters"][filterposition.filter]['groupFilters'][filterposition.groupFilter]["values"][0])) { + queries["query"]["filters"][filterposition.filter]['groupFilters'][filterposition.groupFilter]["values"][0] = filterValue; + } + filterApplied = true; } - newJsonObject[this.getDescriptionObjectName(newJsonObject)]["colors"][queryIndex] = inActiveColors[queryIndex]; - filterApplied = true; - }else if (filterType == "start_year" || filterType == "end_year") { - //if has date filter already - if(filterType == "start_year" && parseInt(filterValue) > parseInt(queries["query"]["filters"][filterposition.filter]['groupFilters'][filterposition.groupFilter]["values"][0])){ - queries["query"]["filters"][filterposition.filter]['groupFilters'][filterposition.groupFilter]["values"][0] = filterValue; - }else if(filterType == "end_year" && parseInt(filterValue) < parseInt(queries["query"]["filters"][filterposition.filter]['groupFilters'][filterposition.groupFilter]["values"][0])) { - queries["query"]["filters"][filterposition.filter]['groupFilters'][filterposition.groupFilter]["values"][0] = filterValue; - } + } else { filterApplied = true; } - }else{ + } else { + queries["query"]["filters"].push(JSON.parse(filterString.replace(ChartHelper.prefix + filterType + ChartHelper.suffix, filterValue))); filterApplied = true; } - }else { - queries["query"]["filters"].push(JSON.parse(filterString.replace(ChartHelper.prefix + filterType + ChartHelper.suffix, filterValue))); - filterApplied = true; } } queryIndex++; From 44427dba5fe2e4da8a22a9f6b2d66edc7eb2db12 Mon Sep 17 00:00:00 2001 From: "k.triantafyllou" Date: Fri, 14 Oct 2022 14:59:36 +0300 Subject: [PATCH 3/4] Fix change status of stakeholder and indicator. Add new APIs in development environment. --- .../manageStakeholders.component.html | 2 +- .../manageStakeholders.component.ts | 4 ++-- src/app/openaireLibrary | 2 +- src/app/topic/indicators.component.html | 2 +- src/app/topic/indicators.component.ts | 4 ++-- src/assets/common-assets | 2 +- src/assets/openaire-theme | 2 +- src/environments/environment.ts | 12 ++++++------ 8 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/app/manageStakeholders/manageStakeholders.component.html b/src/app/manageStakeholders/manageStakeholders.component.html index 959a0f5..4283b69 100644 --- a/src/app/manageStakeholders/manageStakeholders.component.html +++ b/src/app/manageStakeholders/manageStakeholders.component.html @@ -76,7 +76,7 @@
  • - +
    {{v.label}} diff --git a/src/app/manageStakeholders/manageStakeholders.component.ts b/src/app/manageStakeholders/manageStakeholders.component.ts index c3ea4fb..3b77a8d 100644 --- a/src/app/manageStakeholders/manageStakeholders.component.ts +++ b/src/app/manageStakeholders/manageStakeholders.component.ts @@ -251,8 +251,8 @@ export class ManageStakeholdersComponent implements OnInit, OnDestroy { let path = [ stakeholder._id ]; - this.subscriptions.push(this.stakeholderService.changeVisibility(this.properties.monitorServiceAPIURL, path, visibility).subscribe(visibility => { - stakeholder.visibility = visibility; + this.subscriptions.push(this.stakeholderService.changeVisibility(this.properties.monitorServiceAPIURL, path, visibility).subscribe(returnedElement => { + stakeholder.visibility = returnedElement.visibility; UIkit.notification(stakeholder.name+ '\'s status has been successfully changed to ' + stakeholder.visibility.toLowerCase(), { status: 'success', timeout: 6000, diff --git a/src/app/openaireLibrary b/src/app/openaireLibrary index 032b91a..ea935df 160000 --- a/src/app/openaireLibrary +++ b/src/app/openaireLibrary @@ -1 +1 @@ -Subproject commit 032b91ae7a78ccad72a3a02a9463f6df5d00d223 +Subproject commit ea935df5b762501f16b8c214dc311b2155b549f4 diff --git a/src/app/topic/indicators.component.html b/src/app/topic/indicators.component.html index a09ab70..71e129d 100644 --- a/src/app/topic/indicators.component.html +++ b/src/app/topic/indicators.component.html @@ -50,7 +50,7 @@
  • - +
    {{v.label}} diff --git a/src/app/topic/indicators.component.ts b/src/app/topic/indicators.component.ts index 07a1546..55e0716 100644 --- a/src/app/topic/indicators.component.ts +++ b/src/app/topic/indicators.component.ts @@ -1029,8 +1029,8 @@ export class IndicatorsComponent implements OnInit, OnDestroy, OnChanges, AfterV sectionId, indicator._id ]; - this.subscriptions.push(this.stakeholderService.changeVisibility(this.properties.monitorServiceAPIURL, path, visibility).subscribe(visibility => { - indicator.visibility = visibility; + this.subscriptions.push(this.stakeholderService.changeVisibility(this.properties.monitorServiceAPIURL, path, visibility).subscribe(returnedElement => { + indicator.visibility = returnedElement.visibility; UIkit.notification('Indicator has been successfully changed to ' + indicator.visibility.toLowerCase(), { status: 'success', timeout: 6000, diff --git a/src/assets/common-assets b/src/assets/common-assets index 14655ae..2de3f62 160000 --- a/src/assets/common-assets +++ b/src/assets/common-assets @@ -1 +1 @@ -Subproject commit 14655ae3aa7a50162ef218428a0ccdee35c1aa7b +Subproject commit 2de3f625b772a264acb0579126b2bfce42778d0c diff --git a/src/assets/openaire-theme b/src/assets/openaire-theme index bc0edde..f902074 160000 --- a/src/assets/openaire-theme +++ b/src/assets/openaire-theme @@ -1 +1 @@ -Subproject commit bc0edde68dccfc17c1abc5d5aa3721f720aee852 +Subproject commit f902074e00e01165f489e2fef12aad6551c03ccd diff --git a/src/environments/environment.ts b/src/environments/environment.ts index c4075db..e9df506 100644 --- a/src/environments/environment.ts +++ b/src/environments/environment.ts @@ -55,16 +55,16 @@ export let properties: EnvProperties = { piwikBaseUrl: "https://analytics.openaire.eu/piwik.php?idsite=", piwikSiteId: "80", registryUrl: 'http://mpagasas.di.uoa.gr:8080/dnet-openaire-users-1.0.0-SNAPSHOT/api/registry/', - loginUrl: "http://mpagasas.di.uoa.gr:8080/login-service/openid_connect_login", - userInfoUrl: "http://mpagasas.di.uoa.gr:8080/login-service/userInfo", - logoutUrl: "http://mpagasas.di.uoa.gr:8080/login-service/openid_logout", + loginUrl: "http://mpagasas.di.uoa.gr:19080/login-service/openid_connect_login", + userInfoUrl: "http://mpagasas.di.uoa.gr:19080/login-service/userInfo", + logoutUrl: "http://mpagasas.di.uoa.gr:19080/login-service/openid_logout", cookieDomain: ".di.uoa.gr", feedbackmail: "openaire.test@gmail.com", cacheUrl: "http://scoobydoo.di.uoa.gr:3000/get?url=", // monitorServiceAPIURL: "https://services.openaire.eu/uoa-monitor-service", - monitorServiceAPIURL: "http://duffy.di.uoa.gr:8080/uoa-monitor-service", - adminToolsAPIURL: "http://duffy.di.uoa.gr:8080/uoa-monitor-service/", - notificationsAPIURL: "http://duffy.di.uoa.gr:8080/uoa-monitor-service/notification/", + monitorServiceAPIURL: "http://duffy.di.uoa.gr:19380/uoa-monitor-service", + adminToolsAPIURL: "http://duffy.di.uoa.gr:19380/uoa-monitor-service/", + notificationsAPIURL: "http://duffy.di.uoa.gr:19380/uoa-monitor-service/notification/", adminToolsCommunity: "monitor", useHelpTexts: true, datasourcesAPI: "https://beta.services.openaire.eu/openaire/ds/search/", From ef45a417b012d24929d12b7e7fb54835f024d6ec Mon Sep 17 00:00:00 2001 From: argirok Date: Mon, 17 Oct 2022 14:22:07 +0300 Subject: [PATCH 4/4] 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)) {