From a834890ddbaa66bde3e8a583482a71f3123cd491 Mon Sep 17 00:00:00 2001 From: argirok Date: Thu, 18 Apr 2024 11:09:39 +0300 Subject: [PATCH] [develop | DONE | CHANGED] monitor component: handle the case the fos requests gets an error --- src/app/shared/monitor/monitor.component.ts | 60 +++++++++++---------- 1 file changed, 33 insertions(+), 27 deletions(-) diff --git a/src/app/shared/monitor/monitor.component.ts b/src/app/shared/monitor/monitor.component.ts index 85bd609..a3c3f39 100644 --- a/src/app/shared/monitor/monitor.component.ts +++ b/src/app/shared/monitor/monitor.component.ts @@ -62,20 +62,9 @@ export class MonitorComponent extends MonitorIndicatorStakeholderBaseComponent { } this.subscriptions.push(this.searchResearchResultsService.advancedSearchResults("publication", null, 1, 0, null, this.properties, "&refine=true&fields=fos&type=publications", ["fos"], customFilterParams).subscribe(res => { - this.filters = this.postProcessingFosFilters(res[2]); - this.title = this.stakeholder.name; - this.description = this.stakeholder.name; - this.subscriptions.push(this._route.params.subscribe(params => { - this.loading = true; - this.activeTopic = null; - this.activeCategory = null; - this.activeSubCategory = null; - this.numberResults = new Map(); - this.subscriptions.push(this._route.queryParams.subscribe(queryParams => { - this.handleQueryParams(queryParams, params); - this.setMetadata(); - })); - })); + this.init(res[2]); + }, error =>{ + this.init(null) })); } })); @@ -83,7 +72,22 @@ export class MonitorComponent extends MonitorIndicatorStakeholderBaseComponent { })); })); } - + init(fos){ + this.filters = this.postProcessingFosFilters(fos); + this.title = this.stakeholder.name; + this.description = this.stakeholder.name; + this.subscriptions.push(this._route.params.subscribe(params => { + this.loading = true; + this.activeTopic = null; + this.activeCategory = null; + this.activeSubCategory = null; + this.numberResults = new Map(); + this.subscriptions.push(this._route.queryParams.subscribe(queryParams => { + this.handleQueryParams(queryParams, params); + this.setMetadata(); + })); + })); + } hasPermission(visibility: Visibility): boolean { return true; } @@ -95,20 +99,22 @@ export class MonitorComponent extends MonitorIndicatorStakeholderBaseComponent { postProcessingFosFilters(refineFilters:Filter[]){ let filters:Filter[] = []; - for(let filter of refineFilters){ - if(filter.filterId == "fos"){ - let fos: Filter ={...filter}; - fos.values = []; - for(let value of filter.values){ - let code = value.id.split(" ")[0]; - if(code.length <= 4){ - fos.values.push(value); + if(refineFilters) { + for (let filter of refineFilters) { + if (filter.filterId == "fos") { + let fos: Filter = {...filter}; + fos.values = []; + for (let value of filter.values) { + let code = value.id.split(" ")[0]; + if (code.length <= 4) { + fos.values.push(value); + } } + fos.countAllValues = fos.values.length; + filters.push(fos); + } else { + filters.push(filter); } - fos.countAllValues = fos.values.length; - filters.push(fos); - }else{ - filters.push(filter); } } let publiclyFunded:Filter = new Filter();