Project

General

Profile

« Previous | Next » 

Revision 58853

Working on the new version of the oso - almost done with tha data part of the pages

View differences:

modules/open-science-observatory-ui/trunk/src/app/pages/countrypage/country-page.component.html
2 2
  <div class="uk-scrollspy-init-inview uk-scrollspy-inview uk-animation-scale-up uk-padding-remove" data-uk-scrollspy="{cls:'uk-animation-scale-up uk-invisible',delay:300,topoffset:-100}">
3 3
  <!--<div class="uk-container uk-container-expand uk-container-center uk-scrollspy-init-inview uk-scrollspy-inview uk-animation-scale-up uk-padding-remove" data-uk-scrollspy="{cls:'uk-animation-scale-up uk-invisible',delay:300,topoffset:-100}">-->
4 4

  
5

  
6 5
    <div class="uk-grid uk-grid-small">
7 6

  
8 7
      <div class="uk-width-4-5 uk-margin-medium-bottom">
9 8

  
10 9
        <div class="uk-container uk-container-expand uk-margin-medium-top">
10

  
11 11
          <ul class="uk-breadcrumb">
12 12
            <li><a [routerLink]="['/home']">Home</a></li>
13 13
            <li><span>{{countryName}}</span></li>
14 14
          </ul>
15
        </div>
16 15

  
17
        <div class="uk-container uk-container-expand uk-margin-top">
18
          <div class="actionButtonsCountryPage uk-text-right">
19
            <a class=""><i class="fas fa-code uk-margin-small-right"></i>Embed</a>
20
            <!--<a class="uk-margin-left"><i class="fas fa-download uk-margin-small-right"></i>Download CSV</a>-->
21
            <a class="uk-margin-left"><i class="fas fa-file-pdf uk-margin-small-right"></i>Download PDF</a>
16

  
17
          <div class="countryPageHeader">
18
            <div *ngIf="countryPageOverviewData && countryPageOverviewData.name" class="">
19
              <img src="../../../assets/img/flags/{{countryCode | lowercase}}-flag-round.png" class="flag-image" width="132" height="132">
20
              <div class="uk-inline uk-margin-left">
21
                <h1>{{countryPageOverviewData.name}}</h1>
22
                <span class="lastUpdateInfo">Info Last Updated: 21 May 2020</span>
23
              </div>
24
            </div>
25

  
26
            <div class="actionButtonsCountryPage uk-text-right">
27
              <a class=""><i class="fas fa-code uk-margin-small-right"></i>Embed</a>
28
              <!--<a class="uk-margin-left"><i class="fas fa-download uk-margin-small-right"></i>Download CSV</a>-->
29
              <a class="uk-margin-left"><i class="fas fa-file-pdf uk-margin-small-right"></i>Download PDF</a>
30
            </div>
22 31
          </div>
32

  
23 33
        </div>
24 34

  
35

  
25 36
        <div class="uk-container uk-container-expand uk-margin-top">
26 37
          <!--Overview cards-->
27 38
          <div class="uk-width-1-1 indicatorCards">
......
34 45

  
35 46
                    <!--top number-->
36 47
                    <div class="uk-margin-top">
37
                      <div class="uk-float-right uk-margin-small-right">
38
                        <img src="../../../assets/img/icons/publications-icon.svg" width="40" height="40">
39
                      </div>
48
                      <!--<div class="uk-float-right uk-margin-small-right">-->
49
                      <!--<img src="../../../assets/img/icons/publications-icon.svg" width="40" height="40">-->
50
                      <!--</div>-->
40 51
                      <h3 class="uk-margin-remove">
41
                        <span *ngIf="!countryData || !countryData.publications || !countryData.publications.oa" class="number">--</span>
42
                        <span *ngIf="countryData?.publications?.oa" class="number">{{countryData.publications.oa | number}}</span>
52
                        <span *ngIf="!countryPageOverviewData || !countryPageOverviewData.publicationsAffiliated || !countryPageOverviewData.publicationsAffiliated.oa" class="number">--</span>
53
                        <span *ngIf="countryPageOverviewData?.publicationsAffiliated?.oa" class="number">{{countryPageOverviewData.publicationsAffiliated.oa | number}}</span>
43 54
                      </h3>
44 55
                    </div>
45 56
                    <div class="uk-margin-top">
46
                      <span class=""><i>OA publications from institutional repositories</i></span>
57
                      <span class=""><i>OA publications affiliated to an organization in the country</i></span>
47 58
                    </div>
48
                    <div *ngIf="countryData?.publications?.percentage" class="uk-margin-top">
49
                      <span class="number">{{countryData.publications.percentage | number :'1.0-1'}}%</span> OA
59
                    <div *ngIf="countryPageOverviewData?.publicationsAffiliated?.percentage" class="uk-margin-top">
60
                      <span class="number">{{countryPageOverviewData.publicationsAffiliated.percentage | number :'1.0-1'}}%</span> OA
50 61
                      <div class="progress uk-margin-small-top">
51
                        <div [ngStyle]="{'width': countryData.publications.percentage+'%'}" class="progress-bar progress-bar-publications animate-progress-bar"></div>
62
                        <div [ngStyle]="{'width': countryPageOverviewData.publicationsAffiliated.percentage+'%'}" class="progress-bar progress-bar-publications animate-progress-bar"></div>
52 63
                      </div>
53 64
                    </div>
54 65

  
......
56 67

  
57 68
                    <!--bottom number-->
58 69
                    <div class="uk-margin-top">
59
                      <!--<div class="uk-float-right uk-margin-small-right">-->
60
                        <!--<img src="../../../assets/img/icons/publications-icon.svg" width="40" height="40">-->
61
                      <!--</div>-->
70
                      <div class="uk-float-right uk-margin-small-right">
71
                        <img src="../../../assets/img/icons/publications-icon.svg" width="40" height="40">
72
                      </div>
62 73
                      <h3 class="uk-margin-remove">
63
                        <span *ngIf="!countryData || !countryData.publications || !countryData.publications.oa" class="number">--</span>
64
                        <span *ngIf="countryData?.publications?.oa" class="number">{{countryData.publications.oa | number}}</span>
74
                        <span *ngIf="!countryPageOverviewData || !countryPageOverviewData.publicationsDeposited || !countryPageOverviewData.publicationsDeposited.oa" class="number">--</span>
75
                        <span *ngIf="countryPageOverviewData?.publicationsDeposited?.oa" class="number">{{countryPageOverviewData.publicationsDeposited.oa | number}}</span>
65 76
                      </h3>
66 77
                    </div>
67 78
                    <div class="uk-margin-top">
68
                      <span class=""><i>OA publications affiliated to an organization in the country</i></span>
79
                      <span class=""><i>OA publications from institutional repositories</i></span>
69 80
                    </div>
70
                    <div *ngIf="countryData?.publications?.percentage" class="uk-margin-top">
71
                      <span class="number">{{countryData.publications.percentage | number :'1.0-1'}}%</span> OA
81
                    <div *ngIf="countryPageOverviewData?.publicationsDeposited?.percentage" class="uk-margin-top">
82
                      <span class="number">{{countryPageOverviewData.publicationsDeposited.percentage | number :'1.0-1'}}%</span> OA
72 83
                      <div class="progress uk-margin-small-top">
73
                        <div [ngStyle]="{'width': countryData.publications.percentage+'%'}" class="progress-bar progress-bar-publications animate-progress-bar"></div>
84
                        <div [ngStyle]="{'width': countryPageOverviewData.publicationsDeposited.percentage+'%'}" class="progress-bar progress-bar-publications animate-progress-bar"></div>
74 85
                      </div>
75 86
                    </div>
87

  
76 88
                  </div>
77 89
                </div>
78 90
              </div>
......
83 95

  
84 96
                    <!--top number-->
85 97
                    <div class="uk-margin-top">
86
                      <div class="uk-float-right uk-margin-small-right">
87
                        <img src="../../../assets/img/icons/datasets-icon.svg" width="33" height="40">
88
                      </div>
98
                      <!--<div class="uk-float-right uk-margin-small-right">-->
99
                      <!--<img src="../../../assets/img/icons/datasets-icon.svg" width="33" height="40">-->
100
                      <!--</div>-->
89 101
                      <h3 class="uk-margin-remove">
90
                        <span *ngIf="!countryData || !countryData.datasets || !countryData.datasets.oa" class="number">--</span>
91
                        <span *ngIf="countryData?.datasets?.oa" class="number">{{countryData.datasets.oa | number}}</span>
102
                        <span *ngIf="!countryPageOverviewData || !countryPageOverviewData.datasetsAffiliated || !countryPageOverviewData.datasetsAffiliated.oa" class="number">--</span>
103
                        <span *ngIf="countryPageOverviewData?.datasetsAffiliated?.oa" class="number">{{countryPageOverviewData.datasetsAffiliated.oa | number}}</span>
92 104
                      </h3>
93 105
                    </div>
94 106
                    <div class="uk-margin-top">
95
                      <span class=""><i>OA datasets from institutional repositories</i></span>
107
                      <span class=""><i>OA datasets affiliated to an organization in the country</i></span>
96 108
                    </div>
97
                    <div *ngIf="countryData?.datasets?.percentage" class="uk-margin-top">
98
                      <span class="number">{{countryData.datasets.percentage | number :'1.0-1'}}%</span> OA
109
                    <div *ngIf="countryPageOverviewData?.datasetsAffiliated?.percentage" class="uk-margin-top">
110
                      <span class="number">{{countryPageOverviewData.datasetsAffiliated.percentage | number :'1.0-1'}}%</span> OA
99 111
                      <div class="progress uk-margin-small-top">
100
                        <div [ngStyle]="{'width': countryData.datasets.percentage+'%'}" class="progress-bar progress-bar-datasets animate-progress-bar"></div>
112
                        <div [ngStyle]="{'width': countryPageOverviewData.datasetsAffiliated.percentage+'%'}" class="progress-bar progress-bar-datasets animate-progress-bar"></div>
101 113
                      </div>
102 114
                    </div>
103 115

  
......
105 117

  
106 118
                    <!--bottom number-->
107 119
                    <div class="uk-margin-top">
108
                      <!--<div class="uk-float-right uk-margin-small-right">-->
109
                        <!--<img src="../../../assets/img/icons/datasets-icon.svg" width="33" height="40">-->
110
                      <!--</div>-->
120
                      <div class="uk-float-right uk-margin-small-right">
121
                        <img src="../../../assets/img/icons/datasets-icon.svg" width="33" height="40">
122
                      </div>
111 123
                      <h3 class="uk-margin-remove">
112
                        <span *ngIf="!countryData || !countryData.datasets || !countryData.datasets.oa" class="number">--</span>
113
                        <span *ngIf="countryData?.datasets?.oa" class="number">{{countryData.datasets.oa | number}}</span>
124
                        <span *ngIf="!countryPageOverviewData || !countryPageOverviewData.datasetsDeposited || !countryPageOverviewData.datasetsDeposited.oa" class="number">--</span>
125
                        <span *ngIf="countryPageOverviewData?.datasetsDeposited?.oa" class="number">{{countryPageOverviewData.datasetsDeposited.oa | number}}</span>
114 126
                      </h3>
115 127
                    </div>
116 128
                    <div class="uk-margin-top">
117
                      <span class=""><i>OA datasets affiliated to an organization in the country</i></span>
129
                      <span class=""><i>OA datasets from institutional repositories</i></span>
118 130
                    </div>
119
                    <div *ngIf="countryData?.datasets?.percentage" class="uk-margin-top">
120
                      <span class="number">{{countryData.datasets.percentage | number :'1.0-1'}}%</span> OA
131
                    <div *ngIf="countryPageOverviewData?.datasetsDeposited?.percentage" class="uk-margin-top">
132
                      <span class="number">{{countryPageOverviewData.datasetsDeposited.percentage | number :'1.0-1'}}%</span> OA
121 133
                      <div class="progress uk-margin-small-top">
122
                        <div [ngStyle]="{'width': countryData.datasets.percentage+'%'}" class="progress-bar progress-bar-datasets animate-progress-bar"></div>
134
                        <div [ngStyle]="{'width': countryPageOverviewData.datasetsDeposited.percentage+'%'}" class="progress-bar progress-bar-datasets animate-progress-bar"></div>
123 135
                      </div>
124 136
                    </div>
125 137
                  </div>
......
135 147
                        <img src="../../../assets/img/icons/repositories-icon.svg" width="43" height="40">
136 148
                      </div>
137 149
                      <h3 class="uk-margin-remove">
138
                        <span *ngIf="!countryData || !countryData.repositories || !countryData.repositories.oa" class="number">--</span>
139
                        <span *ngIf="countryData?.repositories?.oa" class="number">{{countryData.repositories.oa | number}}</span>
150
                        <span *ngIf="!countryPageOverviewData || !countryPageOverviewData.repositories || !countryPageOverviewData.repositories.oa" class="number">--</span>
