[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,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<string, number>();
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<string, number>();
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();