Project

General

Profile

1
import {Component} from '@angular/core';
2
import {SearchCustomFilter} from "../../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
3
import {ActivatedRoute, Router} from "@angular/router";
4
import {StakeholderService} from "../../../openaireLibrary/monitor/services/stakeholder.service";
5

    
6
@Component({
7
  selector: 'monitor-search-projects',
8
  template: `
9
    <div id="page_content">
10
      <search-projects *ngIf="initialized"
11
                       [customFilter]=customFilter [hasPrefix]="false"
12
                       [includeOnlyResultsAndFilter]="false">
13
      </search-projects>
14
    </div>
15
  `
16
  
17
})
18
export class MonitorSearchProjectsComponent {
19
  customFilter: SearchCustomFilter = null;
20
  initialized: boolean = false;
21
  
22
  constructor(private route: ActivatedRoute,
23
              private router: Router,
24
              private stakeholderService: StakeholderService) {
25
  }
26
  
27
  ngOnInit() {
28
    this.route.params.subscribe(params => {
29
      if (params['stakeholder']) {
30
        this.stakeholderService.getStakeholderAsObservable().subscribe(stakeholder => {
31
          if (stakeholder) {
32
            if (stakeholder.type === "funder") {
33
              let value = stakeholder.index_id;
34
              this.customFilter = new SearchCustomFilter("Funder", "funderid", value, "");
35
              this.customFilter.isHiddenFilter = false;
36
            } else if (stakeholder.type === "organization") {
37
              let value = stakeholder.index_id;
38
              this.customFilter = new SearchCustomFilter("Organization", "relorganizationid", value, "");
39
              this.customFilter.isHiddenFilter = false;
40
            } else if (stakeholder.type === "ri") {
41
              this.navigateToError();
42
            }
43
            this.initialized = true;
44

    
45
          }
46
        });
47
      } else {
48
        this.initialized = true;
49
      }
50
    });
51
  }
52
  
53
  navigateToError() {
54
    this.router.navigate(['/error'], {queryParams: {'page': this.router.url}});
55
  }
56
}
(8-8/12)