151
                        <span *ngIf="countryPageOverviewData?.repositories?.oa" class="number">{{countryPageOverviewData.repositories.oa | number}}</span>
140 152
                      </h3>
141 153
                    </div>
142 154
                    <div class="uk-margin-top">
143 155
                      <span class=""><i>repositories</i> from openDOAR & re3data</span>
144 156
                    </div>
145
                    <div *ngIf="countryData?.repositories?.percentage" class="uk-margin-top">
146
                      <span class="number">{{countryData.repositories.percentage | number :'1.0-1'}}%</span> Certified
157
                    <div *ngIf="countryPageOverviewData?.repositories?.percentage" class="uk-margin-top">
158
                      <span class="number">{{countryPageOverviewData.repositories.percentage | number :'1.0-1'}}%</span> Validated
147 159
                      <div class="progress uk-margin-small-top">
148
                        <div [ngStyle]="{'width': countryData.repositories.percentage+'%'}" class="progress-bar progress-bar-repositories animate-progress-bar"></div>
160
                        <div [ngStyle]="{'width': countryPageOverviewData.repositories.percentage+'%'}" class="progress-bar progress-bar-repositories animate-progress-bar"></div>
149 161
                      </div>
150 162
                    </div>
151 163
                  </div>
......
158 170
                        <img src="../../../assets/img/icons/journals-icon.svg" width="43" height="40">
159 171
                      </div>
160 172
                      <h3 class="uk-margin-remove">
161
                        <span *ngIf="!countryData || !countryData.journals || !countryData.journals.oa" class="number">--</span>
162
                        <span *ngIf="countryData?.journals?.oa" class="number">{{countryData.journals.oa | number}}</span>
173
                        <span *ngIf="!countryPageOverviewData || !countryPageOverviewData.journals || !countryPageOverviewData.journals.oa" class="number">--</span>
174
                        <span *ngIf="countryPageOverviewData?.journals?.oa" class="number">{{countryPageOverviewData.journals.oa | number}}</span>
163 175
                        <!--<span *ngIf="overviewData.overview.journals?.oa" class="number">{{overviewData.overview.journals.oa | number}}</span>-->
164 176
                        <!--<span *ngIf="!overviewData.overview.journals || !overviewData.overview.journals.oa" class="number">--</span>-->
165 177
                      </h3>
......
167 179
                    <div class="uk-margin-top">
168 180
                      <span class=""><i>OA journals</i> from DOAJ</span>
169 181
                    </div>
170
                    <div *ngIf="countryData.journals?.percentage" class="uk-margin-top">
171
                      <span class="number">{{countryData.journals.percentage | number :'1.0-1'}}%</span> Certified
182
                    <div *ngIf="countryPageOverviewData?.journals?.percentage" class="uk-margin-top">
183
                      <span class="number">{{countryPageOverviewData.journals.percentage | number :'1.0-1'}}%</span> Validated
172 184
                      <div class="progress uk-margin-small-top">
173
                        <div [ngStyle]="{'width': countryData.journals.percentage+'%'}" class="progress-bar progress-bar-journals animate-progress-bar"></div>
185
                        <div [ngStyle]="{'width': countryPageOverviewData.journals.percentage+'%'}" class="progress-bar progress-bar-journals animate-progress-bar"></div>
174 186
                      </div>
175 187
                    </div>
176 188
                  </div>
......
503 515

  
504 516
          <div class="md-card-toolbar">
505 517
            <h3 class="uk-text-center uk-margin-small-top">
506
              {{countryName | uppercase}}
518
              Research overview
507 519
            </h3>
508 520
          </div>
509 521

  
......
518 530
              <hr class="greyBoldDivider uk-margin-medium-top uk-margin-medium-bottom">
519 531

  
520 532
              <div class="indicator">
521
                <span class="number primary" *ngIf="countryData?.funders?.oa">{{countryData.funders.oa}}</span>
522
                <span class="number primary" *ngIf="!countryData || !countryData.funders || !countryData.funders.oa">--</span>
533
                <span class="number primary" *ngIf="countryPageOverviewData?.funders">{{countryPageOverviewData.funders}}</span>
534
                <span class="number primary" *ngIf="!countryPageOverviewData || !countryPageOverviewData.funders">--</span>
523 535
                <span><i>funding sources</i></span>
524 536
              </div>
525 537

  
526 538
              <hr class="greyBoldDivider uk-margin-medium-top uk-margin-medium-bottom">
527 539

  
528 540
              <div class="indicator">
529
                <span class="number primary" *ngIf="countryData?.funders?.total">{{countryData.funders.total}}</span>
530
                <span class="number primary" *ngIf="!countryData || !countryData.funders || !countryData.funders.total">--</span>
541
                <span class="number primary" *ngIf="countryPageOverviewData?.fundingOrganizations">{{countryPageOverviewData.fundingOrganizations}}</span>
542
                <span class="number primary" *ngIf="!countryPageOverviewData || !countryPageOverviewData.fundingOrganizations">--</span>
531 543
                <span><i>funding organizations</i></span>
532 544
              </div>
533 545

  
534 546
              <hr class="greyBoldDivider uk-margin-medium-top uk-margin-medium-bottom">
535 547

  
536 548
              <div class="indicator">
537
                <span class="number primary" *ngIf="countryData?.ecFundedOrganizations?.oa">{{countryData.ecFundedOrganizations.oa}}</span>
538
                <span class="number primary" *ngIf="!countryData || !countryData.ecFundedOrganizations || !countryData.ecFundedOrganizations.oa">--</span>
549
                <span class="number primary" *ngIf="countryPageOverviewData?.ec_fundedOrganizations">{{countryPageOverviewData.ec_fundedOrganizations}}</span>
550
                <span class="number primary" *ngIf="!countryPageOverviewData || !countryPageOverviewData.ec_fundedOrganizations">--</span>
539 551
                <span><i>organizations funded by the European commission since 2013</i></span>
540 552
              </div>
541 553

  
......
552 564
              <a class="uk-link" href="{{linkToCountryInOpenAIRE}}" target="_blank">Country page in <strong>OpenAIRE</strong><i class="fas fa-long-arrow-alt-right uk-margin-left"></i></a>
553 565
            </div>
554 566

  
555
            <div class="uk-text-meta uk-text-small uk-margin-medium-top">
556
                <span class="uk-margin-right" style="opacity: 0.8; float: left; margin-top: 7px;">
557
                  <img src="../../../assets/img/Open_Research_Graph.svg">
558
                </span>
559
              <span>Powered by <a target="_blank" href="" style="text-decoration: underline">OpenAIRE Open Research Graph</a></span>
560
            </div>
561

  
562 567
          </div>
563 568
        </div>
564 569
      </div>
