Project

General

Profile

1
import { Component, OnInit } from '@angular/core';
2
import { printPage } from '../../shared/reusablecomponents/print-function';
3
import { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';
4
import { DataService } from '../../services/data.service';
5
import { DataHandlerService } from '../../services/data-handler.service';
6
import {CountryTableData, EuropeData} from '../../domain/overview-map-data';
7
import {environment} from '../../../environments/environment';
8
import {TreemapHighchartsData} from '../../domain/treemap-highcharts-data';
9

    
10
@Component({
11
  selector: 'app-data-view',
12
  templateUrl: './data-view.component.html',
13
})
14

    
15
export class DataViewComponent implements OnInit {
16

    
17
  // @Input() type: string;
18
  // @Input() countries: CountryOverview[];
19

    
20
  private chartsURL = environment.API_ENDPOINT + 'chart?json=';
21

    
22
  activeView: string = 'absolute';
23
  contentAbsoluteSelection: string = 'affiliated';
24
  contentPercentageSelection: string = 'affiliated';
25

    
26
  tableAbsoluteData: CountryTableData[];
27
  tablePercentageData: CountryTableData[];
28

    
29
  loadingAbsoluteTable: boolean = true;
30
  loadingPercentageTable: boolean = true;
31

    
32
  europeOverviewData: EuropeData;
33

    
34
  oaNoaPublicationsTimelineURL: SafeResourceUrl;
35
  oaNoaDatasetsTimelineURL: SafeResourceUrl;
36
  oaNoaSoftwareTimelineURL: SafeResourceUrl;
37
  oaNoaOtherTimelineURL: SafeResourceUrl;
38

    
39
  fundersResultsData: TreemapHighchartsData[];
40

    
41
  // oaPublicationsURL: SafeResourceUrl;
42
  // oaRepositoriesURL: SafeResourceUrl;
43
  // oaJournalsURL: SafeResourceUrl;
44
  // oaDatasetsURL: SafeResourceUrl;
45
  // oaSoftwareURL: SafeResourceUrl;
46
  // oaOtherURL: SafeResourceUrl;
47

    
48
  constructor(private sanitizer: DomSanitizer,
49
              private dataService: DataService,
50
              private dataHandlerService: DataHandlerService) {}
51

    
52
  ngOnInit(): void {
53
    this.getAbsoluteData();
54
    this.getPercentageData();
55
    this.getEuropeOverviewData();
56
    this.getFundersResults();
57
  }
58

    
59
  getAbsoluteData() {
60
    this.loadingAbsoluteTable = true;
61
    this.dataService.getOverviewTableAbsoluteData(this.contentAbsoluteSelection).subscribe(
62
      rawData => {
63
        this.tableAbsoluteData = this.dataHandlerService.convertRawDataToAbsoluteTableData(rawData);
64
        this.loadingAbsoluteTable = false;
65
      }, error => {
66
        console.log(error);
67
        this.loadingAbsoluteTable = false;
68
      }
69
    );
70
  }
71

    
72
  getPercentageData() {
73
    this.loadingPercentageTable = true;
74
    this.dataService.getOverviewTablePercentageData(this.contentPercentageSelection).subscribe(
75
      rawData => {
76
        this.tablePercentageData = this.dataHandlerService.convertRawDataToPercentageTableData(rawData);
77
        this.loadingPercentageTable = false;
78
      }, error => {
79
        console.log(error);
80
        this.loadingPercentageTable = false;
81
      }
82
    );
83
  }
84

    
85
  getEuropeOverviewData() {
86
    this.dataService.getEuropeOAPercentages().subscribe(
87
      rawData => {
88
        this.europeOverviewData = this.dataHandlerService.convertRawDataToEuropeOverviewData(rawData);
89
      }, error => {
90
        console.log(error);
91
      }
92
    );
93
  }
94

    
95
  getFundersResults() {
96
    this.dataService.getFundersResults().subscribe(
97
      rawData => {
98
        this.fundersResultsData = this.dataHandlerService.convertRawDataToTreemapHighchartsData(rawData);
99
      }, error => {
100
        console.log(error);
101
      }
102
    );
103
  }
104

    
105
  getContentAbsolute(contentSelection: string): void {
106
    this.contentAbsoluteSelection = contentSelection;
107
    this.getAbsoluteData();
108
  }
109

    
110
  getContentPercentage(contentSelection: string): void {
111
    this.contentPercentageSelection = contentSelection;
112
    this.getPercentageData();
113
  }
114

    
115
  changeView(view: string) {
116
    this.activeView = view;
117
    if (view === 'graph') {
118

    
119
      if (!this.oaNoaPublicationsTimelineURL) {
120
        // simple
121
        // this.oaNoaPublicationsTimelineURL = this.sanitizer.bypassSecurityTrustResourceUrl(this.chartsURL + `%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22OA%20Publications%22%2C%22type%22%3A%22column%22%2C%22query%22%3A%7B%22name%22%3A%22new.oso.result_timeline.results.oa%22%2C%22parameters%22%3A%5B%22publication%22%5D%7D%7D%2C%7B%22name%22%3A%22Non-OA%20Publications%22%2C%22type%22%3A%22column%22%2C%22query%22%3A%7B%22name%22%3A%22new.oso.result_timeline.results.non_oa%22%2C%22parameters%22%3A%5B%22publication%22%5D%7D%7D%5D%2C%22chart%22%3A%7B%22backgroundColor%22%3A%22%23FFFFFFFF%22%2C%22borderColor%22%3A%22%23335cadff%22%2C%22borderRadius%22%3A0%2C%22borderWidth%22%3A0%2C%22plotBorderColor%22%3A%22%23ccccccff%22%2C%22plotBorderWidth%22%3A0%7D%2C%22title%22%3A%7B%22text%22%3A%22Publications%20over%20the%20years%22%7D%2C%22subtitle%22%3A%7B%7D%2C%22yAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22publications%22%7D%7D%2C%22xAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22year%22%7D%7D%2C%22lang%22%3A%7B%22noData%22%3A%22No%20Data%20available%20for%20the%20Query%22%7D%2C%22exporting%22%3A%7B%22enabled%22%3Afalse%7D%2C%22plotOptions%22%3A%7B%22series%22%3A%7B%22dataLabels%22%3A%7B%22enabled%22%3Afalse%7D%7D%7D%2C%22legend%22%3A%7B%22enabled%22%3Atrue%2C%22align%22%3A%22center%22%2C%22verticalAlign%22%3A%22bottom%22%2C%22layout%22%3A%22horizontal%22%7D%2C%22credits%22%3A%7B%22href%22%3Anull%2C%22enabled%22%3Atrue%2C%22text%22%3A%22Created%20by%20OpenAIRE%20via%20HighCharts%22%7D%7D%7D`);
122
        // stacked area
123
        // this.oaNoaPublicationsTimelineURL = this.sanitizer.bypassSecurityTrustResourceUrl(this.chartsURL + `%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22OA%20Publications%22%2C%22type%22%3A%22area%22%2C%22query%22%3A%7B%22name%22%3A%22new.oso.result_timeline.results.oa%22%2C%22parameters%22%3A%5B%22publication%22%5D%7D%7D%2C%7B%22name%22%3A%22Non-OA%20Publications%22%2C%22type%22%3A%22area%22%2C%22query%22%3A%7B%22name%22%3A%22new.oso.result_timeline.results.non_oa%22%2C%22parameters%22%3A%5B%22publication%22%5D%7D%7D%5D%2C%22chart%22%3A%7B%22backgroundColor%22%3A%22%23FFFFFFFF%22%2C%22borderColor%22%3A%22%23335cadff%22%2C%22borderRadius%22%3A0%2C%22borderWidth%22%3A0%2C%22plotBorderColor%22%3A%22%23ccccccff%22%2C%22plotBorderWidth%22%3A0%7D%2C%22title%22%3A%7B%22text%22%3A%22Publications%20over%20the%20years%22%7D%2C%22subtitle%22%3A%7B%7D%2C%22yAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22publications%22%7D%7D%2C%22xAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22year%22%7D%7D%2C%22lang%22%3A%7B%22noData%22%3A%22No%20Data%20available%20for%20the%20Query%22%7D%2C%22exporting%22%3A%7B%22enabled%22%3Afalse%7D%2C%22plotOptions%22%3A%7B%22series%22%3A%7B%22dataLabels%22%3A%7B%22enabled%22%3Afalse%7D%2C%22stacking%22%3A%22normal%22%7D%7D%2C%22legend%22%3A%7B%22enabled%22%3Atrue%2C%22align%22%3A%22center%22%2C%22verticalAlign%22%3A%22bottom%22%2C%22layout%22%3A%22horizontal%22%7D%2C%22credits%22%3A%7B%22href%22%3Anull%2C%22enabled%22%3Atrue%2C%22text%22%3A%22Created%20by%20OpenAIRE%20via%20HighCharts%22%7D%7D%7D`);
124
        // stacked area with our colors
125
        this.oaNoaPublicationsTimelineURL = this.sanitizer.bypassSecurityTrustResourceUrl(this.chartsURL + `%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22OA%20Publications%22%2C%22type%22%3A%22area%22%2C%22query%22%3A%7B%22name%22%3A%22new.oso.result_timeline.results.oa%22%2C%22parameters%22%3A%5B%22publication%22%5D%7D%7D%2C%7B%22name%22%3A%22Non-OA%20Publications%22%2C%22type%22%3A%22area%22%2C%22query%22%3A%7B%22name%22%3A%22new.oso.result_timeline.results.non_oa%22%2C%22parameters%22%3A%5B%22publication%22%5D%7D%7D%5D%2C%22chart%22%3A%7B%22backgroundColor%22%3A%22%23FFFFFFFF%22%2C%22borderColor%22%3A%22%23335cadff%22%2C%22borderRadius%22%3A0%2C%22borderWidth%22%3A0%2C%22plotBorderColor%22%3A%22%23ccccccff%22%2C%22plotBorderWidth%22%3A0%7D%2C%22title%22%3A%7B%22text%22%3A%22Publications%20over%20the%20years%22%7D%2C%22subtitle%22%3A%7B%7D%2C%22yAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22publications%22%7D%7D%2C%22xAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22year%22%7D%7D%2C%22lang%22%3A%7B%22noData%22%3A%22No%20Data%20available%20for%20the%20Query%22%7D%2C%22exporting%22%3A%7B%22enabled%22%3Afalse%7D%2C%22plotOptions%22%3A%7B%22series%22%3A%7B%22dataLabels%22%3A%7B%22enabled%22%3Afalse%7D%2C%22stacking%22%3A%22normal%22%7D%7D%2C%22legend%22%3A%7B%22enabled%22%3Atrue%2C%22align%22%3A%22center%22%2C%22verticalAlign%22%3A%22bottom%22%2C%22layout%22%3A%22horizontal%22%7D%2C%22credits%22%3A%7B%22href%22%3Anull%2C%22enabled%22%3Atrue%2C%22text%22%3A%22Created%20by%20OpenAIRE%20via%20HighCharts%22%7D%2C%22colors%22%3A%5B%22%23F181AE%22%2C%22%23787878%22%2C%22%232f7ed8%22%2C%22%230d233a%22%2C%22%238bbc21%22%2C%22%23910000%22%2C%22%231aadce%22%2C%22%23492970%22%2C%22%23f28f43%22%2C%22%2377a1e5%22%2C%22%23c42525%22%2C%22%23a6c96a%22%5D%7D%7D`);
126
      }
127
      if (!this.oaNoaDatasetsTimelineURL) {
128
        //simple
129
        // this.oaNoaDatasetsTimelineURL = this.sanitizer.bypassSecurityTrustResourceUrl(this.chartsURL + `%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22OA%20Datasets%22%2C%22type%22%3A%22column%22%2C%22query%22%3A%7B%22name%22%3A%22new.oso.result_timeline.results.oa%22%2C%22parameters%22%3A%5B%22dataset%22%5D%7D%7D%2C%7B%22name%22%3A%22Non-OA%20Datasets%22%2C%22type%22%3A%22column%22%2C%22query%22%3A%7B%22name%22%3A%22new.oso.result_timeline.results.non_oa%22%2C%22parameters%22%3A%5B%22dataset%22%5D%7D%7D%5D%2C%22chart%22%3A%7B%22backgroundColor%22%3A%22%23FFFFFFFF%22%2C%22borderColor%22%3A%22%23335cadff%22%2C%22borderRadius%22%3A0%2C%22borderWidth%22%3A0%2C%22plotBorderColor%22%3A%22%23ccccccff%22%2C%22plotBorderWidth%22%3A0%7D%2C%22title%22%3A%7B%22text%22%3A%22Datasets%20over%20the%20years%22%7D%2C%22subtitle%22%3A%7B%7D%2C%22yAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22datasets%22%7D%7D%2C%22xAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22year%22%7D%7D%2C%22lang%22%3A%7B%22noData%22%3A%22No%20Data%20available%20for%20the%20Query%22%7D%2C%22exporting%22%3A%7B%22enabled%22%3Afalse%7D%2C%22plotOptions%22%3A%7B%22series%22%3A%7B%22dataLabels%22%3A%7B%22enabled%22%3Afalse%7D%7D%7D%2C%22legend%22%3A%7B%22enabled%22%3Atrue%2C%22align%22%3A%22center%22%2C%22verticalAlign%22%3A%22bottom%22%2C%22layout%22%3A%22horizontal%22%7D%2C%22credits%22%3A%7B%22href%22%3Anull%2C%22enabled%22%3Atrue%2C%22text%22%3A%22Created%20by%20OpenAIRE%20via%20HighCharts%22%7D%7D%7D`);
130
        // stacked bar
131
        this.oaNoaDatasetsTimelineURL = this.sanitizer.bypassSecurityTrustResourceUrl(this.chartsURL + `%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22OA%20Datasets%22%2C%22type%22%3A%22column%22%2C%22query%22%3A%7B%22name%22%3A%22new.oso.result_timeline.results.oa%22%2C%22parameters%22%3A%5B%22dataset%22%5D%7D%7D%2C%7B%22name%22%3A%22Non-OA%20Datasets%22%2C%22type%22%3A%22column%22%2C%22query%22%3A%7B%22name%22%3A%22new.oso.result_timeline.results.non_oa%22%2C%22parameters%22%3A%5B%22dataset%22%5D%7D%7D%5D%2C%22chart%22%3A%7B%22backgroundColor%22%3A%22%23FFFFFFFF%22%2C%22borderColor%22%3A%22%23335cadff%22%2C%22borderRadius%22%3A0%2C%22borderWidth%22%3A0%2C%22plotBorderColor%22%3A%22%23ccccccff%22%2C%22plotBorderWidth%22%3A0%7D%2C%22title%22%3A%7B%22text%22%3A%22Datasets%20over%20the%20years%22%7D%2C%22subtitle%22%3A%7B%7D%2C%22yAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22datasets%22%7D%7D%2C%22xAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22year%22%7D%7D%2C%22lang%22%3A%7B%22noData%22%3A%22No%20Data%20available%20for%20the%20Query%22%7D%2C%22exporting%22%3A%7B%22enabled%22%3Afalse%7D%2C%22plotOptions%22%3A%7B%22series%22%3A%7B%22dataLabels%22%3A%7B%22enabled%22%3Afalse%7D%2C%22stacking%22%3A%22normal%22%7D%7D%2C%22legend%22%3A%7B%22enabled%22%3Atrue%2C%22align%22%3A%22center%22%2C%22verticalAlign%22%3A%22bottom%22%2C%22layout%22%3A%22horizontal%22%7D%2C%22credits%22%3A%7B%22href%22%3Anull%2C%22enabled%22%3Atrue%2C%22text%22%3A%22Created%20by%20OpenAIRE%20via%20HighCharts%22%7D%7D%7D`);
132
      }
133
      if (!this.oaNoaSoftwareTimelineURL) {
134
        //simple
135
        // this.oaNoaSoftwareTimelineURL = this.sanitizer.bypassSecurityTrustResourceUrl(this.chartsURL + `%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22OA%20Software%22%2C%22type%22%3A%22column%22%2C%22query%22%3A%7B%22name%22%3A%22new.oso.result_timeline.results.oa%22%2C%22parameters%22%3A%5B%22software%22%5D%7D%7D%2C%7B%22name%22%3A%22Non-OA%20Software%22%2C%22type%22%3A%22column%22%2C%22query%22%3A%7B%22name%22%3A%22new.oso.result_timeline.results.non_oa%22%2C%22parameters%22%3A%5B%22software%22%5D%7D%7D%5D%2C%22chart%22%3A%7B%22backgroundColor%22%3A%22%23FFFFFFFF%22%2C%22borderColor%22%3A%22%23335cadff%22%2C%22borderRadius%22%3A0%2C%22borderWidth%22%3A0%2C%22plotBorderColor%22%3A%22%23ccccccff%22%2C%22plotBorderWidth%22%3A0%7D%2C%22title%22%3A%7B%22text%22%3A%22Software%20over%20the%20years%22%7D%2C%22subtitle%22%3A%7B%7D%2C%22yAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22software%22%7D%7D%2C%22xAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22year%22%7D%7D%2C%22lang%22%3A%7B%22noData%22%3A%22No%20Data%20available%20for%20the%20Query%22%7D%2C%22exporting%22%3A%7B%22enabled%22%3Afalse%7D%2C%22plotOptions%22%3A%7B%22series%22%3A%7B%22dataLabels%22%3A%7B%22enabled%22%3Afalse%7D%7D%7D%2C%22legend%22%3A%7B%22enabled%22%3Atrue%2C%22align%22%3A%22center%22%2C%22verticalAlign%22%3A%22bottom%22%2C%22layout%22%3A%22horizontal%22%7D%2C%22credits%22%3A%7B%22href%22%3Anull%2C%22enabled%22%3Atrue%2C%22text%22%3A%22Created%20by%20OpenAIRE%20via%20HighCharts%22%7D%7D%7D`);
136
        //stacked line
137
        this.oaNoaSoftwareTimelineURL = this.sanitizer.bypassSecurityTrustResourceUrl(this.chartsURL + `%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22OA%20Software%22%2C%22type%22%3A%22line%22%2C%22query%22%3A%7B%22name%22%3A%22new.oso.result_timeline.results.oa%22%2C%22parameters%22%3A%5B%22software%22%5D%7D%7D%2C%7B%22name%22%3A%22Non-OA%20Software%22%2C%22type%22%3A%22line%22%2C%22query%22%3A%7B%22name%22%3A%22new.oso.result_timeline.results.non_oa%22%2C%22parameters%22%3A%5B%22software%22%5D%7D%7D%5D%2C%22chart%22%3A%7B%22backgroundColor%22%3A%22%23FFFFFFFF%22%2C%22borderColor%22%3A%22%23335cadff%22%2C%22borderRadius%22%3A0%2C%22borderWidth%22%3A0%2C%22plotBorderColor%22%3A%22%23ccccccff%22%2C%22plotBorderWidth%22%3A0%7D%2C%22title%22%3A%7B%22text%22%3A%22Software%20over%20the%20years%22%7D%2C%22subtitle%22%3A%7B%7D%2C%22yAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22software%22%7D%7D%2C%22xAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22year%22%7D%7D%2C%22lang%22%3A%7B%22noData%22%3A%22No%20Data%20available%20for%20the%20Query%22%7D%2C%22exporting%22%3A%7B%22enabled%22%3Afalse%7D%2C%22plotOptions%22%3A%7B%22series%22%3A%7B%22dataLabels%22%3A%7B%22enabled%22%3Afalse%7D%2C%22stacking%22%3A%22normal%22%7D%7D%2C%22legend%22%3A%7B%22enabled%22%3Atrue%2C%22align%22%3A%22center%22%2C%22verticalAlign%22%3A%22bottom%22%2C%22layout%22%3A%22horizontal%22%7D%2C%22credits%22%3A%7B%22href%22%3Anull%2C%22enabled%22%3Atrue%2C%22text%22%3A%22Created%20by%20OpenAIRE%20via%20HighCharts%22%7D%7D%7D`);
138
      }
139
      if (!this.oaNoaOtherTimelineURL) {
140
        this.oaNoaOtherTimelineURL = this.sanitizer.bypassSecurityTrustResourceUrl(this.chartsURL + `%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22OA%20Other%20Research%20Products%22%2C%22type%22%3A%22column%22%2C%22query%22%3A%7B%22name%22%3A%22new.oso.result_timeline.results.oa%22%2C%22parameters%22%3A%5B%22other%22%5D%7D%7D%2C%7B%22name%22%3A%22Non-OA%20Other%20Research%20Products%22%2C%22type%22%3A%22column%22%2C%22query%22%3A%7B%22name%22%3A%22new.oso.result_timeline.results.non_oa%22%2C%22parameters%22%3A%5B%22other%22%5D%7D%7D%5D%2C%22chart%22%3A%7B%22backgroundColor%22%3A%22%23FFFFFFFF%22%2C%22borderColor%22%3A%22%23335cadff%22%2C%22borderRadius%22%3A0%2C%22borderWidth%22%3A0%2C%22plotBorderColor%22%3A%22%23ccccccff%22%2C%22plotBorderWidth%22%3A0%7D%2C%22title%22%3A%7B%22text%22%3A%22Other%20Research%20Products%20over%20the%20years%22%7D%2C%22subtitle%22%3A%7B%7D%2C%22yAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22other%20research%20products%22%7D%7D%2C%22xAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22year%22%7D%7D%2C%22lang%22%3A%7B%22noData%22%3A%22No%20Data%20available%20for%20the%20Query%22%7D%2C%22exporting%22%3A%7B%22enabled%22%3Afalse%7D%2C%22plotOptions%22%3A%7B%22series%22%3A%7B%22dataLabels%22%3A%7B%22enabled%22%3Afalse%7D%7D%7D%2C%22legend%22%3A%7B%22enabled%22%3Atrue%2C%22align%22%3A%22center%22%2C%22verticalAlign%22%3A%22bottom%22%2C%22layout%22%3A%22horizontal%22%7D%2C%22credits%22%3A%7B%22href%22%3Anull%2C%22enabled%22%3Atrue%2C%22text%22%3A%22Created%20by%20OpenAIRE%20via%20HighCharts%22%7D%7D%7D`);
141
      }
142
    }
143
  }
144

    
145
  printOverviewData(sectionID: string) {
146
    printPage(sectionID);
147
  }
148
}
(6-6/12)