[develop | DONE | CHANGED] monitor component: handle the case the fos requests gets an error

This commit is contained in:
argirok 2024-04-18 11:09:39 +03:00
parent 7dbcaeea1b
commit a834890ddb
1 changed files with 33 additions and 27 deletions

View File

@ -62,7 +62,18 @@ export class MonitorComponent extends MonitorIndicatorStakeholderBaseComponent {
} }
this.subscriptions.push(this.searchResearchResultsService.advancedSearchResults("publication", null, 1, 0, null, this.properties, this.subscriptions.push(this.searchResearchResultsService.advancedSearchResults("publication", null, 1, 0, null, this.properties,
"&refine=true&fields=fos&type=publications", ["fos"], customFilterParams).subscribe(res => { "&refine=true&fields=fos&type=publications", ["fos"], customFilterParams).subscribe(res => {
this.filters = this.postProcessingFosFilters(res[2]); this.init(res[2]);
}, error =>{
this.init(null)
}));
}
}));
}
}));
}));
}
init(fos){
this.filters = this.postProcessingFosFilters(fos);
this.title = this.stakeholder.name; this.title = this.stakeholder.name;
this.description = this.stakeholder.name; this.description = this.stakeholder.name;
this.subscriptions.push(this._route.params.subscribe(params => { this.subscriptions.push(this._route.params.subscribe(params => {
@ -76,14 +87,7 @@ export class MonitorComponent extends MonitorIndicatorStakeholderBaseComponent {
this.setMetadata(); this.setMetadata();
})); }));
})); }));
}));
} }
}));
}
}));
}));
}
hasPermission(visibility: Visibility): boolean { hasPermission(visibility: Visibility): boolean {
return true; return true;
} }
@ -95,22 +99,24 @@ export class MonitorComponent extends MonitorIndicatorStakeholderBaseComponent {
postProcessingFosFilters(refineFilters:Filter[]){ postProcessingFosFilters(refineFilters:Filter[]){
let filters:Filter[] = []; let filters:Filter[] = [];
for(let filter of refineFilters){ if(refineFilters) {
if(filter.filterId == "fos"){ for (let filter of refineFilters) {
let fos: Filter ={...filter}; if (filter.filterId == "fos") {
let fos: Filter = {...filter};
fos.values = []; fos.values = [];
for(let value of filter.values){ for (let value of filter.values) {
let code = value.id.split(" ")[0]; let code = value.id.split(" ")[0];
if(code.length <= 4){ if (code.length <= 4) {
fos.values.push(value); fos.values.push(value);
} }
} }
fos.countAllValues = fos.values.length; fos.countAllValues = fos.values.length;
filters.push(fos); filters.push(fos);
}else{ } else {
filters.push(filter); filters.push(filter);
} }
} }
}
let publiclyFunded:Filter = new Filter(); let publiclyFunded:Filter = new Filter();
publiclyFunded.title = "Publicly funded"; publiclyFunded.title = "Publicly funded";