modules/open-science-observatory-ui/trunk/src/app/pages/countrypage/country-page.component.ts
1
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
1
import { Component, OnInit } from '@angular/core';
2 2
import { DataService } from '../../services/data.service';
3 3
import { ActivatedRoute } from '@angular/router';
4 4
import { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';
5 5
import { CountryOverview, OverviewData } from '../../domain/overview-data';
6
import { DataHandlerService } from '../../services/data-handler.service';
7
import { CountryPageOverviewData } from '../../domain/overview-map-data';
6 8

  
7 9
@Component({
8 10
  selector: 'app-country-page',
9 11
  templateUrl: './country-page.component.html',
10
  // styleUrls: ['./top-menu.component.css'],
11
  encapsulation: ViewEncapsulation.None
12 12
})
13 13

  
14 14
export class CountryPageComponent implements OnInit {
15 15

  
16
  countryName: string;
16
  countryCode: string;
17 17

  
18 18
  linkToCountryInOpenAIRE: string;
19 19

  
20
  countryPageOverviewData: CountryPageOverviewData;
21

  
20 22
  greenGoldLineChartURL: SafeResourceUrl;
21 23
  goldOrganisationsChartURL: SafeResourceUrl;
22 24
  greenOrganisationsChartURL: SafeResourceUrl;
......
31 33
  overviewData: OverviewData;
32 34
  countryData: CountryOverview;
33 35

  
34
  // countrySelectedName: string = null;
35 36

  
36 37
  constructor(private dataService: DataService,
38
              private dataHandlerService: DataHandlerService,
37 39
              private route: ActivatedRoute,
38 40
              private sanitizer: DomSanitizer) { }
39 41

  
40 42
  ngOnInit(): void {
41 43

  
42
    window.scroll(0,0);
44
    window.scroll(0, 0);
43 45

  
44
    this.countryName = this.route.snapshot.paramMap.get('countryName');
45
    this.linkToCountryInOpenAIRE = 'https://www.openaire.eu/item/' + this.countryName.replace(' ', '-');
46
    this.countryCode = this.route.snapshot.paramMap.get('countryCode');
46 47

  
47
    this.dataService.getCountryData(this.countryName).subscribe(
48
      overviewData => {
49
        this.overviewData = overviewData;
50
        this.countryData = this.overviewData.countries.filter(x => x.country === this.countryName)[0];
51
      },
52
      error => {
48
    this.dataService.getCountryPageOverviewData(this.countryCode).subscribe(
49
      rawData => {
50
        this.countryPageOverviewData = this.dataHandlerService.convertRawDataToCountryPageOverviewData(rawData);
51
        if (this.countryPageOverviewData && this.countryPageOverviewData.name) {
52
          this.linkToCountryInOpenAIRE = 'https://www.openaire.eu/item/' + this.countryPageOverviewData.name.replace(' ', '-');
53
          this.createChartURLs();
54
        }
55
      }, error => {
53 56
        console.log(error);
54 57
      }
55 58
    );
59
    // this.linkToCountryInOpenAIRE = 'https://www.openaire.eu/item/' + this.countryName.replace(' ', '-');
56 60

  
61
    // this.dataService.getCountryData(this.countryName).subscribe(
62
    //   overviewData => {
63
    //     this.overviewData = overviewData;
64
    //     this.countryData = this.overviewData.countries.filter(x => x.country === this.countryName)[0];
65
    //   },
66
    //   error => {
67
    //     console.log(error);
68
    //   }
69
    // );
57 70

  
71

  
72

  
73
  }
74

  
75
  createChartURLs() {
58 76
    // green: #98A886,  gold: #D3BF3B
59
    this.greenGoldLineChartURL = this.sanitizer.bypassSecurityTrustResourceUrl(`http://88.197.53.71:8080/stats-api/chart?json=%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22Green%20OA%22%2C%22type%22%3A%22line%22%2C%22query%22%3A%7B%22name%22%3A%22oso.green.year.` + this.countryName.replace(' ', '') + `%22%7D%7D%2C%7B%22name%22%3A%22Gold%20OA%22%2C%22type%22%3A%22line%22%2C%22query%22%3A%7B%22name%22%3A%22oso.gold.year.` + this.countryName.replace(' ', '') + `%22%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%22Green%20vs%20Gold%20Publications%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%2C%22colors%22%3A%5B%22%2398A886%22%2C%22%23D3BF3B%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`);
60
    this.goldOrganisationsChartURL = this.sanitizer.bypassSecurityTrustResourceUrl(`http://88.197.53.71:8080/stats-api/chart?json=%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22Gold%20OA%22%2C%22type%22%3A%22bar%22%2C%22color%22%3A%22%23D3BF3B%22%2C%22query%22%3A%7B%22name%22%3A%22oso.gold.organization.` + this.countryName.replace(' ', '') + `%22%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%22Gold%20Open%20Access%22%7D%2C%22subtitle%22%3A%7B%22text%22%3A%22Top%2015%20Organizations%22%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%22Organizations%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`);
61
    this.greenOrganisationsChartURL = this.sanitizer.bypassSecurityTrustResourceUrl(`http://88.197.53.71:8080/stats-api/chart?json=%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22Green%20OA%22%2C%22type%22%3A%22bar%22%2C%22color%22%3A%22%2398A886%22%2C%22query%22%3A%7B%22name%22%3A%22oso.green.organization.` + this.countryName.replace(' ', '') + `%22%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%22Green%20Open%20Access%22%7D%2C%22subtitle%22%3A%7B%22text%22%3A%22Top%2015%20Organizations%22%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%22Organizations%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`);
77
    this.greenGoldLineChartURL = this.sanitizer.bypassSecurityTrustResourceUrl(`http://88.197.53.71:8080/stats-api/chart?json=%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22Green%20OA%22%2C%22type%22%3A%22line%22%2C%22query%22%3A%7B%22name%22%3A%22oso.green.year.` + this.countryPageOverviewData.name.replace(' ', '') + `%22%7D%7D%2C%7B%22name%22%3A%22Gold%20OA%22%2C%22type%22%3A%22line%22%2C%22query%22%3A%7B%22name%22%3A%22oso.gold.year.` + this.countryPageOverviewData.name.replace(' ', '') + `%22%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%22Green%20vs%20Gold%20Publications%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%2C%22colors%22%3A%5B%22%2398A886%22%2C%22%23D3BF3B%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`);
78
    this.goldOrganisationsChartURL = this.sanitizer.bypassSecurityTrustResourceUrl(`http://88.197.53.71:8080/stats-api/chart?json=%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22Gold%20OA%22%2C%22type%22%3A%22bar%22%2C%22color%22%3A%22%23D3BF3B%22%2C%22query%22%3A%7B%22name%22%3A%22oso.gold.organization.` + this.countryPageOverviewData.name.replace(' ', '') + `%22%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%22Gold%20Open%20Access%22%7D%2C%22subtitle%22%3A%7B%22text%22%3A%22Top%2015%20Organizations%22%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%22Organizations%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`);
79
    this.greenOrganisationsChartURL = this.sanitizer.bypassSecurityTrustResourceUrl(`http://88.197.53.71:8080/stats-api/chart?json=%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22Green%20OA%22%2C%22type%22%3A%22bar%22%2C%22color%22%3A%22%2398A886%22%2C%22query%22%3A%7B%22name%22%3A%22oso.green.organization.` + this.countryPageOverviewData.name.replace(' ', '') + `%22%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%22Green%20Open%20Access%22%7D%2C%22subtitle%22%3A%7B%22text%22%3A%22Top%2015%20Organizations%22%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%22Organizations%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`);
62 80
    // publications: #19647E, datasets: #019A85, software: #99B2DD
63
    this.publicationsDataSetsSoftwareByYearGraphURL = this.sanitizer.bypassSecurityTrustResourceUrl(`http://88.197.53.71:8080/stats-api/chart?json=%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22Publications%22%2C%22type%22%3A%22line%22%2C%22query%22%3A%7B%22name%22%3A%22oso.oapublications.` + this.countryName.replace(' ', '') + `%22%7D%7D%2C%7B%22name%22%3A%22Datasets%22%2C%22type%22%3A%22line%22%2C%22query%22%3A%7B%22name%22%3A%22oso.oadatasets.` + this.countryName.replace(' ', '') + `%22%7D%7D%2C%7B%22name%22%3A%22Software%22%2C%22type%22%3A%22line%22%2C%22query%22%3A%7B%22name%22%3A%22oso.oasoftwares.` + this.countryName.replace(' ', '') + `%22%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%20vs%20Datasets%20vs%20Software%22%7D%2C%22subtitle%22%3A%7B%7D%2C%22yAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22somethings%22%7D%7D%2C%22xAxis%22%3A%7B%22title%22%3A%7B%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%2C%22colors%22%3A%5B%22%2319647E%22%2C%22%23019A85%22%2C%22%2399B2DD%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`);
64
    this.publicationsDataSetsSoftwareByFunderGraphURL = this.sanitizer.bypassSecurityTrustResourceUrl(`http://88.197.53.71:8080/stats-api/chart?json=%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22Publications%22%2C%22type%22%3A%22bar%22%2C%22query%22%3A%7B%22name%22%3A%22oso.oapublications.funder.` + this.countryName.replace(' ', '') + `%22%7D%7D%2C%7B%22name%22%3A%22Datasets%22%2C%22type%22%3A%22bar%22%2C%22query%22%3A%7B%22name%22%3A%22oso.oadatasets.funder.` + this.countryName.replace(' ', '') + `%22%7D%7D%2C%7B%22name%22%3A%22Software%22%2C%22type%22%3A%22bar%22%2C%22query%22%3A%7B%22name%22%3A%22oso.oasoftwares.funder.` + this.countryName.replace(' ', '') + `%22%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%20vs%20Datasets%20vs%20Software%22%7D%2C%22subtitle%22%3A%7B%22text%22%3A%22by%20funder%22%7D%2C%22yAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22somethings%22%7D%7D%2C%22xAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22funder%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%2C%22colors%22%3A%5B%22%2319647E%22%2C%22%23019A85%22%2C%22%2399B2DD%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`);
65
    this.topProjectsByPublicationsGraphURL = this.sanitizer.bypassSecurityTrustResourceUrl(`http://88.197.53.71:8080/stats-api/chart?json=%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22Publications%22%2C%22type%22%3A%22bar%22%2C%22query%22%3A%7B%22name%22%3A%22oso.top10.projects.publications.` + this.countryName.replace(' ', '') + `%22%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%22Top%2010%20Projects%22%7D%2C%22subtitle%22%3A%7B%22text%22%3A%22by%20publications%22%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%22projects%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%3Afalse%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%2319647E%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`);
66
    this.topProjectsByDatasetsGraphURL = this.sanitizer.bypassSecurityTrustResourceUrl(`http://88.197.53.71:8080/stats-api/chart?json=%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22Datasets%22%2C%22type%22%3A%22bar%22%2C%22query%22%3A%7B%22name%22%3A%22oso.top10.projects.datasets.` + this.countryName.replace(' ', '') + `%22%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%22Top%2010%20Projects%22%7D%2C%22subtitle%22%3A%7B%22text%22%3A%22by%20datasets%22%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%22projects%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%3Afalse%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%23019A85%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`);
67
    this.topProjectsBySoftwareGraphURL = this.sanitizer.bypassSecurityTrustResourceUrl(`http://88.197.53.71:8080/stats-api/chart?json=%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22Software%22%2C%22type%22%3A%22bar%22%2C%22query%22%3A%7B%22name%22%3A%22oso.top10.projects.software.` + this.countryName.replace(' ', '') + `%22%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%22Top%2010%20Projects%22%7D%2C%22subtitle%22%3A%7B%22text%22%3A%22by%20software%22%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%22projects%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%3Afalse%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%2399B2DD%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`);
81
    this.publicationsDataSetsSoftwareByYearGraphURL = this.sanitizer.bypassSecurityTrustResourceUrl(`http://88.197.53.71:8080/stats-api/chart?json=%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22Publications%22%2C%22type%22%3A%22line%22%2C%22query%22%3A%7B%22name%22%3A%22oso.oapublications.` + this.countryPageOverviewData.name.replace(' ', '') + `%22%7D%7D%2C%7B%22name%22%3A%22Datasets%22%2C%22type%22%3A%22line%22%2C%22query%22%3A%7B%22name%22%3A%22oso.oadatasets.` + this.countryPageOverviewData.name.replace(' ', '') + `%22%7D%7D%2C%7B%22name%22%3A%22Software%22%2C%22type%22%3A%22line%22%2C%22query%22%3A%7B%22name%22%3A%22oso.oasoftwares.` + this.countryPageOverviewData.name.replace(' ', '') + `%22%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%20vs%20Datasets%20vs%20Software%22%7D%2C%22subtitle%22%3A%7B%7D%2C%22yAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22somethings%22%7D%7D%2C%22xAxis%22%3A%7B%22title%22%3A%7B%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%2C%22colors%22%3A%5B%22%2319647E%22%2C%22%23019A85%22%2C%22%2399B2DD%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`);
82
    this.publicationsDataSetsSoftwareByFunderGraphURL = this.sanitizer.bypassSecurityTrustResourceUrl(`http://88.197.53.71:8080/stats-api/chart?json=%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22Publications%22%2C%22type%22%3A%22bar%22%2C%22query%22%3A%7B%22name%22%3A%22oso.oapublications.funder.` + this.countryPageOverviewData.name.replace(' ', '') + `%22%7D%7D%2C%7B%22name%22%3A%22Datasets%22%2C%22type%22%3A%22bar%22%2C%22query%22%3A%7B%22name%22%3A%22oso.oadatasets.funder.` + this.countryPageOverviewData.name.replace(' ', '') + `%22%7D%7D%2C%7B%22name%22%3A%22Software%22%2C%22type%22%3A%22bar%22%2C%22query%22%3A%7B%22name%22%3A%22oso.oasoftwares.funder.` + this.countryPageOverviewData.name.replace(' ', '') + `%22%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%20vs%20Datasets%20vs%20Software%22%7D%2C%22subtitle%22%3A%7B%22text%22%3A%22by%20funder%22%7D%2C%22yAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22somethings%22%7D%7D%2C%22xAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22funder%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%2C%22colors%22%3A%5B%22%2319647E%22%2C%22%23019A85%22%2C%22%2399B2DD%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`);
83
    this.topProjectsByPublicationsGraphURL = this.sanitizer.bypassSecurityTrustResourceUrl(`http://88.197.53.71:8080/stats-api/chart?json=%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22Publications%22%2C%22type%22%3A%22bar%22%2C%22query%22%3A%7B%22name%22%3A%22oso.top10.projects.publications.` + this.countryPageOverviewData.name.replace(' ', '') + `%22%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%22Top%2010%20Projects%22%7D%2C%22subtitle%22%3A%7B%22text%22%3A%22by%20publications%22%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%22projects%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%3Afalse%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%2319647E%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`);
84
    this.topProjectsByDatasetsGraphURL = this.sanitizer.bypassSecurityTrustResourceUrl(`http://88.197.53.71:8080/stats-api/chart?json=%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22Datasets%22%2C%22type%22%3A%22bar%22%2C%22query%22%3A%7B%22name%22%3A%22oso.top10.projects.datasets.` + this.countryPageOverviewData.name.replace(' ', '') + `%22%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%22Top%2010%20Projects%22%7D%2C%22subtitle%22%3A%7B%22text%22%3A%22by%20datasets%22%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%22projects%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%3Afalse%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%23019A85%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`);
85
    this.topProjectsBySoftwareGraphURL = this.sanitizer.bypassSecurityTrustResourceUrl(`http://88.197.53.71:8080/stats-api/chart?json=%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22Software%22%2C%22type%22%3A%22bar%22%2C%22query%22%3A%7B%22name%22%3A%22oso.top10.projects.software.` + this.countryPageOverviewData.name.replace(' ', '') + `%22%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%22Top%2010%20Projects%22%7D%2C%22subtitle%22%3A%7B%22text%22%3A%22by%20software%22%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%22projects%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%3Afalse%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%2399B2DD%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`);
68 86

  
69
    this.publicationsDataSetsSoftwareByOrganisationTableURL = this.sanitizer.bypassSecurityTrustResourceUrl(`http://88.197.53.71:8080/stats-api/table?json=%7B%22library%22%3A%22GoogleCharts%22%2C%22tableDescription%22%3A%7B%22queriesInfo%22%3A%5B%7B%22name%22%3A%22Data%22%2C%22type%22%3A%22bar%22%2C%22query%22%3A%7B%22select%22%3A%5B%7B%22field%22%3A%22result%22%2C%22aggregate%22%3A%22count%22%7D%2C%7B%22field%22%3A%22result.datasource.organization.name%22%2C%22aggregate%22%3Anull%7D%2C%7B%22field%22%3A%22result.type%22%2C%22aggregate%22%3Anull%7D%5D%2C%22filters%22%3A%5B%7B%22groupFilters%22%3A%5B%7B%22field%22%3A%22result.datasource.organization.country.name%22%2C%22type%22%3A%22%3D%22%2C%22values%22%3A%5B%22` + this.countryName + `%22%5D%7D%5D%2C%22op%22%3A%22AND%22%7D%2C%7B%22groupFilters%22%3A%5B%7B%22field%22%3A%22result.access%20mode%22%2C%22type%22%3A%22%3D%22%2C%22values%22%3A%5B%22Open%20Access%22%5D%7D%2C%7B%22field%22%3A%22result.access%20mode%22%2C%22type%22%3A%22%3D%22%2C%22values%22%3A%5B%22Open%20Source%22%5D%7D%5D%2C%22op%22%3A%22OR%22%7D%2C%7B%22groupFilters%22%3A%5B%7B%22field%22%3A%22result.type%22%2C%22type%22%3A%22!%3D%22%2C%22values%22%3A%5B%22other%22%5D%7D%5D%2C%22op%22%3A%22AND%22%7D%5D%2C%22entity%22%3A%22result%22%2C%22profile%22%3A%22OpenAIRE%20original%22%2C%22limit%22%3A%220%22%7D%7D%5D%2C%22columns%22%3A%5B%5D%2C%22options%22%3A%7B%22hAxis%22%3A%7B%7D%2C%22vAxis%22%3A%7B%7D%2C%22chartArea%22%3A%7B%7D%2C%22series%22%3A%5B%5D%2C%22exporting%22%3Afalse%2C%22pageSize%22%3A30%2C%22isStacked%22%3A%22false%22%7D%7D%7D`);
70
    this.publicationsDataSetsSoftwareByRepoTableURL = this.sanitizer.bypassSecurityTrustResourceUrl(`http://88.197.53.71:8080/stats-api/table?json=%7B%22library%22%3A%22GoogleCharts%22%2C%22tableDescription%22%3A%7B%22queriesInfo%22%3A%5B%7B%22name%22%3A%22Data%22%2C%22type%22%3A%22bar%22%2C%22query%22%3A%7B%22select%22%3A%5B%7B%22field%22%3A%22result%22%2C%22aggregate%22%3A%22count%22%7D%2C%7B%22field%22%3A%22result.datasource.name%22%2C%22aggregate%22%3Anull%7D%2C%7B%22field%22%3A%22result.type%22%2C%22aggregate%22%3Anull%7D%5D%2C%22filters%22%3A%5B%7B%22groupFilters%22%3A%5B%7B%22field%22%3A%22result.datasource.organization.country.name%22%2C%22type%22%3A%22%3D%22%2C%22values%22%3A%5B%22` + this.countryName + `%22%5D%7D%5D%2C%22op%22%3A%22AND%22%7D%2C%7B%22groupFilters%22%3A%5B%7B%22field%22%3A%22result.access%20mode%22%2C%22type%22%3A%22%3D%22%2C%22values%22%3A%5B%22Open%20Access%22%5D%7D%2C%7B%22field%22%3A%22result.access%20mode%22%2C%22type%22%3A%22%3D%22%2C%22values%22%3A%5B%22Open%20Source%22%5D%7D%5D%2C%22op%22%3A%22OR%22%7D%2C%7B%22groupFilters%22%3A%5B%7B%22field%22%3A%22result.type%22%2C%22type%22%3A%22!%3D%22%2C%22values%22%3A%5B%22other%22%5D%7D%5D%2C%22op%22%3A%22AND%22%7D%5D%2C%22entity%22%3A%22result%22%2C%22profile%22%3A%22OpenAIRE%20original%22%2C%22limit%22%3A%220%22%7D%7D%5D%2C%22columns%22%3A%5B%5D%2C%22options%22%3A%7B%22hAxis%22%3A%7B%7D%2C%22vAxis%22%3A%7B%7D%2C%22chartArea%22%3A%7B%7D%2C%22series%22%3A%5B%5D%2C%22exporting%22%3Afalse%2C%22pageSize%22%3A30%2C%22isStacked%22%3A%22false%22%7D%7D%7D`);
87
    this.publicationsDataSetsSoftwareByOrganisationTableURL = this.sanitizer.bypassSecurityTrustResourceUrl(`http://88.197.53.71:8080/stats-api/table?json=%7B%22library%22%3A%22GoogleCharts%22%2C%22tableDescription%22%3A%7B%22queriesInfo%22%3A%5B%7B%22name%22%3A%22Data%22%2C%22type%22%3A%22bar%22%2C%22query%22%3A%7B%22select%22%3A%5B%7B%22field%22%3A%22result%22%2C%22aggregate%22%3A%22count%22%7D%2C%7B%22field%22%3A%22result.datasource.organization.name%22%2C%22aggregate%22%3Anull%7D%2C%7B%22field%22%3A%22result.type%22%2C%22aggregate%22%3Anull%7D%5D%2C%22filters%22%3A%5B%7B%22groupFilters%22%3A%5B%7B%22field%22%3A%22result.datasource.organization.country.name%22%2C%22type%22%3A%22%3D%22%2C%22values%22%3A%5B%22` + this.countryPageOverviewData.name + `%22%5D%7D%5D%2C%22op%22%3A%22AND%22%7D%2C%7B%22groupFilters%22%3A%5B%7B%22field%22%3A%22result.access%20mode%22%2C%22type%22%3A%22%3D%22%2C%22values%22%3A%5B%22Open%20Access%22%5D%7D%2C%7B%22field%22%3A%22result.access%20mode%22%2C%22type%22%3A%22%3D%22%2C%22values%22%3A%5B%22Open%20Source%22%5D%7D%5D%2C%22op%22%3A%22OR%22%7D%2C%7B%22groupFilters%22%3A%5B%7B%22field%22%3A%22result.type%22%2C%22type%22%3A%22!%3D%22%2C%22values%22%3A%5B%22other%22%5D%7D%5D%2C%22op%22%3A%22AND%22%7D%5D%2C%22entity%22%3A%22result%22%2C%22profile%22%3A%22OpenAIRE%20original%22%2C%22limit%22%3A%220%22%7D%7D%5D%2C%22columns%22%3A%5B%5D%2C%22options%22%3A%7B%22hAxis%22%3A%7B%7D%2C%22vAxis%22%3A%7B%7D%2C%22chartArea%22%3A%7B%7D%2C%22series%22%3A%5B%5D%2C%22exporting%22%3Afalse%2C%22pageSize%22%3A30%2C%22isStacked%22%3A%22false%22%7D%7D%7D`);
88
    this.publicationsDataSetsSoftwareByRepoTableURL = this.sanitizer.bypassSecurityTrustResourceUrl(`http://88.197.53.71:8080/stats-api/table?json=%7B%22library%22%3A%22GoogleCharts%22%2C%22tableDescription%22%3A%7B%22queriesInfo%22%3A%5B%7B%22name%22%3A%22Data%22%2C%22type%22%3A%22bar%22%2C%22query%22%3A%7B%22select%22%3A%5B%7B%22field%22%3A%22result%22%2C%22aggregate%22%3A%22count%22%7D%2C%7B%22field%22%3A%22result.datasource.name%22%2C%22aggregate%22%3Anull%7D%2C%7B%22field%22%3A%22result.type%22%2C%22aggregate%22%3Anull%7D%5D%2C%22filters%22%3A%5B%7B%22groupFilters%22%3A%5B%7B%22field%22%3A%22result.datasource.organization.country.name%22%2C%22type%22%3A%22%3D%22%2C%22values%22%3A%5B%22` + this.countryPageOverviewData.name + `%22%5D%7D%5D%2C%22op%22%3A%22AND%22%7D%2C%7B%22groupFilters%22%3A%5B%7B%22field%22%3A%22result.access%20mode%22%2C%22type%22%3A%22%3D%22%2C%22values%22%3A%5B%22Open%20Access%22%5D%7D%2C%7B%22field%22%3A%22result.access%20mode%22%2C%22type%22%3A%22%3D%22%2C%22values%22%3A%5B%22Open%20Source%22%5D%7D%5D%2C%22op%22%3A%22OR%22%7D%2C%7B%22groupFilters%22%3A%5B%7B%22field%22%3A%22result.type%22%2C%22type%22%3A%22!%3D%22%2C%22values%22%3A%5B%22other%22%5D%7D%5D%2C%22op%22%3A%22AND%22%7D%5D%2C%22entity%22%3A%22result%22%2C%22profile%22%3A%22OpenAIRE%20original%22%2C%22limit%22%3A%220%22%7D%7D%5D%2C%22columns%22%3A%5B%5D%2C%22options%22%3A%7B%22hAxis%22%3A%7B%7D%2C%22vAxis%22%3A%7B%7D%2C%22chartArea%22%3A%7B%7D%2C%22series%22%3A%5B%5D%2C%22exporting%22%3Afalse%2C%22pageSize%22%3A30%2C%22isStacked%22%3A%22false%22%7D%7D%7D`);
71 89
  }
72 90
}
modules/open-science-observatory-ui/trunk/src/app/pages/continentoverview/continent-overview.component.html
1
<section class="greySection uk-padding-small" id="sect-continent-page">
2
  <div class="uk-container uk-container-expand uk-margin-medium-top">
1
<div class="greySection">
2
  <section class="uk-padding-small" id="sect-continent-page">
3
    <div class="uk-container uk-container-expand uk-margin-medium-top">
3 4

  
4
    <ul class="uk-breadcrumb">
5
      <li><a [routerLink]="['/home']">Home</a></li>
6
      <li><span>{{continentName | titlecase}}</span></li>
7
    </ul>
5
      <ul class="uk-breadcrumb">
6
        <li><a [routerLink]="['/home']">Home</a></li>
7
        <li><span>{{continentName | titlecase}}</span></li>
8
      </ul>
8 9

  
9 10

  
10
    <div *ngIf="continentName" class="">
11
      <img src="../../../assets/img/flags/{{continentName}}-flag.jpg" class="flag-image" width="132" height="132">
11
      <div *ngIf="continentName" class="">
12
        <img src="../../../assets/img/flags/{{continentName}}-flag.jpg" class="flag-image" width="132" height="132">
13
        <div class="uk-inline uk-margin-left">
14
          <h1>{{continentName | titlecase}}</h1>
15
          <span class="lastUpdateInfo">Info Last Updated: 21 May 2020</span>
16
        </div>
17
      </div>
18

  
12 19
    </div>
20
  </section>
13 21

  
14
  </div>
15
</section>
22
  <section class="uk-padding-small">
23
    <div class="uk-container uk-container-center uk-margin-medium-top">
16 24

  
25
      <div *ngIf="!europeOverviewData" class="whiteFilm"><i class="fa fa-spinner fa-spin fa-5x loader" aria-hidden="true"></i></div>
26
      <div *ngIf="europeOverviewData" class="uk-grid uk-child-width-1-4 entitiesContainer">
17 27

  
28
        <!--PUBLICATIONS-->
29
        <ng-container *ngIf="europeOverviewData.publications?.percentage">
30
          <div class="publicationsColumn uk-padding" [style.height.%]="getHeight(europeOverviewData.publications.percentage)">
31
            <div class="entityColumnContent">
32
              <span><img src="../../../assets/img/icons/publications-icon-white.svg" [width]="getPublicationsIconWidth(europeOverviewData.publications.percentage)"></span>
33
              <span class="number" [style.font-size.px]="getNumberFontSize(europeOverviewData.publications.percentage)"
34
                    [ngStyle]="{'margin-top' :europeOverviewData.publications.percentage * 45 /100 + 'px'}">
35
              {{europeOverviewData.publications.percentage | number :'1.0-1'}}%
36
            </span>
37
              <span class="number" [style.font-size.px]="getEntityNameFontSize(europeOverviewData.publications.percentage)"
38
                    [ngStyle]="{'margin-top' :europeOverviewData.publications.percentage * 30 /100 + 'px'}">Publications</span>
39
            </div>
40
          </div>
41
        </ng-container>
42
        <ng-container *ngIf="!europeOverviewData.publications || !europeOverviewData.publications.percentage">
43
          <div class="publicationsColumn uk-padding" style="height: 0%">
18 44

  
19
<!--TABS SECTION-->
20
<section class="section greySection" id="sect-tabs">
21
  <div class="uk-container uk-container-expand uk-container-center uk-scrollspy-init-inview uk-scrollspy-inview uk-animation-scale-up" data-uk-scrollspy="{cls:'uk-animation-scale-up uk-invisible',delay:300,topoffset:-100}">
45
          </div>
46
        </ng-container>
22 47

  
23
    <div class="">
24
      <ul class="uk-tab uk-tab-large uk-flex-center" data-uk-tab="{connect:'#team_tabbed',animation: 'slide-bottom'}">
25
        <li class="uk-active" aria-expanded="true"><a href="#">Overview</a></li>
26
        <li aria-expanded="false"><a href="#">Open Science</a></li>
27
        <li class="uk-disabled" aria-expanded="false"><a href="#" data-uk-tooltip="{title: Stay tuned..; pos: top-left}">Collaboration</a></li>
28
        <li class="uk-disabled" aria-expanded="false" data-uk-tooltip="Stay tuned.."><a href="#">Impact</a></li>
29
        <li class="uk-disabled" aria-expanded="false" data-uk-tooltip="Stay tuned.."><a href="#">Innovation</a></li>
30
        <!--<li class="uk-tab-responsive uk-active uk-hidden" aria-haspopup="true" aria-expanded="false"><a>Developers</a><div class="uk-dropdown uk-dropdown-small" aria-hidden="true"><ul class="uk-nav uk-nav-dropdown"></ul><div></div></div></li>-->
31
      </ul>
48
        <!--DATASETS-->
49
        <ng-container *ngIf="europeOverviewData.datasets?.percentage">
50
          <div class="datasetsColumn uk-padding" [style.height.%]="getHeight(europeOverviewData.datasets.percentage)">
51
            <div class="entityColumnContent">
52
              <span><img src="../../../assets/img/icons/datasets-icon-white.svg" [width]="getDatasetsIconWidth(europeOverviewData.datasets.percentage)"></span>
53
              <span class="number" [style.font-size.px]="getNumberFontSize(europeOverviewData.datasets.percentage)"
54
                    [ngStyle]="{'margin-top' :europeOverviewData.datasets.percentage * 45 /100 + 'px'}">
55
              {{europeOverviewData.datasets.percentage | number :'1.0-1'}}%
56
            </span>
57
              <span class="number" [style.font-size.px]="getEntityNameFontSize(europeOverviewData.datasets.percentage)"
58
                    [ngStyle]="{'margin-top' :europeOverviewData.datasets.percentage * 30 /100 + 'px'}">Datasets</span>
59
            </div>
60
          </div>
61
        </ng-container>
62
        <ng-container *ngIf="!europeOverviewData.datasets || !europeOverviewData.datasets.percentage">
63
          <div class="datasetsColumn" style="height: 0%">
32 64

  
33
      <ul *ngIf="overviewData?.countries" id="team_tabbed" class="uk-switcher dataContainer">
34
        <!--OVERVIEW tab-->
35
        <li aria-hidden="false" class="uk-active" style="animation-duration: 200ms;">
36
          <div class="uk-margin tabContent">
37
            <app-data-view></app-data-view>
38
            <!--<app-countries-table [isPercentage]="false" [type]="'overview'" [countries]="overviewData.countries"></app-countries-table>-->
39 65
          </div>
40
        </li>
41
        <!--OPEN SCIENCE tab-->
42
        <li aria-hidden="true" style="animation-duration: 200ms;">
43
          <div class="uk-margin tabContent">
44
            <app-data-view></app-data-view>
45
            <!--<app-countries-table [isPercentage]="false" [type]="'openScience'" [countries]="overviewData.countries"></app-countries-table>-->
66
        </ng-container>
67

  
68
        <!--SOFTWARE-->
69
        <ng-container *ngIf="europeOverviewData.software?.percentage">
70
          <div class="softwareColumn uk-padding" [style.height.%]="getHeight(europeOverviewData.software.percentage)">
71
            <div class="entityColumnContent">
72
              <span><img src="../../../assets/img/icons/software-icon-white.svg" [width]="getSoftwareIconWidth(europeOverviewData.software.percentage)"></span>
73
              <span class="number" [style.font-size.px]="getNumberFontSize(europeOverviewData.software.percentage)"
74
                    [ngStyle]="{'margin-top' :europeOverviewData.software.percentage * 45 /100 + 'px'}">
75
              {{europeOverviewData.software.percentage | number :'1.0-1'}}%
76
            </span>
77
              <span class="number" [style.font-size.px]="getEntityNameFontSize(europeOverviewData.software.percentage)"
78
                    [ngStyle]="{'margin-top' :europeOverviewData.software.percentage * 30 /100 + 'px'}">Software</span>
79
            </div>
46 80
          </div>
47
        </li>
48
        <li aria-hidden="true">
49
          <div class="uk-grid uk-grid-medium uk-grid-width-small-1-2 uk-grid-width-medium-1-3 uk-grid-width-large-1-4" data-uk-grid-margin="">
81
        </ng-container>
82
        <ng-container *ngIf="!europeOverviewData.software || !europeOverviewData.software.percentage">
83
          <div class="softwareColumn" style="height: 0%">
84

  
50 85
          </div>
51
        </li>
52
        <li aria-hidden="true">
53
          <div class="uk-grid uk-grid-medium uk-grid-width-small-1-2 uk-grid-width-medium-1-3 uk-grid-width-large-1-4" data-uk-grid-margin="">
86
        </ng-container>
87

  
88
        <!--OTHER-->
89
        <ng-container *ngIf="europeOverviewData.other?.percentage">
90
          <div class="otherColumn uk-padding" [style.height.%]="getHeight(europeOverviewData.other.percentage)">
91
            <div class="entityColumnContent">
92
              <span><img src="../../../assets/img/icons/other-icon-white.svg" [width]="getOtherIconWidth(europeOverviewData.other.percentage)"></span>
93
              <span class="number" [style.font-size.px]="getNumberFontSize(europeOverviewData.other.percentage)"
94
                    [ngStyle]="{'margin-top' :europeOverviewData.other.percentage * 45 /100 + 'px'}">
95
              {{europeOverviewData.other.percentage | number :'1.0-1'}}%
96
            </span>
97
              <span class="number" [style.font-size.px]="getEntityNameFontSize(europeOverviewData.other.percentage)"
98
                    [ngStyle]="{'margin-top' :europeOverviewData.other.percentage * 30 /100 + 'px'}">Other</span>
99
            </div>
54 100
          </div>
55
        </li>
56
        <li aria-hidden="true">
57
          <div class="uk-grid uk-grid-medium uk-grid-width-small-1-2 uk-grid-width-medium-1-3 uk-grid-width-large-1-4" data-uk-grid-margin="">
101
        </ng-container>
102
        <ng-container *ngIf="!europeOverviewData.other || !europeOverviewData.other.percentage">
103
          <div class="otherColumn" style="height: 0%">
104

  
58 105
          </div>
59
        </li>
60
      </ul>
106
        </ng-container>
107

  
108
      </div>
109

  
110
      <hr class="entitiesDivider">
111

  
112
      <div class="uk-grid uk-child-width-1-4 uk-margin-large-top">
113

  
114
        <div class="entityLegendContent">
115
          <div class="publicationsDot uk-inline"></div>
116
          <div class="uk-inline uk-margin-left">
117
            <span>Lorem Ipsum Lorem Ipsum Lorem Ipsum</span>
118
          </div>
119
        </div>
120
        <div class="entityLegendContent">
121
          <div class="datasetsDot"></div>
122
          <div class="uk-inline uk-margin-left">
123
            <span>Lorem Ipsum Lorem Ipsum Lorem Ipsum</span>
124
          </div>
125
        </div>
126
        <div class="entityLegendContent">
127
          <div class="softwareDot"></div>
128
          <div class="uk-inline uk-margin-left">
129
            <span>Lorem Ipsum Lorem Ipsum Lorem Ipsum</span>
130
          </div>
131
        </div>
132
        <div class="entityLegendContent">
133
          <div class="otherDot"></div>
134
          <div class="uk-inline uk-margin-left">
135
            <span>Lorem Ipsum Lorem Ipsum Lorem Ipsum</span>
136
          </div>
137
        </div>
138

  
139
      </div>
61 140
    </div>
141
  </section>
62 142

  
63
  </div>
64
</section>
143
  <!--TABS SECTION-->
144
  <section class="section uk-margin-large-top" id="sect-tabs">
145
    <div class="uk-container uk-container-expand uk-container-center uk-scrollspy-init-inview uk-scrollspy-inview uk-animation-scale-up" data-uk-scrollspy="{cls:'uk-animation-scale-up uk-invisible',delay:300,topoffset:-100}">
65 146

  
147
      <div class="">
148
        <ul class="uk-tab uk-tab-large uk-flex-center" data-uk-tab="{connect:'#team_tabbed',animation: 'slide-bottom'}">
149
          <li class="uk-active" aria-expanded="true"><a href="#">Overview</a></li>
150
          <li aria-expanded="false"><a href="#">Open Science</a></li>
151
          <li class="uk-disabled" aria-expanded="false"><a href="#" data-uk-tooltip="{title: Stay tuned..; pos: top-left}">Collaboration</a></li>
152
          <li class="uk-disabled" aria-expanded="false" data-uk-tooltip="Stay tuned.."><a href="#">Impact</a></li>
153
          <li class="uk-disabled" aria-expanded="false" data-uk-tooltip="Stay tuned.."><a href="#">Innovation</a></li>
154
          <!--<li class="uk-tab-responsive uk-active uk-hidden" aria-haspopup="true" aria-expanded="false"><a>Developers</a><div class="uk-dropdown uk-dropdown-small" aria-hidden="true"><ul class="uk-nav uk-nav-dropdown"></ul><div></div></div></li>-->
155
        </ul>
66 156

  
157
        <ul *ngIf="overviewData?.countries" id="team_tabbed" class="uk-switcher dataContainer">
158
          <!--OVERVIEW tab-->
159
          <li aria-hidden="false" class="uk-active" style="animation-duration: 200ms;">
160
            <div class="uk-margin tabContent">
161
              <app-data-view></app-data-view>
162
              <!--<app-countries-table [isPercentage]="false" [type]="'overview'" [countries]="overviewData.countries"></app-countries-table>-->
163
            </div>
164
          </li>
165
          <!--OPEN SCIENCE tab-->
166
          <li aria-hidden="true" style="animation-duration: 200ms;">
167
            <div class="uk-margin tabContent">
168
              <app-data-view></app-data-view>
169
              <!--<app-countries-table [isPercentage]="false" [type]="'openScience'" [countries]="overviewData.countries"></app-countries-table>-->
170
            </div>
171
          </li>
172
          <li aria-hidden="true">
173
            <div class="uk-grid uk-grid-medium uk-grid-width-small-1-2 uk-grid-width-medium-1-3 uk-grid-width-large-1-4" data-uk-grid-margin="">
174
            </div>
175
          </li>
176
          <li aria-hidden="true">
177
            <div class="uk-grid uk-grid-medium uk-grid-width-small-1-2 uk-grid-width-medium-1-3 uk-grid-width-large-1-4" data-uk-grid-margin="">
178
            </div>
179
          </li>
180
          <li aria-hidden="true">
181
            <div class="uk-grid uk-grid-medium uk-grid-width-small-1-2 uk-grid-width-medium-1-3 uk-grid-width-large-1-4" data-uk-grid-margin="">
182
            </div>
183
          </li>
184
        </ul>
185
      </div>
186

  
187
    </div>
188
  </section>
189
</div>
190

  
191

  
192

  
193

  
modules/open-science-observatory-ui/trunk/src/app/pages/continentoverview/continent-overview.component.ts
1 1
import { Component, OnInit } from '@angular/core';
2
import {ActivatedRoute} from '@angular/router';
3
import {DomSanitizer} from '@angular/platform-browser';
4
import {DataService} from '../../services/data.service';
2
import { ActivatedRoute } from '@angular/router';
3
import { DomSanitizer } from '@angular/platform-browser';
4
import { DataService } from '../../services/data.service';
5
import { DataHandlerService } from '../../services/data-handler.service';
6
import { EuropeData } from '../../domain/overview-map-data';
5 7

  
6 8
@Component({
7 9
  selector: 'app-continent-overview',
......
12 14

  
13 15
  continentName: string;
14 16

  
17
  europeOverviewData: EuropeData;
18

  
15 19
  constructor(private dataService: DataService,
20
              private dataHandlerService: DataHandlerService,
16 21
              private route: ActivatedRoute,
17 22
              private sanitizer: DomSanitizer) { }
18 23

  
19 24
  ngOnInit(): void {
20 25
    this.continentName = this.route.snapshot.paramMap.get('continentName');
26

  
27
    this.dataService.getEuropeOAPercentages().subscribe(
28
      rawData => {
29
        this.europeOverviewData = this.dataHandlerService.convertRawDataToEuropeOverviewData(rawData);
30
      }, error => {
31
        console.log(error);
32
      }
33
    );
21 34
  }
35

  
36
  getHeight(percentage: number) {
37
    if (percentage < 50) {
38
      return Math.round(percentage) * 1.5;
39
    } else {
40
      return Math.round(percentage);
41
    }
42
  }
43

  
44
  getNumberFontSize(percentage: number) {
45
    if (percentage < 50) {
46
      return Math.round(percentage * 45 / 100) * 1.5;
47
    } else {
48
      return Math.round(percentage * 45 / 100);
49
    }
50
  }
51

  
52
  getEntityNameFontSize(percentage: number) {
53
    if (percentage < 50) {
54
      return Math.round(percentage * 30 / 100) * 1.5;
55
    } else {
56
      return Math.round(percentage * 30 / 100);
57
    }
58
  }
59

  
60
  getPublicationsIconWidth(percentage: number) {
61
    if (percentage < 50) {
62
      return Math.round(percentage * 60 / 100) * 1.5;
63
    } else {
64
      return Math.round(percentage * 60 / 100);
65
    }
66
  }
67

  
68
  getDatasetsIconWidth(percentage: number) {
69
    if (percentage < 50) {
70
      return Math.round(percentage * 45 / 100) * 1.5;
71
    } else {
72
      return Math.round(percentage * 45 / 100);
73
    }
74
  }
75

  
76
  getSoftwareIconWidth(percentage: number) {
77
    if (percentage < 50) {
78
      return Math.round(percentage * 50 / 100) * 1.5;
79
    } else {
80
      return Math.round(percentage * 50 / 100);
81
    }
82
  }
83

  
84
  getOtherIconWidth(percentage: number) {
85
    if (percentage < 50) {
86
      return Math.round(percentage * 45 / 100) * 1.5;
87
    } else {
88
      return Math.round(percentage * 45 / 100);
89
    }
90
  }
91

  
22 92
}
modules/open-science-observatory-ui/trunk/src/app/pages/home/countries-table.component.html
57 57
      <td class="uk-text-center">
58 58
        <ng-container *ngIf="countryOverview.repositories===null">--</ng-container>
59 59
        <ng-container *ngIf="countryOverview.repositories!=null">
60
          {{countryOverview.repositories | number}}<ng-container *ngIf="isPercentage">%</ng-container>
60
          <ng-container *ngIf="isPercentage">{{countryOverview.repositories | number :'1.0-1'}}%</ng-container>
61
          <ng-container *ngIf="!isPercentage">{{countryOverview.repositories | number}}</ng-container>
61 62
        </ng-container>
62 63
      </td>
63 64
      <td class="uk-text-center">
64 65
        <ng-container *ngIf="countryOverview.journals===null">--</ng-container>
65 66
        <ng-container *ngIf="countryOverview.journals!=null">
66
          {{countryOverview.journals | number}}<ng-container *ngIf="isPercentage">%</ng-container>
67
          <ng-container *ngIf="isPercentage">{{countryOverview.journals | number :'1.0-1'}}%</ng-container>
68
          <ng-container *ngIf="!isPercentage">{{countryOverview.journals | number}}</ng-container>
67 69
        </ng-container>
68 70
      </td>
69 71
      <!--<td class="uk-text-center">-->
......
73 75
      <td class="uk-text-center">
74 76
        <ng-container *ngIf="countryOverview.publications===null">--</ng-container>
75 77
        <ng-container *ngIf="countryOverview.publications!=null">
76
          {{countryOverview.publications | number}}<ng-container *ngIf="isPercentage">%</ng-container>
78
          <ng-container *ngIf="isPercentage">{{countryOverview.publications | number :'1.0-1'}}%</ng-container>
79
          <ng-container *ngIf="!isPercentage">{{countryOverview.publications | number}}</ng-container>
77 80
          <!--<span style="display: inline-block; float: right; padding-right: 10px;">-->
78 81
          <!--<span style="float:left; padding-right: 5px;">{{countryOverview.publications.percentage | number}}% </span>-->
79 82
          <!--<ng-container *ngIf="countryOverview.publications?.percentage !=null">-->
......
87 90
      <td class="uk-text-center">
88 91
        <ng-container *ngIf="countryOverview.datasets===null">--</ng-container>
89 92
        <ng-container *ngIf="countryOverview.datasets!=null">
90
          {{countryOverview.datasets | number}}<ng-container *ngIf="isPercentage">%</ng-container>
93
          <ng-container *ngIf="isPercentage">{{countryOverview.datasets | number :'1.0-1'}}%</ng-container>
94
          <ng-container *ngIf="!isPercentage">{{countryOverview.datasets | number}}</ng-container>
91 95
        </ng-container>
92 96
      </td>
93 97
      <td class="uk-text-center">
94 98
        <ng-container *ngIf="countryOverview.software===null">--</ng-container>
95 99
        <ng-container *ngIf="countryOverview.software!=null">
96
          {{countryOverview.software | number}}<ng-container *ngIf="isPercentage">%</ng-container>
100
          <ng-container *ngIf="isPercentage">{{countryOverview.software | number :'1.0-1'}}%</ng-container>
101
          <ng-container *ngIf="!isPercentage">{{countryOverview.software | number}}</ng-container>
97 102
        </ng-container>
98 103
      </td>
99 104
      <td class="uk-text-center">
100 105
        <ng-container *ngIf="countryOverview.other===null">--</ng-container>
101 106
        <ng-container *ngIf="countryOverview.other!=null">
102
          {{countryOverview.other | number}}<ng-container *ngIf="isPercentage">%</ng-container>
107
          <ng-container *ngIf="isPercentage">{{countryOverview.other | number :'1.0-1'}}%</ng-container>
108
          <ng-container *ngIf="!isPercentage">{{countryOverview.other | number}}</ng-container>
103 109
        </ng-container>
104 110
      </td>
105 111
    </tr>
modules/open-science-observatory-ui/trunk/src/app/pages/home/europe-map-overview.component.ts
42 42

  
43 43
  joinedPublicationsMap: Map<string, JoinedMapData>;
44 44
  joinedDatasetsMap: Map<string, JoinedMapData>;
45
  joinedRepositoriesMap: Map<string, JoinedMapData>;
46
  joinedJournalsMap: Map<string, JoinedMapData>;
45 47

  
46 48
  constructor(private dataService: DataService,
47 49
              private dataHandlerService: DataHandlerService,
......
62 64
        this.overviewMapData = this.dataHandlerService.convertRawMapDataToMapData(rawData);
63 65
        this.joinedPublicationsMap = this.dataHandlerService.createJoinedPublicationsCountryMap(rawData);
64 66
        this.joinedDatasetsMap = this.dataHandlerService.createJoinedDatasetsCountryMap(rawData);
67
        this.joinedRepositoriesMap = this.dataHandlerService.createJoinedRepositoriesCountryMap(rawData);
68
        this.joinedJournalsMap = this.dataHandlerService.createJoinedJournalsCountryMap(rawData);
65 69

  
66 70
        // console.log('Country map data', this.overviewMapData[this.activeView]);
67 71
        this.loadMap(this.overviewMapData[this.activeView], this.seriesColor, this.seriesColor);
......
329 333
        '<span class="number">' + params.data.value[2].toLocaleString() + '</span>' +
330 334
        '<span><i>repositories</i> from <br>openDOAR & re3data</span></div>';
331 335

  
336
      tooltip += '<div class="indicator uk-margin-small-top">' +
337
        '<span class="number">' + this.joinedRepositoriesMap.get(params.name).simple.toLocaleString() + '</span>' +
338
        '<span><i>repositories</i></span></div>';
339

  
332 340
      tooltip += '</div>';
333 341

  
334 342
    } else if (this.activeView === 'journals') {
......
336 344
      tooltip += '<div class="numbers">';
337 345
      tooltip += '<div class="indicator">' +
338 346
        '<span class="number">' + params.data.value[2].toLocaleString() + '</span>' +
339
        '<span><i>journals</i> from <br>DOAJ</span></div>';
347
        '<span><i>journals</i> from DOAJ</span></div>';
340 348

  
349
      tooltip += '<div class="indicator uk-margin-small-top">' +
350
        '<span class="number">' + this.joinedJournalsMap.get(params.name).simple.toLocaleString() + '</span>' +
351
        '<span><i>journals</i></span></div>';
352

  
341 353
      tooltip += '</div>';
342 354

  
343 355
    } else {
modules/open-science-observatory-ui/trunk/src/app/pages/home/data-view.component.html
35 35
        </select>
36 36
        <!--<span class="md-input-bar"></span>-->
37 37
      </div>
38
      <div *ngIf="loading" class="whiteFilm"><i class="fa fa-spinner fa-spin fa-2x loader" aria-hidden="true"></i></div>
38
      <div *ngIf="loadingAbsoluteTable" class="whiteFilm"><i class="fa fa-spinner fa-spin fa-2x loader" aria-hidden="true"></i></div>
39 39
      <app-countries-table *ngIf="tableAbsoluteData" [isPercentage]="false" [countries]="tableAbsoluteData"></app-countries-table>
40 40
    </div>
41 41
  </li>
......
52 52
        </select>
53 53
        <!--<span class="md-input-bar"></span>-->
54 54
      </div>
55
      <div *ngIf="loadingPercentageTable" class="whiteFilm"><i class="fa fa-spinner fa-spin fa-2x loader" aria-hidden="true"></i></div>
55 56
      <app-countries-table *ngIf="tablePercentageData" [isPercentage]="true" [countries]="tablePercentageData"></app-countries-table>
56 57
    </div>
57 58
  </li>
modules/open-science-observatory-ui/trunk/src/app/pages/home/data-view.component.ts
22 22
  tableAbsoluteData: CountryTableData[];
23 23
  tablePercentageData: CountryTableData[];
24 24

  
25
  loading: boolean = true;
25
  loadingAbsoluteTable: boolean = true;
26
  loadingPercentageTable: boolean = true;
26 27

  
27 28
  oaPublicationsURL: SafeResourceUrl;
28 29
  oaRepositoriesURL: SafeResourceUrl;
......
37 38

  
38 39
  ngOnInit(): void {
39 40
    this.getAbsoluteData();
41
    this.getPercentageData();
40 42
  }
41 43

  
42 44
  getAbsoluteData() {
43
    this.loading = true;
45
    this.loadingAbsoluteTable = true;
44 46
    this.dataService.getOverviewTableAbsoluteData(this.contentAbsoluteSelection).subscribe(
45 47
      rawData => {
46 48
        this.tableAbsoluteData = this.dataHandlerService.convertRawDataToAbsoluteTableData(rawData);
47
        this.loading = false;
49
        this.loadingAbsoluteTable = false;
48 50
      }, error => {
49 51
        console.log(error);
50
        this.loading = false;
52
        this.loadingAbsoluteTable = false;
51 53
      }
52 54
    );
53 55
  }
54 56

  
55 57
  getPercentageData() {
56
    this.loading = true;
57
    this.dataService.getOverviewTableAbsoluteData(this.contentPercentageSelection).subscribe(
58
    this.loadingPercentageTable = true;
59
    this.dataService.getOverviewTablePercentageData(this.contentPercentageSelection).subscribe(
58 60
      rawData => {
59
        this.tablePercentageData = this.dataHandlerService.convertRawDataToAbsoluteTableData(rawData);
60
        this.loading = false;
61
        this.tablePercentageData = this.dataHandlerService.convertRawDataToPercentageTableData(rawData);
62
        this.loadingPercentageTable = false;
61 63
      }, error => {
62 64
        console.log(error);
63
        this.loading = false;
65
        this.loadingPercentageTable = false;
64 66
      }
65 67
    );
66 68
  }
modules/open-science-observatory-ui/trunk/src/app/services/data-handler.service.ts
1 1
import { Injectable } from '@angular/core';
2 2
import { RawData, Row } from '../domain/raw-data';
3
import {CountryOverviewData, CountryMapData, EuropeData, OverviewMapData, CountryTableData} from '../domain/overview-map-data';
3
import {
4
  CountryOverviewData,
5
  CountryMapData,
6
  EuropeData,
7
  OverviewMapData,
8
  CountryTableData,
9
  CountryPageOverviewData
10
} from '../domain/overview-map-data';
4 11
import {Indicator} from '../domain/overview-data';
5 12

  
6 13
@Injectable ()
......
16 23
        overviewMapData.publications = this.rawResultToCountryMapData(series.series.result);
17 24
      } else if (series.series.query.name === 'new.oso.datasets.affiliated') {
18 25
        overviewMapData.datasets = this.rawResultToCountryMapData(series.series.result);
19
      } else if (series.series.query.name === 'new.oso.repositories') {
26
      } else if (series.series.query.name === 'new.oso.repositories.doar_re3data') {
20 27
        overviewMapData.repositories = this.rawResultToCountryMapData(series.series.result);
21
      } else if (series.series.query.name === 'new.oso.journals') {
28
      } else if (series.series.query.name === 'new.oso.journals.doaj') {
22 29
        overviewMapData.journals = this.rawResultToCountryMapData(series.series.result);
23 30
      } else if (series.series.query.name === 'new.oso.oa_policies') {
24 31
        overviewMapData.policies = this.rawResultToCountryMapData(series.series.result);
......
105 112

  
106 113
  }
107 114

  
115
  public createJoinedRepositoriesCountryMap(rawData: RawData) {
116

  
117
    const joinedRepositoriesMap = new Map();
118

  
119
    for (const series of rawData.datasets) {
120
      if (series.series.query.name === 'new.oso.repositories.doar_re3data') {
121

  
122
        for (const rowResult of series.series.result) {
123
          if (joinedRepositoriesMap.has(rowResult.row[1])) {
124
            const simple = joinedRepositoriesMap.get(rowResult.row[1]).simple;
125
            joinedRepositoriesMap.delete(rowResult.row[1]);
126
            joinedRepositoriesMap.set(rowResult.row[1], {countryName: rowResult.row[1], countryCode: rowResult.row[2],
127
              doar_re3data: Number(rowResult.row[0]), simple: simple});
128
          } else {
129
            joinedRepositoriesMap.set(rowResult.row[1], {countryName: rowResult.row[1], countryCode: rowResult.row[2],
130
              doar_re3data: Number(rowResult.row[0]), simple: 0});
131
          }
132
        }
133

  
134
      } else if (series.series.query.name === 'new.oso.repositories') {
135

  
136
        for (const rowResult of series.series.result) {
137
          if (joinedRepositoriesMap.has(rowResult.row[1])) {
138
            const doar_re3data = joinedRepositoriesMap.get(rowResult.row[1]).doar_re3data;
139
            joinedRepositoriesMap.delete(rowResult.row[1]);
140
            joinedRepositoriesMap.set(rowResult.row[1], {countryName: rowResult.row[1], countryCode: rowResult.row[2],
141
              doar_re3data: doar_re3data, simple: Number(rowResult.row[0])});
142
          }
143
          joinedRepositoriesMap.set(rowResult.row[1], { countryName: rowResult.row[1], countryCode: rowResult.row[2],
144
            doar_re3data: 0, simple: Number(rowResult.row[0])});
145
        }
146
      }
147
    }
148

  
149
    return joinedRepositoriesMap;
150

  
151
  }
152

  
153
  public createJoinedJournalsCountryMap(rawData: RawData) {
154

  
155
    const joinedJournalsMap = new Map();
156

  
157
    for (const series of rawData.datasets) {
158
      if (series.series.query.name === 'new.oso.journals.doaj') {
159

  
160
        for (const rowResult of series.series.result) {
161
          if (joinedJournalsMap.has(rowResult.row[1])) {
162
            const simple = joinedJournalsMap.get(rowResult.row[1]).simple;
163
            joinedJournalsMap.delete(rowResult.row[1]);
164
            joinedJournalsMap.set(rowResult.row[1], {countryName: rowResult.row[1], countryCode: rowResult.row[2],
165
              doaj: Number(rowResult.row[0]), simple: simple});
166
          } else {
167
            joinedJournalsMap.set(rowResult.row[1], {countryName: rowResult.row[1], countryCode: rowResult.row[2],
168
              doaj: Number(rowResult.row[0]), simple: 0});
169
          }
170
        }
171

  
172
      } else if (series.series.query.name === 'new.oso.journals') {
173

  
174
        for (const rowResult of series.series.result) {
175
          if (joinedJournalsMap.has(rowResult.row[1])) {
176
            const doaj = joinedJournalsMap.get(rowResult.row[1]).doaj;
177
            joinedJournalsMap.delete(rowResult.row[1]);
178
            joinedJournalsMap.set(rowResult.row[1], {countryName: rowResult.row[1], countryCode: rowResult.row[2],
179
              doaj: doaj, simple: Number(rowResult.row[0])});
180
          }
181
          joinedJournalsMap.set(rowResult.row[1], { countryName: rowResult.row[1], countryCode: rowResult.row[2],
182
            doaj: 0, simple: Number(rowResult.row[0])});
183
        }
184
      }
185
    }
186

  
187
    return joinedJournalsMap;
188

  
189
  }
190

  
108 191
  public convertRawDataToCountryOverviewData(rawData: RawData) {
109 192

  
110 193
    const countryData: CountryOverviewData = new CountryOverviewData();
......
153 236
        datasetsIndicator.total = Number(series.series.result[0].row[2]);
154 237
        europeData.datasets = datasetsIndicator;
155 238

  
239
      } else if (series.series.query.name === 'new.oso.software.oa_percentage') {
240

  
241
        const softwareIndicator: Indicator = new Indicator();
242
        softwareIndicator.percentage = Number(series.series.result[0].row[0]);
243
        softwareIndicator.oa = Number(series.series.result[0].row[1]);
244
        softwareIndicator.total = Number(series.series.result[0].row[2]);
245
        europeData.software = softwareIndicator;
246

  
247
      } else if (series.series.query.name === 'new.oso.other.oa_percentage') {
248

  
249
        const otherIndicator: Indicator = new Indicator();
250
        otherIndicator.percentage = Number(series.series.result[0].row[0]);
251
        otherIndicator.oa = Number(series.series.result[0].row[1]);
252
        otherIndicator.total = Number(series.series.result[0].row[2]);
253
        europeData.other = otherIndicator;
254

  
156 255
      } else if (series.series.query.name === 'new.oso.repositories.doar_re3data.validated') {
157 256

  
158 257
        const repositoriesIndicator: Indicator = new Indicator();
......
322 421
    return tableData;
323 422
  }
324 423

  
424
  public convertRawDataToPercentageTableData(rawData: RawData) {
425

  
426
    const mapTableData: Map<string, CountryTableData> = new Map();
427

  
428
    for (const series of rawData.datasets) {
429

  
430
      if (series.series.query.name.includes('new.oso.results')
431
        && series.series.query.parameters && series.series.query.parameters[0] === 'publication') {
432
        for (const rowResult of series.series.result) {
433

  
434
          // remove unwanted countries
435
          if (this.isCountryToBeRemoved(rowResult.row[4])) {
436
            continue;
437
          }
438

  
439
          if (mapTableData.has(rowResult.row[4])) {
440
            const countryTableData = mapTableData.get(rowResult.row[4]);
441
            if (rowResult.row[0] !== 'NaN') {
442
              countryTableData.publications = Number(rowResult.row[0]);
443
            }
444
          } else {
445
            const countryTableData: CountryTableData = new CountryTableData();
446
            if (rowResult.row[0] !== 'NaN') {
447
              countryTableData.publications = Number(rowResult.row[0]);
448
            }
449
            countryTableData.name = rowResult.row[3];
450
            countryTableData.code = rowResult.row[4];
451
            mapTableData.set(rowResult.row[4], countryTableData);
452
          }
453
        }
454

  
455
      } else if (series.series.query.name.includes('new.oso.results')
456
        && series.series.query.parameters && series.series.query.parameters[0] === 'dataset') {
457

  
458
        for (const rowResult of series.series.result) {
459

  
460
          // remove unwanted countries
461
          if (this.isCountryToBeRemoved(rowResult.row[4])) {
462
            continue;
463
          }
464

  
465
          if (mapTableData.has(rowResult.row[4])) {
466
            const countryTableData = mapTableData.get(rowResult.row[4]);
467
            if (rowResult.row[0] !== 'NaN') {
468
              countryTableData.datasets = Number(rowResult.row[0]);
469
            }
470
          } else {
471
            const countryTableData: CountryTableData = new CountryTableData();
472
            if (rowResult.row[0] !== 'NaN') {
473
              countryTableData.datasets = Number(rowResult.row[0]);
474
            }
475
            countryTableData.name = rowResult.row[3];
476
            countryTableData.code = rowResult.row[4];
477
            mapTableData.set(rowResult.row[4], countryTableData);
478
          }
479
        }
480
      } else if (series.series.query.name.includes('new.oso.results')
481
        && series.series.query.parameters && series.series.query.parameters[0] === 'software') {
482

  
483
        for (const rowResult of series.series.result) {
484

  
485
          // remove unwanted countries
486
          if (this.isCountryToBeRemoved(rowResult.row[4])) {
487
            continue;
488
          }
489

  
490
          if (mapTableData.has(rowResult.row[4])) {
491
            const countryTableData = mapTableData.get(rowResult.row[4]);
492
            if (rowResult.row[0] !== 'NaN') {
493
              countryTableData.software = Number(rowResult.row[0]);
494
            }
495
          } else {
496
            const countryTableData: CountryTableData = new CountryTableData();
497
            if (rowResult.row[0] !== 'NaN') {
498
              countryTableData.software = Number(rowResult.row[0]);
499
            }
500
            countryTableData.name = rowResult.row[3];
501
            countryTableData.code = rowResult.row[4];
502
            mapTableData.set(rowResult.row[4], countryTableData);
503
          }
504
        }
505
      } else if (series.series.query.name.includes('new.oso.results')
506
        && series.series.query.parameters && series.series.query.parameters[0] === 'other') {
507

  
508
        for (const rowResult of series.series.result) {
509

  
510
          // remove unwanted countries
511
          if (this.isCountryToBeRemoved(rowResult.row[4])) {
512
            continue;
513
          }
514

  
515
          if (mapTableData.has(rowResult.row[4])) {
516
            const countryTableData = mapTableData.get(rowResult.row[4]);
517
            if (rowResult.row[0] !== 'NaN') {
518
              countryTableData.other = Number(rowResult.row[0]);
519
            }
520
          } else {
521
            const countryTableData: CountryTableData = new CountryTableData();
522
            if (rowResult.row[0] !== 'NaN') {
523
              countryTableData.other = Number(rowResult.row[0]);
524
            }
525
            countryTableData.name = rowResult.row[3];
526
            countryTableData.code = rowResult.row[4];
527
            mapTableData.set(rowResult.row[4], countryTableData);
528
          }
529
        }
530
      } else if (series.series.query.name.includes('new.oso.repositories')) {
531

  
532
        for (const rowResult of series.series.result) {
533

  
534
          // remove unwanted countries
535
          if (this.isCountryToBeRemoved(rowResult.row[4])) {
536
            continue;
537
          }
538

  
539
          if (mapTableData.has(rowResult.row[4])) {
540
            const countryTableData = mapTableData.get(rowResult.row[4]);
541
            countryTableData.repositories = Number(rowResult.row[0]);
542
          } else {
543
            const countryTableData: CountryTableData = new CountryTableData();
544
            countryTableData.repositories = Number(rowResult.row[0]);
545
            countryTableData.name = rowResult.row[3];
546
            countryTableData.code = rowResult.row[4];
547
            mapTableData.set(rowResult.row[4], countryTableData);
548
          }
549
        }
550
      } else if (series.series.query.name.includes('new.oso.journals')) {
551

  
552
        for (const rowResult of series.series.result) {
553

  
554
          // remove unwanted countries
555
          if (this.isCountryToBeRemoved(rowResult.row[4])) {
556
            continue;
557
          }
558

  
559
          if (mapTableData.has(rowResult.row[4])) {
560
            const countryTableData = mapTableData.get(rowResult.row[4]);
561
            countryTableData.journals = Number(rowResult.row[0]);
562
          } else {
563
            const countryTableData: CountryTableData = new CountryTableData();
564
            countryTableData.journals = Number(rowResult.row[0]);
565
            countryTableData.name = rowResult.row[3];
566
            countryTableData.code = rowResult.row[4];
567
            mapTableData.set(rowResult.row[4], countryTableData);
568
          }
569
        }
570
      }
571
    }
572

  
573
    const tableData: CountryTableData[] = [];
574

  
575
    mapTableData.forEach((value: CountryTableData, key: string) => {
576
      // console.log(key, value);
577
      tableData.push(value);
578
    });
579

  
580
    return tableData;
581
  }
582

  
583
  public convertRawDataToCountryPageOverviewData(rawData: RawData) {
584

  
585
    const countryPageOverviewData: CountryPageOverviewData = new CountryPageOverviewData();
586

  
587
    for (const series of rawData.datasets) {
588

  
589
      if ((series.series.query.name === 'new.oso.results.oa_percentage.country')
590
        && series.series.query.parameters && series.series.query.parameters[0] === 'publication') {
591

  
592
        countryPageOverviewData.name = series.series.result[0].row[3];
593
        countryPageOverviewData.code = series.series.result[0].row[4];
594

  
595
        const publicationsAffiliatedIndicator: Indicator = new Indicator();
596
        publicationsAffiliatedIndicator.percentage = Number(series.series.result[0].row[0]);
597
        publicationsAffiliatedIndicator.oa = Number(series.series.result[0].row[1]);
598
        publicationsAffiliatedIndicator.total = Number(series.series.result[0].row[2]);
599
        countryPageOverviewData.publicationsAffiliated = publicationsAffiliatedIndicator;
600

  
601
      } else if ((series.series.query.name === 'new.oso.results.oa_percentage.deposited.country')
602
        && series.series.query.parameters && series.series.query.parameters[0] === 'publication') {
603

  
604
        countryPageOverviewData.name = series.series.result[0].row[3];
605
        countryPageOverviewData.code = series.series.result[0].row[4];
606

  
607
        const publicationsDepositedIndicator: Indicator = new Indicator();
608
        publicationsDepositedIndicator.percentage = Number(series.series.result[0].row[0]);
609
        publicationsDepositedIndicator.oa = Number(series.series.result[0].row[1]);
610
        publicationsDepositedIndicator.total = Number(series.series.result[0].row[2]);
611
        countryPageOverviewData.publicationsDeposited = publicationsDepositedIndicator;
612

  
613
      } if ((series.series.query.name === 'new.oso.results.oa_percentage.country')
614
        && series.series.query.parameters && series.series.query.parameters[0] === 'dataset') {
615

  
616
        countryPageOverviewData.name = series.series.result[0].row[3];
617
        countryPageOverviewData.code = series.series.result[0].row[4];
618

  
619
        const datasetsAffiliatedIndicator: Indicator = new Indicator();
620
        datasetsAffiliatedIndicator.percentage = Number(series.series.result[0].row[0]);
621
        datasetsAffiliatedIndicator.oa = Number(series.series.result[0].row[1]);
622
        datasetsAffiliatedIndicator.total = Number(series.series.result[0].row[2]);
623
        countryPageOverviewData.datasetsAffiliated = datasetsAffiliatedIndicator;
624

  
625
      } else if ((series.series.query.name === 'new.oso.results.oa_percentage.deposited.country')
626
        && series.series.query.parameters && series.series.query.parameters[0] === 'dataset') {
627

  
628
        countryPageOverviewData.name = series.series.result[0].row[3];
629
        countryPageOverviewData.code = series.series.result[0].row[4];
630

  
631
        const datasetsDepositedIndicator: Indicator = new Indicator();
632
        datasetsDepositedIndicator.percentage = Number(series.series.result[0].row[0]);
633
        datasetsDepositedIndicator.oa = Number(series.series.result[0].row[1]);
634
        datasetsDepositedIndicator.total = Number(series.series.result[0].row[2]);
635
        countryPageOverviewData.datasetsDeposited = datasetsDepositedIndicator;
636

  
637
      } else if (series.series.query.name === 'new.oso.repositories.doar_re3data.validated.country') {
638

  
639
        countryPageOverviewData.name = series.series.result[0].row[3];
640
        countryPageOverviewData.code = series.series.result[0].row[4];
641

  
642
        const repositoriesIndicator: Indicator = new Indicator();
643
        repositoriesIndicator.percentage = Number(series.series.result[0].row[0]);
644
        repositoriesIndicator.oa = Number(series.series.result[0].row[1]);
645
        repositoriesIndicator.total = Number(series.series.result[0].row[2]);
646
        countryPageOverviewData.repositories = repositoriesIndicator;
647

  
648
      } else if (series.series.query.name === 'new.oso.journals.doaj.validated.country') {
649

  
650
        countryPageOverviewData.name = series.series.result[0].row[3];
651
        countryPageOverviewData.code = series.series.result[0].row[4];
652

  
653
        const journalsIndicator: Indicator = new Indicator();
654
        journalsIndicator.percentage = Number(series.series.result[0].row[0]);
655
        journalsIndicator.oa = Number(series.series.result[0].row[1]);
656
        journalsIndicator.total = Number(series.series.result[0].row[2]);
657
        countryPageOverviewData.journals = journalsIndicator;
658

  
659
      } else if (series.series.query.name === 'new.oso.oa_policies.country') {
660

  
661
        countryPageOverviewData.policies = Number(series.series.result[0].row[0]);
662

  
663
      } else if (series.series.query.name === 'new.oso.funder.country') {
664

  
665
        countryPageOverviewData.funders = Number(series.series.result[0].row[0]);
666

  
667
      } else if (series.series.query.name === 'new.oso.funding_organizations.country') {
668

  
669
        countryPageOverviewData.fundingOrganizations = Number(series.series.result[0].row[0]);
670

  
671
      } else if (series.series.query.name === 'new.oso.ec_funded_organizations.country') {
672

  
673
        countryPageOverviewData.ec_fundedOrganizations = Number(series.series.result[0].row[0]);
674
      }
675
    }
676

  
677
    return countryPageOverviewData;
678
  }
679

  
325 680
  private rawResultToCountryMapData(result: Row[]) {
326 681

  
327 682
    const entityMapData: CountryMapData[] = [];
modules/open-science-observatory-ui/trunk/src/app/services/data.service.ts
21 21
  }
22 22

  
23 23
  public getOverviewMapData(): Observable<RawData> {
24
    const mapDataQuery = '%7B%22series%22%3A%5B%7B%22query%22%3A%7B%22name%22%3A%22new.oso.publications.affiliated%22%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.publications.deposited%22%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.datasets.affiliated%22%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.datasets.deposited%22%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.repositories%22%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.journals%22%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.oa_policies%22%7D%7D%5D%2C%22verbose%22%3Atrue%7D';
24
    const mapDataQuery = '%7B%22series%22%3A%5B%7B%22query%22%3A%7B%22name%22%3A%22new.oso.publications.affiliated%22%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.publications.deposited%22%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.datasets.affiliated%22%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.datasets.deposited%22%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.repositories%22%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.repositories.doar_re3data%22%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.journals%22%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.journals.doaj%22%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.oa_policies%22%7D%7D%5D%2C%22verbose%22%3Atrue%7D';
25 25
    return this.httpClient.get<RawData>(this.apiURL + mapDataQuery, headerOptions);
26 26
  }
27 27

  
......
52 52
  public getOverviewTablePercentageData(content: string): Observable<RawData> {
53 53
    let overviewTablePercentageDataQuery = '';
54 54
    if (content === 'affiliated') {
55
      overviewTablePercentageDataQuery = '';
55
      overviewTablePercentageDataQuery = '%7B%22series%22%3A%5B%7B%22query%22%3A%7B%22name%22%3A%22new.oso.results.oa_percentage.bycountry%22%2C%22parameters%22%3A%5B%22publication%22%5D%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.results.oa_percentage.bycountry%22%2C%22parameters%22%3A%5B%22dataset%22%5D%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.results.oa_percentage.bycountry%22%2C%22parameters%22%3A%5B%22software%22%5D%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.results.oa_percentage.bycountry%22%2C%22parameters%22%3A%5B%22other%22%5D%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.repositories.doar_re3data.validated.bycountry%22%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.journals.doaj.validated.bycountry%22%7D%7D%5D%2C%22verbose%22%3Atrue%7D';
56 56
    } else if (content === 'affiliated_peer_reviewed') {
57
      overviewTablePercentageDataQuery = '';
57
      overviewTablePercentageDataQuery = '%7B%22series%22%3A%5B%7B%22query%22%3A%7B%22name%22%3A%22new.oso.results.oa_percentage.affiliated.peer_reviewed.bycountry%22%2C%22parameters%22%3A%5B%22publication%22%5D%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.results.oa_percentage.affiliated.peer_reviewed.bycountry%22%2C%22parameters%22%3A%5B%22dataset%22%5D%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.results.oa_percentage.affiliated.peer_reviewed.bycountry%22%2C%22parameters%22%3A%5B%22software%22%5D%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.results.oa_percentage.affiliated.peer_reviewed.bycountry%22%2C%22parameters%22%3A%5B%22other%22%5D%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.repositories.doar_re3data.validated.bycountry%22%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.journals.doaj.validated.bycountry%22%7D%7D%5D%2C%22verbose%22%3Atrue%7D';
58 58
    } else if (content === 'deposited') {
59
      overviewTablePercentageDataQuery = '';
59
      overviewTablePercentageDataQuery = '%7B%22series%22%3A%5B%7B%22query%22%3A%7B%22name%22%3A%22new.oso.results.oa_percentage.deposited.bycountry%22%2C%22parameters%22%3A%5B%22publication%22%5D%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.results.oa_percentage.deposited.bycountry%22%2C%22parameters%22%3A%5B%22dataset%22%5D%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.results.oa_percentage.deposited.bycountry%22%2C%22parameters%22%3A%5B%22software%22%5D%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.results.oa_percentage.deposited.bycountry%22%2C%22parameters%22%3A%5B%22other%22%5D%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.repositories.doar_re3data.validated.bycountry%22%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.journals.doaj.validated.bycountry%22%7D%7D%5D%2C%22verbose%22%3Atrue%7D';
60 60
    } else if (content === 'deposited_peer_reviewed') {
61
      overviewTablePercentageDataQuery = '';
61
      overviewTablePercentageDataQuery = '%7B%22series%22%3A%5B%7B%22query%22%3A%7B%22name%22%3A%22new.oso.results.oa_percentage.deposited.peer_reviewed.bycountry%22%2C%22parameters%22%3A%5B%22publication%22%5D%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.results.oa_percentage.deposited.peer_reviewed.bycountry%22%2C%22parameters%22%3A%5B%22dataset%22%5D%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.results.oa_percentage.deposited.peer_reviewed.bycountry%22%2C%22parameters%22%3A%5B%22software%22%5D%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.results.oa_percentage.deposited.peer_reviewed.bycountry%22%2C%22parameters%22%3A%5B%22other%22%5D%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.repositories.doar_re3data.validated.bycountry%22%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.journals.doaj.validated.bycountry%22%7D%7D%5D%2C%22verbose%22%3Atrue%7D';
62 62
    }
63 63
    return this.httpClient.get<RawData>(this.apiURL + overviewTablePercentageDataQuery, headerOptions);
64 64
  }
65 65

  
66
  public getEuropeOAPercentages(): Observable<RawData> {
67
    const europeOAPercentagesQuery = '%7B%22series%22%3A%5B%7B%22query%22%3A%7B%22name%22%3A%22new.oso.publications.oa_percentage%22%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.datasets.oa_percentage%22%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.software.oa_percentage%22%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.other.oa_percentage%22%7D%7D%5D%2C%22verbose%22%3Atrue%7D';
68
    return this.httpClient.get<RawData>(this.apiURL + europeOAPercentagesQuery, headerOptions);
69
  }
70

  
71
  public getCountryPageOverviewData(countryCode: string): Observable<RawData> {
72
    const countryPageOverviewDataQuery = '%7B%22series%22%3A%5B%7B%22query%22%3A%7B%22name%22%3A%22new.oso.results.oa_percentage.country%22%2C%20%22parameters%22%3A%5B%22publication%22%2C%22DE%22%5D%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.results.oa_percentage.deposited.country%22%2C%20%22parameters%22%3A%5B%22publication%22%2C%22DE%22%5D%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.results.oa_percentage.country%22%2C%20%22parameters%22%3A%5B%22dataset%22%2C%22DE%22%5D%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.results.oa_percentage.deposited.country%22%2C%20%22parameters%22%3A%5B%22dataset%22%2C%22DE%22%5D%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.repositories.doar_re3data.validated.country%22%2C%20%22parameters%22%3A%5B%22DE%22%5D%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.journals.doaj.validated.country%22%2C%20%22parameters%22%3A%5B%22DE%22%5D%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.oa_policies.country%22%2C%20%22parameters%22%3A%5B%22DE%22%5D%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.funder.country%22%2C%20%22parameters%22%3A%5B%22DE%22%5D%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.funding_organizations.country%22%2C%20%22parameters%22%3A%5B%22DE%22%5D%7D%7D%2C%7B%22query%22%3A%7B%22name%22%3A%22new.oso.ec_funded_organizations.country%22%2C%20%22parameters%22%3A%5B%22DE%22%5D%7D%7D%5D%2C%22verbose%22%3Atrue%7D';
73
    return this.httpClient.get<RawData>(this.apiURL + countryPageOverviewDataQuery, headerOptions);
74
  }
75

  
76

  
77

  
78

  
79

  
66 80
  public getOverviewData(): Observable<OverviewData> {
67 81
    return this.httpClient.get<OverviewData>(this._jsonURl, headerOptions);
68 82
  }
modules/open-science-observatory-ui/trunk/src/app/domain/raw-data.ts
13 13

  
14 14
export class Query {
15 15
  name: string;
16
  parameters: string;
16
  parameters: string[];
17 17
  filters: string;
18 18
  select: string;
19 19
  entity: string;
modules/open-science-observatory-ui/trunk/src/app/domain/overview-map-data.ts
19 19
  countryCode: string;
20 20
  affiliated: number;
21 21
  deposited: number;
22
  doar_re3data: number;
23
  doaj: number;
24
  simple: number;
22 25
}
23 26

  
24 27
export class SelectedCountry {
......
41 44
export class EuropeData {
42 45
  publications: Indicator;
43 46
  datasets: Indicator;
47
  software: Indicator;
48
  other: Indicator;
44 49
  repositories: Indicator;
45 50
  journals: Indicator;
46 51
  policies: Indicator;
......
57 62
  journals: number = null;
58 63
  policies: number = null;
59 64
}
65

  
66
export class CountryPageOverviewData {
67
  name: string = null;
68
  code: string = null;
69
  publicationsAffiliated: Indicator;
70
  publicationsDeposited: Indicator ;
71
  datasetsAffiliated: Indicator;
72
  datasetsDeposited: Indicator;
73
  repositories: Indicator;
74
  journals: Indicator;
75
  policies: number = null;
76
  funders: number = null;
77
  fundingOrganizations: number = null;
78
  ec_fundedOrganizations: number = null;
79
}
modules/open-science-observatory-ui/trunk/src/app/app-routing.module.ts
25 25
    component: ContinentOverviewComponent
26 26
  },
27 27
  {
28
    path: 'countryDashboard/:countryName',
28
    path: 'countryDashboard/:countryCode',
29 29
    component: CountryPageComponent
30 30
  },
31 31
  {
modules/open-science-observatory-ui/trunk/src/assets/css/os-observatory-custom.css
736 736
  align-items: center;
737 737
}
738 738
/**************************/
739

  
740
.lastUpdateInfo {
741
  opacity: 0.4;
742
  color: #000;
743
  letter-spacing: 0px;
744
}
745

  
746
.entitiesContainer {
747
  height: 300px;
748
  display: flex;
749
  align-items: flex-end;
750
}
751

  
752
.publicationsColumn {
753
  background-color: #f181ae;
754
  box-shadow: 3px 3px 6px #00000029;
755
  opacity: 1;
756
  z-index: 10;
757
}
758

  
759
.publicationsDot {
760
  background-color: #f181ae;
761
  width: 50px;
762
  height: 33px;
763
  border-radius: 50%;
764
}
765

  
766
.datasetsColumn {
767
  background-color: #ae91d6;
768
  box-shadow: 3px 3px 6px #00000029;
769
  opacity: 1;
770
  z-index: 8;
771
}
772

  
773
.datasetsDot {
774
  background-color: #ae91d6;
775
  width: 50px;
776
  height: 33px;
777
  border-radius: 50%;
778
}
779

  
780
.softwareColumn {
781
  background-color: #8f1043;
782
  box-shadow: 3px 3px 6px #00000029;
783
  opacity: 1;
784
  z-index: 6;
785
}
786

  
787
.softwareDot {
788
  background-color: #8f1043;
789
  width: 50px;
790
  height: 33px;
791
  border-radius: 50%;
792
}
793

  
794
.otherColumn {
795
  background-color: #00a1c2;
796
  box-shadow: 3px 3px 6px #00000029;
797
  opacity: 1;
798
  z-index: 4;
799
}
800

  
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff